0
私は(非常に)XSLTを初めて使い、ノードが定義されている名前空間に応じて、XML文書内の特定のノードをXSLTでフィルタリングする方法を誰かに見せてくれることを願っていました。簡単な例:特定の名前空間内のXSLTフィルタノード
Input:
<root
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="xxx:yyy:datamodel:SW:ABCD:01 AB_01.xsd"
xmlns="xxx:yyy:datamodel:SW:ABCD:01">
<Document xmlns="ABCD:ZYX:01">
<TypeCode>SEC</TypeCode>
</Document>
<Document xmlns="ABCD:NOP:01">
<TypeCode>DEC</TypeCode>
</Document>
</root>
出力:
SEC
だから私は唯一の名前空間ABCDに文書ノードを解析する:ZYX:01。
これは、これまでのところ、私のXSLTです:事前に
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:sec="xxx:yyy:datamodel:ABCD:ZYX:01"
version="1.0">
<xsl:template match="sec:TypeCode">
<xsl:for-each select="//*[local-name() = 'TypeCode']">
<xsl:value-of select="." />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
ありがとう!
ニースの提案、プラスワン。 –
これは非常に助けてくれてありがとう! – gajus