使用 XQuery 对制表符和换行符进行 XML 序列化

发布于 2024-10-09 03:40:58 字数 608 浏览 0 评论 0原文

如果您查看 W3C XQuery 测试 K2-Serialization-7.xq:

<a>{ codepoints-to-string(1 to 31) }</a>

预期结果(根据 W3C 测试套件)对 ASCII 范围 1-31 中的所有字符进行转义:

<a>&#x1;&#x2;&#x3;&#x4;&#x5;&#x6;&#x7;&#x8;&#x9;&#xA;&#xB;&#xC;&#xD;&#xE;&#xF;&#x10;&#x11;&#x12;&#x13;&#x14;&#x15;&#x16;&#x17;&#x18;&#x19;&#x1A;&#x1B;&#x1C;&#x1D;&#x1E;&#x1F;</a>

不清楚为什么使用制表符 (0x9)和换行符 (0xA) 会被转义,因为它们在 XML 文件中是完全合法的。因此,预期的结果似乎是错误的。有人能解释一下吗?

If you look at the the W3C XQuery test K2-Serialization-7.xq:

<a>{ codepoints-to-string(1 to 31) }</a>

the expected result (according to the W3C test suite) escapes all the characters in the the ASCII range 1-31:

<a>	

</a>

It's not clear why the tab (0x9) and newline (0xA) characters are escaped at since they're perfectly legal in XML files. Hence, the expected result seems wrong. Can anybody explain this?

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

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

发布评论

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

评论(1

无戏配角 2024-10-16 03:40:58

事实上你的预期结果是错误的。

来自 http://www.w3.org/TR/2008/REC -xml-20081126/#charsets

Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] 

仅在 XML 1.1 中才发生更改。来自 http://www.w3.org/TR/2006 /REC-xml11-20060816/#dt-字符

Char    ::=    [#x1-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] 

In fact your expected result is wrong.

From http://www.w3.org/TR/2008/REC-xml-20081126/#charsets

Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] 

Only in XML 1.1 this was changed. From http://www.w3.org/TR/2006/REC-xml11-20060816/#dt-character

Char    ::=    [#x1-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文