최신 웹 개발 튜토리얼
 

XML스키마 complexType에 요소


<전체 XML 스키마 참조

정의 및 사용

complexType에 요소는 복합 유형을 정의합니다. 복합 형 요소는 다른 요소 및 / 또는 속성을 포함하는 XML 요소입니다.

요소 정보

  • Parent elements: 요소, 다시 정의, 스키마

통사론

<complexType
id=ID
name=NCName
abstract=true|false
mixed=true|false
block=(#all|list of (extension|restriction))
final=(#all|list of (extension|restriction))
any attributes
>

(annotation?,(simpleContent|complexContent|((group|all|
choice|sequence)?,((attribute|attributeGroup)*,anyAttribute?))))

</complexType>

(α-기호 요소는 0 또는 1 시간이 발생할 수 있음을 선언하고, * 기호 요소가 complexType을 요소 내에 0 번 이상 발생할 수 있음을 선언)

속성 기술
id 선택 과목. 요소의 고유 ID를 지정
name 선택 과목. 엘리먼트의 이름을 지정
abstract 선택 과목. 복합 형 인스턴스 문서에서 사용할 수 있는지 여부를 지정합니다. 진정한는 요소가 바로이 복잡한 유형을 사용할 수 있지만,이 복잡한 유형에서 파생 된 복합 형식을 사용해야 함을 나타냅니다. 기본값은 false입니다
mixed 선택 과목. 문자 데이터는이 complexType을 요소의 자식 요소 사이에 표시 할 수 있는지 여부를 지정합니다. 기본값은 false입니다. simpleContent를 요소가 자식 구성 요소의 경우, mixed 특성이 허용되지!
block 선택 과목. 이 복합 형식 대신에 사용되는 유도의 지정된 유형이 복합 유형을 방지합니다. 이 값은이 #all 또는 확장 또는 제한의 하위 집합입니다 목록을 포함 할 수 있습니다 :
  • 확장 - 확장에 의해 파생 된 복합 유형을 방지
  • 제한 - 제한에 의해 파생 된 복합 유형을 방지
  • 이 #all - 파생 된 모든 복합 유형을 방지
final 선택 과목. 이 복합 유형 요소의 도출의 특정 유형을 방지합니다. 이 #all 또는 확장 또는 제한의 하위 집합입니다 목록을 포함 할 수 있습니다.
  • 확장 - 확장에 의해 유도을 방지
  • 제한 - 제한에 의해 유도을 방지
  • 이 #all - 모든 유도를 방지
any attributes 선택 과목. 비 스키마 네임 스페이스와 다른 속성을 지정합니다

예 1

다음 예제라는 요소가 "note" 복잡한 유형 인 것을 :

<xs:element name="note">
  <xs:complexType>
    <xs:sequence>
  <xs:element name="to" type="xs:string"/>
  <xs:element name="from" type="xs:string"/>
  <xs:element name="heading" type="xs:string"/>
  <xs:element name="body" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

예 2

다음의 예는, 복합 형,이 "fullpersoninfo" 다른 복합 형식에서 파생, "personinfo" 세 가지 추가 요소와 상속 형 확장하여, (address, city and country) :

<xs:element name="employee" type="fullpersoninfo"/>

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

<xs:complexType name="fullpersoninfo">
  <xs:complexContent>
    <xs:extension base="personinfo">
      <xs:sequence>
        <xs:element name="address" type="xs:string"/>
        <xs:element name="city" type="xs:string"/>
        <xs:element name="country" type="xs:string"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

위의 예에서 "employee" 의 메시지 있어야합니다 요소, 순서, 다음과 같은 요소 : "firstname" , "lastname" , "address" , "city""country" .


<전체 XML 스키마 참조