Latest web development tutorials

XML 스키마 표시

표시기함으로써 문서 모드 요소의 사용을 제어 할 수있다.


지시자

일곱 지표가 있습니다 :

주문 지표 :

  • 모든
  • 선택
  • 순서

발생 표시 :

  • maxOccurs에
  • 에 minOccurs

그룹 표시 :

  • 그룹 이름
  • attributeGroup 이름

주문 표시

주문 지표 요소의 순서를 정의하는 데 사용된다.

모든 표시

<모든> 하위 요소의 규정에 따라 표시는 어떤 순서로 표시 할 수 있으며, 각각의 하위 요소는 한 번만 나타나야합니다 :

<xs:element name="person">
<xs:complexType>
<xs:all>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>

참고 : <모든> 표시를 사용하는 경우, 당신은 넣을 수 있습니다 <에 minOccurs> 0 또는 1로 설정되어 있지만, 단지 <maxOccurs에> 표시등이 1로 설정 (나중에 설명 <에 minOccurs>와 <maxOccurs에>).

선택 표시

<선택> 표시등이 발생하거나 다른 자식 요소 (또는 다른) 발생할 수있는 하위 요소를 제공한다 :

<xs:element name="person">
<xs:complexType>
<xs:choice>
<xs:element name="employee" type="employee"/>
<xs:element name="member" type="member"/>
</xs:choice>
</xs:complexType>
</xs:element>

순서 표시

<순서> 자식 요소는 특정 순서로 지정해야합니다 :

<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>


발생 표시

발생 지표 소자의 주파수 발생을 정의하는 데 사용된다.

참고 : "주문"과 "그룹"표시의 모든 내용은 (모든, 모든, 선택, 순서 , 그룹 이름 및 그룹 참조)은 maxOccurs과에 minOccurs 기본값은 1입니다.

maxOccurs에 표시

<maxOccurs에> 표시등이 요소가 발생할 수있는 최대 횟수를 지정할 수 있습니다 :

<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="full_name" type="xs:string"/>
<xs:element name="child_name" type="xs:string" maxOccurs="10"/>
</xs:sequence>
</xs:complexType>
</xs:element>

(에 minOccurs의 기본값은 1입니다) 위의 예는 자식 요소 "CHILD_NAME는"한 번 이상 "사람"요소에 나타날 수 있음을 보여, 대부분의 10 배에 나타납니다.

에 minOccurs 표시

<에 minOccurs> 표시등이 요소가 발생할 수 있습니다 시간의 최소 수를 요구할 수있다 :

<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="full_name" type="xs:string"/>
<xs:element name="child_name" type="xs:string"
maxOccurs="10" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>

상기 예에서, 자식 구성 요소 "CHILD_NAME"은 "인물"엘리먼트 0의 최소가있을 수 있음을 보여준다는 최대 10 회 나타난다.

팁 : 요소의 발생 횟수를 만들려면이 제한되지는은 maxOccurs = "무제한"이 문을 사용하십시오 :

실제적인 예 :

소위 "Myfamily.xml"XML 파일 :

<?xml version="1.0" encoding="ISO-8859-1"?>

<persons xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="family.xsd">

<person>
<full_name>Hege Refsnes</full_name>
<child_name>Cecilie</child_name>
</person>

<person>
<full_name>Tove Refsnes</full_name>
<child_name>Hege</child_name>
<child_name>Stale</child_name>
<child_name>Jim</child_name>
<child_name>Borge</child_name>
</person>

<person>
<full_name>Stale Refsnes</full_name>
</person>

</persons>

이 XML 파일 위 "사람"의 이름의 루트 요소가 포함되어 있습니다. 이 루트 요소 내부에서, 우리는 세 가지 "사람"요소를 정의했습니다. 각각의 "사람"요소는 "FULL_NAME"요소를 포함해야하지만 5 "CHILD_NAME"요소까지 포함 할 수있다.

이것은 "family.xsd"스키마 파일이다 :

<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">

<xs:element name="persons">
<xs:complexType>
<xs:sequence>
<xs:element name="person" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="full_name" type="xs:string"/>
<xs:element name="child_name" type="xs:string"
minOccurs="0" maxOccurs="5"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>

</xs:schema>


그룹 표시

정의와 관련된 요소의 여러 배치에 대한 그룹 표시.

요소 그룹

그룹에 의해 정의 된 요소 그룹은 선언

<xs:group name="groupname">
...
</xs:group>

당신은 그룹 모두 선택 또는 시퀀스 요소 내에 문을 정의해야합니다. 다음의 예는 정확한 순서에 따라 있어야 요소의 집합을 정의하는 "persongroup"라는 그룹을 정의 :

<xs:group name="persongroup">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:element name="birthday" type="xs:date"/>
</xs:sequence>
</xs:group>

당신이 그룹이 완료 될 때 정의 된 후에는 또 다른 정의에서 참조 할 수 있습니다 :

<xs:group name="persongroup">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:element name="birthday" type="xs:date"/>
</xs:sequence>
</xs:group>

<xs:element name="person" type="personinfo"/>

<xs:complexType name="personinfo">
<xs:sequence>
<xs:group ref="persongroup"/>
<xs:element name="country" type="xs:string"/>
</xs:sequence>
</xs:complexType>

속성 그룹

attributeGroup 문에 의해 정의 된 그룹 속성 :

<xs:attributeGroup name="groupname">
...
</xs:attributeGroup>

다음의 예는 "personattrgroup"의라는 속성 그룹을 정의합니다 :

<xs:attributeGroup name="personattrgroup">
<xs:attribute name="firstname" type="xs:string"/>
<xs:attribute name="lastname" type="xs:string"/>
<xs:attribute name="birthday" type="xs:date"/>
</xs:attributeGroup>

당신은 속성의 완전한 세트를 정의한 후에는 다른 정의를 참조과 같이 할 수 있습니다 :

<xs:attributeGroup name="personattrgroup">
<xs:attribute name="firstname" type="xs:string"/>
<xs:attribute name="lastname" type="xs:string"/>
<xs:attribute name="birthday" type="xs:date"/>
</xs:attributeGroup>

<xs:element name="person">
<xs:complexType>
<xs:attributeGroup ref="personattrgroup"/>
</xs:complexType>
</xs:element>