XML模式可以按属性值特定吗?

时间:2012-11-14 18:00:11

标签: xsd

如果我有以下XML:

    <variables>
        <variable name="age">92</variable>
        <variable name="school">Fairview</variable>
        <variable name="birthdate">11/13/2012</variable>
    </variables>

有没有办法创建一个模式,根据name属性值,它然后定义节点值(十进制,字符串,日期)?如果是这样,怎么样?

更新:这是针对C#中的代码,因此我需要使用&gt; NET运行时获取此架构信息。

谢谢 - 戴夫

1 个答案:

答案 0 :(得分:0)

以下是Relax NG

中示例的模式
datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes"

element variable {
  ((
  attribute name {'age'},
  xsd:int) |  
  (
  attribute name {'school'},
  text) |  
  (
  attribute name {'birthdate'},
  xsd:date))
}