以下是“允许”还是简单地使用XML?我无法找到限制,但感觉有点奇怪。XML中有元素节点作为文本节点的同胞吗?
<example>
You can choose from
<option>this</option>
<option>that</option>
<option>something else</option>
Choose wisely.
</example>
如果这是错误的,什么是一个不错的选择?
以下是“允许”还是简单地使用XML?我无法找到限制,但感觉有点奇怪。XML中有元素节点作为文本节点的同胞吗?
<example>
You can choose from
<option>this</option>
<option>that</option>
<option>something else</option>
Choose wisely.
</example>
如果这是错误的,什么是一个不错的选择?
不,混合元素和文本在XML中是完全正常的。
您可能更熟悉XML的面向数据的用途,但XML实际上是从表示文档的基础发展而来的,其中在其他文本中标记文本是常态。它的前身SGML就是这样,HTML今天仍然如此。
在XML架构(XSD)中,mixed="true"
指定内容模型中的混合文本。
我认为最好只为一个目的保留混合内容:注释(或“标记”)自然语言文本的部分。因此,一个适用的好的测试是,如果标记被删除,文本是否仍然有意义?
在你的例子中,我唯一的批评就是如果你删除了标记,剩下的就不是语法上的:它在第一句后缺少一个完整的句号。
除了上面的答案(我同意)之外,我还要补充说它取决于XML文档的用途。如果目的是在应用程序之间传递业务数据,那么整个文档的验证可能是一个要求。混合内容不能使用XML Schema进行严格验证,并且通常在企业对企业通信中避免,除非仅用于文档目的。
这说明了很多。我正在使用可以在浏览器中编辑的XML文件(使用Javascript)。我并不觉得需要制作XSD。这仍然是推荐? – Phrytes
XSD传递XML的结构和内容,并允许根据它表达的约束进行自动验证。如果这些功能对您都没有价值,您就不需要制作XSD。 – kjhughes