【发布时间】:2010-11-26 23:10:12
【问题描述】:
我见过XML Schema element with attributes containing only text,但我有一个元素是 xs:dateTime。
我正在尝试为其编写架构的文档如下所示:
<web-campaigns>
<web-campaign>
<id>1231</id>
<start-at nil="true"/>
</web-campaign>
<web-campaign>
<id>1232</id>
<start-at>2009-08-08T09:00:00Z</start-at>
</web-campaign>
</web-campaigns>
有时 xs:dateTime 元素有内容,有时没有。
到目前为止我所拥有的(尚未验证)是:
<xs:element name="start-at">
<xs:complexType mixed="true">
<xs:simpleContent>
<xs:extension base="xs:dateTime">
<xs:attribute name="nil" default="false" type="xs:boolean" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
如果我将 xs:dateTime 替换为 xs:string,我可以很好地验证文档,但我真的想要一个 xs:dateTime,以向消费者指示该元素中的内容。我也尝试过使用/不使用 mixed="true",但无济于事。
如果有影响,我会使用 xmllint(在 Mac OS X 10.5 上)和 XML Schema Validator 进行验证
【问题讨论】:
标签: xsd