【发布时间】:2014-05-13 17:54:37
【问题描述】:
我在我的 xml 中添加了一个命名空间,但我不知道要在我的 xsd 中做什么才能有效。我添加了两个命名空间:sysadmin 和 network
我的xml代码:
<?xml version="1.0" encoding="UTF-8" ?>
<computers
xmlns:sysadmin="http://admin.ecolefrancomaghrebine.net/"
xmlns:network="http://reseau.ecolefrancomaghrebine.net/">
<computer id="1">
<model>Macintosh PowerBook G3</model>
<sysadmin:service>21/09/32000</sysadmin:service>
<network:ip>134.158.69.203</network:ip>
<system>
<sysadmin:nom>MacOS</sysadmin:nom>
<version>X</version>
</system>
<ram sysadmin:unite="Mo">384</ram>
<disk sysadmin:unite="Go">20</disk>
<processor>Motorola PowerPC G3</processor>
<clock>400 Mhz</clock>
<administrator src="jr.jpg">Jean-René Rouet</administrator>
</computer>
</computers>
我的xsd代码:
<?xml version="1.0" encoding="UTF-8"?>
<?altova_samplexml file:///C:/Users/OMARO-TAYTA/Documents/xml/computers.xml?>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:sysadmin="http://admin.ecolefrancomaghrebine.net"
xmlns:network="http://reseau.ecolefrancomaghrebine.net"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- edited with XMLSpy v2008 sp1 (http://www.altova.com) by info (info) -->
<xs:element name="computers" type="typecomputers"/>
<xs:complexType name="typecomputers">
<xs:sequence>
<xs:element name="computer" type="typecomputer" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="typecomputer">
<xs:sequence>
<xs:element name="model" type="xs:string"/>
<xs:element name="service" type="sysadmin:string" />
<xs:element name="ip" type="network:string"/>
<xs:element name="system">
<xs:complexType>
<xs:sequence>
<xs:element name="nom" type="sysadmin:string"/>
<xs:element name="version" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ram">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="unite" type="sysadmin:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="disk">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="unite" type="sysadmin::string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="processor" type="xs:string"/>
<xs:element name="clock" type="xs:string"/>
<xs:element name="administrator">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="src" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:integer" use="required"/>
</xs:complexType>
</xs:schema>
我得到错误:
'sysadmin:string' must refer to an existing simple or complex type.
Error location: xs:schema / xs:complexType / xs:sequence / xs:element / @type
Details
src-resolve.4.2: Cannot resolve declaration or definition 'sysadmin:string'.
【问题讨论】:
-
你为什么使用
sysadmin:string?为什么不直接使用xs:string?
标签: xml namespaces xsd