0

xslt 変換を使用して名前空間 URL で名前空間プレフィックスを取得する必要があります。たとえば、私が何かを持っている場合

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

私は合格し、http://system-services.test/ServiceManagement/OIS_Services_v01.00/commoncomの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 に答える