2009-09-19 8 views

답변

61

은 기본적으로 그것은 나 같은 스키마 문서하지 않을 수 있습니다 다른 곳 delared 또 다른 요소를 참조합니다. 예를 들어 다른 네임 스페이스의 외부 참조 스키마에서 가져올 수 있습니다. 많은 다른 스키마에서 항목 요소를 많이 사용한다고 가정하면 공통 스키마에서이를 선언 할 수 있으며 다른 모든 스키마에서도이 스키마를 다시 사용할 수 있습니다. 네임 스페이스 C일반적인 스키마를 참조 할 경우 다음과 같이 그 자체 또는 유형의 일환으로 항목 elemnt의 인스턴스를 선언 할 수

<xs:element ref="c:item" /><!-- reference here --> 
<xs:complexType name="something"> 
    <xs:sequence> 
     <xs:element ref="c:item" /><!-- and here --> 
    </xs:sequence> 
    <xs:element name="other" type="xs:Name" /> 
</xs:complexType> 

정의를 데이터에 스키마는 다음과 같을 것입니다 :

<xs:element name="item" type="itemType" /><!-- referenced element --> 
<xs:complexType name="itemType"> 
    <xs:sequence> 
     <xs:element name="code" type="xs:Name" minOccurs="0" maxOccurs="unbounded" /> 
    </xs:sequence> 
    <xs:attribute name="description" type="xs:normalizedString" use="required" /> 
</xs:complexType> 
+4

나는 좋은 설명입니다. 그러나 ref 속성은 "name"이 아닌 "id"로 외부 엔티티를 참조합니다. 두 번째 코드 블록의 "item"선언은 다음과 같아야합니다. rjray

+9

모든 XSD 문서에 따르면 I 'ref'는 다음과 같이 'name'에 적용됩니다. http://www.w3schools.com/schema/el_element.asp (ref - 선택 사항. 다른 요소의 이름을 참조하십시오.) – grkvlt

+1

언제 ref over type을 선택하나요? – pikachu0

5

예를 들어 깊게 중첩 된 것처럼 보이지만 인스턴스 문서의 최상위 요소로 나타날 수있는 요소 유형을 선언하려는 경우.

는 XML 스키마 입문서이에 대한 예제가 있습니다 http://www.w3.org/TR/xmlschema-0/