首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有所有唯一节点名的XML的XSD

具有所有唯一节点名的XML的XSD
EN

Stack Overflow用户
提问于 2011-08-22 03:15:44
回答 2查看 96关注 0票数 0

我的XML文件看起来像这样:

代码语言:javascript
运行
复制
<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,这样无论文件中的位置如何,任何两个节点都不能有重复的名称。此文件中的任何节点都应该被允许有无限的子节点,直到任何子级别。

我如何才能实现这个目标?

EN

回答 2

Stack Overflow用户

发布于 2011-08-24 20:43:03

skaffman是非常正确的,你需要将你的值作为属性或元素,如果你不确定,w3学校有一个很好的教程;

http://www.w3schools.com/xml/xml_elements.asp http://www.w3schools.com/xml/xml_attributes.asp

票数 0
EN

Stack Overflow用户

发布于 2011-08-24 20:57:09

数据的一种可能的xml表示的示例如下:

代码语言:javascript
运行
复制
<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。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7140482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档