2016-08-03 53 views
1

任何人都可以幫助我與xsd。 我的XSD看起來像:在XSD中通過xsi:nil =「true」和nillable =「true」清空XML元素?

<xs:element name="StringExample" type="xs:string" nillable="true" /> 
<xs:element name="DateTimeExample" type="xs:dateTime" nillable="true"/> 

而且我想,如果StringExample等於""(空白)或無效時,XML應該是這樣的:

<StringExample /> 

如果DateTimeExample等於null那麼xml應該看起來如下:

<DateTimeExample /> 

回答

1

XSD指定了XML文檔有效性的條件。空元素是否使用結束標記或空標記不是這些條件的一部分;這兩種形式在XML級別上都是等效的,不能通過XSD進行控制。

任何將XSD作爲輸入並生成XML作爲輸出的給定工具都可以配置爲生成結束標籤或空標籤;然而,沒有兼容的XML處理器會關心使用哪種形式,所以你也不應該這樣做。

nillable="true"確實所做的是控制關聯元素是否可以具有xsi:nil屬性,該屬性是元素內容爲零的帶外指示。在W3C Schema Part 0: Primer的第2.9 Nil Values部分閱讀有關零值的更多信息。

+0

現在我明白了。謝謝你的信息! – user2388887

相關問題