XSLT を使用して XML から情報を抽出しているときに問題に直面しています。名前空間も出力に表示されますが、これは受け入れられません。
別のシステムから受け取った XML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:DeptResponse xmlns:ns1="http://samplecomp.com" xmlns="http://mycomp.org">
<Department>
<Building bid="b_1579">
<DeptName>Sports</DeptName>
<DeptHead>
<Person pid="123">
<Name>David Shephard</Name>
<Address>
<Street>Test</Street>
<State code="18">Georgia</State>
</Address>
</Person>
</DeptHead>
<DeptYear>1925</DeptYear>
</Department>
</ns1:DeptResponse>
</soap:Body>
</soap:Envelope>
上記のxmlから必要な情報を抽出するための私のXSL:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ns1="http://samplecomp.com"
xmlns:dept="http://mycomp.org"
exclude-result-prefixes="ns1 xsl dept">
<xsl:template match="/">
<xsl:apply-templates select="//dept:Person"/>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy copy-namespaces="no" >
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
XSL 後に受け取った応答: 応答には、削除したい xmlns:="http://myccomp.org" が含まれています。copy-namespaces="no" を使用してみましたが、役に立ちません。:(
<Person xmlns="http://mycomp.org" pid="123">
<Name>David Shephard</Name>
<Address>
<Street>Test</Street>
<State code="18">Georgia</State>
</Address>
</Person>
私を助けてください。
前もって感謝します。