是否有可能在XML模式中有一个“扩展链”?也就是说,可以定义扩展A的扩展B的数据类型C吗?我有一个类似于这样的模式:
<complexType name="ServiceRequest">
<sequence>
<element name="validate" type="boolean" minOccurs="0" default="false" />
</sequence>
</complexType>
<complexType name="DataModificationRequest">
<complexContent>
<extension base="efms:ServiceRequest">
<sequence>
<element name="user-id" type="efms:UserID" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="CreateTrackRequest">
<complexContent>
<extension base="efms:DataModificationRequest">
<sequence>
<element name="segment-number" type="efms:SegmentNumber" />
<element name="segment-subnumber" type="efms:SegmentSubnumber" />
</sequence>
</extension>
</complexContent>
</complexType>当我在氧气XML的设计视图中查看这些项目时,DataModificationRequest正确地显示了来自ServiceRequest.的验证元素但是CreateTrackRequest没有显示我期望它从父(DataModificationRequest)和祖父母(ServiceRequest).继承的任何元素。
OxygenXML说模式验证是正确的,但是孙辈并没有像我想要的那样继承元素。是我做错了什么,还是不允许我有这样的扩展链?
发布于 2014-09-26 15:12:07
我想我解开了谜团。为了论坛的目的,我简化了我原来的帖子。但实际上,第三种数据类型(CreateTrackRequest)位于一个单独的模式文件中。尽管我们使用的是氧气XML编辑器的14.0版本,但如果父/祖父母位于不同的文件中,则氧气显然不够聪明,无法在设计视图中显示父/祖父母元素。
我能够通过让氧气生成一个包含所有可选字段的示例XML实例文档来证明这一点。实例正确地包含了来自父和祖父母数据类型的元素。
(握紧拳头,悄悄溜走.)
https://stackoverflow.com/questions/26062393
复制相似问题