XSD架构是否可以包含其他XSD内容?

时间:2011-02-03 20:11:37

标签: reference xsd nested

详细说明这个问题的标题,我所拥有的是一个定义XML结构的主模式。但是,XML文件的使用方式与以下类似:

<!DOCTYPE root [
    <!ENTITY node1 SYSTEM "C:\node1.xml">
    <!ENTITY node2 SYSTEM "C:\node2.xml">
]>
<root>
    &node1;
    &node2;
</root>

出于这个原因,我希望能够定义代表这些单独“节点”的模式。这将允许我对顶级根xml和每个子级节点xml文件都有智能感知。

是否可以定义一个模式XSD,它将另一个XSD内容作为自己的内容引用?我想避免必须复制root.xsd中node.xsd中的相同模式定义,同时为创建root.xml或node.xml的人提供智能感知。

如果我需要澄清,请告诉我。谢谢你的帮助。

1 个答案:

答案 0 :(得分:3)

是的,可以在模式中包含其他模式的结构和定义。

您可以使用<xsd:import><xsd:include>将其他模式合并到您的模式中。

根据名称空间,其他模式的限制程度等等,您可能会遇到一些问题。