Self-closing tags in XML files(XML 文件中的自闭合标签)
问题描述
<tag id="foo"/>
我注意到它们可以使用 PHP SimpleXML.
但是我在网上找到的所有 XML 示例都以旧方式关闭它们:
<tag id="foo"></tag>
我有什么理由应该使用旧方法吗?
查看 XML 和 XHTML 的 W3C 规范:
- 中定义为<块引用>
这个词或形容词推荐"的意思是在特定情况下可能存在忽略特定项目,但必须了解全部含义并在选择不同的课程之前仔细权衡.
如果您正在使用没有 DTD 或模式的 XML,您还可以使用 预定义的 libxml 常量:
<块引用>LIBXML_NOEMPTYTAG(整数):将空标签(例如
<br/>
扩展为<br></br>
)但请注意,此选项目前仅在函数
DOMDocument::save
和DOMDocument::saveXML
中可用,因此您不能将其与 SimpleXml 一起使用.<tag id="foo" />
I noticed that they work with PHP SimpleXML.
But all XML examples I found on the web close them the old way:
<tag id="foo"></tag>
Is there any reason why I should use the old method?
解决方案See the W3C specs for XML and XHTML:
- http://www.w3.org/TR/xml/#sec-starttags
- http://www.w3.org/TR/xhtml1/dtds.html#a_dtd_XHTML-1.0-Strict
It depends on the Element Type declaration
An element with no content is said to be empty. The representation of an empty element is either a start-tag immediately followed by an end-tag, or an empty-element tag.
but also
Empty-element tags may be used for any element which has no content, whether or not it is declared using the keyword EMPTY. For interoperability, the empty-element tag SHOULD be used, and SHOULD only be used, for elements which are declared EMPTY.
This means, when your DTD contains something like
<!ELEMENT img EMPTY>
you should use
<img/>
unless you have good reason to use
<img></img>
Note that SHOULD is defined in RFC2119 as
This word, or the adjective "RECOMMENDED", mean that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course.
If you are working with XML that does not have a DTD or Schema, you can also influence how the XML is serialized with a predefined libxml constant:
LIBXML_NOEMPTYTAG (integer): Expand empty tags (e.g.
<br/>
to<br></br>
)But note that this option is currently just available in the functions
DOMDocument::save
andDOMDocument::saveXML
, so you cannot use it with SimpleXml.这篇关于XML 文件中的自闭合标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:XML 文件中的自闭合标签
基础教程推荐
- 我可以在浏览器中与Babel一起使用ES模块,而不捆绑我的代码吗? 2022-01-01
- Electron 将 Node.js 和 Chromium 上下文结合起来意味着 2022-01-01
- 直接将值设置为滑块 2022-01-01
- 自定义 XMLHttpRequest.prototype.open 2022-01-01
- 如何使用TypeScrip将固定承诺数组中的项设置为可选 2022-01-01
- 用于 Twitter 小部件宽度的 HTML/CSS 2022-01-01
- html表格如何通过更改悬停边框来突出显示列? 2022-01-01
- Vue 3 – <过渡>渲染不能动画的非元素根节点 2022-01-01
- 如何使用JIT在顺风css中使用布局变体? 2022-01-01
- Chart.js 在线性图表上拖动点 2022-01-01