代码之家  ›  专栏  ›  技术社区  ›  Andrew Martinez

描述自描述XML文档的XML架构

xsd
  •  1
  • Andrew Martinez  · 技术社区  · 16 年前

    是否可以编写一个xml模式来描述列出一组元素的xml文档,然后 要求 同一XML文档上的其他元素是否将这些值用作属性和/或子元素?

    示例:定义位置列表,然后强制位置属性和/或位置元素具有这些值。

    <root>
      <locations>
        <location>Home</location>
        <location>Office</location>
        <location>School</location>
      </locations>
      <addresses>
        <address location="Home">...</address>
        <address location="Office">...</address>
      </addresses>
    </root>
    

    或

    <root>
      <locations>
        <location>Home</location>
        <location>Office</location>
        <location>School</location>
      </locations>
      <addresses>
        <address>
          <location>Home</location>
          ...
        </address>
        <address>
          <location>Office</location>
          ...
        </address>
      </addresses>
    </root>
    

    我很难找到合适的方法来查找这些信息。我怀疑这是不可能的,或者我只是不知道正确的搜索词。

    1 回复  |  直到 16 年前
        1
  •  1
  •   marc_s MisterSmith    16 年前

    当前版本1.0中的XML架构在此无法帮助您。恐怕不能对节点及其值之间的任何依赖关系建模(“如果节点x的值为abc,那么xml文档中的其他地方一定有一个”abc“节点”)。

    还有其他XML验证机制,如 Schematron 或 Relax NG 有时可以做XML模式做不到的事情。你可能想看看这些,看看你是否可以实现你的目标使用这样的工具。