0

我有以下示例 xml:

<ip_addresses>
   <ip_address>
      <type>local</type>
      <ip>192.168.1.1</ip>
   </ip_address>

   <ip_address>
      <type>public</type>
      <ip>82.125.1.1</ip>
   </ip_address>
</ip_addresses>

<type>如何根据标签中的值在我的 xml 架构中使用不同的正则表达式进行 ip 检查?

我也尝试过类似的方法<ip type="local">192.168.1.1</ip>,但我无法让 xml 模式正常工作。

感谢您帮助 Marten

4

1 回答 1

0

在 XSD 1.0 中,您不能使一个元素的类型以另一个元素的值为条件。

在 XSD 1.1 中,您可以使用断言来做到这一点。例如(在 ip_address 级别)你可以写

<xs:assert test="(@type='local' and @ip='192.168.1.1') or @type='public'"/>
于 2013-07-10T09:57:09.923 回答