如何从另一个名称空间插入一个xml元素作为子元素,仍然是一个有效的xml?

时间:2009-11-05 16:07:10

标签: xml xsd

我有以下xml文件

<Layout xmlns="http://tempuri.org/Layout/">
  <Numeric Id="temperature" Caption="Temperature">
    <validation:IsValidWhen xmlns:validation="http://tempuri.org/Validation/">

    </validation:IsValidWhen>
  </Numeric>
</Layout>

http://tempuri.org/Layout/ XSD没有http://tempuri.org/Validation/的引用,我无法更改。

我收到错误

The element 'Numeric' in namespace 'http://tempuri.org/Layout/' has invalid child element 'IsValidWhen' in namespace 'http://tempuri.org/Validation/'. List of possible elements expected: 'ContextMenu, OnChanged, OnLeave' in namespace 'http://tempuri.org/Layout/'

当父元素来自不知道我的验证模式的模式时,如何使此XML有效?

2 个答案:

答案 0 :(得分:1)

如果您不控制http://tempuri.org/Layout/架构,那么可能无法执行任何操作以使其“有效”。但是,它仍然是完全合理且格式良好的XML,任何知道会发生什么的人都可以使用它。如果您正在与之交互的其他方理解格式,那么确实没有任何问题。

答案 1 :(得分:0)

也许您可以使用XML catalogs来指示您的工具(或具有严格验证的代码)在哪里找到多个不相关的模式。