<text>
を@align属性を持つ別の<p>
にラップしたいとします。より明確にするために、以下の例を参照してください。特定の属性が存在する場合は、XSLTを使用して各ノードに個別の親を作成します。
ソース
<p>
<text>Check</text>
<text>Check2</text>
<text align="center">Final</text>
<text align="right">Final Check</text>
</p>
XSLTコード:
<xsl:template match="p">
<xsl:choose>
<xsl:when test="child::text/@align">
<xsl:element name="p">
<xsl:attribute name="align">
<xsl:value-of select="child::text/@align"/>
</xsl:attribute>
<xsl:apply-templates/>
</xsl:element>
</xsl:when>
</xsl:choose>
</xsl:template>
マイ出力
<p align="center right">
<text>Check</text>
<text>Check2</text>
<text>Final</text>
<text>Final Check</text>
</p>
予想される出力
<p>
<text>Check</text>
<text>Check2</text>
</p>
<p align="center">
<text>Final</text>
</p>
<p align="right">
<text>Final Check</text>
</p>
ここでXSLT 1.0またはXSLT 2.0のどちらを使用していると言えますか?ありがとう! –
私はXSLT 2.0を使用しています。 – user1451239
@ user1451239 http://stackoverflow.com/help/someone-answers –