1
XSD를 사용하여 특성 값과 요소 값을 제한해야하는 요구 사항이 있습니다. 지금까지XSD를 사용하여 요소 값 및 속성 값 제한
JSON
SWAGGER
중 하나에 속성 값을 제한 할 수있었습니다, 그러나 나는 또한뿐만 아니라
letter.c
di.js
중 하나에 요소 값을 제한 할 필요가있다.
XML :
<response src="XML">
<resp name="JSON">letter.c</resp>
<resp name="SWAGGER">di.js</resp>
</response>
XSD :
<xs:schema attributeFormDefault="unqualified"
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="response">
<xs:complexType>
<xs:sequence>
<xs:element name="resp" maxOccurs="14" minOccurs="1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="respFilter">
<xs:attribute name="name" use="required"
type="Enum" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="src" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="XML"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:simpleType name="Enum">
<xs:restriction base="xs:string">
<xs:enumeration value="JSON">
</xs:enumeration>
<xs:enumeration value="SWAGGER">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="respFilter">
<xs:restriction base="xs:string">
<xs:minLength value="0"></xs:minLength>
<xs:maxLength value="1064"></xs:maxLength>
</xs:restriction>
</xs:simpleType>
</xs:schema>
XSD를 사용하여 내가 그들 모두를 제한 할 수있는 방법이 있나요?
'di.c'대신 'di.js' 만 일치 시키려고하면 깜박 한 점이 있습니다. 모든 값이 올 수 있거나 비어있게 될 수도 있습니다. – Sierra
논리적으로, 당신을 올바르게 이해한다면, 단순히 제약이없는'xs : string'이되는 것과 같습니다. – kjhughes
그래서 기본적으로는'<응답 SRC = "XML">로 올 수 letter.c 을'di.js - 또는 - '<응답 SRC = "XML"> 르 <= "SWAGGER"RESP 이름> di.js '- 또는'<응답 SRC = "XML"> 가'그래서 난 후,이 모든 것을 허용해야하지만, 값이'으로 변경되는 di.js' 경우 di.js 요구하는 거절 당한다. –
Sierra