我的XML文件看起来像这样:
<Fields>
<Humanities>
<Performing_Arts>
<Dance />
<Music />
</Performing_Arts>
<Visual_Arts>
<Painting />
<Sculptue />
</Visual_Arts>
</Humanities>
<Social_Sciences>
<Psychology>
<Cultural_Psychology />
<Social_Psychology />
</Psychology>
</Social_Sciences>
</Fields>
我想为此文件编写一个XML Schema,这样无论文件中的位置如何,任何两个节点都不能有重复的名称。此文件中的任何节点都应该被允许有无限的子节点,直到任何子级别。
我如何才能实现这个目标?
发布于 2011-08-24 20:43:03
skaffman是非常正确的,你需要将你的值作为属性或元素,如果你不确定,w3学校有一个很好的教程;
http://www.w3schools.com/xml/xml_elements.asp http://www.w3schools.com/xml/xml_attributes.asp
发布于 2011-08-24 20:57:09
数据的一种可能的xml表示的示例如下:
<fields>
<department name="Humanities">
<subject name="Peforming Arts">
<topic name="Dance"/>
<topic name="Music"/>
</subject>
<subject name="Visual Arts">
<topic name="Painting"/>
<topic name="Sculpture"/>
</subject>
</department>
<department name="Social Sciences">
<subject name="Psychology">
<topic name="Cultural Psychology"/>
<topic name="Social Psychology"/>
</subject>
</department>
</fields>
备注:
您可以看到,这大致相当于一个包含三个表的数据库: department、subject和topic,父表和子表之间存在FK关系。这确实是XML封装的内容,但以文本形式存在,这是设计布局时需要牢记的事情。
我对元素和属性都使用了小写的名称。这是一个像xsl/xpath一样区分大小写的个人问题,所以将所有内容都设为小写可以避免以后出现可怕的bug。
https://stackoverflow.com/questions/7140482
复制相似问题