一个关于Schema的问题,请求帮助

一个关于Schema的问题,请求帮助
(借用首页存放到下午1:30分,然后移动到提问区,谢谢!)

现在需要定义这样一个节点:

<Nodes>
    
<Node>this is a node</Node>
    
<Node>
        
<Text>this is another node</Text>
        
<Node> 嵌套其他子节点</Node>
    
</Node>
</Nodes>


现在的关键问题是,这样的节点如何用Schema定义?我现在的解决方案是这样:

<xs:complexType name="Node">
    
<xs:sequence>
        
<xs:choice>
            
<xs:element name="SimpleNode" type="SimpleNode" />
            
<xs:element name="NestNode" type="NestNode" />
        
</xs:choice>
    
</xs:sequence>
</xs:complexType>

<xs:complexType name="NestNode">
    
<xs:sequence>
        
<xs:element name="Text" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
        
<xs:element name="Node" type="Node" minOccurs="1" maxOccurs="unbounded" />
    
</xs:sequence>
</xs:complexType>

<xs:complexType name="SimpleNode">
    
<xs:simpleContent>
        
<xs:extension base="xs:string" >
        
</xs:extension>
    
</xs:simpleContent>
</xs:complexType>

现在的问题就是第一个Node类型的定义不对,也就是说我无法把Node既作为SimpleNode又作为NestNode。

各位大虾有什么高见?

posted on   老翅寒暑  阅读(756)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

导航

< 2004年11月 >
31 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 1 2 3 4
5 6 7 8 9 10 11
点击右上角即可分享
微信分享提示