gpt4 book ai didi

xml - "bad practice"对XML文档中的换行敏感吗?

转载 作者:数据小太阳 更新时间:2023-10-29 01:44:34 25 4
gpt4 key购买 nike

我正在生成一些 XML 文档,当涉及到地址部分时,我有如下所示的片段:

<Address>15 Sample St
Example Bay
Some Country</Address>

我拥有的用于将其转换为 XHTML 的 XSLT 具有一些时髦的递归模板,可将字符串中的换行符转换为
标记。

一切正常;但是依赖 XML 文档中的换行符是否被认为是“不好的做法”?如果是这样,是否建议我改为这样做?

<Address><Line>15 Sample St</Line>
<Line>Example Bay</Line>
<Line>Some Country</Line></Address>

似乎在我的文本可能是多行的每个地方都用这样的标签来包装真的很尴尬..

最佳答案

依赖换行符通常被认为是不好的做法,因为它是一种区分数据的脆弱方式。虽然大多数 XML 处理器会保留您放入 XML 中的任何空格,但不能保证。

真正的问题是,大多数将 XML 输出为可读格式的应用程序都认为 XML 中的所有空格都是可互换的,并且可能会将这些换行符折叠成一个空格。这就是您的 XSLT 必须跳过这些障碍才能正确呈现数据的原因。使用“br”标签将大大简化转换。

另一个潜在的问题是,如果您在 XML 编辑器中打开您的 XML 文档并进行 pretty-print ,您可能会丢失这些换行符。

如果您继续使用换行符,请确保将 xml:space="preserve"属性添加到“地址”。 (如果您正在使用 DTD,则可以在 DTD 中执行此操作。)

一些建议阅读

XML applications often seem to take a cavalier attitude toward whitespace because the rules about the places in an XML document where whitespace doesn't matter sometimes give these applications free rein to add or remove whitespace in certain places.

关于xml - "bad practice"对XML文档中的换行敏感吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com