xbrlware-ce 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>