2014-11-23 2 views
0

여러 복합 유형에서 복합 타입을 생성 (이 방법은 X를 호출 할 수 있습니다) 두 세트 같은 그 사이 요소의 중복내가 사용자가 특정한 방식으로 사업을하고자하는 경우 요구되는 복합 타입에 캡슐화 된 특정 요소의 집합을

<xs:element name="uk"> 
    <xs:complexType> 
    <xs:sequence> 
     <xs:element name="ukAttribute1" type="xs:string"/> 
     <xs:element name="commonAttribute1" type="xs:string"/> 
    </xs:sequence> 
    </xs:complexType> 
</xs:element> 

있습니다 : 사용자가 다른 방식으로 사업을하고자하는 경우 필요한 다른 복합 타입에 캡슐화 요소의 특정 세트 (이런 식으로 y를 호출 할 수 있습니다) 일부 요소는 두 세트에 공통적입니다. 사용자가 x와 y를 통해 비즈니스를하고 싶다고 가정 해 보겠습니다. 요소의 중복이 없도록 두 요소 집합을 어떻게 결합합니까?

답변

1

원하는 것은 기본적으로 XML 스키마에서 "다중 상속"입니다.

그것은 바로 수 없습니다 (당신은 오직 한 가지 유형에서 파생),하지만 옵션이 있습니다

    당신은 모델 그룹 ( xs:group, xs:attributeGroup), 당신이 그들 (신용이가는 여러 참조 할 수 있습니다 사용할 수 있습니다
  • @ 쟈오). 내가 in the specification을 읽었을 때, 포함이 다소 동일하면, commonAttribute1 요소를 두 번 포함 할 수 있어야합니다.
  • 상속 대신 집계를 사용할 수 있습니다. 종종 더 쉽고 편한 방법입니다.
1

샘플 코드가 없으므로 정확히 무엇을 해결하고 싶은지 말하기는 어렵지만 <xs:group> 요소를 사용해 볼 수있는 것처럼 들립니다.

요소의 요구 사항을 포함하는 공통 요소 그룹을 구성한 다음 적절한 시점에 두 가지 복합 유형에서이 그룹을 참조하십시오.

+0

코드를 제공하지 않아서 죄송합니다. 나는 그 질문을 갱신했다. – HGandhi