xsl:copyを使用して、ソース文書の内容を変更しつつコピーすることができる例を以下に示す。
以下は、ソース文書内容をそのままコピーするスタイルシートである。
ソース文書:
XSLTスタイルシート:
変換結果:
xsl:copy要素内容にxsl:attributeによる属性追加要素を記述すると、ソース文書の各要素にcount属性が追加されるのがわかる。
【XSLTプロセッサ】XALAN 2.7.0 / msxsl
【OS】Windows XP Professional Edition + SP2
以下は、ソース文書内容をそのままコピーするスタイルシートである。
ソース文書:
<?xml version="1.0"> <First order="1st"> <Second order="2nd">2nd element</Second> </First> |
XSLTスタイルシート:
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" encoding="UTF-8"/> <xsl:template match="node()|@*"> <xsl:call-template name="copy"/> </xsl:template> <xsl:template name="copy"> <xsl:copy> <xsl:attribute name="count">1</xsl:attribute> <xsl:apply-templates select="node()|@*" /> </xsl:copy> </xsl:template> </xsl:stylesheet> |
変換結果:
<?xml version="1.0" encoding="UTF-8"> <First count="1" order="1st"> <Second count="1" order="2nd">2nd element</Second> </First> |
xsl:copy要素内容にxsl:attributeによる属性追加要素を記述すると、ソース文書の各要素にcount属性が追加されるのがわかる。
【XSLTプロセッサ】XALAN 2.7.0 / msxsl
【OS】Windows XP Professional Edition + SP2