2

我需要解决这个问题,看起来我需要帮助。

这是问题定义

我们有一个现有的模式 X [X 是行业标准模式],我们正在新模式 Y 中构建一些扩展(具有不同的目标命名空间)。

现在的问题是我们希望将模式 Y 的元素/属性的使用限制为仅作为 X 的已定义元素/类型的成员。[在无效使用的情况下模式验证应该失败]。

我们如何实现这一目标?做这个的最好方式是什么?

R M

4

1 回答 1

0

我会说这取决于您要修改多少以及模式的外观。一方面是你的扩展是靠近根还是靠近叶子。

这是根附近的一般方法。

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 元素)。

于 2011-02-03T04:10:03.377 回答