これが何を意味するのかわかりません。
<xsl:template match="/|@*|node()">
<xsl:apply-templates match="@*|node()"/>
</xsl:template>
私を助けてください..
<xsl:template match="local-name()='status'"/>
<xsl:template match="/|@*|node()">
<xsl:copy>
<xsl:apply-templates match="@*|node()"/>
<xsl:copy>
</xsl:template>
このように適用すると、xmlの<status>
nodeが省略されます。
/|@*|node()
は 一致パターン 3つの単一パターンで構成されます。 _/
_はドキュメントノードとも呼ばれるルートノードに一致し、_@*
_は任意の属性ノードに一致し、node()
はパターンとして「属性ノードとルートノード以外の任意のノードに一致」します。したがって、どの種類のノードでも(これらの3つのパターンはすべてのタイプのノードを表すため)、テンプレートには<xsl:apply-templates select="@*|node()"/>
と表示されます。これは、属性ノードと子ノードの和集合を処理することを意味します。 _/
_に一致するドキュメントノードには属性ノードがなく、属性にも属性ノードがありませんが、コンパクトな方法として、このようなテンプレートがよく見られます。
ただし、_<xsl:template match="/"><xsl:apply-templates/></xsl:template>
_を実行するドキュメントノード用の組み込みテンプレートがあるため、通常、パターン内の_/
_は省略されます。