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.js',而不是'letter.c',那麼任何值都可以來或者它也可以爲空 – Sierra
從邏輯上講,如果我正確理解你,這相當於簡單地使它成爲一個不受約束的'xs:string'。 – kjhughes
所以基本上能來作爲'<響應SRC = 「XML」> letter.c di.js ' - 或 - '<響應SRC = 「XML」> 樂 di.js '' - 或 - <響應SRC = 「XML」> di.js '所以我需要讓所有這些,但如果該值'di.js'得到改變,那麼需要被拒絕。 –
Sierra