0

xml:id=fooXSLT を使用して、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>
4

1 に答える 1