我正在使用 XSLT 转换 XML,并且我有一个带有一个 webdocuments 节点的 xml,该节点带有 webdocument 类型的节点
<webDocuments>
<WebDocument>
<id>808924</id>
<fileName><![CDATA[file name]]></fileName>
<filePath><![CDATA[.../201504/808924/filename.pdf]]></filePath>
<hash><![CDATA[1c1bc9f96349fc954cba2dfb58f214b1]]></hash>
<title><![CDATA[Primer document]]></title>
<creationDate class="sql-timestamp">30/05/2012 15:49:57</creationDate>
</WebDocument>
</webDocuments>
我正在尝试将文件路径节点值(文件系统)转换为 URL。上面有一个转换的示例,其中 param1 应该是 $hash,哈希节点值(在这种情况下为 1c1bc9f96349fc954cba2dfb58f214b1)和 param2 应该是 $id 在这种情况下 id 节点值 808924
<webDocuments>
<WebDocument>
<id>808924</id>
<fileName><![CDATA[file name]]></fileName>
<filePath>http://url.com/param1=$hash¶m2=$id</filePath>
<hash><![CDATA[1c1bc9f96349fc954cba2dfb58f214b1]]></hash>
<title><![CDATA[Primer document]]></title>
<creationDate class="sql-timestamp">30/05/2012 15:49:57</creationDate>
</WebDocument>
</webDocuments>
总之
<filePath>http://url.com/param1=1c1bc9f96349fc954cba2dfb58f214b1¶m2=808924
我尝试了很多东西,但没有得到预期的结果:
<xsl:template match="/webDocuments">
<xsl:for-each select="/WebDocument">
<xsl:value-of select="$hash"/>
<xsl:value-of select="concat($baseUrl,$baseCAPUrl,$hash,'&fileId=')"/>
</xsl:for-each>
</xsl:template>
总之,我的结果是获取一个节点值并用于生成另一个节点值。
提前致谢