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,477 @@
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-linkbase-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-linkbase-2003-12-31.xsd
19
+
20
+ -->
21
+ <schema targetNamespace="http://www.xbrl.org/2003/linkbase" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:xlink="http://www.w3.org/1999/xlink" elementFormDefault="qualified">
22
+
23
+ <annotation>
24
+ <documentation>
25
+ XBRL simple and extended link schema constructs
26
+ </documentation>
27
+ </annotation>
28
+
29
+ <import namespace="http://www.xbrl.org/2003/XLink" schemaLocation="xl-2003-12-31.xsd"/>
30
+
31
+ <import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink-2003-12-31.xsd"/>
32
+
33
+
34
+ <element name="documentation" type="xl:documentationType" substitutionGroup="xl:documentation">
35
+ <annotation>
36
+ <documentation>
37
+ Concrete element to use for documentation of
38
+ extended links and linkbases.
39
+ </documentation>
40
+ </annotation>
41
+ </element>
42
+
43
+ <element name="loc" type="xl:locatorType" substitutionGroup="xl:locator">
44
+ <annotation>
45
+ <documentation>
46
+ Concrete locator element. The loc element is the
47
+ XLink locator element for all extended links in XBRL.
48
+ </documentation>
49
+ </annotation>
50
+ </element>
51
+
52
+ <element name="labelArc" type="xl:arcType" substitutionGroup="xl:arc">
53
+ <annotation>
54
+ <documentation>
55
+ Concrete arc for use in label extended links.
56
+ </documentation>
57
+ </annotation>
58
+ </element>
59
+
60
+ <element name="referenceArc" type="xl:arcType" substitutionGroup="xl:arc">
61
+ <annotation>
62
+ <documentation>
63
+ Concrete arc for use in reference extended links.
64
+ </documentation>
65
+ </annotation>
66
+ </element>
67
+
68
+ <element name="definitionArc" type="xl:arcType" substitutionGroup="xl:arc">
69
+ <annotation>
70
+ <documentation>
71
+ Concrete arc for use in definition extended links.
72
+ </documentation>
73
+ </annotation>
74
+ </element>
75
+
76
+ <element name="presentationArc" substitutionGroup="xl:arc">
77
+ <complexType>
78
+ <annotation>
79
+ <documentation>
80
+ Extension of the extended link arc type for presentation arcs.
81
+ Adds a preferredLabel attribute that documents the role attribute
82
+ value of preferred labels (as they occur in label extended links).
83
+ </documentation>
84
+ </annotation>
85
+ <complexContent>
86
+ <extension base="xl:arcType">
87
+ <attribute name="preferredLabel" use="optional">
88
+ <simpleType>
89
+ <restriction base="anyURI">
90
+ <minLength value="1"/>
91
+ </restriction>
92
+ </simpleType>
93
+ </attribute>
94
+ </extension>
95
+ </complexContent>
96
+ </complexType>
97
+ </element>
98
+
99
+ <element name="calculationArc" substitutionGroup="xl:arc">
100
+ <complexType>
101
+ <annotation>
102
+ <documentation>
103
+ Extension of the extended link arc type for calculation arcs.
104
+ Adds a weight attribute to track weights on contributions to
105
+ summations.
106
+ </documentation>
107
+ </annotation>
108
+ <complexContent>
109
+ <extension base="xl:arcType">
110
+ <attribute name="weight" type="decimal" use="required"/>
111
+ </extension>
112
+ </complexContent>
113
+ </complexType>
114
+ </element>
115
+
116
+ <element name="footnoteArc" type="xl:arcType" substitutionGroup="xl:arc">
117
+ <annotation>
118
+ <documentation>
119
+ Concrete arc for use in footnote extended links.
120
+ </documentation>
121
+ </annotation>
122
+ </element>
123
+
124
+ <element name="label" substitutionGroup="xl:resource">
125
+ <annotation>
126
+ <documentation>
127
+ Definition of the label resource element.
128
+ </documentation>
129
+ </annotation>
130
+ <complexType mixed="true">
131
+ <complexContent mixed="true">
132
+ <extension base="xl:resourceType">
133
+ <sequence>
134
+ <any namespace="http://www.w3.org/1999/xhtml" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
135
+ </sequence>
136
+ <anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="lax"/>
137
+ </extension>
138
+ </complexContent>
139
+ </complexType>
140
+ </element>
141
+
142
+ <element name="part" type="anySimpleType" abstract="true">
143
+ <annotation>
144
+ <documentation>
145
+ Definition of the reference part element - for use in reference resources.
146
+ </documentation>
147
+ </annotation>
148
+ </element>
149
+
150
+ <element name="reference" substitutionGroup="xl:resource">
151
+ <annotation>
152
+ <documentation>
153
+ Definition of the reference resource element.
154
+ </documentation>
155
+ </annotation>
156
+ <complexType mixed="true">
157
+ <complexContent mixed="true">
158
+ <extension base="xl:resourceType">
159
+ <sequence>
160
+ <element ref="link:part" minOccurs="0" maxOccurs="unbounded"/>
161
+ </sequence>
162
+ </extension>
163
+ </complexContent>
164
+ </complexType>
165
+ </element>
166
+
167
+ <element name="footnote" substitutionGroup="xl:resource">
168
+ <annotation>
169
+ <documentation>
170
+ Definition of the reference resource element
171
+ </documentation>
172
+ </annotation>
173
+ <complexType mixed="true">
174
+ <complexContent mixed="true">
175
+ <extension base="xl:resourceType">
176
+ <sequence>
177
+ <any namespace="http://www.w3.org/1999/xhtml" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
178
+ </sequence>
179
+ <anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="lax"/>
180
+ </extension>
181
+ </complexContent>
182
+ </complexType>
183
+ </element>
184
+
185
+ <element name="presentationLink" substitutionGroup="xl:extended">
186
+ <annotation>
187
+ <documentation>
188
+ presentation extended link element definition.
189
+ </documentation>
190
+ </annotation>
191
+ <complexType>
192
+ <complexContent>
193
+ <restriction base="xl:extendedType">
194
+ <choice minOccurs="0" maxOccurs="unbounded">
195
+ <element ref="xl:title"/>
196
+ <element ref="link:documentation"/>
197
+ <element ref="link:loc"/>
198
+ <element ref="link:presentationArc"/>
199
+ </choice>
200
+ <anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="lax"/>
201
+ </restriction>
202
+ </complexContent>
203
+ </complexType>
204
+ </element>
205
+
206
+ <element name="definitionLink" substitutionGroup="xl:extended">
207
+ <annotation>
208
+ <documentation>
209
+ definition extended link element definition
210
+ </documentation>
211
+ </annotation>
212
+ <complexType>
213
+ <complexContent>
214
+ <restriction base="xl:extendedType">
215
+ <choice minOccurs="0" maxOccurs="unbounded">
216
+ <element ref="xl:title"/>
217
+ <element ref="link:documentation"/>
218
+ <element ref="link:loc"/>
219
+ <element ref="link:definitionArc"/>
220
+ </choice>
221
+ <anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="lax"/>
222
+ </restriction>
223
+ </complexContent>
224
+ </complexType>
225
+ </element>
226
+
227
+ <element name="calculationLink" substitutionGroup="xl:extended">
228
+ <annotation>
229
+ <documentation>
230
+ calculation extended link element definition
231
+ </documentation>
232
+ </annotation>
233
+ <complexType>
234
+ <complexContent>
235
+ <restriction base="xl:extendedType">
236
+ <choice minOccurs="0" maxOccurs="unbounded">
237
+ <element ref="xl:title"/>
238
+ <element ref="link:documentation"/>
239
+ <element ref="link:loc"/>
240
+ <element ref="link:calculationArc"/>
241
+ </choice>
242
+ <anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="lax"/>
243
+ </restriction>
244
+ </complexContent>
245
+ </complexType>
246
+ </element>
247
+
248
+ <element name="labelLink" substitutionGroup="xl:extended">
249
+ <annotation>
250
+ <documentation>
251
+ label extended link element definition
252
+ </documentation>
253
+ </annotation>
254
+ <complexType>
255
+ <complexContent>
256
+ <restriction base="xl:extendedType">
257
+ <choice minOccurs="0" maxOccurs="unbounded">
258
+ <element ref="xl:title"/>
259
+ <element ref="link:documentation"/>
260
+ <element ref="link:loc"/>
261
+ <element ref="link:labelArc"/>
262
+ <element ref="link:label"/>
263
+ </choice>
264
+ <anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="lax"/>
265
+ </restriction>
266
+ </complexContent>
267
+ </complexType>
268
+ </element>
269
+
270
+ <element name="referenceLink" substitutionGroup="xl:extended">
271
+ <annotation>
272
+ <documentation>
273
+ reference extended link element definition
274
+ </documentation>
275
+ </annotation>
276
+ <complexType>
277
+ <complexContent>
278
+ <restriction base="xl:extendedType">
279
+ <choice minOccurs="0" maxOccurs="unbounded">
280
+ <element ref="xl:title"/>
281
+ <element ref="link:documentation"/>
282
+ <element ref="link:loc"/>
283
+ <element ref="link:referenceArc"/>
284
+ <element ref="link:reference"/>
285
+ </choice>
286
+ <anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="lax"/>
287
+ </restriction>
288
+ </complexContent>
289
+ </complexType>
290
+ </element>
291
+
292
+ <element name="footnoteLink" substitutionGroup="xl:extended">
293
+ <annotation>
294
+ <documentation>
295
+ footnote extended link element definition
296
+ </documentation>
297
+ </annotation>
298
+ <complexType>
299
+ <complexContent>
300
+ <restriction base="xl:extendedType">
301
+ <choice minOccurs="0" maxOccurs="unbounded">
302
+ <element ref="xl:title"/>
303
+ <element ref="link:documentation"/>
304
+ <element ref="link:loc"/>
305
+ <element ref="link:footnoteArc"/>
306
+ <element ref="link:footnote"/>
307
+ </choice>
308
+ <anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="lax"/>
309
+ </restriction>
310
+ </complexContent>
311
+ </complexType>
312
+ </element>
313
+
314
+ <element name="linkbase">
315
+ <annotation>
316
+ <documentation>
317
+ Definition of the linkbase element. Used to
318
+ contain a set of zero or more extended link elements.
319
+ </documentation>
320
+ </annotation>
321
+ <complexType>
322
+ <choice minOccurs="0" maxOccurs="unbounded">
323
+ <element ref="link:documentation"/>
324
+ <element ref="link:roleRef"/>
325
+ <element ref="link:arcroleRef"/>
326
+ <element ref="xl:extended"/>
327
+ </choice>
328
+ <attribute name="id" type="ID" use="optional"/>
329
+ <anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="lax"/>
330
+ </complexType>
331
+ </element>
332
+
333
+ <element name="linkbaseRef" substitutionGroup="xl:simple">
334
+ <annotation>
335
+ <documentation>
336
+ Definition of the linkbaseRef element - used
337
+ to link to XBRL taxonomy extended links from
338
+ taxonomy schema documents and from XBRL
339
+ instances.
340
+ </documentation>
341
+ </annotation>
342
+ <complexType>
343
+ <complexContent>
344
+ <restriction base="xl:simpleType">
345
+ <attribute ref="xlink:arcrole" use="required">
346
+ <annotation>
347
+ <documentation>
348
+ This attribute must have the value:
349
+ http://www.w3.org/1999/xlink/properties/linkbase
350
+ </documentation>
351
+ </annotation>
352
+ </attribute>
353
+ <anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="lax"/>
354
+ </restriction>
355
+ </complexContent>
356
+ </complexType>
357
+ </element>
358
+
359
+ <element name="schemaRef" type="xl:simpleType" substitutionGroup="xl:simple">
360
+ <annotation>
361
+ <documentation>
362
+ Definition of the schemaRef element - used
363
+ to link to XBRL taxonomy schemas from
364
+ XBRL instances.
365
+ </documentation>
366
+ </annotation>
367
+ </element>
368
+
369
+ <element name="roleRef" substitutionGroup="xl:simple">
370
+ <annotation>
371
+ <documentation>
372
+ Definition of the roleRef element - used
373
+ to link to resolve xlink:role attribute values to
374
+ the roleType element declaration.
375
+ </documentation>
376
+ </annotation>
377
+ <complexType>
378
+ <complexContent>
379
+ <extension base="xl:simpleType">
380
+ <attribute name="roleURI" type="xl:nonEmptyURI" use="required">
381
+ <annotation>
382
+ <documentation>
383
+ This attribute contains the role name.
384
+ </documentation>
385
+ </annotation>
386
+ </attribute>
387
+ </extension>
388
+ </complexContent>
389
+ </complexType>
390
+ </element>
391
+
392
+ <element name="arcroleRef" substitutionGroup="xl:simple">
393
+ <annotation>
394
+ <documentation>
395
+ Definition of the roleRef element - used
396
+ to link to resolve xlink:arcrole attribute values to
397
+ the arcroleType element declaration.
398
+ </documentation>
399
+ </annotation>
400
+ <complexType>
401
+ <complexContent>
402
+ <extension base="xl:simpleType">
403
+ <attribute name="arcroleURI" type="xl:nonEmptyURI" use="required">
404
+ <annotation>
405
+ <documentation>
406
+ This attribute contains the arc role name.
407
+ </documentation>
408
+ </annotation>
409
+ </attribute>
410
+ </extension>
411
+ </complexContent>
412
+ </complexType>
413
+ </element>
414
+
415
+ <element name="definition" type="string">
416
+ <annotation>
417
+ <documentation>
418
+ The element to use for human-readable definition
419
+ of custom roles and arc roles.
420
+ </documentation>
421
+ </annotation>
422
+ </element>
423
+
424
+ <element name="usedOn" type="QName">
425
+ <annotation>
426
+ <documentation>
427
+ Definition of the usedOn element - used
428
+ to identify what elements may use a
429
+ taxonomy defined role or arc role value.
430
+ </documentation>
431
+ </annotation>
432
+ </element>
433
+
434
+ <element name="roleType">
435
+ <annotation>
436
+ <documentation>
437
+ The roleType element definition - used to define custom
438
+ role values in XBRL extended links.
439
+ </documentation>
440
+ </annotation>
441
+ <complexType>
442
+ <sequence>
443
+ <element ref="link:definition" minOccurs="0"/>
444
+ <element ref="link:usedOn" maxOccurs="unbounded"/>
445
+ </sequence>
446
+ <attribute name="roleURI" type="xl:nonEmptyURI" use="required"/>
447
+ <attribute name="id" type="ID"/>
448
+ </complexType>
449
+ </element>
450
+
451
+ <element name="arcroleType">
452
+ <annotation>
453
+ <documentation>
454
+ The arcroleType element definition - used to define custom
455
+ arc role values in XBRL extended links.
456
+ </documentation>
457
+ </annotation>
458
+ <complexType>
459
+ <sequence>
460
+ <element ref="link:definition" minOccurs="0"/>
461
+ <element ref="link:usedOn" maxOccurs="unbounded"/>
462
+ </sequence>
463
+ <attribute name="arcroleURI" type="xl:nonEmptyURI" use="required"/>
464
+ <attribute name="id" type="ID"/>
465
+ <attribute name="cyclesAllowed" use="required">
466
+ <simpleType>
467
+ <restriction base="NMTOKEN">
468
+ <enumeration value="any"/>
469
+ <enumeration value="undirected"/>
470
+ <enumeration value="none"/>
471
+ </restriction>
472
+ </simpleType>
473
+ </attribute>
474
+ </complexType>
475
+ </element>
476
+
477
+ </schema>