2016-03-20 69 views
3

以下是“允许”还是简单地使用XML?我无法找到限制,但感觉有点奇怪。XML中有元素节点作为文本节点的同胞吗?

<example> 
    You can choose from 
    <option>this</option> 
    <option>that</option> 
    <option>something else</option> 
    Choose wisely. 
</example> 

如果这是错误的,什么是一个不错的选择?

回答

2

不,混合元素和文本在XML中是完全正常的。

您可能更熟悉XML的面向数据的用途,但XML实际上是从表示文档的基础发展而来的,其中在其他文本中标记文本是常态。它的前身SGML就是这样,HTML今天仍然如此。

在XML架构(XSD)中,mixed="true"指定内容模型中的混合文本。

+0

这说明了很多。我正在使用可以在浏览器中编辑的XML文件(使用Javascript)。我并不觉得需要制作XSD。这仍然是推荐? – Phrytes

+0

XSD传递XML的结构和内容,并允许根据它表达的约束进行自动验证。如果这些功能对您都没有价值,您就不需要制作XSD。 – kjhughes

1

我认为最好只为一个目的保留混合内容:注释(或“标记”)自然语言文本的部分。因此,一个适用的好的测试是,如果标记被删除,文本是否仍然有意义?

在你的例子中,我唯一的批评就是如果你删除了标记,剩下的就不是语法上的:它在第一句后缺少一个完整的句号。

+0

在我的情况下它用于自然语言文本。真正的用途是制定一份法规清单,其中包含文章,四肢和潜艇。这意味着文本必须格式化如下: 第11条: 1.会员资格结束于: a。 b。成员 的通过b。成员终止会员 c。该协会的会员资格暂定为 2.会员可随时终止,无需通知 编号项目是四肢,按字母顺序排列的项目是子项目。肢体1包含一些文本,但也包含一些文本。 – Phrytes

+0

不幸的是,我的评论格式不见了。 – Phrytes

0

除了上面的答案(我同意)之外,我还要补充说它取决于XML文档的用途。如果目的是在应用程序之间传递业务数据,那么整个文档的验证可能是一个要求。混合内容不能使用XML Schema进行严格验证,并且通常在企业对企业通信中避免,除非仅用于文档目的。

相关问题