xbrlware-ce 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (194) hide show
  1. data/Copying.txt +13 -0
  2. data/License.txt +13 -0
  3. data/Rakefile.rb +124 -0
  4. data/Readme.txt +15 -0
  5. data/doc/classes/Edgar.html +144 -0
  6. data/doc/classes/Edgar/HTMLFeedDownloader.html +199 -0
  7. data/doc/classes/Edgar/RSSFeedDownloader.html +225 -0
  8. data/doc/classes/Xbrlware.html +350 -0
  9. data/doc/classes/Xbrlware/Context.html +429 -0
  10. data/doc/classes/Xbrlware/Entity.html +323 -0
  11. data/doc/classes/Xbrlware/Identifier.html +191 -0
  12. data/doc/classes/Xbrlware/Instance.html +742 -0
  13. data/doc/classes/Xbrlware/Item.html +278 -0
  14. data/doc/classes/Xbrlware/LBConstants.html +144 -0
  15. data/doc/classes/Xbrlware/Linkbase.html +131 -0
  16. data/doc/classes/Xbrlware/Linkbase/CalculationLinkbase.html +212 -0
  17. data/doc/classes/Xbrlware/Linkbase/CalculationLinkbase/Calculation.html +172 -0
  18. data/doc/classes/Xbrlware/Linkbase/CalculationLinkbase/Calculation/CalculationArc.html +166 -0
  19. data/doc/classes/Xbrlware/Linkbase/DefinitionLinkbase.html +210 -0
  20. data/doc/classes/Xbrlware/Linkbase/DefinitionLinkbase/Definition.html +204 -0
  21. data/doc/classes/Xbrlware/Linkbase/DefinitionLinkbase/Definition/DefinitionArc.html +160 -0
  22. data/doc/classes/Xbrlware/Linkbase/LabelLinkbase.html +239 -0
  23. data/doc/classes/Xbrlware/Linkbase/LabelLinkbase/Label.html +189 -0
  24. data/doc/classes/Xbrlware/Linkbase/Linkbase.html +172 -0
  25. data/doc/classes/Xbrlware/Linkbase/Linkbase/Link.html +217 -0
  26. data/doc/classes/Xbrlware/Linkbase/Linkbase/Link/Arc.html +284 -0
  27. data/doc/classes/Xbrlware/Linkbase/PresentationLinkbase.html +224 -0
  28. data/doc/classes/Xbrlware/Linkbase/PresentationLinkbase/Presentation.html +222 -0
  29. data/doc/classes/Xbrlware/Linkbase/PresentationLinkbase/Presentation/PresentationArc.html +160 -0
  30. data/doc/classes/Xbrlware/Taxonomy.html +369 -0
  31. data/doc/classes/Xbrlware/TaxonomyDefintion.html +177 -0
  32. data/doc/classes/Xbrlware/Unit.html +179 -0
  33. data/doc/classes/Xbrlware/Unit/Divide.html +165 -0
  34. data/doc/created.rid +1 -0
  35. data/doc/files/Readme_txt.html +124 -0
  36. data/doc/files/lib/edgar/edgar_data_downloader_rb.html +129 -0
  37. data/doc/files/lib/edgar/util_rb.html +129 -0
  38. data/doc/files/lib/edgar_rb.html +141 -0
  39. data/doc/files/lib/xbrlware/constants_rb.html +129 -0
  40. data/doc/files/lib/xbrlware/context_rb.html +129 -0
  41. data/doc/files/lib/xbrlware/date_util_rb.html +129 -0
  42. data/doc/files/lib/xbrlware/float_patch_rb.html +129 -0
  43. data/doc/files/lib/xbrlware/hash_util_rb.html +129 -0
  44. data/doc/files/lib/xbrlware/instance_rb.html +129 -0
  45. data/doc/files/lib/xbrlware/item_rb.html +129 -0
  46. data/doc/files/lib/xbrlware/linkbase/calculation_linkbase_rb.html +129 -0
  47. data/doc/files/lib/xbrlware/linkbase/definition_linkbase_rb.html +129 -0
  48. data/doc/files/lib/xbrlware/linkbase/label_linkbase_rb.html +129 -0
  49. data/doc/files/lib/xbrlware/linkbase/linkbase_rb.html +129 -0
  50. data/doc/files/lib/xbrlware/linkbase/presentation_linkbase_rb.html +129 -0
  51. data/doc/files/lib/xbrlware/meta_util_rb.html +129 -0
  52. data/doc/files/lib/xbrlware/taxonomy_rb.html +129 -0
  53. data/doc/files/lib/xbrlware/unit_rb.html +129 -0
  54. data/doc/files/lib/xbrlware/util_rb.html +129 -0
  55. data/doc/files/lib/xbrlware/xml_parser_rb.html +129 -0
  56. data/doc/files/lib/xbrlware_rb.html +163 -0
  57. data/doc/fr_class_index.html +55 -0
  58. data/doc/fr_file_index.html +48 -0
  59. data/doc/fr_method_index.html +104 -0
  60. data/doc/index.html +24 -0
  61. data/doc/rdoc-style.css +208 -0
  62. data/example/benchmark/instance_parser_benchmark.rb +25 -0
  63. data/example/case_study/buy_strategy.rb +34 -0
  64. data/example/case_study/c-20091230.xml +29 -0
  65. data/example/case_study/c_sell_strategy.rb +29 -0
  66. data/example/lang_integration/thrift/rating-client.py +21 -0
  67. data/example/lang_integration/thrift/rating-impl.rb +13 -0
  68. data/example/lang_integration/thrift/rating-server.rb +25 -0
  69. data/example/lang_integration/thrift/rating.thrift +52 -0
  70. data/example/quick_start/foo.rb +10 -0
  71. data/example/quick_start/foo.xml +29 -0
  72. data/example/quick_start/print_item.rb +27 -0
  73. data/lib/edgar.rb +30 -0
  74. data/lib/edgar/edgar_data_downloader.rb +126 -0
  75. data/lib/edgar/util.rb +30 -0
  76. data/lib/xbrlware.rb +65 -0
  77. data/lib/xbrlware/constants.rb +29 -0
  78. data/lib/xbrlware/context.rb +148 -0
  79. data/lib/xbrlware/date_util.rb +35 -0
  80. data/lib/xbrlware/float_patch.rb +26 -0
  81. data/lib/xbrlware/hash_util.rb +175 -0
  82. data/lib/xbrlware/instance.rb +406 -0
  83. data/lib/xbrlware/item.rb +115 -0
  84. data/lib/xbrlware/linkbase/calculation_linkbase.rb +137 -0
  85. data/lib/xbrlware/linkbase/definition_linkbase.rb +186 -0
  86. data/lib/xbrlware/linkbase/label_linkbase.rb +128 -0
  87. data/lib/xbrlware/linkbase/linkbase.rb +170 -0
  88. data/lib/xbrlware/linkbase/presentation_linkbase.rb +160 -0
  89. data/lib/xbrlware/meta_util.rb +45 -0
  90. data/lib/xbrlware/taxonomies/us_gaap_taxonomy_20090131.rb +40365 -0
  91. data/lib/xbrlware/taxonomy.rb +133 -0
  92. data/lib/xbrlware/unit.rb +42 -0
  93. data/lib/xbrlware/util.rb +83 -0
  94. data/lib/xbrlware/xml_parser.rb +122 -0
  95. data/setup.rb +1585 -0
  96. data/test/lib/edgar/edgar_data_downloader_test.rb +35 -0
  97. data/test/lib/edgar/resources/0000930413-09-005485-index.htm +331 -0
  98. data/test/lib/edgar/resources/usgaap.rss.xml +2861 -0
  99. data/test/lib/xbrlware/411_footnotes_test.rb +65 -0
  100. data/test/lib/xbrlware/42_schemaref_test.rb +20 -0
  101. data/test/lib/xbrlware/46_item_test.rb +253 -0
  102. data/test/lib/xbrlware/47_context_test.rb +129 -0
  103. data/test/lib/xbrlware/48_unit_test.rb +45 -0
  104. data/test/lib/xbrlware/49_tuple_test.rb +12 -0
  105. data/test/lib/xbrlware/date_util_test.rb +24 -0
  106. data/test/lib/xbrlware/dimension/context_explicit_dimension_test.rb +40 -0
  107. data/test/lib/xbrlware/dimension/resources/context_explicit_dimension.xml +84 -0
  108. data/test/lib/xbrlware/float_patch_test.rb +10 -0
  109. data/test/lib/xbrlware/hash_util_test.rb +29 -0
  110. data/test/lib/xbrlware/instance_test.rb +250 -0
  111. data/test/lib/xbrlware/linkbase/calculation_linkbase_test.rb +39 -0
  112. data/test/lib/xbrlware/linkbase/definition_linkbase_test.rb +35 -0
  113. data/test/lib/xbrlware/linkbase/label_linkbase_test.rb +22 -0
  114. data/test/lib/xbrlware/linkbase/linkbase_test.rb +36 -0
  115. data/test/lib/xbrlware/linkbase/linkbase_test_util.rb +98 -0
  116. data/test/lib/xbrlware/linkbase/presentation_linkbase_test.rb +33 -0
  117. data/test/lib/xbrlware/linkbase/report.html +62 -0
  118. data/test/lib/xbrlware/linkbase/resources/cal.xml +219 -0
  119. data/test/lib/xbrlware/linkbase/resources/def.xml +186 -0
  120. data/test/lib/xbrlware/linkbase/resources/def_with_multiple_dimension.xml +41 -0
  121. data/test/lib/xbrlware/linkbase/resources/instance.xml +5822 -0
  122. data/test/lib/xbrlware/linkbase/resources/lab.xml +782 -0
  123. data/test/lib/xbrlware/linkbase/resources/pre.xml +485 -0
  124. data/test/lib/xbrlware/linkbase/resources/report_10_q.htm +12327 -0
  125. data/test/lib/xbrlware/linkbase/resources/taxonomy.xsd +178 -0
  126. data/test/lib/xbrlware/linkbase/sample_html_report.html +40 -0
  127. data/test/lib/xbrlware/meta_util_test.rb +23 -0
  128. data/test/lib/xbrlware/resources/411/411_footnotes.xml +66 -0
  129. data/test/lib/xbrlware/resources/42/42_schema_ref_with_base.xml +7 -0
  130. data/test/lib/xbrlware/resources/42/42_schema_ref_without_base.xml +7 -0
  131. data/test/lib/xbrlware/resources/46/46_item_value.xml +61 -0
  132. data/test/lib/xbrlware/resources/47/472_period_forever.xml +29 -0
  133. data/test/lib/xbrlware/resources/47/472_period_instant.xml +24 -0
  134. data/test/lib/xbrlware/resources/47/472_period_start_dt_and_end_dt.xml +30 -0
  135. data/test/lib/xbrlware/resources/47/4731_entity_identifier.xml +29 -0
  136. data/test/lib/xbrlware/resources/47/4732_entity_segment_not_present.xml +24 -0
  137. data/test/lib/xbrlware/resources/47/4732_entity_segment_present.xml +30 -0
  138. data/test/lib/xbrlware/resources/47/474_scenario_not_present.xml +26 -0
  139. data/test/lib/xbrlware/resources/47/474_scenario_present.xml +30 -0
  140. data/test/lib/xbrlware/resources/47/47_multiple_contexts.xml +36 -0
  141. data/test/lib/xbrlware/resources/48/482_unit_measure.xml +32 -0
  142. data/test/lib/xbrlware/resources/48/483_unit_divide.xml +39 -0
  143. data/test/lib/xbrlware/resources/48/48_multiple_units.xml +43 -0
  144. data/test/lib/xbrlware/resources/49/49_tuple.xml +61 -0
  145. data/test/lib/xbrlware/resources/49_tuple.xsd +44 -0
  146. data/test/lib/xbrlware/resources/instance.xml +128 -0
  147. data/test/lib/xbrlware/resources/report_test_xbrl_files/cal.xml +219 -0
  148. data/test/lib/xbrlware/resources/report_test_xbrl_files/def.xml +186 -0
  149. data/test/lib/xbrlware/resources/report_test_xbrl_files/instance.xml +5822 -0
  150. data/test/lib/xbrlware/resources/report_test_xbrl_files/lab.xml +782 -0
  151. data/test/lib/xbrlware/resources/report_test_xbrl_files/pre.xml +485 -0
  152. data/test/lib/xbrlware/resources/report_test_xbrl_files/report/report_index.html +62 -0
  153. data/test/lib/xbrlware/resources/report_test_xbrl_files/taxonomy.xsd +178 -0
  154. data/test/lib/xbrlware/resources/taxonomy_test_files/1/cal.xml +223 -0
  155. data/test/lib/xbrlware/resources/taxonomy_test_files/1/def.xml +190 -0
  156. data/test/lib/xbrlware/resources/taxonomy_test_files/1/lab.xml +786 -0
  157. data/test/lib/xbrlware/resources/taxonomy_test_files/1/pre.xml +489 -0
  158. data/test/lib/xbrlware/resources/taxonomy_test_files/1/taxonomy.xsd +177 -0
  159. data/test/lib/xbrlware/resources/taxonomy_test_files/2/linkbases/cal.xml +223 -0
  160. data/test/lib/xbrlware/resources/taxonomy_test_files/2/linkbases/def.xml +190 -0
  161. data/test/lib/xbrlware/resources/taxonomy_test_files/2/linkbases/lab.xml +786 -0
  162. data/test/lib/xbrlware/resources/taxonomy_test_files/2/linkbases/pre.xml +489 -0
  163. data/test/lib/xbrlware/resources/taxonomy_test_files/2/taxonomy.xsd +175 -0
  164. data/test/lib/xbrlware/resources/taxonomy_test_files/3/taxonomy.xsd +175 -0
  165. data/test/lib/xbrlware/resources/us_gaap_schema.xsd +8 -0
  166. data/test/lib/xbrlware/resources/us_gaap_schema_local.xsd +10 -0
  167. data/test/lib/xbrlware/resources/util_test_xbrl_files/cal.xml +219 -0
  168. data/test/lib/xbrlware/resources/util_test_xbrl_files/def.xml +186 -0
  169. data/test/lib/xbrlware/resources/util_test_xbrl_files/instance.xml +5822 -0
  170. data/test/lib/xbrlware/resources/util_test_xbrl_files/lab.xml +782 -0
  171. data/test/lib/xbrlware/resources/util_test_xbrl_files/pre.xml +485 -0
  172. data/test/lib/xbrlware/resources/util_test_xbrl_files/taxonomy.xsd +178 -0
  173. data/test/lib/xbrlware/resources/xbrl_xsd/dei-2009-01-31.xsd +162 -0
  174. data/test/lib/xbrlware/resources/xbrl_xsd/dei-std-2009-01-31.xsd +23 -0
  175. data/test/lib/xbrlware/resources/xbrl_xsd/negated-2008-03-31.xsd +23 -0
  176. data/test/lib/xbrlware/resources/xbrl_xsd/ref-2006-02-27.xsd +121 -0
  177. data/test/lib/xbrlware/resources/xbrl_xsd/us-gaap-2009-01-31.xsd +13474 -0
  178. data/test/lib/xbrlware/resources/xbrl_xsd/us-roles-2009-01-31.xsd +2283 -0
  179. data/test/lib/xbrlware/resources/xbrl_xsd/us-types-2009-01-31.xsd +368 -0
  180. data/test/lib/xbrlware/resources/xbrl_xsd/xbrl-instance-2003-12-31.xsd +772 -0
  181. data/test/lib/xbrlware/resources/xbrl_xsd/xbrl-linkbase-2003-12-31.xsd +477 -0
  182. data/test/lib/xbrlware/resources/xbrl_xsd/xbrldi-2006.xsd +41 -0
  183. data/test/lib/xbrlware/resources/xbrl_xsd/xbrldt-2005.xsd +53 -0
  184. data/test/lib/xbrlware/resources/xbrl_xsd/xl-2003-12-31.xsd +246 -0
  185. data/test/lib/xbrlware/resources/xbrl_xsd/xlink-2003-12-31.xsd +117 -0
  186. data/test/lib/xbrlware/taxonomy_test.rb +124 -0
  187. data/test/lib/xbrlware/util_test.rb +18 -0
  188. data/test/lib/xbrlware/xml_parser_test.rb +142 -0
  189. data/test/schema_validator_jruby.rb +40 -0
  190. data/test/schema_validator_ruby.rb +7 -0
  191. data/test/scratchpad/block.rb +36 -0
  192. data/test/test_helper.rb +21 -0
  193. data/xbrlware.iml +30 -0
  194. metadata +261 -0
@@ -0,0 +1,368 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!--Copyright (C) 2007-2009 XBRL US, Inc. All Rights Reserved.
3
+ Notice: Authorized Uses are Set Forth at http://xbrl.us/legal2009
4
+
5
+ This file is the schema file for us-types (us-types).
6
+
7
+ The DTS starting with this schema file will not contain any linkbases.
8
+ -->
9
+ <xs:schema elementFormDefault="qualified" targetNamespace="http://xbrl.us/us-types/2009-01-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:us-types="http://xbrl.us/us-types/2009-01-31" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema">
10
+ <xs:annotation>
11
+ <xs:documentation>
12
+ This file is the schema file for us-types (us-types).
13
+
14
+ The DTS starting with this schema file will not contain any linkbases.
15
+ </xs:documentation>
16
+ </xs:annotation>
17
+ <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="xbrl-instance-2003-12-31.xsd"/>
18
+ <complexType name="FederalHomeLoanBankAdvancesGeneralDebtObligationsDisclosuresInterestRateTypeItemType" xmlns="http://www.w3.org/2001/XMLSchema">
19
+ <simpleContent>
20
+ <restriction base="xbrli:stringItemType">
21
+ <enumeration value="Floating"/>
22
+ <enumeration value="Fixed"/>
23
+ </restriction>
24
+ </simpleContent>
25
+ </complexType>
26
+ <complexType name="FederalHomeLoanBankAdvancesStateFHLBBank-InterestRateTypeItemType" xmlns="http://www.w3.org/2001/XMLSchema">
27
+ <simpleContent>
28
+ <restriction base="xbrli:stringItemType">
29
+ <enumeration value="Floating"/>
30
+ <enumeration value="Fixed"/>
31
+ </restriction>
32
+ </simpleContent>
33
+ </complexType>
34
+ <complexType name="MalpracticeInsurance-OccurrenceOrClaims-madeItemType" xmlns="http://www.w3.org/2001/XMLSchema">
35
+ <simpleContent>
36
+ <restriction base="xbrli:stringItemType">
37
+ <enumeration value="Occurrence"/>
38
+ <enumeration value="Claims-made"/>
39
+ </restriction>
40
+ </simpleContent>
41
+ </complexType>
42
+ <complexType name="MalpracticeInsurance-RetrospectivelyRatedItemType" xmlns="http://www.w3.org/2001/XMLSchema">
43
+ <simpleContent>
44
+ <restriction base="xbrli:stringItemType">
45
+ <enumeration value="Yes"/>
46
+ <enumeration value="No"/>
47
+ </restriction>
48
+ </simpleContent>
49
+ </complexType>
50
+ <complexType name="OilGasAccountingPolicyFullCostOrSuccessfulEffortsItemType" xmlns="http://www.w3.org/2001/XMLSchema">
51
+ <simpleContent>
52
+ <restriction base="xbrli:stringItemType">
53
+ <enumeration value="Full Cost"/>
54
+ <enumeration value="Successful Efforts"/>
55
+ </restriction>
56
+ </simpleContent>
57
+ </complexType>
58
+ <complexType name="OilGasAccountingPolicySalesMethodOrEntitlementsMethodItemType" xmlns="http://www.w3.org/2001/XMLSchema">
59
+ <simpleContent>
60
+ <restriction base="xbrli:stringItemType">
61
+ <enumeration value="Sales Method"/>
62
+ <enumeration value="Entitlements Method"/>
63
+ </restriction>
64
+ </simpleContent>
65
+ </complexType>
66
+ <complexType name="percentItemType" xmlns="http://www.w3.org/2001/XMLSchema">
67
+ <simpleContent>
68
+ <restriction base="xbrli:pureItemType"/>
69
+ </simpleContent>
70
+ </complexType>
71
+ <complexType name="textBlockItemType" xmlns="http://www.w3.org/2001/XMLSchema">
72
+ <simpleContent>
73
+ <restriction base="xbrli:stringItemType"/>
74
+ </simpleContent>
75
+ </complexType>
76
+ <complexType name="domainItemType" xmlns="http://www.w3.org/2001/XMLSchema">
77
+ <simpleContent>
78
+ <restriction base="xbrli:stringItemType">
79
+ <length fixed="true" value="0"/>
80
+ </restriction>
81
+ </simpleContent>
82
+ </complexType>
83
+ <complexType name="perShareItemType" xmlns="http://www.w3.org/2001/XMLSchema">
84
+ <simpleContent>
85
+ <restriction base="xbrli:decimalItemType"/>
86
+ </simpleContent>
87
+ </complexType>
88
+ <complexType name="dateStringItemType" xmlns="http://www.w3.org/2001/XMLSchema">
89
+ <simpleContent>
90
+ <restriction base="xbrli:normalizedStringItemType"/>
91
+ </simpleContent>
92
+ </complexType>
93
+ <complexType name="durationStringItemType" xmlns="http://www.w3.org/2001/XMLSchema">
94
+ <simpleContent>
95
+ <restriction base="xbrli:normalizedStringItemType"/>
96
+ </simpleContent>
97
+ </complexType>
98
+ <complexType name="periodStringItemType" xmlns="http://www.w3.org/2001/XMLSchema">
99
+ <simpleContent>
100
+ <restriction base="xbrli:normalizedStringItemType"/>
101
+ </simpleContent>
102
+ </complexType>
103
+ <complexType name="perUnitItemType" xmlns="http://www.w3.org/2001/XMLSchema">
104
+ <simpleContent>
105
+ <restriction base="xbrli:decimalItemType"/>
106
+ </simpleContent>
107
+ </complexType>
108
+ <complexType name="volumeItemType" xmlns="http://www.w3.org/2001/XMLSchema">
109
+ <annotation>
110
+ <documentation>
111
+ The Volume item type is used to indicate that an element represents a volume and can be used
112
+ to express the volume of any substance, whether solid, liquid, or gas. The volume item type indicates
113
+ whether it is one of the following measures of volume:
114
+ Liter l;
115
+ Cubic Meter cubicMeter;
116
+ Cubic Feet cubicFeet;
117
+ Gallons gal;
118
+ Cubic Feet of Natural Gas at 14.73psi and 60 degrees F cf;
119
+ Thousand Cubic Feet of Natural Gas at 14.73psi and 60 degrees F Mcf;
120
+ Million Cubic Feet of Natural Gas at 14.73psi and 60 degrees F MMcf;
121
+ Barrels of Oil at 60 degrees F bbl;
122
+ Thousands of Barrels of Oil at 60 degrees F MBbls;
123
+ Millions of Barrels of Oil at 60 degrees F MMbls;
124
+ </documentation>
125
+ </annotation>
126
+ <simpleContent>
127
+ <restriction base="xbrli:decimalItemType"/>
128
+ </simpleContent>
129
+ </complexType>
130
+ <complexType name="areaItemType" xmlns="http://www.w3.org/2001/XMLSchema">
131
+ <annotation>
132
+ <documentation>
133
+ The area item type is used to indicate that an element represents an area.
134
+ This indicates whether it is one of the following measures of area:
135
+ Square Meter sqm;
136
+ Square Kilometer sqkm;
137
+ Hectare ha;
138
+ Square foot sqft;
139
+ Square yard sqyd;
140
+ Square mile sqmi;
141
+ Square English Mile sqemi;
142
+ Acre A;
143
+ </documentation>
144
+ </annotation>
145
+ <simpleContent>
146
+ <restriction base="xbrli:decimalItemType"/>
147
+ </simpleContent>
148
+ </complexType>
149
+ <complexType name="lengthItemType" xmlns="http://www.w3.org/2001/XMLSchema">
150
+ <annotation>
151
+ <documentation>
152
+ The length item type is a measure of distance. This unit can be measured as one of the following:
153
+ Millimeter mm;
154
+ Centimeter cm;
155
+ Meter m;
156
+ Kilometer km;
157
+ Inch In;
158
+ Foot ft;
159
+ Yard yd;
160
+ Nautical Mile NMi;
161
+ Mile Mi;
162
+ English Mile EnMi;
163
+ </documentation>
164
+ </annotation>
165
+ <simpleContent>
166
+ <restriction base="xbrli:decimalItemType"/>
167
+ </simpleContent>
168
+ </complexType>
169
+ <complexType name="boeItemType" xmlns="http://www.w3.org/2001/XMLSchema">
170
+ <simpleContent>
171
+ <restriction base="xbrli:decimalItemType"/>
172
+ </simpleContent>
173
+ </complexType>
174
+ <complexType name="reportTypeItemType" xmlns="http://www.w3.org/2001/XMLSchema">
175
+ <simpleContent>
176
+ <restriction base="xbrli:tokenItemType">
177
+ <enumeration value="Annual Report"/>
178
+ <enumeration value="Transition Report"/>
179
+ </restriction>
180
+ </simpleContent>
181
+ </complexType>
182
+ <complexType name="yesNoItemType" xmlns="http://www.w3.org/2001/XMLSchema">
183
+ <simpleContent>
184
+ <restriction base="xbrli:tokenItemType">
185
+ <enumeration value="Yes"/>
186
+ <enumeration value="No"/>
187
+ </restriction>
188
+ </simpleContent>
189
+ </complexType>
190
+ <complexType name="filerCategoryItemType" xmlns="http://www.w3.org/2001/XMLSchema">
191
+ <simpleContent>
192
+ <restriction base="xbrli:tokenItemType">
193
+ <enumeration value="Large Accelerated Filer"/>
194
+ <enumeration value="Accelerated Filer"/>
195
+ <enumeration value="Non-accelerated Filer"/>
196
+ <enumeration value="Smaller Reporting Company"/>
197
+ </restriction>
198
+ </simpleContent>
199
+ </complexType>
200
+ <complexType name="currencyItemType" xmlns="http://www.w3.org/2001/XMLSchema">
201
+ <simpleContent>
202
+ <restriction base="xbrli:tokenItemType">
203
+ <pattern value="[A-Z][A-Z][A-Z]"/>
204
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
205
+ </restriction>
206
+ </simpleContent>
207
+ </complexType>
208
+ <complexType name="countryItemType" xmlns="http://www.w3.org/2001/XMLSchema">
209
+ <simpleContent>
210
+ <restriction base="xbrli:tokenItemType">
211
+ <pattern value="[A-Z][A-Z0-9]"/>
212
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
213
+ </restriction>
214
+ </simpleContent>
215
+ </complexType>
216
+ <complexType name="nineDigitItemType" xmlns="http://www.w3.org/2001/XMLSchema">
217
+ <simpleContent>
218
+ <restriction base="xbrli:tokenItemType">
219
+ <pattern value="[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]"/>
220
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
221
+ </restriction>
222
+ </simpleContent>
223
+ </complexType>
224
+ <complexType name="centralIndexKeyItemType" xmlns="http://www.w3.org/2001/XMLSchema">
225
+ <simpleContent>
226
+ <restriction base="xbrli:tokenItemType">
227
+ <pattern value="[A-Z0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]"/>
228
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
229
+ </restriction>
230
+ </simpleContent>
231
+ </complexType>
232
+ <complexType name="fiscalPeriodItemType" xmlns="http://www.w3.org/2001/XMLSchema">
233
+ <simpleContent>
234
+ <restriction base="xbrli:tokenItemType">
235
+ <enumeration value="FY"/>
236
+ <enumeration value="Q1"/>
237
+ <enumeration value="Q2"/>
238
+ <enumeration value="Q3"/>
239
+ <enumeration value="Q4"/>
240
+ <enumeration value="H1"/>
241
+ <enumeration value="H2"/>
242
+ <enumeration value="M9"/>
243
+ <enumeration value="T1"/>
244
+ <enumeration value="T2"/>
245
+ <enumeration value="T3"/>
246
+ <enumeration value="M8"/>
247
+ <enumeration value="CY"/>
248
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
249
+ </restriction>
250
+ </simpleContent>
251
+ </complexType>
252
+ <complexType name="massItemType" xmlns="http://www.w3.org/2001/XMLSchema">
253
+ <annotation>
254
+ <documentation>
255
+ The mass item type is synonym for weight. This represents the mass of an object which can be measured as one of the following:
256
+ Gram g
257
+ Kilogram kg
258
+ Metric ton MT
259
+ Ounces oz
260
+ Pounds lb
261
+ US ton T
262
+ </documentation>
263
+ </annotation>
264
+ <simpleContent>
265
+ <restriction base="xbrli:decimalItemType"/>
266
+ </simpleContent>
267
+ </complexType>
268
+ <complexType name="energyItemType" xmlns="http://www.w3.org/2001/XMLSchema">
269
+ <annotation>
270
+ <documentation>
271
+ The energy item type represents a unit of energy. This unit can be measured as one of the following:
272
+ Joule J
273
+ Kilojoule kJ
274
+ Megajoule mJ
275
+ Calorie Calorie
276
+ British Thermal Unit Btu
277
+ Barrel Oil Equivalent Boe
278
+ Thousand Cubic Feet of Gas Equivalent Mcfe
279
+ Foot-pound force Foot_Pound_Force
280
+ kilowatt hour kWh
281
+ </documentation>
282
+ </annotation>
283
+ <simpleContent>
284
+ <restriction base="xbrli:decimalItemType"/>
285
+ </simpleContent>
286
+ </complexType>
287
+ <complexType name="powerItemType" xmlns="http://www.w3.org/2001/XMLSchema">
288
+ <annotation>
289
+ <documentation>
290
+ Measures a rate of energy use or energy production and is equivalent to the use or production of energy during
291
+ a period of time. I.e. a watt is the equal to one joule of energy per second. This unit can be measured as one of
292
+ the following:
293
+ Watt W;
294
+ Kilowatt kW;
295
+ Megawatt mW;
296
+ Gigawatt gW;
297
+ Terrawatt tW;
298
+ Horsepower hp;
299
+
300
+ </documentation>
301
+ </annotation>
302
+ <simpleContent>
303
+ <restriction base="xbrli:decimalItemType"/>
304
+ </simpleContent>
305
+ </complexType>
306
+ <complexType abstract="false" mixed="false" name="SECReportItemType" xmlns="http://www.w3.org/2001/XMLSchema">
307
+ <simpleContent>
308
+ <restriction base="xbrli:tokenItemType">
309
+ <enumeration value="485BPOS"/>
310
+ <enumeration value="8-K"/>
311
+ <enumeration value="6-K"/>
312
+ <enumeration value="10"/>
313
+ <enumeration value="10-Q"/>
314
+ <enumeration value="10-K"/>
315
+ <enumeration value="20-F"/>
316
+ <enumeration value="40-F"/>
317
+ <enumeration value="F-1"/>
318
+ <enumeration value="F-3"/>
319
+ <enumeration value="F-4"/>
320
+ <enumeration value="F-9"/>
321
+ <enumeration value="F-10"/>
322
+ <enumeration value="NCSR"/>
323
+ <enumeration value="N-1A"/>
324
+ <enumeration value="N-Q"/>
325
+ <enumeration value="S-1"/>
326
+ <enumeration value="S-3"/>
327
+ <enumeration value="S-4"/>
328
+ <enumeration value="S-11"/>
329
+ <enumeration value="Other"/>
330
+ </restriction>
331
+ </simpleContent>
332
+ </complexType>
333
+ <xsd:complexType name="restrictedInvestmentItemType" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
334
+ <xsd:simpleContent>
335
+ <xsd:restriction base="xbrli:tokenItemType">
336
+ <xsd:enumeration value="Restricted Investment"/>
337
+ <xsd:enumeration value="Restricted Investment Exempt from Registration"/>
338
+ <xsd:enumeration value="Restricted Investment Not Exempt from Registration"/>
339
+ </xsd:restriction>
340
+ </xsd:simpleContent>
341
+ </xsd:complexType>
342
+ <xsd:complexType name="foreignCurrencyContractTransactionItemType" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
343
+ <xsd:simpleContent>
344
+ <xsd:restriction base="xbrli:tokenItemType">
345
+ <xsd:enumeration value="Buy"/>
346
+ <xsd:enumeration value="Sell"/>
347
+ </xsd:restriction>
348
+ </xsd:simpleContent>
349
+ </xsd:complexType>
350
+ <xsd:complexType name="investmentOnLoanForShortSalesItemType" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
351
+ <xsd:simpleContent>
352
+ <xsd:restriction base="xbrli:tokenItemType">
353
+ <xsd:enumeration value="Investment on Loan"/>
354
+ <xsd:enumeration value="Entire Investment on Loan"/>
355
+ <xsd:enumeration value="Partial Investment on Loan"/>
356
+ </xsd:restriction>
357
+ </xsd:simpleContent>
358
+ </xsd:complexType>
359
+ <xsd:complexType name="investmentPledgedItemType" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
360
+ <xsd:simpleContent>
361
+ <xsd:restriction base="xbrli:tokenItemType">
362
+ <xsd:enumeration value="Investment Pledged"/>
363
+ <xsd:enumeration value="Entire Investment Pledged"/>
364
+ <xsd:enumeration value="Partial Investment Pledged"/>
365
+ </xsd:restriction>
366
+ </xsd:simpleContent>
367
+ </xsd:complexType>
368
+ </xs:schema>
@@ -0,0 +1,772 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- (c) XBRL International. See www.xbrl.org/legal
3
+
4
+ This version is non-normative - it should be identical to the normative
5
+ version that is contained in Appendix A of the specification RECOMMENDATION
6
+ with errata corrections to 2008-07-02 except for this comment.
7
+
8
+ Following the schema maintenance policy of XBRL International, this version's
9
+ location on the web will be as follows:
10
+
11
+ 1) While it is the most current RECOMMENDED version of the schema and until it is
12
+ superseded by any additional errata corrections it will reside on the web at
13
+
14
+ http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd
15
+
16
+ 2) It will be archived in perpetuity at
17
+
18
+ http://www.xbrl.org/2003/2008-07-02/xbrl-instance-2003-12-31.xsd
19
+
20
+ -->
21
+ <schema targetNamespace="http://www.xbrl.org/2003/instance" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" elementFormDefault="qualified">
22
+
23
+ <annotation>
24
+ <documentation>
25
+ Taxonomy schema for XBRL. This schema defines syntax relating to
26
+ XBRL instances.
27
+ </documentation>
28
+ </annotation>
29
+
30
+ <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="xbrl-linkbase-2003-12-31.xsd"/>
31
+
32
+ <annotation>
33
+ <documentation>
34
+ Define the attributes to be used on XBRL concept definitions
35
+ </documentation>
36
+ </annotation>
37
+
38
+ <attribute name="periodType">
39
+ <annotation>
40
+ <documentation>
41
+ The periodType attribute (restricting the period for XBRL items)
42
+ </documentation>
43
+ </annotation>
44
+ <simpleType>
45
+ <restriction base="token">
46
+ <enumeration value="instant"/>
47
+ <enumeration value="duration"/>
48
+ </restriction>
49
+ </simpleType>
50
+ </attribute>
51
+
52
+ <attribute name="balance">
53
+ <annotation>
54
+ <documentation>
55
+ The balance attribute (imposes calculation relationship restrictions)
56
+ </documentation>
57
+ </annotation>
58
+ <simpleType>
59
+ <restriction base="token">
60
+ <enumeration value="debit"/>
61
+ <enumeration value="credit"/>
62
+ </restriction>
63
+ </simpleType>
64
+ </attribute>
65
+
66
+ <annotation>
67
+ <documentation>
68
+ Define the simple types used as a base for for item types
69
+ </documentation>
70
+ </annotation>
71
+
72
+ <simpleType name="monetary">
73
+ <annotation>
74
+ <documentation>
75
+ the monetary type serves as the datatype for those financial
76
+ concepts in a taxonomy which denote units in a currency.
77
+ Instance items with this type must have a unit of measure
78
+ from the ISO 4217 namespace of currencies.
79
+ </documentation>
80
+ </annotation>
81
+ <restriction base="decimal"/>
82
+ </simpleType>
83
+
84
+ <simpleType name="shares">
85
+ <annotation>
86
+ <documentation>
87
+ This datatype serves as the datatype for share based
88
+ financial concepts.
89
+ </documentation>
90
+ </annotation>
91
+ <restriction base="decimal"/>
92
+ </simpleType>
93
+
94
+ <simpleType name="pure">
95
+ <annotation>
96
+ <documentation>
97
+ This datatype serves as the type for dimensionless numbers
98
+ such as percentage change, growth rates, and other ratios
99
+ where the numerator and denominator have the same units.
100
+ </documentation>
101
+ </annotation>
102
+ <restriction base="decimal"/>
103
+ </simpleType>
104
+
105
+ <simpleType name="nonZeroDecimal">
106
+ <annotation>
107
+ <documentation>
108
+ As the name implies this is a decimal value that can not take
109
+ the value 0 - it is used as the type for the denominator of a
110
+ fractionItemType.
111
+ </documentation>
112
+ </annotation>
113
+ <union>
114
+ <simpleType>
115
+ <restriction base="decimal">
116
+ <minExclusive value="0"/>
117
+ </restriction>
118
+ </simpleType>
119
+ <simpleType>
120
+ <restriction base="decimal">
121
+ <maxExclusive value="0"/>
122
+ </restriction>
123
+ </simpleType>
124
+ </union>
125
+ </simpleType>
126
+
127
+ <simpleType name="precisionType">
128
+ <annotation>
129
+ <documentation>
130
+ This type is used to specify the value of the
131
+ precision attribute on numeric items. It consists
132
+ of the union of nonNegativeInteger and "INF" (used
133
+ to signify infinite precision or "exact value").
134
+ </documentation>
135
+ </annotation>
136
+ <union memberTypes="nonNegativeInteger">
137
+ <simpleType>
138
+ <restriction base="string">
139
+ <enumeration value="INF"/>
140
+ </restriction>
141
+ </simpleType>
142
+ </union>
143
+ </simpleType>
144
+
145
+ <simpleType name="decimalsType">
146
+ <annotation>
147
+ <documentation>
148
+ This type is used to specify the value of the decimals attribute
149
+ on numeric items. It consists of the union of integer and "INF"
150
+ (used to signify that a number is expressed to an infinite number
151
+ of decimal places or "exact value").
152
+ </documentation>
153
+ </annotation>
154
+ <union memberTypes="integer ">
155
+ <simpleType>
156
+ <restriction base="string">
157
+ <enumeration value="INF"/>
158
+ </restriction>
159
+ </simpleType>
160
+ </union>
161
+ </simpleType>
162
+
163
+ <attributeGroup name="factAttrs">
164
+ <annotation>
165
+ <documentation>
166
+ Attributes for all items and tuples.
167
+ </documentation>
168
+ </annotation>
169
+ <attribute name="id" type="ID" use="optional"/>
170
+ <anyAttribute namespace="##other" processContents="lax"/>
171
+ </attributeGroup>
172
+
173
+ <attributeGroup name="tupleAttrs">
174
+ <annotation>
175
+ <documentation>
176
+ Group of attributes for tuples.
177
+ </documentation>
178
+ </annotation>
179
+ <attributeGroup ref="xbrli:factAttrs"/>
180
+ </attributeGroup>
181
+
182
+ <attributeGroup name="itemAttrs">
183
+ <annotation>
184
+ <documentation>
185
+ Attributes for all items.
186
+ </documentation>
187
+ </annotation>
188
+ <attributeGroup ref="xbrli:factAttrs"/>
189
+ <attribute name="contextRef" type="IDREF" use="required"/>
190
+ </attributeGroup>
191
+
192
+ <attributeGroup name="essentialNumericItemAttrs">
193
+ <annotation>
194
+ <documentation>
195
+ Attributes for all numeric items (fractional and non-fractional).
196
+ </documentation>
197
+ </annotation>
198
+ <attributeGroup ref="xbrli:itemAttrs"/>
199
+ <attribute name="unitRef" type="IDREF" use="required"/>
200
+ </attributeGroup>
201
+
202
+ <attributeGroup name="numericItemAttrs">
203
+ <annotation>
204
+ <documentation>
205
+ Group of attributes for non-fractional numeric items
206
+ </documentation>
207
+ </annotation>
208
+ <attributeGroup ref="xbrli:essentialNumericItemAttrs"/>
209
+ <attribute name="precision" type="xbrli:precisionType" use="optional"/>
210
+ <attribute name="decimals" type="xbrli:decimalsType" use="optional"/>
211
+ </attributeGroup>
212
+
213
+ <attributeGroup name="nonNumericItemAttrs">
214
+ <annotation>
215
+ <documentation>
216
+ Group of attributes for non-numeric items
217
+ </documentation>
218
+ </annotation>
219
+ <attributeGroup ref="xbrli:itemAttrs"/>
220
+ </attributeGroup>
221
+
222
+ <annotation>
223
+ <documentation>
224
+ General numeric item types - for use on concept element definitions
225
+ The following 3 numeric types are all based on the built-in
226
+ data types of XML Schema.
227
+ </documentation>
228
+ </annotation>
229
+
230
+ <complexType name="decimalItemType" final="extension">
231
+ <simpleContent>
232
+ <extension base="decimal">
233
+ <attributeGroup ref="xbrli:numericItemAttrs"/>
234
+ </extension>
235
+ </simpleContent>
236
+ </complexType>
237
+
238
+ <complexType name="floatItemType" final="extension">
239
+ <simpleContent>
240
+ <extension base="float">
241
+ <attributeGroup ref="xbrli:numericItemAttrs"/>
242
+ </extension>
243
+ </simpleContent>
244
+ </complexType>
245
+
246
+ <complexType name="doubleItemType" final="extension">
247
+ <simpleContent>
248
+ <extension base="double">
249
+ <attributeGroup ref="xbrli:numericItemAttrs"/>
250
+ </extension>
251
+ </simpleContent>
252
+ </complexType>
253
+
254
+ <annotation>
255
+ <documentation>
256
+ XBRL domain numeric item types - for use on concept element definitions
257
+ The following 4 numeric types are all types that have been identified as
258
+ having particular relevance to the domain space addressed by XBRL and are
259
+ hence included in addition to the built-in types from XML Schema.
260
+ </documentation>
261
+ </annotation>
262
+
263
+ <complexType name="monetaryItemType" final="extension">
264
+ <simpleContent>
265
+ <extension base="xbrli:monetary">
266
+ <attributeGroup ref="xbrli:numericItemAttrs"/>
267
+ </extension>
268
+ </simpleContent>
269
+ </complexType>
270
+
271
+ <complexType name="sharesItemType" final="extension">
272
+ <simpleContent>
273
+ <extension base="xbrli:shares">
274
+ <attributeGroup ref="xbrli:numericItemAttrs"/>
275
+ </extension>
276
+ </simpleContent>
277
+ </complexType>
278
+
279
+ <complexType name="pureItemType" final="extension">
280
+ <simpleContent>
281
+ <extension base="xbrli:pure">
282
+ <attributeGroup ref="xbrli:numericItemAttrs"/>
283
+ </extension>
284
+ </simpleContent>
285
+ </complexType>
286
+
287
+ <element name="numerator" type="decimal"/>
288
+ <element name="denominator" type="xbrli:nonZeroDecimal"/>
289
+ <complexType name="fractionItemType" final="extension">
290
+ <sequence>
291
+ <element ref="xbrli:numerator"/>
292
+ <element ref="xbrli:denominator"/>
293
+ </sequence>
294
+ <attributeGroup ref="xbrli:essentialNumericItemAttrs"/>
295
+ </complexType>
296
+
297
+ <annotation>
298
+ <documentation>
299
+ The following 13 numeric types are all based on the XML Schema
300
+ built-in types that are derived by restriction from decimal.
301
+ </documentation>
302
+ </annotation>
303
+
304
+ <complexType name="integerItemType" final="extension">
305
+ <simpleContent>
306
+ <extension base="integer">
307
+ <attributeGroup ref="xbrli:numericItemAttrs"/>
308
+ </extension>
309
+ </simpleContent>
310
+ </complexType>
311
+
312
+ <complexType name="nonPositiveIntegerItemType" final="extension">
313
+ <simpleContent>
314
+ <extension base="nonPositiveInteger">
315
+ <attributeGroup ref="xbrli:numericItemAttrs"/>
316
+ </extension>
317
+ </simpleContent>
318
+ </complexType>
319
+
320
+ <complexType name="negativeIntegerItemType" final="extension">
321
+ <simpleContent>
322
+ <extension base="negativeInteger">
323
+ <attributeGroup ref="xbrli:numericItemAttrs"/>
324
+ </extension>
325
+ </simpleContent>
326
+ </complexType>
327
+
328
+ <complexType name="longItemType" final="extension">
329
+ <simpleContent>
330
+ <extension base="long">
331
+ <attributeGroup ref="xbrli:numericItemAttrs"/>
332
+ </extension>
333
+ </simpleContent>
334
+ </complexType>
335
+
336
+ <complexType name="intItemType" final="extension">
337
+ <simpleContent>
338
+ <extension base="int">
339
+ <attributeGroup ref="xbrli:numericItemAttrs"/>
340
+ </extension>
341
+ </simpleContent>
342
+ </complexType>
343
+
344
+ <complexType name="shortItemType" final="extension">
345
+ <simpleContent>
346
+ <extension base="short">
347
+ <attributeGroup ref="xbrli:numericItemAttrs"/>
348
+ </extension>
349
+ </simpleContent>
350
+ </complexType>
351
+
352
+ <complexType name="byteItemType" final="extension">
353
+ <simpleContent>
354
+ <extension base="byte">
355
+ <attributeGroup ref="xbrli:numericItemAttrs"/>
356
+ </extension>
357
+ </simpleContent>
358
+ </complexType>
359
+
360
+ <complexType name="nonNegativeIntegerItemType" final="extension">
361
+ <simpleContent>
362
+ <extension base="nonNegativeInteger">
363
+ <attributeGroup ref="xbrli:numericItemAttrs"/>
364
+ </extension>
365
+ </simpleContent>
366
+ </complexType>
367
+
368
+ <complexType name="unsignedLongItemType" final="extension">
369
+ <simpleContent>
370
+ <extension base="unsignedLong">
371
+ <attributeGroup ref="xbrli:numericItemAttrs"/>
372
+ </extension>
373
+ </simpleContent>
374
+ </complexType>
375
+
376
+ <complexType name="unsignedIntItemType" final="extension">
377
+ <simpleContent>
378
+ <extension base="unsignedInt">
379
+ <attributeGroup ref="xbrli:numericItemAttrs"/>
380
+ </extension>
381
+ </simpleContent>
382
+ </complexType>
383
+
384
+ <complexType name="unsignedShortItemType" final="extension">
385
+ <simpleContent>
386
+ <extension base="unsignedShort">
387
+ <attributeGroup ref="xbrli:numericItemAttrs"/>
388
+ </extension>
389
+ </simpleContent>
390
+ </complexType>
391
+
392
+ <complexType name="unsignedByteItemType" final="extension">
393
+ <simpleContent>
394
+ <extension base="unsignedByte">
395
+ <attributeGroup ref="xbrli:numericItemAttrs"/>
396
+ </extension>
397
+ </simpleContent>
398
+ </complexType>
399
+
400
+ <complexType name="positiveIntegerItemType" final="extension">
401
+ <simpleContent>
402
+ <extension base="positiveInteger">
403
+ <attributeGroup ref="xbrli:numericItemAttrs"/>
404
+ </extension>
405
+ </simpleContent>
406
+ </complexType>
407
+
408
+ <annotation>
409
+ <documentation>
410
+ The following 17 non-numeric types are all based on the primitive built-in
411
+ data types of XML Schema.
412
+ </documentation>
413
+ </annotation>
414
+
415
+ <complexType name="stringItemType" final="extension">
416
+ <simpleContent>
417
+ <extension base="string">
418
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
419
+ </extension>
420
+ </simpleContent>
421
+ </complexType>
422
+
423
+ <complexType name="booleanItemType" final="extension">
424
+ <simpleContent>
425
+ <extension base="boolean">
426
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
427
+ </extension>
428
+ </simpleContent>
429
+ </complexType>
430
+
431
+ <complexType name="hexBinaryItemType" final="extension">
432
+ <simpleContent>
433
+ <extension base="hexBinary">
434
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
435
+ </extension>
436
+ </simpleContent>
437
+ </complexType>
438
+
439
+ <complexType name="base64BinaryItemType" final="extension">
440
+ <simpleContent>
441
+ <extension base="base64Binary">
442
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
443
+ </extension>
444
+ </simpleContent>
445
+ </complexType>
446
+
447
+ <complexType name="anyURIItemType" final="extension">
448
+ <simpleContent>
449
+ <extension base="anyURI">
450
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
451
+ </extension>
452
+ </simpleContent>
453
+ </complexType>
454
+
455
+ <complexType name="QNameItemType" final="extension">
456
+ <simpleContent>
457
+ <extension base="QName">
458
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
459
+ </extension>
460
+ </simpleContent>
461
+ </complexType>
462
+
463
+ <complexType name="durationItemType" final="extension">
464
+ <simpleContent>
465
+ <extension base="duration">
466
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
467
+ </extension>
468
+ </simpleContent>
469
+ </complexType>
470
+
471
+ <complexType name="dateTimeItemType" final="extension">
472
+ <simpleContent>
473
+ <extension base="xbrli:dateUnion">
474
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
475
+ </extension>
476
+ </simpleContent>
477
+ </complexType>
478
+
479
+ <complexType name="timeItemType" final="extension">
480
+ <simpleContent>
481
+ <extension base="time">
482
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
483
+ </extension>
484
+ </simpleContent>
485
+ </complexType>
486
+
487
+ <complexType name="dateItemType" final="extension">
488
+ <simpleContent>
489
+ <extension base="date">
490
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
491
+ </extension>
492
+ </simpleContent>
493
+ </complexType>
494
+
495
+ <complexType name="gYearMonthItemType" final="extension">
496
+ <simpleContent>
497
+ <extension base="gYearMonth">
498
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
499
+ </extension>
500
+ </simpleContent>
501
+ </complexType>
502
+
503
+ <complexType name="gYearItemType" final="extension">
504
+ <simpleContent>
505
+ <extension base="gYear">
506
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
507
+ </extension>
508
+ </simpleContent>
509
+ </complexType>
510
+
511
+ <complexType name="gMonthDayItemType" final="extension">
512
+ <simpleContent>
513
+ <extension base="gMonthDay">
514
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
515
+ </extension>
516
+ </simpleContent>
517
+ </complexType>
518
+
519
+ <complexType name="gDayItemType" final="extension">
520
+ <simpleContent>
521
+ <extension base="gDay">
522
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
523
+ </extension>
524
+ </simpleContent>
525
+ </complexType>
526
+
527
+ <complexType name="gMonthItemType" final="extension">
528
+ <simpleContent>
529
+ <extension base="gMonth">
530
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
531
+ </extension>
532
+ </simpleContent>
533
+ </complexType>
534
+
535
+ <annotation>
536
+ <documentation>
537
+ The following 5 non-numeric types are all based on the XML Schema
538
+ built-in types that are derived by restriction and/or list from string.
539
+ </documentation>
540
+ </annotation>
541
+
542
+ <complexType name="normalizedStringItemType" final="extension">
543
+ <simpleContent>
544
+ <extension base="normalizedString">
545
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
546
+ </extension>
547
+ </simpleContent>
548
+ </complexType>
549
+
550
+ <complexType name="tokenItemType" final="extension">
551
+ <simpleContent>
552
+ <extension base="token">
553
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
554
+ </extension>
555
+ </simpleContent>
556
+ </complexType>
557
+
558
+ <complexType name="languageItemType" final="extension">
559
+ <simpleContent>
560
+ <extension base="language">
561
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
562
+ </extension>
563
+ </simpleContent>
564
+ </complexType>
565
+
566
+ <complexType name="NameItemType" final="extension">
567
+ <simpleContent>
568
+ <extension base="Name">
569
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
570
+ </extension>
571
+ </simpleContent>
572
+ </complexType>
573
+
574
+ <complexType name="NCNameItemType" final="extension">
575
+ <simpleContent>
576
+ <extension base="NCName">
577
+ <attributeGroup ref="xbrli:nonNumericItemAttrs"/>
578
+ </extension>
579
+ </simpleContent>
580
+ </complexType>
581
+
582
+ <annotation>
583
+ <documentation>
584
+ XML Schema components contributing to the context element
585
+ </documentation>
586
+ </annotation>
587
+
588
+ <element name="segment">
589
+ <complexType>
590
+ <sequence>
591
+ <any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="unbounded"/>
592
+ </sequence>
593
+ </complexType>
594
+ </element>
595
+
596
+ <complexType name="contextEntityType">
597
+ <annotation>
598
+ <documentation>
599
+ The type for the entity element, used to describe the reporting entity.
600
+ Note that the scheme attribute is required and cannot be empty.
601
+ </documentation>
602
+ </annotation>
603
+ <sequence>
604
+ <element name="identifier">
605
+ <complexType>
606
+ <simpleContent>
607
+ <extension base="token">
608
+ <attribute name="scheme" use="required">
609
+ <simpleType>
610
+ <restriction base="anyURI">
611
+ <minLength value="1"/>
612
+ </restriction>
613
+ </simpleType>
614
+ </attribute>
615
+ </extension>
616
+ </simpleContent>
617
+ </complexType>
618
+ </element>
619
+ <element ref="xbrli:segment" minOccurs="0"/>
620
+ </sequence>
621
+ </complexType>
622
+
623
+ <simpleType name="dateUnion">
624
+ <annotation>
625
+ <documentation>
626
+ The union of the date and dateTime simple types.
627
+ </documentation>
628
+ </annotation>
629
+ <union memberTypes="date dateTime "/>
630
+ </simpleType>
631
+
632
+ <complexType name="contextPeriodType">
633
+ <annotation>
634
+ <documentation>
635
+ The type for the period element, used to describe the reporting date info.
636
+ </documentation>
637
+ </annotation>
638
+ <choice>
639
+ <sequence>
640
+ <element name="startDate" type="xbrli:dateUnion"/>
641
+ <element name="endDate" type="xbrli:dateUnion"/>
642
+ </sequence>
643
+ <element name="instant" type="xbrli:dateUnion"/>
644
+ <element name="forever">
645
+ <complexType/>
646
+ </element>
647
+ </choice>
648
+ </complexType>
649
+
650
+ <complexType name="contextScenarioType">
651
+ <annotation>
652
+ <documentation>
653
+ Used for the scenario under which fact have been reported.
654
+ </documentation>
655
+ </annotation>
656
+ <sequence>
657
+ <any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="unbounded"/>
658
+ </sequence>
659
+ </complexType>
660
+
661
+ <element name="context">
662
+ <annotation>
663
+ <documentation>
664
+ Used for an island of context to which facts can be related.
665
+ </documentation>
666
+ </annotation>
667
+ <complexType>
668
+ <sequence>
669
+ <element name="entity" type="xbrli:contextEntityType"/>
670
+ <element name="period" type="xbrli:contextPeriodType"/>
671
+ <element name="scenario" type="xbrli:contextScenarioType" minOccurs="0"/>
672
+ </sequence>
673
+ <attribute name="id" type="ID" use="required"/>
674
+ </complexType>
675
+ </element>
676
+
677
+ <annotation>
678
+ <documentation>
679
+ XML Schema components contributing to the unit element
680
+ </documentation>
681
+ </annotation>
682
+
683
+ <element name="measure" type="QName"/>
684
+
685
+ <complexType name="measuresType">
686
+ <annotation>
687
+ <documentation>
688
+ A collection of sibling measure elements
689
+ </documentation>
690
+ </annotation>
691
+ <sequence>
692
+ <element ref="xbrli:measure" minOccurs="1" maxOccurs="unbounded"/>
693
+ </sequence>
694
+ </complexType>
695
+
696
+ <element name="divide">
697
+ <annotation>
698
+ <documentation>
699
+ Element used to represent division in units
700
+ </documentation>
701
+ </annotation>
702
+ <complexType>
703
+ <sequence>
704
+ <element name="unitNumerator" type="xbrli:measuresType"/>
705
+ <element name="unitDenominator" type="xbrli:measuresType"/>
706
+ </sequence>
707
+ </complexType>
708
+ </element>
709
+
710
+ <element name="unit">
711
+ <annotation>
712
+ <documentation>
713
+ Element used to represent units information about numeric items
714
+ </documentation>
715
+ </annotation>
716
+ <complexType>
717
+ <choice>
718
+ <element ref="xbrli:measure" minOccurs="1" maxOccurs="unbounded"/>
719
+ <element ref="xbrli:divide"/>
720
+ </choice>
721
+ <attribute name="id" type="ID" use="required"/>
722
+ </complexType>
723
+ </element>
724
+
725
+ <annotation>
726
+ <documentation>
727
+ Elements to use for facts in instances
728
+ </documentation>
729
+ </annotation>
730
+
731
+ <element name="item" type="anyType" abstract="true">
732
+ <annotation>
733
+ <documentation>
734
+ Abstract item element used as head of item substitution group
735
+ </documentation>
736
+ </annotation>
737
+ </element>
738
+
739
+ <element name="tuple" type="anyType" abstract="true">
740
+ <annotation>
741
+ <documentation>
742
+ Abstract tuple element used as head of tuple substitution group
743
+ </documentation>
744
+ </annotation>
745
+ </element>
746
+
747
+ <element name="xbrl">
748
+ <annotation>
749
+ <documentation>
750
+ XBRL instance root element.
751
+ </documentation>
752
+ </annotation>
753
+ <complexType>
754
+ <sequence>
755
+ <element ref="link:schemaRef" minOccurs="1" maxOccurs="unbounded"/>
756
+ <element ref="link:linkbaseRef" minOccurs="0" maxOccurs="unbounded"/>
757
+ <element ref="link:roleRef" minOccurs="0" maxOccurs="unbounded"/>
758
+ <element ref="link:arcroleRef" minOccurs="0" maxOccurs="unbounded"/>
759
+ <choice minOccurs="0" maxOccurs="unbounded">
760
+ <element ref="xbrli:item"/>
761
+ <element ref="xbrli:tuple"/>
762
+ <element ref="xbrli:context"/>
763
+ <element ref="xbrli:unit"/>
764
+ <element ref="link:footnoteLink"/>
765
+ </choice>
766
+ </sequence>
767
+ <attribute name="id" type="ID" use="optional"/>
768
+ <anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="lax"/>
769
+ </complexType>
770
+ </element>
771
+
772
+ </schema>