0

私は XAML から HTML への変換を行っていますが、要素を任意の属性と一致させるために必要なものと、要素の下に異なる構造を持つ可能性のある要素の連続リストを処理する方法を十分に確認していません。

<paragraph fontfamily="times">
 <run></run>
 <list></list>
</paragraph>
<paragraph fontsize="16">
 <run></run>
 <run></run>
 </paragraph>

に変わるだろう

<p><span></span><ul></ul></p>
<p><span></span><span></span></p>
4

1 に答える 1

3

XSLT は、 XPATHセレクターの上に基づく言語です。

宣言的なスタイルで

<xsl:template match="/">
    <xsl:apply-templates select="/paragraph"/>
</xsl:template>

<xsl:template match="paragraph">
    <p>
        <xsl:apply-templates select="run"/>
        <xsl:apply-templates select="list"/>
    </p>
</xsl:template>

<xsl:template match="paragraph/list">
    <ul>
        ...
    </ul>
</xsl:template>

<xsl:template match="paragraph/run">
    <span>
        ...
    </span>
</xsl:template>

また、命令型スタイルで書くこともできます

<xsl:template match="/">
    <xsl:apply-templates select="/paragraph"/>
</xsl:template>

<xsl:template match="paragraph">
    <p>
        <xsl:for-each select="run">
            <span>
                ...
            </span>
        </xsl:for-each>
        <xsl:for-each select="list">
            <ul>
                ...
            </ul>
        </xsl:for-each>
    </p>
</xsl:template>
于 2013-11-12T09:10:54.167 に答える