2013-04-29 2 views
0

xml을 처음 사용하고 xsd : all 요소를 이해하려고합니다. MSDN로서 말한다 :xsd : all을 사용하여 요소를 정의하는 올바른 방법

XSD는 모든 그룹의 요소 (또는 나타나지) 표시 포함 요소에서 임의의 순서로 할 수있다.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" > 
    <xsd:element name = "MyElem"> 
    <xsd:complexType> 
      <xsd:all> 
      <xsd:element name = "name" type = "xsd:string" /> 
      <xsd:element name = "lastname" type = "xsd:string" /> 
      <xsd:element name = "city" type = "xsd:string" /> 
      </xsd:all> 
    </xsd:complexType> 
    </xsd:element> 
    </xsd:schema> 

다음 우리는이 같은 XML 파일을 가질 수 있습니다 :

<MyElem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Example.xsd" > 
    <name>"some_name"</name> 
    <lastname>"some_last_name"</lastname> 
    <city>"somecity"</city>   
</MyElem> 

이 꽤 분명 우리가 XSD 스키마의 간단한 예를 만들면 이해 그래서

.

다음과 같은 요소가 예상된다 : 내가 거기 정의에 언급 된 (요소가 나타나거나 나타나지 않을 수 있습니다) 한, MyElem에에 요소주지 할 때, 나는 말한다있는 XML 파일에 오류가 이 위치에.

저는 Altova xmlSpy xml 편집기를 사용하고 있습니다.

요소가 포함 된 요소에 나타날 수도 있고 나타나지 않을 수도 있다는 것을 정확히 이해 했습니까?

도움 주셔서 감사합니다.

답변

1

일부 요소를 선택 가능하게하려면 minOccurs="0"을 지정하십시오. 이름, 성 및 도시를 모두 순서에 관계없이 지정할 수 있도록하려면 도시는 선택 사항입니다.

<xsd:all> 
    <xsd:element name = "name" type = "xsd:string" /> 
    <xsd:element name = "lastname" type = "xsd:string" /> 
    <xsd:element name = "city" type = "xsd:string" minOccurs="0"/> 
</xsd:all> 
관련 문제