使用 xsl 转换创建文档时忽略无效的 xml

发布于 2024-10-29 12:50:12 字数 365 浏览 6 评论 0原文

有一个 java 工具,它使用多个 xsl 转换将数据从 crx 转换为 esi xml 标记。

通常,ESI 标记是无效的 xml,因为 ESI 通常是小逻辑片段,并不总是具有相同的开始和结束标记。 例如:

<esi:assign>

bunch of esi logic

<esi:vars>$(myVar)</esi:vars>

java xsl 引擎当前不允许生成无效的 xml。因此,我们必须将所有 esi 输出包装在虚拟标签中,但这会导致几个问题。

所以我想知道是否有一种方法可以允许 java xsl 转换引擎生成无效或格式不正确的标记?

谢谢。

there is a java tool that uses several xsl transforms to convert data out of crx into esi xml markup.

often esi markup is non valid xml because esi is often small snippets of logic that do not always have the same opening and closing tags.
ex:

<esi:assign>

bunch of esi logic

<esi:vars>$(myVar)</esi:vars>

the java xsl engine currently does not allow xml to be generated if it is invalid. Because of this we have to wrap all esi output in dummy tags but this causes several problems.

So I am wondering if there is a way to allow java xsl transform engine to generate invalid or not well formed markup?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

戏蝶舞 2024-11-05 12:50:12

将输出模式设置为 text(而不是默认的 xml)。现在,您可以生成任何类型的文本(即使它看起来很像 XML),但您必须自己确保像 <>、等在正确的地方正确转义。

此外,由于显而易见的原因,像 xsl:element 这样的东西将不再起作用。

也许用真正的编程/脚本语言编写这样的东西比用 XSL 更好。

Set the output mode to text (instead of the default xml). Now, you can generate any kind of text (even if it looks a lot like XML) but you have to make sure for yourself that characters like <, >, etc. are properly escaped in the right places.

Also things like xsl:element won't work anymore for obvious reasons.

Maybe you're better off writing things like that in a real programming/scripting language than in XSL.

嗳卜坏 2024-11-05 12:50:12

如果您可以更改 xsl 转换,则可以使用:

<xsl:output method="text">

If you can alter the xsl transforms, you can use :

<xsl:output method="text">
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文