2013-02-26 3 views
1
내가

XSD -이 XSD가 유효한 확장 유형

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
     xmlns="http://www.my.own/2013/XMLSchema"> 

    <xs:complexType name="AType"> 
     <xs:attribute name="Name" type="xs:string" use="required" /> 
    </xs:complexType> 

    <xs:complexType name="BType"> 
     <xs:complexContent> 
      <xs:extension base="AType"> 
       <xs:sequence> 
        <xs:choice> 
         <xs:element name="Content" type="xs:string"/> 
        </xs:choice> 
       </xs:sequence> 
       <xs:attribute name="Name" type="xs:int" use="required"/> 
      </xs:extension> 
     </xs:complexContent> 
    </xs:complexType> 
</xs:schema> 

아래 XSD에서 같은 xs:intxs:string에서 Name 속성의 유형을 변경하려면

에서 속성 유형을 변경할 수 있습니까? 그렇지 않은 경우, 속성 유형을 변경하는 다른 솔루션이 있습니까?

+2

은 기본 'AType' 오타의'Nane'입니까? – SparKot

+0

귀하의 질문은 무엇입니까? 변경이 가능합니까 아니면 유효합니까? – chiru

+0

1. 오타가 수정되었습니다. 2. 사실 두 질문에 대한 답변에 관심이 있습니다 – CAMOBAP

답변

1

아니요, 유형 유도 원칙은 기본 유형에서 새 유형을 파생하는 경우 파생 유형의 인스턴스가 여전히 기본 유형의 유효한 인스턴스 여야한다는 것입니다. 따라서 문자열에서 int로 속성을 변경할 수는 없습니다.

+0

추위 당신은 당신의 말을 뒷받침하는 문서에 대한 링크를 제공해주십시오. – CAMOBAP

+1

http://www.w3.org/TR/xmlschema-1/#cos-ct-extends의 1.2 조항을 위반합니다. –