用XSLT替换xml中的break元素

时间:2018-08-17 10:22:54

标签: xml xslt

我下面有要使用XSLT转换为HTML的XML

<richtext >

<par def="2">
    <run>
        <font size="12pt" name="serif" />A<break />B<break /></run>
</par>

我想要如下所示的HTML输出

<p> A<br>B<br><p>

1 个答案:

答案 0 :(得分:0)

首先,您的输入有误。它应该与结束元素richtext一起使用。 答案在这里:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    exclude-result-prefixes="xs"
    version="1.0">

    <xsl:output indent="yes" method="xhtml"/>
    <xsl:strip-space elements="*"/>

    <xsl:template match="/">
        <html>
            <head></head>
            <body>
                <xsl:apply-templates/>
            </body>
        </html>
    </xsl:template>

    <xsl:template match="par">
        <p><xsl:apply-templates/></p>
    </xsl:template>

    <xsl:template match="break">
        <br><xsl:apply-templates/></br>
    </xsl:template>

</xsl:stylesheet>

喜欢的输出:

<html>
   <head></head>
   <body>
      <p>A
         <br></br>B
         <br></br>
      </p>
   </body>
</html>

https://xsltfiddle.liberty-development.net/jyH9rMD