【发布时间】:2014-06-17 20:31:33
【问题描述】:
我有以下 XML 文档,有点简单:
<configuration>
<group name="database">
<server name="machine01" user="root" password="foob4r" sudo="true" hdd="300" loc="/opt" />
</group>
<group name="application">
<server name="machine01" user="root" password="foob4r" sudo="true" hdd="50" loc="/export" />
<server name="machine02" user="root" password="foob5r" sudo="true"/>
</group>
<group name="profiler">
<server name="machine03" user="root" password="blue123"/>
<server name="machine03" />
</group>
</configuration>
<configuration> 属性是必须,并且至少一个 <group> 与至少一个 <server> 是一个必须。
在服务器中,只有name 属性是必须的。
我想出了:
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="configuration">
<xsd:complexType>
<xsd:element name="group">
<xsd:complexType>
<xsd:element name="server">
<xsd:attribute name="name" type="xsd:string" use="required" />
<xsd:anyAttribute/>
</xsd:element>
</xsd:complexType>
</xsd:element>
</xsd:complexType>
</xsd:element>
</xsd:schema>
遗憾的是,这并不能解决问题。
【问题讨论】:
-
<configuration>是什么意思 属性 是必须的?<configuration>是一个元素,它在您的实例和架构中都没有任何属性。我相信你的意思是元素。
标签: xml xsd xsd-validation