반응형
XSD-두 가지 속성 중 하나가 필요합니까?
XSD에 2 개의 속성 중 하나가 필요함을 지정하는 방법이 있습니까?
예를 들어 다음과 같은 정의가 있습니다.
<xs:attribute name="Name" type="xs:string" use="optional" />
<xs:attribute name="Id" type="xs:string" use="optional" />
이 중 하나 이상이 필요하다는 것을 정의하고 싶습니다. 가능합니까?
아니요, 속성으로는 그렇게 할 수 없다고 생각합니다. 두 개 <xs:element>
를 하나로 묶을 수는 <xs:choice>
있지만 속성의 경우 동등한 구조가 없습니다.
XSD 1.1에서는 assert를 사용하여이를 수행 할 수 있습니다.
<xsd:element name="remove">
<xsd:complexType>
<xsd:attribute name="ref" use="optional"/>
<xsd:attribute name="uri" use="optional"/>
<xsd:assert test="(@ref and not(@uri)) or (not(@ref) and @uri)"/>
</xsd:complexType>
</xsd:element>
Marc가 맞습니다 ... XSD의 xs : choice 부모 요소 안에 xs : attribute 자식 요소를 가질 수 없습니다.
논리는 요소의 두 인스턴스가 상호 배타적 인 속성 집합을 갖는 경우 논리적으로 두 개의 다른 요소라는 것입니다.
이에 대한 해결 방법은 Jeni Tennison이 여기 에 제시했습니다 .
W3C wiki에서이 페이지를 봐야합니다 : Simple attribute implication and Attribute muttex
이 예제는 "employee"요소 또는 "member"요소를 포함해야하는 "person"이라는 요소를 정의합니다.
<xs:element name="person">
<xs:complexType>
<xs:choice>
<xs:element name="employee" type="employee"/>
<xs:element name="member" type="member"/>
</xs:choice>
</xs:complexType>
</xs:element>
참조 URL : https://stackoverflow.com/questions/763072/xsd-one-of-2-attributes-is-required
반응형
'IT TIP' 카테고리의 다른 글
Intellij-메서드 참조로 대체 가능 (0) | 2020.12.25 |
---|---|
Visual Studio의 알파벳순 방법 (0) | 2020.12.25 |
iOS 및 일반 브라우저와 호환되는 JS 라이브러리 (드래그 앤 드롭 포함) (0) | 2020.12.25 |
HTML5 Boilerplate 대 JQuery 및 JQueryUI를 사용한 Twitter 부트 스트랩 (0) | 2020.12.25 |
java.util.HashSet에 get (Object o) 메소드가없는 이유는 무엇입니까? (0) | 2020.12.25 |