oadr_xcal_20b.xsd 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!-- edited with XMLSpy v2010 rel. 3 (http://www.altova.com) by James Zuber (private) -->
  3. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xcal="urn:ietf:params:xml:ns:icalendar-2.0" xmlns:ei="http://docs.oasis-open.org/ns/energyinterop/201110" targetNamespace="urn:ietf:params:xml:ns:icalendar-2.0" elementFormDefault="qualified" attributeFormDefault="qualified">
  4. <xs:import namespace="http://docs.oasis-open.org/ns/energyinterop/201110" schemaLocation="oadr_ei_20b.xsd"/>
  5. <!-- ##### SAME AS A ##### -->
  6. <!-- ******* date-time ******** -->
  7. <xs:element name="date-time" type="xcal:DateTimeType"/>
  8. <!-- ******* DateTimeType ******** -->
  9. <xs:simpleType name="DateTimeType">
  10. <xs:restriction base="xs:dateTime">
  11. <xs:pattern value="(\-|\+)?\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}(\.\d*)?Z?"/>
  12. </xs:restriction>
  13. </xs:simpleType>
  14. <!-- ******* duration ******** -->
  15. <xs:element name="duration" type="xcal:DurationPropType">
  16. <xs:annotation>
  17. <xs:documentation>The duration of the activity, data, or state </xs:documentation>
  18. </xs:annotation>
  19. </xs:element>
  20. <!-- ******* DurationPropType ******** -->
  21. <xs:complexType name="DurationPropType" mixed="false">
  22. <xs:sequence>
  23. <xs:element name="duration" type="xcal:DurationValueType"/>
  24. </xs:sequence>
  25. </xs:complexType>
  26. <!-- ******* DurationValueType ******** -->
  27. <xs:simpleType name="DurationValueType">
  28. <xs:restriction base="xs:string">
  29. <xs:pattern value="(\+|\-)?P((\d+Y)?(\d+M)?(\d+D)?T?(\d+H)?(\d+M)?(\d+S)?)|(\d+W)"/>
  30. </xs:restriction>
  31. </xs:simpleType>
  32. <!-- ******* uid ******** -->
  33. <xs:element name="uid">
  34. <xs:annotation>
  35. <xs:documentation>Used as an index to identify intervals</xs:documentation>
  36. </xs:annotation>
  37. <xs:complexType>
  38. <xs:sequence>
  39. <xs:element ref="xcal:text"/>
  40. </xs:sequence>
  41. </xs:complexType>
  42. </xs:element>
  43. <!-- ******* text ******** -->
  44. <xs:element name="text" type="xs:string"/>
  45. <xs:element name="dtstart">
  46. <xs:annotation>
  47. <xs:documentation>The starting time for the activity, data, or state change</xs:documentation>
  48. </xs:annotation>
  49. <xs:complexType>
  50. <xs:sequence>
  51. <xs:element ref="xcal:date-time"/>
  52. </xs:sequence>
  53. </xs:complexType>
  54. </xs:element>
  55. <!-- ******* properties ******** -->
  56. <xs:element name="properties">
  57. <xs:complexType>
  58. <xs:sequence>
  59. <xs:element ref="xcal:dtstart"/>
  60. <xs:element ref="xcal:duration"/>
  61. <xs:element name="tolerance" minOccurs="0">
  62. <xs:annotation>
  63. <xs:documentation>Set randomization period for start of event</xs:documentation>
  64. </xs:annotation>
  65. <xs:complexType>
  66. <xs:sequence>
  67. <xs:element name="tolerate">
  68. <xs:complexType>
  69. <xs:sequence>
  70. <xs:element name="startafter" type="xcal:DurationValueType" minOccurs="0"/>
  71. </xs:sequence>
  72. </xs:complexType>
  73. </xs:element>
  74. </xs:sequence>
  75. </xs:complexType>
  76. </xs:element>
  77. <xs:element ref="ei:x-eiNotification" minOccurs="0"/>
  78. <xs:element ref="ei:x-eiRampUp" minOccurs="0"/>
  79. <xs:element ref="ei:x-eiRecovery" minOccurs="0"/>
  80. </xs:sequence>
  81. </xs:complexType>
  82. </xs:element>
  83. <!-- ******* components ******** -->
  84. <xs:element name="components" nillable="true"/>
  85. <!-- ##### NEW for B ##### -->
  86. <!-- ******* dtend ******** -->
  87. <xs:element name="dtend">
  88. <xs:complexType>
  89. <xs:sequence>
  90. <xs:element ref="xcal:date-time"/>
  91. </xs:sequence>
  92. </xs:complexType>
  93. </xs:element>
  94. <!-- ******* vavailabiity ******** -->
  95. <xs:complexType name="VavailabilityType" mixed="false">
  96. <xs:sequence>
  97. <xs:element name="components" type="xcal:ArrayOfVavailabilityContainedComponents"/>
  98. </xs:sequence>
  99. </xs:complexType>
  100. <xs:element name="vavailability" type="xcal:VavailabilityType">
  101. <xs:annotation>
  102. <xs:documentation>A schedule reflecting device availability for participating in DR events</xs:documentation>
  103. </xs:annotation>
  104. </xs:element>
  105. <xs:complexType name="ArrayOfVavailabilityContainedComponents">
  106. <xs:sequence>
  107. <xs:element ref="xcal:available" minOccurs="0" maxOccurs="unbounded"/>
  108. </xs:sequence>
  109. </xs:complexType>
  110. <xs:complexType name="AvailableType" mixed="false">
  111. <xs:sequence>
  112. <xs:element ref="xcal:properties"/>
  113. </xs:sequence>
  114. </xs:complexType>
  115. <xs:element name="available" type="xcal:AvailableType"/>
  116. <!-- Granularity is used in the VAVAILABILITY and AVAILABILITY components -->
  117. <xs:element name="granularity" type="xcal:DurationPropType"/>
  118. <xs:element name="interval" type="xcal:WsCalendarIntervalType"/>
  119. <xs:complexType name="WsCalendarIntervalType">
  120. <xs:annotation>
  121. <xs:documentation xml:lang="en">
  122. An interval takes no sub-components.
  123. </xs:documentation>
  124. </xs:annotation>
  125. <xs:sequence>
  126. <xs:element ref="xcal:properties"/>
  127. </xs:sequence>
  128. </xs:complexType>
  129. </xs:schema>