我需要通过名称空间URL和xslt转换来获取名称空间前缀。例如,如果我有东西
`xmlns:com="http://system-services.test/ServiceManagement/OIS_Services_v01.00/common"`
我通过了http://system-services.test/ServiceManagement/OIS_Services_v01.00/common
,我在xsl文件中获得了com
。
编辑。例如:我有这个xsl:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wor="http://test/ServAndResMgmt/TechOrderMgmt/WorkorderProvider_v01.00" xmlns:typ="http://test/ServAndResMgmt/TechOrderMgmt/WorkorderProvider_v01.00/types"
xmlns:csdg="http://schemas.telekom.net/csdg_v01.01" xmlns:typ1="http://test/ServiceManagement/TechnicalOrderManagement/Workorder_v01.00/types"
xmlns:com="http://test/ServiceManagement/OIS_Services_v01.00/common">
<xsl:output indent="yes" method="xml" encoding="utf-8"/>
<xsl:variable name="var">
<xsl:text>com</xsl:text>
</xsl:variable>
<xsl:template match="/">
<CreateWorkorder>
<xsl:element name="{$var}:rr">
<xsl:value-of select="//*:ticketTaskID/*:value"/>
</xsl:element>
</CreateWorkorder>
</xsl:template>
</xsl:stylesheet>
现在,是否允许我在变量&#34; var&#34;中保存名称空间前缀的任何函数?
答案 0 :(得分:1)
使用XPath表达式:
namespace::*[. = 'http://.../OIS_Services_v01.00/common']/name()
上下文节点是此命名空间在其范围内的元素。