odML.xsd 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?xml version="1.0" encoding="ISO-8859-1" ?>
  2. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  3. targetNamespace="http://www.g-node.org/odml">
  4. <!-- 1 -->
  5. <!-- THE PROPERTY TYPE IS THE BUILDING BLOCK OF ALL odML METADATA. -->
  6. <!-- PROPERTIES BASICALLY CONSIST OF name/value PAIRS. -->
  7. <!-- -->
  8. <xs:element name ="property">
  9. <xs:complexType>
  10. <xs:choice minOccurs="0" maxOccurs="unbounded">
  11. <!-- if there is a NAME there must also be a VALUE -->
  12. <xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1"/>
  13. <xs:element name="value" minOccurs="1" maxOccurs="unbounded"/>
  14. <!-- all other elements are optional -->
  15. <xs:element name="type" type="xs:string" minOccurs="0" maxOccurs="1"/>
  16. <xs:element name="uncertainty" type="xs:string" minOccurs="0" maxOccurs="1"/>
  17. <xs:element name="unit" type="xs:string" minOccurs="0" maxOccurs="1"/>
  18. <xs:element name="reference" type="xs:string" minOccurs="0" maxOccurs="1"/>
  19. <xs:element name="value_origin" type="xs:string" minOccurs="0" maxOccurs="1"/>
  20. <xs:element name="definition" type="xs:string" minOccurs="0" maxOccurs="1"/>
  21. <xs:element name="dependency" type="xs:string" minOccurs="0" maxOccurs="1"/>
  22. <xs:element name="dependencyValue" type="xs:string" minOccurs="0" maxOccurs="1"/>
  23. </xs:choice>
  24. </xs:complexType>
  25. </xs:element>
  26. <!-- 2 -->
  27. <!-- SECTIONS ARE MEANT TO CONTAIN PROPERTIES THAT BELONG -->
  28. <!-- LOGICALLY TOGETHER THESE MAY HAVE SUBSECTIONS -->
  29. <xs:element name="section">
  30. <xs:complexType mixed="true">
  31. <xs:choice minOccurs="0" maxOccurs="unbounded">
  32. <xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1"/>
  33. <xs:element name="type" type="xs:string" minOccurs="1" maxOccurs="1"/>
  34. <xs:element name="reference" type="xs:string" minOccurs="0" maxOccurs="1"/>
  35. <xs:element name="definition" type="xs:string" minOccurs="0" maxOccurs="1"/>
  36. <xs:element name="link" type="xs:string" minOccurs="0" maxOccurs="1"/>
  37. <xs:element name="include" type="xs:string" minOccurs="0" maxOccurs="1"/>
  38. <xs:element name="repository" type="xs:string" minOccurs="0" maxOccurs="1"/>
  39. <xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
  40. <xs:element ref="section" minOccurs="0" maxOccurs="unbounded"/>
  41. </xs:choice>
  42. </xs:complexType>
  43. </xs:element>
  44. <!-- 3 -->
  45. <!-- THE ROOT ELEMENT THAT CAN CONTAIN ALL THE INFORMATION THE USER WANTS TO PROVIDE -->
  46. <!-- THE ROOT ELEMENT ITSELF CAN ONLY CONTAIN SECTIONS BUT NO PROPERTIES -->
  47. <xs:element name="odML">
  48. <xs:complexType mixed="true">
  49. <xs:choice minOccurs="0" maxOccurs="unbounded">
  50. <xs:element name="author" type="xs:string" minOccurs="0" maxOccurs="1"/>
  51. <xs:element name="date" type="xs:date" minOccurs="0" maxOccurs="1"/>
  52. <xs:element name="version" type="xs:string" minOccurs="0" maxOccurs="1"/>
  53. <xs:element name="repository" type="xs:string" minOccurs="0" maxOccurs="1"/>
  54. <xs:element ref="section" minOccurs="1" maxOccurs="unbounded"/>
  55. </xs:choice>
  56. <xs:attribute name="version" type="xs:string"/>
  57. </xs:complexType>
  58. </xs:element>
  59. </xs:schema>