0

我需要使用 xslt 转换通过命名空间 URL 获取命名空间前缀。例如,如果我有东西

`xmlns:com="http://system-services.test/ServiceManagement/OIS_Services_v01.00/common"`

我通过http://system-services.test/ServiceManagement/OIS_Services_v01.00/common并进入com我的 xsl 文件。

编辑。举个例子:我有这个 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>

现在,是否有任何函数允许我在变量“var”中保存命名空间前缀?

4

1 回答 1

1

使用 XPath 表达式:

namespace::*[. = 'http://.../OIS_Services_v01.00/common']/name()

上下文节点是此命名空间在范围内的元素。

于 2013-07-11T12:19:33.493 回答