xsd를 사용하여 xml 유효성을 검사하려고합니다.동일한 내부 구조를 가진 XSD 두 요소
xml은 개체를 만드는 데 사용됩니다. 목록의 요소로 작성할 수있는 오브젝트에는 SC와 SMSC의 두 가지 유형이 있습니다. SMSC는 SC이며이를 확장합니다.
SMSC에는 새로운 속성이 없습니다. XML의 관점에서 보면 SMSC는 속성을 정의하는 요소가 <SC>
태그 대신 <SMSC>
태그로 둘러싸여 있다는 점을 제외하면 모든면에서 SC와 동일합니다.
우리의 XSD는 다음과 같습니다 SMSC 요소의 속성 정의의 모든 복제 이외의 요소로 SC 또는 SMSC, 하나를 허용하려면이를 변경하는 방법은
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name='Definitions'>
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="SC">
<!--SNIP properties of SC and SMSC -->
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
있습니까? 우리는 문서의 길이를 두 배로하고 모든 속성 정의를 복제하지 않아도됩니다.
우리가 XML에서 확인한 유일한 오류는 SMSC 요소가있는 곳입니다. 모든 속성 정의를 복제하지 않고이 문제를 해결할 방법이 없다면 그대로 두겠다.하지만 실용적이라면이 경고를 없애는 것이 좋습니다.
감사합니다. 나는 당신이 새로운 복합 유형을 정의 할 수 있고 그런 정의에서 사용할 수 있다는 것을 깨닫지 못했습니다. 매일 새로운 것을 배웁니다! (BTW, 첫 번째 버전은 지금 우리를 위해 일하고 있습니다) – Jeff