3

名前空間の無視に関する多くの例を読みましたが、テンプレート マッチ内でこの概念を実現することはできないようです。

サンプルxmlは次のとおりです。

<?xml version="1.0"?>
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <Response xmlns:ResB="http://www.aaa.com/v1" xmlns:dpconf="http://www.datapower.com/param/config" xmlns:exsl="http://xmlns.opentechnology.org/xslt-extensions/common" xmlns="http://www.aaa.com/v2">
         <Status>
            <Code>00000</Code>
        </Status>
      </Response>
    </soapenv:Body>
</soapenv:Envelope>

そして、出力に名前空間を含めることはできません。目的の出力の例を次に示します。

<A>
   <Transformed>0000</Transformed>
</A>

これは私のノードを出力していません。どうすれば xslt を Response ノードと一致させ、それを処理することができますか?

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="//*[local-name() = 'Response']">
<A>
<Transformed><xsl:value-of select="Status/Code"/></Transformed>
</A>
4

1 に答える 1