-1

XML ドキュメントのコピーを作成する XSLT スタイルシートを作成します。ソース ドキュメントには、大文字の要素名と属性名があります。出力ドキュメントは、要素名と属性名が小文字であることを除いて、正確なコピーである必要があります。たとえば、次のように変換する必要があります。

<p>
<BODY ATTRIBUTE="TheValue">
<H1>Hello world</H1>
</BODY>

into

<body attribute=”TheValue”&gt;
<h1>Hello world</h1>
</body>
4

1 に答える 1

2

これを試して:

<?xml version="1.0"?>
<!-- Transform a document to itself, lowercasing all tag names -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <!-- Import the identity transformation -->
    <!-- Whenever you match any node or any attribute -->
    <xsl:template match="node()|@*">
        <!-- Copy the current node -->
        <xsl:copy>
            <!-- Including any attributes it has and any child nodes -->
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>
    <!-- Whenever you match any node or any attribute -->
    <!-- When you match any element -->
    <xsl:template match="*">
        <!-- Create the same element with a lowercase name -->
        <xsl:element name="{translate(name(),'ABCDEFGHIJKLMNOPQRSTUVWXYZ',  'abcdefghijklmnopqrstuvwxyz')}">
            <!-- Including any attributes it has and any child nodes -->
            <xsl:apply-templates select="@*|node()"/>
        </xsl:element>
    </xsl:template>
</xsl:stylesheet>
于 2012-08-01T17:17:48.313 に答える