xml:id=foo
XSLT を使用して、DocBook ファイルの最上位<book>
ノードに属性を追加したいと考えています。何かが機能していますが、これを実装する簡単な方法があるかどうか疑問に思っていました。これが私の現在の解決策です:
<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
xmlns:db='http://docbook.org/ns/docbook'
version='1.0'>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="db:book">
<xsl:copy>
<xsl:attribute name="xml:id">
<xsl:text>foo</xsl:text>
</xsl:attribute>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>