다음을 통해 공유


<xsd:redefine> 요소

외부 스키마 파일에서 가져온 단순 및 복합 형식, 그룹, 특성 그룹을 현재 스키마에서 다시 정의합니다.

<redefine
  id = ID
  schemaLocation = anyURI
  {any attributes with non-schema Namespace}...>
Content: (annotation | (simpleType | complexType | group | 
attributeGroup))*
</redefine>

특성

  • id
    이 요소의 ID입니다. id 값은 ID 형식이어야 하며 이 요소를 포함하는 문서 내에서 고유한 값이어야 합니다.

    선택적 항목입니다.

  • schemaLocation
    스키마 문서 위치에 대한 URI 참조입니다.

    필수 항목입니다.

요소 정보

발생 횟수

제한 없음

부모 요소

schema

내용

annotation, attributeGroup, complexType, group, simpleType

주의

redefine 요소를 사용하려면 외부 요소가 재정의 스키마와 같은 대상 네임스페이스에 있어야 합니다. 네임스페이스가 없는 스키마는 redefine 요소를 사용하여 다시 정의할 수 있으며 다시 정의된 구성 요소는 스키마의 대상 네임스페이스의 일부가 됩니다.

redefine 요소 내 정의는 현재 정의를 기본 형식 정의로 사용해야 합니다. 특성 그룹 정의 및 모델 그룹 정의에는 각 정의 자체에 대한 참조가 하나씩 들어 있어야 합니다. 다시 정의된 스키마 문서의 정의를 모두 다시 정의해야 하는 것은 아닙니다.

요소를 다시 정의하면 다시 정의된 정의를 기반으로 하는 다른 형식 정의에 잘못된 정의 등의 예기치 못한 결과가 발생할 수 있습니다.

예제

다음 예제에서는 v1.xsd에 지정된 요소를 가진 스키마인 v2.xsd를 보여 줍니다. personName 형식을 다시 정의합니다. 이 스키마에 의하면 personName 형식의 제약을 받는 요소는 generation 요소로 끝날 수도 있습니다.

<xs:complexType name="personName">
 <xs:sequence>
  <xs:element name="title" minOccurs="0"/>
  <xs:element name="forename" minOccurs="0" maxOccurs="unbounded"/>
 </xs:sequence>
</xs:complexType>

<xs:element name="addressee" type="personName"/>
<xs:redefine schemaLocation="v1.xsd">
 <xs:complexType name="personName">
  <xs:complexContent>
   <xs:extension base="personName">
    <xs:sequence>
     <xs:element name="generation" minOccurs="0"/>
    </xs:sequence>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
</xs:redefine>

<xs:element name="author" type="personName"/>

관련 자료

자세한 내용은 www.w3.org/TR/2001/REC-xmlschema-1-20010502/\#element-all에 있는 Structures Recommendation을 참조하십시오.

참고 항목

참조

XML 스키마(XSD) 참조
XML 스키마 요소