我有一个要求,源文件名是Rocky_InvoiceNo(uniquevalue)_Timestamp.xml
..
目标系统希望文件名InvoiceNo(uniquevalue)_Timestamp.xml
. 任何人都可以分享xslt
代码来实现这一点。
检查此代码:-
<xsl:variable name="outputpath_1" select="substring-after('Rocky_InvoiceNo(uniquevalue)_Timestamp.xml', '_')"/>
<xsl:value-of select="$outputpath_1"/>
你的问题的背景并不完全清楚。
base-uri()
通常,您可以使用或函数检索源 XML 文档的文件路径 document-uri()
,例如
<xsl:variable name="source-path" select="base-uri()"/>
然后您可以使用以下方法删除"Rocky_"
文件名的一部分:
<xsl:variable name="target-path" select="replace($source-path, 'Rocky_', '')"/>
并使用生成的路径使用xsl:result-document
指令创建结果文档,例如
<xsl:result-document href="{$target-path}">
<!-- your tranformation here -->
</xsl:result-document>
但是,恕我直言,通过启动 XSL 转换的应用程序而不是在 XSLT 样式表本身中执行此任务会简单得多。