【问题标题】:Parsing HTML tags using XSLT/MarkLogic使用 XSLT/MarkLogic 解析 HTML 标签
【发布时间】:2012-11-14 12:34:50
【问题描述】:

我正在尝试将XML 文件转换为HTMLXML 文件有一堆HTML 形式的标签:

<item>&lt;text&gt;Line 1&lt;br/&gt;Line 2&lt;br/&gt;Line 3&lt;/text&gt;</item>

最终,Internet Explorer 中出现的输出是:

<text>Line 1<br/>Line 2<br/>Line 3</text>

当我想要时:

1号线
2号线
3号线

一旦我发现disable-output-escaping,文本在 IE 中正确呈现。不幸的是,MarkLogic 不支持此属性。

我可以使用replace() 完全消除这些标签,但我不能用实际的换行符替换换行符。

有没有人对如何:

1) 在 MarkLogic 中正确呈现 HTML,或者

2) 正确解析 XSLT 中的 HTML 标签。

谢谢!

【问题讨论】:

  • 您要求的是评估字符串并将其转换为 XML 节点集。在最普遍的形式中,这在普通的 XSLT 1.0 中将是一件非常困难的事情。如果您可以将问题限制在没有属性的非嵌套元素列表中,这可能是一个更容易解决的问题。
  • @SeanB.Durkin MarkLogic xdmp:unquote 正是这样做的——获取一个字符串并反序列化为一系列 XML(文档)节点。见docs.marklogic.com/xdmp:unquote

标签: xslt marklogic


【解决方案1】:

也许你想要这个

let $foo := <item>&lt;text&gt;Line 1&lt;br/&gt;Line 2&lt;br/&gt;Line 3&lt;/text&gt;</item>
return xdmp:unquote($foo/text())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    • 2016-02-14
    • 2014-04-25
    • 2012-05-26
    • 2011-12-16
    • 2023-03-20
    相关资源
    最近更新 更多