요소를 선언합니다.
<element
abstract = Boolean : false
block = (#all | List of (extension | restriction | substitution))
default = string
final = (#all | List of (extension | restriction))
fixed = string
form = (qualified | unqualified)
id = ID
maxOccurs = (nonNegativeInteger | unbounded) : 1
minOccurs = nonNegativeInteger : 1
name = NCName
nillable = Boolean : false
ref = QName
substitutionGroup = QName
type = QName
{any attributes with non-schema Namespace}...>
Content: (annotation?, ((simpleType | complexType)?, (unique | key |
keyref)*))
</element>
특성
abstract
인스턴스 문서에서 해당 요소를 사용할 수 있는지 여부를 나타내는 표시기입니다. 이 값이 true이면 해당 요소를 인스턴스 문서에 표시할 수 없습니다. 이 요소 대신 substitutionGroup 특성에 이 요소의 정규화된 이름(QName)이 포함된 다른 요소를 표시해야 합니다. 둘 이상의 요소가 해당 substitutionGroup 특성에서 이 요소를 참조할 수 있습니다.기본값은 false입니다.
선택적 항목입니다.
block
파생 형식입니다. block 특성은 지정된 파생 형식을 가진 요소가 현재 요소 대신에 사용될 수 없도록 합니다. 이 값에는 #all이나 extension, restriction 또는 substitution의 하위 집합 목록이 포함될 수 있습니다.extension
확장에 의해 파생된 요소를 이 요소 대신 사용할 수 없도록 합니다.
restriction
제한에 의해 파생된 요소를 이 요소 대신 사용할 수 없도록 합니다.
substitution
대체에 의해 파생된 요소를 이 요소 대신 사용할 수 없도록 합니다.
#all
모든 파생된 요소를 이 요소 대신 사용할 수 없도록 합니다.
선택적 항목입니다.
default
내용이 단순 형식이거나 textOnly일 경우 요소의 기본값입니다.fixed 및 default 특성은 함께 사용할 수 없습니다.
요소에 단순 형식이 들어 있으면 이 값은 해당 형식의 유효한 값이어야 합니다.
선택적 항목입니다.
substitutionGroup
이 요소를 대체할 수 있는 요소의 이름으로, 이 요소는 같은 형식이거나 지정한 요소의 형식에서 파생된 형식이어야 합니다.참조하는 요소가 전역 수준으로 선언된 경우 _, 부모가 schema 요소인 경우 이 특성을 모든 요소에 사용할 수 있습니다.
이 값은 QName이어야 합니다.
선택적 항목입니다.
final
파생 형식입니다. final 특성은 element 요소에 final 특성의 기본값을 설정합니다. 이 값에는 #all이나 extension 또는 restriction의 하위 집합 목록이 포함될 수 있습니다.extension
확장에 의해 파생된 요소를 이 요소 대신 사용할 수 없도록 합니다.
restriction
제한에 의해 파생된 요소를 이 요소 대신 사용할 수 없도록 합니다.
#all
모든 파생된 요소를 이 요소 대신 사용할 수 없도록 합니다.
포함하는 요소가 schema 요소가 아닌 경우에는 사용할 수 없습니다.
선택적 항목입니다.
fixed
내용이 단순 형식이거나 textOnly일 경우 요소에 미리 지정된 값이며 변경할 수 없습니다.fixed 및 default 특성은 함께 사용할 수 없습니다.
선택적 항목입니다.
form
요소의 형식으로, 기본값은 특성을 포함하는 schema 요소의 elementFormDefault 특성 값입니다. 값은 "qualified" 또는 "unqualified" 문자열 중 하나를 사용해야 합니다.값이 unqualified인 경우 이 요소를 네임스페이스 접두사로 정규화할 필요가 없습니다.
값이 qualified인 경우에는 이 요소를 네임스페이스 접두사로 정규화해야 합니다.
선택적 항목입니다.
id
이 요소의 ID입니다. id 값은 ID 형식이어야 하며 이 요소를 포함하는 문서 내에서 고유한 값이어야 합니다.선택적 항목입니다.
maxOccurs
포함하는 요소 내에서 요소가 발생할 수 있는 최대 횟수입니다. 값은 0보다 크거나 같은 정수일 수 있습니다. 최대 횟수를 제한하지 않으려면 문자열 "unbounded"를 사용합니다.포함하는 요소가 schema 요소이면 사용할 수 없습니다.
선택적 항목입니다.
minOccurs
포함하는 요소 내에서 요소가 발생할 수 있는 최소 횟수입니다. 값은 0보다 크거나 같은 정수일 수 있습니다. 이 요소를 선택적 요소로 지정하려면 이 특성을 0으로 설정합니다.포함하는 요소가 schema 요소이면 사용할 수 없습니다.
선택적 항목입니다.
name
요소의 이름입니다. 이 이름은 XML 네임스페이스 사양에 정의된 대로 NCName(No-Colon-Name)이어야 합니다. Name 및 ref 특성을 둘 다 지정할 수 없습니다.포함하는 요소가 schema 요소이면 필요한 요소입니다.
선택적 항목입니다.
nillable
명시적 nil 값을 요소에 할당할 수 있는지 여부를 나타내는 표시기입니다. 요소 내용에만 적용되고 요소 특성에는 적용되지 않습니다. 기본값은 false입니다.nillable이 true이면 요소의 인스턴스가 nil 특성을 true로 설정합니다. nil 특성은 인스턴스에 대해 XML 스키마 네임스페이스의 일부로 정의됩니다.
예를 들어, 다음은 nillable이 true로 설정된 단일 요소를 정의합니다.
<xs:element name="myDate" type="xs:date" nillable="true"/>
다음은 이 요소를 사용하며 명시적인 nil 값(nil 특성이 true로 설정됨)을 가집니다.
<myDate xsi:nil="true"></myDate>
선택적 항목입니다.
ref
이 스키마 또는 지정된 네임스페이스에 나타난 다른 스키마에서 선언된 요소의 이름입니다. ref 값은 QName이어야 합니다. ref에는 네임스페이스 접두사가 포함될 수 있습니다.포함하는 요소가 schema 요소이면 사용할 수 없습니다.
ref 특성을 사용하면 complexType, simpleType, key, keyref 및 unique 요소와 nillable, default, fixed, form, block 및 type 특성을 사용할 수 없습니다.
<xs:element ref="comment"/>
선택적 항목입니다.
type
이 스키마나 지정된 네임스페이스가 나타내는 다른 스키마에서 정의된 기본 제공 데이터 형식의 이름이거나 simpleType 또는 complexType 요소의 이름입니다. 제공된 값은 참조되는 simpleType 또는 complexType 요소의 name 특성과 일치해야 합니다.type 및 ref 특성은 함께 사용할 수 없습니다.
기존 단순 형식이나 복합 형식 정의를 사용하여 요소를 선언하려면 type 특성을 사용하여 기존 형식을 지정해야 합니다.
<xs:element name="name" type="xs:string"/>
선택적 항목입니다.
요소 정보
발생 횟수 |
스키마에 정의된 요소 수 |
부모 요소 |
|
내용 |
주의
요소 선언은 이름을 형식 정의와 연결하며 가능한 형식 정의로는 기본 제공 데이터 형식, 단순 형식 및 복합 형식이 있습니다.
요소 선언은 전역 범위를 갖는 schema 요소의 자식 요소로 또는 복합 형식 정의 내에서 사용할 수 있습니다. 복합 형식 내에서 요소 선언은 로컬 선언이나 전역 범위를 갖는 요소에 대한 참조로 사용할 수 있습니다.
전역 요소 선언은 복합 형식을 직접 정의해야 합니다.
ref 및 type 특성을 모두 사용하지 않는 경우에만 simpleType 또는 complexType 요소를 자식 요소로 사용할 수 있습니다.
또한 choice, all, sequence 및 complexType 요소 내에서 참조로 요소를 표시할 수 있습니다.
예제
다음 예제에는 다른 요소를 대체하여 사용할 수 있는 요소가 두 개 있습니다.
<xs:element name="cat" type="xs:string"/>
<xs:element name="dog" type="xs:string"/>
<xs:element name="redDog" type="xs:string"
substitutionGroup="dog" />
<xs:element name="brownDog" type="xs:string"
substitutionGroup ="dog" />
<xs:element name="pets">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="cat"/>
<xs:element ref="dog"/>
</xs:choice>
</xs:complexType>
</xs:element>
관련 자료
자세한 내용은 www.w3.org/TR/2001/REC-xmlschema-1-20010502/\#element-all에 있는 Structures Recommendation을 참조하십시오.