2017-03-06 4 views
0

特定の経路収集機能の仕事にしたい。特定の経路収集機能の仕事にしたい

コードを確認して修正してください。

XMLエイリアス入力:

<folder_name> 
<folder path="d:\123\2017_01_13"></folder> 
<folder path="d:\123\\2017_02_14"></folder> 
</folder_name>' 

XSLT:

<xsl:variable name="hhhh" select="'file:///d:/list_of_files.html'"/> 
<xsl:result-document href="{$hhhh}"> 
    <xsl:text>&#xa;</xsl:text> 
    <xsl:for-each select="document('file:///d:/xslt_path.xml')//@path"> 
     <xsl:variable name="aa" select="//@path"/> 
     <xsl:variable name="ajeet_1" select="concat('file:///', $aa)"/> 
     <xsl:variable name="ajeet_coll" select="collection(concat(ajeet_1, '/?select=*.xml;recurse=yes'))"/> 
     <xsl:for-each select="$ajeet_coll"> 
      <xsl:text>&#xA;</xsl:text> 
      <xsl:text>&#xA;</xsl:text> 
      <xsl:for-each select="//image"> 
       <xsl:value-of select="@xlink:href"/> 
       <xsl:text>&#xA;</xsl:text> 
      </xsl:for-each> 
     </xsl:for-each> 
    </xsl:for-each> 
</xsl:result-document> 

`

答えて

1

XSLTはないファイルパスと、URIに働きます。したがって、入力を制御する場合は、 <folder path="file:///d:/123/2017_01_13"></folder>。そうしないと、最初のURIにファイルパスを変換する必要があります。

<xsl:variable name="ajeet_1" select="iri-to-uri(concat('file:///', replace($aa, '\\', '/')))"/> 

はまたfor-eachすでに属性を処理する内部など<xsl:variable name="aa" select="//@path"/>単に<xsl:variable name="aa" select="."/>を変更する必要があります。

+0

ありがとうございます –

関連する問題