我创建XML吊坠CouchDB的,使用XSD文件的验证。
目前项目的嵌入:项目不工作,并给出一个验证错误。
我怎样才能改变我的XSD,所以我的XML文件是有效的?
我想下面的XML布局:
<document:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:document="urn:JCouch.Document"
xmlns:attachment="urn:JCouch.Attachment"
xmlns:project="urn:JCouch.Project"
xsi:schemaLocation="
urn:JCouch.Document document.xsd
urn:JCouch.Project project.xsd
">
<document:meta>
<document:id>123</document:id>
<document:revision>12321</document:revision>
<document:deleted>false</document:deleted>
<document:md5>md5 of everything including</document:md5>
</document:meta>
<!-- Auto generated based on files attached -->
<document:attachments>
<attachment:attachment>
<attachment:path></attachment:path>
<attachment:length>1</attachment:length>
<attachment:md5></attachment:md5>
</attachment:attachment>
</document:attachments>
<!-- The actual document content -->
<document:content>
<project:project>
<project:name>dsa</project:name>
<project:projectNumber>123</project:projectNumber>
</project:project>
</document:content>
</document:document>
我有3个XSD文件。 1文件,1和附件1项目。 心目中项目仅仅是一个例子。 我后来想添加博客:博客博客:进入等等。
Document.xsd:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
targetNamespace="urn:JCouch.Document"
xmlns="urn:JCouch.Document"
xmlns:attachment="urn:JCouch.Attachment"
xmlns:project="urn:JCouch.Project"
xsi:schemaLocation="
urn:JCouch.Attachment attachment.xsd
urn:JCouch.Project project.xsd"
elementFormDefault="qualified"
>
<xs:element name="document" type="documentType"/>
<xs:complexType name="documentType">
<xs:sequence>
<xs:element name="meta" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="id" type="xs:string"/>
<xs:element minOccurs="1" maxOccurs="1" name="revision" type="xs:string"/>
<xs:element minOccurs="1" maxOccurs="1" name="deleted" type="xs:boolean"/>
<xs:element minOccurs="1" maxOccurs="1" name="md5" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="attachments" minOccurs="1" maxOccurs="1" type="attachment:attachmentType"/>
<xs:element name="content" minOccurs="1" maxOccurs="1" type="contentType">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="contentType">
<xs:sequence>
<xs:element ref="project:project" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
project.xsd:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:JCouch.Project"
elementFormDefault="qualified">
<xs:complexType name="projectType">
<xs:sequence>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="projectNumber" type="xs:string"/>
</xs:sequence>
</xs:sequence>
</xs:complexType>
<xs:element name="project" type="projectType"/>
</xs:schema>
和最后attachment.xsd,虽然这部分作品!
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:JCouch.Attachment"
elementFormDefault="qualified">
<xs:complexType name="attachmentType">
<xs:sequence>
<xs:element name="attachment">
<xs:complexType>
<xs:sequence>
<xs:element name="path" type="xs:anyURI"/>
<xs:element name="length" type="xs:integer"/>
<xs:element name="md5" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
任何帮助将不胜感激。
最好的问候Kresten克亚尔