XML到XSLT转换中的强标记

时间:2012-12-21 08:03:16

标签: html xml xslt xml-parsing

我有这样的XML:

<texto>
    <mytag>
        <es><strong>a very important text</strong> and other text</es>
    <mytag>
</texto>

我应用XSLT转换来获取HTML文件,但生成的HTML未标记为我放入XML的<strong>。文本“非常重要的文本”正确显示,但未包含在标记<strong>

为什么?

如何让标签显示<strong>到达生成的HTML文件?

1 个答案:

答案 0 :(得分:1)

以下是可行的XSLT:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>

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

    <xsl:template match="es">
        <xsl:apply-templates select="*|text()|@*"/>
    </xsl:template>

    <xsl:template match="*|text()|@*">
        <xsl:copy>
            <xsl:apply-templates select="*|text()|@*"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

输入文件:

<?xml version="1.0" encoding="UTF-8"?>
<texto>
    <mytag>
        <es><strong>a very important text</strong> and other text</es>
    </mytag>
</texto>

输出文件:

<strong>a very important text</strong> and other text