我想知道在任何xml元素中包含XML注释是否合法? 例如以下xml注释合法吗?
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE MSWord [<!-- multiple
line
comment -->] >
W3 org @ http://www.w3.org/TR/REC-xml/#sec-comments说: 注释可能会出现在其他标记之外的文档中的任何位置;另外,他们
可能出现在文档类型声明中的以下位置: 语法
我上面的示例也是合法的。如果是,请指导xml注释是否可以存在于任何其他xml元素中。
谢谢
答案 0 :(得分:0)
我认为您的困惑可能是因为您不了解“ XML元素”一词的确切含义。
是的,在XML元素的内容中的任何地方(即,开始标记和结束标记之间)进行注释是合法的,但不能在开始标记或结束标记中进行注释。
例如,您不能在开始标记的两个属性之间添加注释。例如,以下格式不正确。
<a b="3" <!-- not 4!--> c="5"/>
您所引用的文本说,在DTD中,仅在语法明确允许的地方才允许注释。
您的示例的语法是
[28] doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)? S?
('[' intSubset ']' S?)? '>'
[28b] intSubset ::= (markupdecl | DeclSep)*
[29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl
| NotationDecl | PI | Comment
这告诉我们,方括号之间出现的必须是intSubset
,而Comment
是合法的intSubset
,因为它是合法的markupDecl
。 / p>