【问题标题】:Why don't empty tags in Ant build files have a space before the closing brace?为什么 Ant 构建文件中的空标签在右大括号之前没有空格?
【发布时间】:2024-04-28 11:50:02
【问题描述】:

一个非常不言自明的问题,只是想知道为什么 Ant build.xml 文件中的空标签似乎总是在关闭 /> 之前省略空格,即使这是有效 XML 1.0 的要求?也许这是一个我不知道的约定,因为我是 Ant 新手,但我只是好奇。

【问题讨论】:

    标签: xml ant tags build.xml


    【解决方案1】:

    结束 /> 之前的空格不是必需的。以下是等价的:

    <foo/>

    <foo />

    一些 XML 编辑器在格式化时实际上会去掉这个空间(尤其是 oXygen)。

    【讨论】:

    • 啊,我明白了,我们总是被教导空标签必须在右大括号之前有一个空格,但我只是在您发表评论后阅读了 XML 的 w3c 规范,实际上,这个 BNF标签是EmptyElemTag ::= '<' Name (S Attribute)* S? '/>',所以从来不需要这个空间。谢谢你。
    • @eZanmoto 斜杠前的空格是一个旧的建议,用于形成 XHTML 页面,这样它们更有可能被不了解 XHTML 的(非常)旧的 Web 浏览器成功解析.我不知道它实际上对哪些浏览器产生了影响。
    • 这里有一个问题,其中包含有关 Dan Dyer 所谈论内容的更多详细信息:*.com/questions/462741/space-before-closing-slash
    最近更新 更多