通过xsi来清空XML元素:nil =" true"并且nillable =" true"在XSD?

时间:2016-08-03 11:37:07

标签: xml xsd

是否有人可以帮助我使用xsd。 我的XSD看起来像:

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

我希望如果StringExample等于""(空格)或null,则XML应如下所示:

<StringExample />

如果DateTimeExample等于null,那么xml应该看起来:

<DateTimeExample />

1 个答案:

答案 0 :(得分:1)

XSD指定XML文档有效性的条件。空元素是使用结束标记还是空标记不是这些条件的一部分;两种形式在XML级别上是等效的,不能通过XSD控制。

任何以XSD作为输入并生成XML作为输出的给定工具都可以配置为生成结束标记或空标记;但是,没有兼容的XML处理器会关心使用哪种形式,所以你也不应该这样做。

nillable="true"真正做的是控制关联元素是否可以具有xsi:nil属性,这是一个带外指示,表示元素的内容为零。请阅读W3C Schema Part 0: Primer部分2.9 Nil Values中的有关零值的详情。