我需要解决这个问题,看起来我需要帮助。
这是问题定义
我们有一个现有的模式 X [X 是行业标准模式],我们正在新模式 Y 中构建一些扩展(具有不同的目标命名空间)。
现在的问题是我们希望将模式 Y 的元素/属性的使用限制为仅作为 X 的已定义元素/类型的成员。[在无效使用的情况下模式验证应该失败]。
我们如何实现这一目标?做这个的最好方式是什么?
R M
我需要解决这个问题,看起来我需要帮助。
我们有一个现有的模式 X [X 是行业标准模式],我们正在新模式 Y 中构建一些扩展(具有不同的目标命名空间)。
现在的问题是我们希望将模式 Y 的元素/属性的使用限制为仅作为 X 的已定义元素/类型的成员。[在无效使用的情况下模式验证应该失败]。
我们如何实现这一目标?做这个的最好方式是什么?
R M
我会说这取决于您要修改多少以及模式的外观。一方面是你的扩展是靠近根还是靠近叶子。
这是根附近的一般方法。
X.xsd
element name=foo type=fooType
complexType fooType
sequence
element name=bar type=BarType
Y.xsd
import X.xsd namespace=xns
element name=foo type=foo2Type
complexType foo2Type
sequence
element name=bar type=xns:BarType
element name=baz type=BazType
在这里,您添加了自己定义的新元素 baz,但 bar 将包含行业标准要求的所有子元素。
将 X 导入 Y(使用 import 元素)。