我收到的文件具有以下结构:
<Postnumre xmlns="http://Customer.Vejregister.Schemas.Vejregister_PostNr_XML.PostNr_XML">
<Postnr xmlns="http://Customer.Vejregister.Schemas.Vejregister_PostNr_XML.PostNr_XML">
<Sekvensnummer>sekvensnummer</Sekvensnummer>
<Tidspunkt>tidspunkt</Tidspunkt>
<Operation>operation</Operation>
<PostNr>nr</PostNr>
<PostnrNavn>navn</PostnrNavn>
<Stormodtager>stormodtager</Stormodtager>
</Postnr>
<Postnr xmlns="http://Customer.Vejregister.Schemas.Vejregister_PostNr_XML.PostNr_XML">
<Sekvensnummer>1</Sekvensnummer>
<Tidspunkt>2014-08-20T11:17:50.644Z</Tidspunkt>
<Operation>insert</Operation>
<PostNr>0800</PostNr>
<PostnrNavn>Høje Taastrup</PostnrNavn>
<Stormodtager>1</Stormodtager>
</Postnr>
</Postnumre>
如您所见,它在根节点和所有不带前缀的子节点上具有相同的名称空间。
在我的架构上,我已经将targetNamespace设置为上述名称空间,但是当根据架构验证此文档的实例时,我收到一条“验证实例失败”消息。
是否可以配置我的模式以允许此类文档?我不确定为什么会失败,因为我使用的是相同的名称空间。
架构代码:
<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns="http://Customer.Vejregister.Schemas.Vejregister_PostNr_XML.PostNr_XML" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://Customer.Vejregister.Schemas.Vejregister_PostNr_XML.PostNr_XML" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Postnumre">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Postnr">
<xs:complexType>
<xs:sequence>
<xs:element name="Sekvensnummer" type="xs:string" />
<xs:element name="Tidspunkt" type="xs:string" />
<xs:element name="Operation" type="xs:string" />
<xs:element name="PostNr" type="xs:string" />
<xs:element name="PostnrNavn" type="xs:string" />
<xs:element name="Stormodtager" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
答案 0 :(得分:0)
我从您的示例XML中生成了一个模式,并生成了以下模式。
主要区别在于它添加了elementFormDefault="qualified"
,您可以通过单击顶部的<Schema>
并将Element FormDefault设置为Qualified来设置。
<?xml version="1.0" encoding="utf-16"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://Customer.Vejregister.Schemas.Vejregister_PostNr_XML.PostNr_XML" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Postnumre">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Postnr">
<xs:complexType>
<xs:sequence>
<xs:element name="Sekvensnummer" type="xs:string" />
<xs:element name="Tidspunkt" type="xs:string" />
<xs:element name="Operation" type="xs:string" />
<xs:element name="PostNr" type="xs:string" />
<xs:element name="PostnrNavn" type="xs:string" />
<xs:element name="Stormodtager" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>