gpt4 book ai didi

xml - XML 注释可以随处使用吗?

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

我编写了一个简单的工具来使用用户输入的查询生成 DBUnit XML 数据集。我想将在 XML 中输入的每个查询作为注释包含在内,但是生成 XML 文件的 DBUnit API 不支持在我想要的位置(在它生成的数据之上)插入注释,所以我求助于将在顶部或底部对所有查询进行评论。

所以我的问题是:将它放在任一位置的 XML 是否有效?例如,在 XML 声明之上:

<!-- Queries used: ... -->
<?xml version='1.0' encoding='UTF-8'?>
<dataset>
...
</dataset>

或者在根节点下:

<?xml version='1.0' encoding='UTF-8'?>
<dataset>
...
</dataset>
<!-- Queries used: ... -->

我计划最初尝试在 XML 声明之上,但我怀疑那是否是有效的 XML,尽管来自 wikipedia 的声明:

Comments can be placed anywhere in the tree, including in the text if the content of the element is text or #PCDATA.

如果这有效,我打算回发,但很高兴知道它是否是官方 XML 标准。

更新:请参阅 my response below对于我的测试结果。

最佳答案

根据XML specification ,一个格式良好的 XML 文档是:

document ::= prolog element Misc*

哪里prolog

prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?

Misc

Misc ::= Comment | PI | S

XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>'

这意味着,如果你想在顶部有注释,你就不能有 XML 类型声明。

但是,您可以在声明之后和文档元素之外添加注释,可以在文档的顶部或底部,因为 Misc*可以包含评论。

规范同意维基百科的评论:

2.5 Comments

[Definition: Comments may appear anywhere in a document outside other markup; in addition, they may appear within the document type declaration at places allowed by the grammar. They are not part of the document's character data; an XML processor MAY, but need not, make it possible for an application to retrieve the text of comments. For compatibility, the string "--" (double-hyphen) MUST NOT occur within comments.] Parameter entity references MUST NOT be recognized within comments.

所有这一切意味着您可以将注释放在其他标记之外的任何地方,除非您如果以注释开头,则不能有 XML 声明

然而,虽然理论上理论与实践相符,但在实践中却并非如此,所以我很想知道您的实验结果如何。

关于xml - XML 注释可以随处使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50824/

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