Xsd XML模式是否可以按属性值指定?

Xsd XML模式是否可以按属性值指定?,xsd,Xsd,如果我有以下XML: <variables> <variable name="age">92</variable> <variable name="school">Fairview</variable> <variable name="birthdate">11/13/2012</variable> </variables> 92 美

如果我有以下XML:

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

92
美景镇
11/13/2012
是否有一种方法可以创建一个模式,在该模式中,它基于name属性值定义节点值(如decimal、string、date)?如果是,怎么做

更新:这是针对C语言中的代码的,因此我需要使用>NET运行时获取此模式信息


谢谢-dave

以下是您在RELAXNG中的示例模式

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))
}
请参阅,这可以通过嵌入式schematron实现(只要XSD数据类型满足您的需要,它就可以在XSLT或RelaxNG中实现)