javascript XSLTForms:将文本转换为HTML -添加到DOM -处理错误的输入?

roejwanj  于 2023-01-29  发布在  Java
关注(0)|答案(1)|浏览(118)

有没有什么方法可以让XSLTForms将CDATA转换为HTML节点,然后输出到DOM?
任何提示都很好--一个要求--数据不能保证是有效的HTML,所以解决方案需要优雅地后退(只按原样显示文本--这是我目前正在做的)。

    • 转换:**
<?xml-stylesheet href="xsltforms/xsltforms.xsl" type="text/xsl"?>
<?xsltforms-options debug="no"?>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ev="http://www.w3.org/2001/xml-events"
      xmlns:xf="http://www.w3.org/2002/xforms"
      >
<head>

<xf:model>
    <xf:instance src="data.xml"/>
</xf:model>

</head>
<body>

<h1> What's on Tonight </h1>

<xf:repeat ref="records/record">
    <details>
        <summary>
            <xf:output ref="title"/>
        </summary>
        <p>
            <xf:output ref="description"/>
        </p>
    </details>
</xf:repeat>

</body>
</html>
    • 数据:**
<data xmlns="">
    <records>
        <record>
            <title><![CDATA[Macbeth]]></title>
            <description><![CDATA[A <b>bold</b> interpretation of the classic play]]></description>
        </record>
        <record>
            <title><![CDATA[Malformed]]></title>
            <description><![CDATA[Distopian Sci-Fi Thriller, set in a post-XML world where elements are left <unclosed>]]></description>
        </record>
    </records>
</data>
    • 当前输出:**

    • 预期产出:**

vom3gejh

vom3gejh1#

您应该使用output/@valueoutput/@mediatype,而不是使用output/@ref

<details>
    <summary>
        <xf:output value="title"/>
    </summary>
    <p>
        <xf:output value="description" mediatype="text/html"/>
    </p>
</details>

相关问题