xslt - 使用 XSLT 2.0 从 XSL 转换输出最小化标签

标签 xslt xhtml xslt-2.0 saxon

我正在转换带有最小化 br 标签的 XML 文档,如下所示:

<br/>

我正在使用 Saxon 9,并输出为 XHTML

<xsl:output method="xhtml" indent="yes" use-character-maps="html-chars"/>

文档给我的印象是,当使用 XSLT 时,序列化程序必须使用最小化的标签结尾(如果标签主体为空,而事实是),但是我总是在输出中得到这个:

<br></br>

关于为什么会出现这种情况以及我如何强制它以最小化形式输出的任何线索:

<br/>

最佳答案

输出方法 xhtml 将以最小化方式输出任何空的 XHTML 元素,这意味着 XHTML 命名空间 http://中的任何元素,如 br www.w3.org/1999/xhtml。因此,在没有看到更多详细信息的情况下,我猜测您的 br 结果元素不在 namespace 中或在不同的 namespace 中。在这种情况下,输出方法不需要任何最小化语法。

关于xslt - 使用 XSLT 2.0 从 XSL 转换输出最小化标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6653657/

相关文章:

javascript - 将 xml 文档元素添加到 html 表

xslt - 使用 Xpath 选择每个节点和兄弟节点(直到该节点下一次出现)组合

html - 从表格单元格中删除边框

html - 3 列文本换行符

xml - 如何根据重复子段的过滤器忽略整个 xml 内容

xml - 使用 xslt 匹配单独 xml 文件中的元素,然后打印兄弟

xml - 在 XSLT 中为每个组选择不同的值

jquery - 无法使用 toChecklist 插件

xml - XSLT 调用模板名称属性

xslt - 使用 xslt 根据日期条件计算 XML