簡體   English   中英

XSD自定義類型聲明中的錯誤

[英]Error in XSD custom type declaration

<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Person">
    <xs:complexType>
        <xs:all>
            <xs:element name="address" type="Address"/>
        </xs:all>
    </xs:complexType>
</xs:element>
 <xs:element name="Address">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="line1" type="xs:string"/>
            <xs:element name="line2" type="xs:string"/>
            <xs:element name="state" type="xs:string"/>
            <xs:element name="city" type="xs:string"/>
            <xs:element name="postcode" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
</xs:element>
</xs:schema>

在此XSD定義中,我無法理解此錯誤:類型“地址”未定義為該模式或任何包含或導入的模式內的根項。

我想在同一模式中提供類型聲明。 但是這個聲明有什么問題呢?

<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="Person">
        <xs:complexType>
            <xs:all>
                <xs:element name="address" type="Address"/>
            </xs:all>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="Address">
        <xs:sequence>
            <xs:element name="line1" type="xs:string"/>
            <xs:element name="line2" type="xs:string"/>
            <xs:element name="state" type="xs:string"/>
            <xs:element name="city" type="xs:string"/>
            <xs:element name="postcode" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
</xs:schema>

您有一個本地元素聲明

<xs:element name="address" type="Address"/>

但沒有名稱為“ Address”的complexType定義。

我懷疑元素聲明

<xs:element name="Address">
    <xs:complexType>
    ...

應該是

<xs:complexType name="Address">
   ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM