Ntr*_*ess 53 xml comments xml-attribute xml-comments
是否可以在XML标记内注释一个或多个属性?/* */来自C的东西
我尝试过使用<!-- -->,但没有成功.
<element
attribute1="value1"
attribute2="value2"
<!-- attribute3="value3" (commented value) -->
>
Run Code Online (Sandbox Code Playgroud)
Jer*_*ert 36
不,这是不可能的.XML开放标记中不允许使用注释.根据您的应用程序,您可能会通过在其名称前加上"_"来"注释掉"属性,或者您可能不会(如果根据模式验证XML或解析所有属性).由于允许使用空格,并且大多数编辑器支持行操作,因此您可以通过以下方式轻松"注释"多个属性:
<element
_attr1="value1"
_attr2="value2"
_attr3="value3"
>
Run Code Online (Sandbox Code Playgroud)
但这些属性仍然是文档的一部分.
And*_*ndy 12
唯一合规的方法是创建一个没有相关属性的节点.我经常使用这种方法:
<div>
<!-- This opening div tag replaces the one above.
<div my-attribute="my-value"> -->
div contents here...
</div>
Run Code Online (Sandbox Code Playgroud)
澄清注释掉的开放标签的注释取决于您的需求(使用此代码的同事等).
然后,当你需要改变一切时,只需将其改为:
<!-- <div>
This opening div tag replaces the one below. -->
<div my-attribute="my-value">
div contents here...
</div>
Run Code Online (Sandbox Code Playgroud)
同样,您对评论的需求将随着每种情况而变化.
它很简单,允许您像"普通"编码一样复制/粘贴注释/取消注释.
该操作无效。您不能评论 xml 节点标签的属性。如果您想为您的属性添加一些注释,请将您的注释放在目标节点上方。
< !-- -- > 是将注释放入 xml 文件的有效方法,但它应该作为 xml 节点放置,而不是“节点属性”(在另一个节点标记内)。
HTML 示例:
<!-- I can comment before the node -->
<div>This node I want to comment</div>
<!-- I can comment after the node -->
Run Code Online (Sandbox Code Playgroud)
但这是不允许的:
<div <!--attribute="12" --> >
Run Code Online (Sandbox Code Playgroud)
根据W3C 文档
请注意,注释是标记。
参考:
对不起,不,不是.
来自W3.org的Liam RE Quin :(当被问及是否可以在未来版本的XML中注释属性时):
Run Code Online (Sandbox Code Playgroud)> > SGML allows this, with e.g. > <sock -- age="19" -- state="clean" -- id="s36" > > <shoe -- id="s12" ></sock> > being the same as > <sock state="clean" id="s12"> > > >但是使用相同的开始和结束分隔符会导致很多问题,我们在定义XML时就摆脱了这个功能.我想将评论开始和结束更改为 - *和* - 这将让我们能够在标记和声明中保留注释,并且有一段时间它在XML规范中,但我似乎记得由于SGML兼容性问题,它被删除了.
我担心不再可能以不兼容的方式更改XML - 它变得太普遍了 - 而且我们不再让工作组在XML本身中积极地工作.
谢谢你的写作.
利亚姆