2015-06-26 95 views
1

我使用:XSD元素驗證爲空或NA值

<xs:element name="Name" type="xs:string"/> 

的XSD應該驗證元素名稱是要麼NA值。從被值或NA

另一個其它值分開不應 被接受。

+0

回滾的理由:我已經正確回答你原來的問題。更換它如此顯着地破壞了所提供的答案,而您只是在實施時遇到了麻煩。很高興幫助你:只要放下'type =「xsd:string」',當你在我的答案中合併時你忘記刪除了,你會沒事的。 – kjhughes

+0

@ Huges:我有網絡問題,我的瀏覽器在做我的帖子時以一種奇怪的方式反應。我很抱歉造成的不便。 – user3492471

+0

@Huges如何在使用xsd作爲SOAP響應XML時測試下面的元素驗證。請告知 – user3492471

回答

0

限制xs:string是兩個枚舉值之一:""(空字符串)或"NA"

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="Name"> 
    <xs:simpleType> 
     <xs:restriction base="xs:string"> 
     <xs:enumeration value=""/> 
     <xs:enumeration value="NA"/> 
     </xs:restriction> 
    </xs:simpleType> 
    </xs:element> 
</xs:schema> 
+0

@kjhuges如果我應用您的更改,我會收到錯誤消息,因爲「元素'名稱'同時具有'類型'屬性和'匿名類型'子元素,只有其中一個元素可以使用。請檢查以上。 – user3492471

+0

你忘了從元素定義中取出type =「xsd:string」';在本地定義內容模型時不需要(確實不允許)。 – kjhughes