|
<xsl:copy><xsl:copy use-attribute-sets="qnames"> ・・・ </xsl:copy>xsl:copyはカレントノードのコピーを文書から生成します。 このときにノードの名前空間もコピーされます。 しかし、ノードの属性や子はコピーされません。
■ aaa.xml
<?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet type="text/xsl" href="bbb.xsl"?>
<data>
<table width="430" border="1">
<tr>
<td bgcolor="#ccccff">変換言語 XSLT</td>
<td>XML文書を別の形式に変換する「XSLT」リファレンス</td>
</tr>
<tr>
<td bgcolor="#ccccff">伸び縮み XML</td>
<td>意味付け可能な柔軟性のある言語「XML」リファレンス</td>
</tr>
</table>
</data>
■ bbb.xsl <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h1>サイトの超簡易説明</h1> <xsl:apply-templates /> </body> </html> </xsl:template> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> </xsl:stylesheet>
上記のサンプルにある「@*|node()」は「全ての属性、又は全てのノードと一致
する」という意味を持ちます。カレントノードが要素である場合、
そのノードの内容や属性はコピーされない為、カレントノードの
属性にもテンプレートルールを適用させる必要があります。
|
XSLT要素一覧
+ <xsl:apply-imports>
+ <xsl:apply-templates> + <xsl:attribute> + <xsl:attribute-set> + <xsl:call-template> + <xsl:comment> + <xsl:copy> + <xsl:copy-of> + <xsl:decimal-format> + <xsl:element> + <xsl:fallback> + <xsl:for-each> + <xsl:if> + <xsl:import> + <xsl:include> + <xsl:key> + <xsl:message> + <xsl:namespace-alias> + <xsl:number> + <xsl:otherwise> + <xsl:output> + <xsl:param> + <xsl:preserve-space> + <xsl:processing-instruction> + <xsl:sort> + <xsl:strip-space> + <xsl:stylesheet> + <xsl:template> + <xsl:text> + <xsl:value-of> + <xsl:variable> + <xsl:when> + <xsl:with-param> |
Copyright © 2006 - ykr414 . All Rights Reserved. |