【发布时间】:2017-09-12 08:51:27
【问题描述】:
在使用 XSLT 将 XML 转换为 XML 时,我在输出 XML 中包含了 doctype。但是在输出 XML 文档类型声明中会创建一个换行符。
XSLT:
<xsl:output method="xml" doctype-system="book3.dtd" doctype-public="-//Atypon//DTD test//EN" version="1.0" encoding="UTF-8" indent="no"/>
使用 XSLT 后输出 XML:
<!DOCTYPE book
PUBLIC "-//Atypon//DTD test//EN" "book3.dtd">
在文档类型声明中的 book 和 public 之间创建空格和换行符。
我需要在一行中声明 doctype。
谁能帮我做这个?
【问题讨论】:
-
那么为什么你需要在一行中声明 doctype 呢?
-
是的,马丁。我需要单行声明
-
这似乎取决于 XSLT 处理器。
Saxon根据需要在两行中输出,xsltproc在一行中输出。您使用的是什么 XSLT 处理器? -
我们使用的是撒克逊
-
您使用的是 Saxon 的哪个版本? PE 和 EE 我认为支持
saxon:line-lengthsaxonica.com/html/documentation/extensions/output-extras/…,尝试将其设置为高值是否可以避免 doctype 声明中的换行。