Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java XSLT 3.0身份转换文档集合?_Java_Xslt_Xslt 3.0 - Fatal编程技术网

Java XSLT 3.0身份转换文档集合?

Java XSLT 3.0身份转换文档集合?,java,xslt,xslt-3.0,Java,Xslt,Xslt 3.0,我有一个XSLT 3.0: 结果: 如果我将XSLT更改为: 有人能帮助解决XSLT 3.0集合转换问题吗?我会使用一个全局参数 <xsl:param name="inFiles" as="document-node()*" select="collection('hl7.xml')"/> 然后使用命名模板开始处理 <xsl:template name="xsl:initial-template&quo

我有一个XSLT 3.0:

结果:

如果我将XSLT更改为:


有人能帮助解决XSLT 3.0集合转换问题吗?

我会使用一个全局参数

<xsl:param name="inFiles" as="document-node()*" select="collection('hl7.xml')"/>

然后使用命名模板开始处理

<xsl:template name="xsl:initial-template">
  <xsl:for-each select="$inFiles">
    <xsl:result-document href="/xslt-transform/{tokenize(document-uri(), '/')[last()]}">
      <xsl:apply-templates/>
    </xsl:result-document>
  </xsl:for-each>
</xsl:template>


然后您可以
xsl:import
从问题中导入第一个XSLT示例,当然也可以编辑它以插入我显示的代码。确保让Saxon从命名模板开始(
-it
用于Saxon的命令行选项;在Oxon中,不提供源文档)。

不清楚使用for each over attribute节点可以实现什么,但这肯定不会进行任何标识转换。一般来说,如果处理一个文件集合,您希望如何使用命名模板启动转换?如果单个转换处理集合中的多个文档,您希望使用单个结果文档还是多个文档?我至少希望:+(但不是XSLT 3.0)+流程应该是一个文档集,使用指定的模板进行转换,返回每个转换后的文档(就像Java日志记录一样)。问题是我无法在氧气中测试
collection()
转换结果。它要求一个
XML URL
。我尝试将
参数
hl7.xml
icd10Map
一起使用,但两者都不起作用。太棒了!文档将按照指示进行转换。我欣赏你的体育精神!
*******************  
                          <value nullFlavor="OTH" type="CD">
                              <translation code="H251"
                                           displayName="Nuclear sclerosis"
                                           codeSystem="2.16.840.1.113883.6.103"
                                           codeSystemName="ICD-9-CM"/>
                           </value>
******************
    <xsl:variable name="inFile" as="node()*" select="collection('hl7.xml')"/>
    <xsl:template match="/">
        <xsl:text>&#xA;&#xA;  ICD9 Target Transformation in the collection is: &#xA; </xsl:text>
        <xsl:for-each select="$inFile//n1:translation[@codeSystemName = 'ICD-9-CM']/@code">
            <xsl:value-of select="$icd10Map($map-keys[translate(normalize-space(current()), ' &#x9;&#xa;&#xD;.;', '') = .])" separator=" , "/>
        </xsl:for-each>
    </xsl:template>
  ICD9 Target Transformation in the collection is: 
    H251    
    H251    
    K648    
    K648    
    K409    
    K409    
    S8350    
    M2332    
    M2332    
    S8350
    <xsl:mode on-no-match="shallow-copy"/>
    <xsl:variable name="inFile" as="node()*" select="collection('hl7.xml')"/>
    <xsl:template match="n1:translation[@codeSystemName = 'ICD-9-CM']/@code">
        <xsl:text>&#xA;&#xA;  ICD9 Target Transformation in the collection is: &#xA; </xsl:text>
        <xsl:for-each select="$inFile">
            <xsl:attribute name="code">
            <xsl:value-of select="$icd10Map($map-keys[translate(normalize-space(current()), ' &#x9;&#xa;&#xD;.;', '') = .])" separator=" , "/>
            </xsl:attribute>
        </xsl:for-each>
    </xsl:template>
Engine Instantiation: com.fc.andante.sax.SAXValidateStreamTransformWrite

Schema Validation Status: files in:/ml/Andante/data/data are validated against schema file:/ml/Andante/data/operation-transform.xsd

User 'auditor' has validated files in:/ml/Andante/data/data on 2020-08-26T23:05:26.357431

*****************

Transaction Status: Authenticating database writer... 

Transaction Status: User audited as 'super' is transforming document set...

Transaction Status: Document data/data/cataract.xml is successfully transformed and written into database with uri '/xslt-transform/cataract.xml'

Transaction Status: Document data/data/breast-surgery.xml is successfully transformed and written into database with uri '/xslt-transform/breast-surgery.xml'

Transaction Status: Document data/data/hernia.xml is successfully transformed and written into database with uri '/xslt-transform/hernia.xml'

Transaction Status: Document data/data/colonoscopy.xml is successfully transformed and written into database with uri '/xslt-transform/colonoscopy.xml'

Transaction Status: Document data/data/knee.xml is successfully transformed and written into database with uri '/xslt-transform/knee.xml'

Die Transaktion wurde erfolgreich abgeschlossen 2020-08-26T23:05:28.341385700
<xsl:param name="inFiles" as="document-node()*" select="collection('hl7.xml')"/>
<xsl:template name="xsl:initial-template">
  <xsl:for-each select="$inFiles">
    <xsl:result-document href="/xslt-transform/{tokenize(document-uri(), '/')[last()]}">
      <xsl:apply-templates/>
    </xsl:result-document>
  </xsl:for-each>
</xsl:template>