lutaml-model 0.7.7 → 0.8.0

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 (1573) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/dependent-tests.yml +4 -0
  3. data/.github/workflows/docs.yml +59 -0
  4. data/.github/workflows/downstream-performance.yml +156 -0
  5. data/.github/workflows/performance.yml +33 -0
  6. data/.github/workflows/rake.yml +13 -0
  7. data/.github/workflows/release.yml +5 -0
  8. data/.gitignore +27 -1
  9. data/.rubocop.yml +14 -2
  10. data/.rubocop_todo.yml +574 -88
  11. data/Gemfile +15 -9
  12. data/README.adoc +13522 -6905
  13. data/RELEASE_NOTES.adoc +51 -0
  14. data/Rakefile +2 -0
  15. data/bench/baselines/.gitkeep +0 -0
  16. data/bench/bench_all.rb +52 -0
  17. data/bench/bench_common.rb +147 -0
  18. data/bench/bench_compare.rb +195 -0
  19. data/bench/bench_mml.rb +53 -0
  20. data/bench/bench_niso.rb +54 -0
  21. data/bench/bench_sts.rb +49 -0
  22. data/bench/bench_unitsml.rb +43 -0
  23. data/bench/bench_uniword.rb +69 -0
  24. data/bench/bench_xmi.rb +51 -0
  25. data/bench/gate_config.rb +127 -0
  26. data/benchmark/quick_benchmark.rb +297 -0
  27. data/benchmark/serialization_benchmark.rb +619 -0
  28. data/docs/.rubocop.yml +1 -0
  29. data/docs/.rubocop_todo.yml +7 -0
  30. data/docs/Gemfile +13 -0
  31. data/docs/PERFORMANCE_METHODOLOGY.md +645 -0
  32. data/docs/_config.yml +145 -0
  33. data/docs/_guides/advanced-mapping.adoc +564 -0
  34. data/docs/_guides/character-encoding.adoc +342 -0
  35. data/docs/_guides/collection-serialization.adoc +349 -0
  36. data/docs/_guides/creating-xsd.adoc +1221 -0
  37. data/docs/_guides/index.adoc +71 -0
  38. data/docs/_guides/keyvalue-serialization.adoc +1156 -0
  39. data/docs/_guides/liquid-templates.adoc +505 -0
  40. data/docs/_guides/missing-values-handling.adoc +1531 -0
  41. data/docs/_guides/ooxml-examples.adoc +755 -0
  42. data/docs/{schema_generation.adoc → _guides/schema-generation.adoc} +5 -0
  43. data/docs/{schema_import.adoc → _guides/schema-import.adoc} +276 -4
  44. data/docs/_guides/value-transformations.adoc +1388 -0
  45. data/docs/_guides/xml/namespace-presentation.adoc +476 -0
  46. data/docs/_guides/xml/namespace-semantics.adoc +677 -0
  47. data/docs/_guides/xml/reusable-mapping-classes.adoc +181 -0
  48. data/docs/_guides/xml/schema-location.adoc +245 -0
  49. data/docs/_guides/xml/type-namespaces.adoc +1011 -0
  50. data/docs/_guides/xml-mapping.adoc +1847 -0
  51. data/docs/_guides/xml-mappings-guide.adoc +21 -0
  52. data/docs/_guides/xml-namespace-declarations.adoc +662 -0
  53. data/docs/_guides/xml-namespace-qualification.adoc +720 -0
  54. data/docs/_guides/xml-namespaces.adoc +2613 -0
  55. data/docs/_guides/xml_mappings/01_introduction.adoc +65 -0
  56. data/docs/_guides/xml_mappings/02_core_concepts.adoc +177 -0
  57. data/docs/_guides/xml_mappings/03_architecture.adoc +205 -0
  58. data/docs/_guides/xml_mappings/04_xml_namespace_class.adoc +1754 -0
  59. data/docs/_guides/xml_mappings/05_common_patterns.adoc +1803 -0
  60. data/docs/_guides/xml_mappings/06_migration_guide.adoc +523 -0
  61. data/docs/_guides/xml_mappings/07_best_practices.adoc +959 -0
  62. data/docs/_guides/xml_mappings/08_troubleshooting.adoc +934 -0
  63. data/docs/_migrations/0-1-0-migrate-from-shale.adoc +304 -0
  64. data/docs/_migrations/0-8-0-namespace-restructuring.adoc +1572 -0
  65. data/docs/_migrations/0-8-0-xsd-features.adoc +729 -0
  66. data/docs/_migrations/index.adoc +18 -0
  67. data/docs/_migrations/xsd-type-migration.adoc +1294 -0
  68. data/docs/_pages/attributes.adoc +1156 -0
  69. data/docs/_pages/breaking-changes.adoc +154 -0
  70. data/docs/_pages/collections.adoc +1664 -0
  71. data/docs/_pages/comparison-with-shale.adoc +139 -0
  72. data/docs/_pages/configuration.adoc +192 -0
  73. data/docs/_pages/consolidation-mapping.adoc +252 -0
  74. data/docs/_pages/importable_models.adoc +591 -0
  75. data/docs/_pages/index.adoc +46 -0
  76. data/docs/_pages/installation.adoc +35 -0
  77. data/docs/_pages/models.adoc +332 -0
  78. data/docs/_pages/quick-start.adoc +124 -0
  79. data/docs/_pages/serialization_adapters.adoc +268 -0
  80. data/docs/_pages/troubleshooting.adoc +104 -0
  81. data/docs/_pages/validation.adoc +171 -0
  82. data/docs/_pages/value_types.adoc +1514 -0
  83. data/docs/_pages/xml-conformance.adoc +143 -0
  84. data/docs/_references/architecture.adoc +189 -0
  85. data/docs/{custom_adapters.adoc → _references/custom_adapters.adoc} +6 -1
  86. data/docs/_references/custom_registers.adoc +1026 -0
  87. data/docs/_references/data-modeling-in-a-nutshell.adoc +207 -0
  88. data/docs/_references/format-independent-features.adoc +713 -0
  89. data/docs/_references/index.adoc +47 -0
  90. data/docs/_references/instance-serialization.adoc +120 -0
  91. data/docs/_references/lutaml-namespace-planning.md +120 -0
  92. data/docs/_references/parent-root-context.adoc +122 -0
  93. data/docs/_references/reference_type.adoc +302 -0
  94. data/docs/_references/serialization-model-mappings.adoc +102 -0
  95. data/docs/_references/three-phase-namespace-architecture.adoc +470 -0
  96. data/docs/_references/xml-w3c-namespace-qualification.adoc +66 -0
  97. data/docs/_references/xsd-generation-with-namespace-support.adoc +449 -0
  98. data/docs/_references/xsd-schema-parsing.adoc +1260 -0
  99. data/docs/_references/xsd-type-architecture.adoc +534 -0
  100. data/docs/_tutorials/basic-model-definition.adoc +157 -0
  101. data/docs/_tutorials/custom-types-tutorial.adoc +258 -0
  102. data/docs/_tutorials/first-json-serialization.adoc +192 -0
  103. data/docs/_tutorials/first-xml-serialization.adoc +223 -0
  104. data/docs/_tutorials/index.adoc +60 -0
  105. data/docs/_tutorials/lutaml-xml-architecture.adoc +1354 -0
  106. data/docs/_tutorials/polymorphic-models-tutorial.adoc +253 -0
  107. data/docs/_tutorials/schema-compiler-module-namespaces.adoc +497 -0
  108. data/docs/_tutorials/validation-basics.adoc +232 -0
  109. data/docs/_tutorials/working-with-collections.adoc +201 -0
  110. data/docs/_tutorials/xml-element-attribute-namespace-guide.adoc +279 -0
  111. data/docs/_tutorials/xml-namespaces-basics.adoc +315 -0
  112. data/docs/_tutorials/xml-schema-primer-style-guide.adoc +1394 -0
  113. data/docs/architecture.md +424 -0
  114. data/docs/bugreports/BUGREPORT_element_order_render_empty.md +99 -0
  115. data/docs/cli_compare.adoc +249 -0
  116. data/docs/collection_validation.adoc +366 -0
  117. data/docs/index.adoc +106 -0
  118. data/docs/key_value_data_model.adoc +1229 -0
  119. data/docs/model_transforms.adoc +769 -0
  120. data/docs/namespace-management.adoc +1051 -0
  121. data/docs/xml-schema-qualification.md +171 -0
  122. data/lib/lutaml/{model/hash_adapter → hash_format/adapter}/document.rb +3 -4
  123. data/lib/lutaml/hash_format/adapter/mapping.rb +19 -0
  124. data/lib/lutaml/hash_format/adapter/mapping_rule.rb +9 -0
  125. data/lib/lutaml/{model/hash_adapter → hash_format/adapter}/standard_adapter.rb +3 -3
  126. data/lib/lutaml/hash_format/adapter/transform.rb +9 -0
  127. data/lib/lutaml/hash_format/adapter.rb +13 -0
  128. data/lib/lutaml/hash_format/type/serializers.rb +24 -0
  129. data/lib/lutaml/hash_format.rb +25 -0
  130. data/lib/lutaml/{model/json → json/adapter}/document.rb +3 -3
  131. data/lib/lutaml/json/adapter/mapping.rb +19 -0
  132. data/lib/lutaml/json/adapter/mapping_rule.rb +9 -0
  133. data/lib/lutaml/json/adapter/multi_json_adapter.rb +38 -0
  134. data/lib/lutaml/json/adapter/oj_adapter.rb +38 -0
  135. data/lib/lutaml/json/adapter/standard_adapter.rb +36 -0
  136. data/lib/lutaml/json/adapter/transform.rb +9 -0
  137. data/lib/lutaml/json/adapter.rb +20 -0
  138. data/lib/lutaml/json/schema/json_schema.rb +62 -0
  139. data/lib/lutaml/json/schema.rb +9 -0
  140. data/lib/lutaml/json/type/serializers.rb +72 -0
  141. data/lib/lutaml/json.rb +58 -0
  142. data/lib/lutaml/{model/jsonl → jsonl/adapter}/document.rb +2 -2
  143. data/lib/lutaml/jsonl/adapter/mapping.rb +19 -0
  144. data/lib/lutaml/jsonl/adapter/mapping_rule.rb +9 -0
  145. data/lib/lutaml/{model/jsonl → jsonl/adapter}/standard_adapter.rb +5 -4
  146. data/lib/lutaml/jsonl/adapter/transform.rb +26 -0
  147. data/lib/lutaml/jsonl/adapter.rb +13 -0
  148. data/lib/lutaml/jsonl.rb +21 -0
  149. data/lib/lutaml/key_value/adapter/hash/document.rb +13 -0
  150. data/lib/lutaml/key_value/adapter/hash/mapping.rb +19 -0
  151. data/lib/lutaml/key_value/adapter/hash/mapping_rule.rb +9 -0
  152. data/lib/lutaml/key_value/adapter/hash/standard_adapter.rb +19 -0
  153. data/lib/lutaml/key_value/adapter/hash/transform.rb +10 -0
  154. data/lib/lutaml/key_value/adapter/hash.rb +15 -0
  155. data/lib/lutaml/key_value/adapter/json/document.rb +16 -0
  156. data/lib/lutaml/key_value/adapter/json/mapping.rb +24 -0
  157. data/lib/lutaml/key_value/adapter/json/mapping_rule.rb +14 -0
  158. data/lib/lutaml/key_value/adapter/json/multi_json_adapter.rb +43 -0
  159. data/lib/lutaml/key_value/adapter/json/oj_adapter.rb +43 -0
  160. data/lib/lutaml/key_value/adapter/json/standard_adapter.rb +41 -0
  161. data/lib/lutaml/key_value/adapter/json/transform.rb +14 -0
  162. data/lib/lutaml/key_value/adapter/json.rb +24 -0
  163. data/lib/lutaml/key_value/adapter/jsonl/document.rb +16 -0
  164. data/lib/lutaml/key_value/adapter/jsonl/mapping.rb +19 -0
  165. data/lib/lutaml/key_value/adapter/jsonl/mapping_rule.rb +9 -0
  166. data/lib/lutaml/key_value/adapter/jsonl/standard_adapter.rb +36 -0
  167. data/lib/lutaml/key_value/adapter/jsonl/transform.rb +26 -0
  168. data/lib/lutaml/key_value/adapter/jsonl.rb +17 -0
  169. data/lib/lutaml/key_value/adapter/toml/document.rb +13 -0
  170. data/lib/lutaml/key_value/adapter/toml/mapping.rb +28 -0
  171. data/lib/lutaml/key_value/adapter/toml/mapping_rule.rb +9 -0
  172. data/lib/lutaml/key_value/adapter/toml/toml_rb_adapter.rb +40 -0
  173. data/lib/lutaml/key_value/adapter/toml/tomlib_adapter.rb +46 -0
  174. data/lib/lutaml/key_value/adapter/toml/transform.rb +10 -0
  175. data/lib/lutaml/key_value/adapter/toml.rb +21 -0
  176. data/lib/lutaml/key_value/adapter/yaml/document.rb +12 -0
  177. data/lib/lutaml/key_value/adapter/yaml/mapping.rb +19 -0
  178. data/lib/lutaml/key_value/adapter/yaml/mapping_rule.rb +9 -0
  179. data/lib/lutaml/key_value/adapter/yaml/standard_adapter.rb +41 -0
  180. data/lib/lutaml/key_value/adapter/yaml/transform.rb +10 -0
  181. data/lib/lutaml/key_value/adapter/yaml.rb +17 -0
  182. data/lib/lutaml/key_value/adapter/yamls/document.rb +16 -0
  183. data/lib/lutaml/key_value/adapter/yamls/mapping.rb +19 -0
  184. data/lib/lutaml/key_value/adapter/yamls/mapping_rule.rb +9 -0
  185. data/lib/lutaml/key_value/adapter/yamls/standard_adapter.rb +37 -0
  186. data/lib/lutaml/key_value/adapter/yamls/transform.rb +26 -0
  187. data/lib/lutaml/key_value/adapter/yamls.rb +17 -0
  188. data/lib/lutaml/key_value/adapter.rb +14 -0
  189. data/lib/lutaml/key_value/data_model/element.rb +222 -0
  190. data/lib/lutaml/key_value/data_model.rb +14 -0
  191. data/lib/lutaml/{model/key_value_document.rb → key_value/document.rb} +2 -2
  192. data/lib/lutaml/{model/mapping/key_value_mapping.rb → key_value/mapping.rb} +81 -43
  193. data/lib/lutaml/{model/mapping/key_value_mapping_rule.rb → key_value/mapping_rule.rb} +9 -10
  194. data/lib/lutaml/{model/transform/key_value_transform.rb → key_value/transform.rb} +111 -65
  195. data/lib/lutaml/key_value/transformation/collection_serializer.rb +575 -0
  196. data/lib/lutaml/key_value/transformation/rule_compiler.rb +294 -0
  197. data/lib/lutaml/key_value/transformation/value_serializer.rb +268 -0
  198. data/lib/lutaml/key_value/transformation.rb +1071 -0
  199. data/lib/lutaml/key_value/transformation_builder.rb +30 -0
  200. data/lib/lutaml/key_value.rb +24 -0
  201. data/lib/lutaml/model/attribute.rb +515 -121
  202. data/lib/lutaml/model/attribute_validator.rb +288 -0
  203. data/lib/lutaml/model/cached_type_resolver/concurrent_map_cache.rb +46 -0
  204. data/lib/lutaml/model/cached_type_resolver/mutex_hash_cache.rb +51 -0
  205. data/lib/lutaml/model/cached_type_resolver.rb +144 -0
  206. data/lib/lutaml/model/choice.rb +230 -13
  207. data/lib/lutaml/model/cli.rb +75 -121
  208. data/lib/lutaml/model/collection.rb +510 -43
  209. data/lib/lutaml/model/collection_handler.rb +106 -0
  210. data/lib/lutaml/model/comparable_model.rb +11 -3
  211. data/lib/lutaml/model/comparable_nil.rb +0 -2
  212. data/lib/lutaml/model/compiled_rule.rb +208 -0
  213. data/lib/lutaml/model/config.rb +56 -88
  214. data/lib/lutaml/model/configuration.rb +323 -0
  215. data/lib/lutaml/model/consolidation/attribute_grouper.rb +44 -0
  216. data/lib/lutaml/model/consolidation/dispatcher.rb +45 -0
  217. data/lib/lutaml/model/consolidation/engine.rb +33 -0
  218. data/lib/lutaml/model/consolidation/pattern_chunker.rb +87 -0
  219. data/lib/lutaml/model/consolidation_map.rb +68 -0
  220. data/lib/lutaml/model/consolidation_rule/dispatch_block.rb +34 -0
  221. data/lib/lutaml/model/consolidation_rule/gather_rule.rb +17 -0
  222. data/lib/lutaml/model/consolidation_rule/pattern_content_rule.rb +15 -0
  223. data/lib/lutaml/model/consolidation_rule/pattern_element_rule.rb +17 -0
  224. data/lib/lutaml/model/consolidation_rule.rb +27 -0
  225. data/lib/lutaml/model/constants.rb +5 -3
  226. data/lib/lutaml/model/context_registry.rb +208 -0
  227. data/lib/lutaml/model/error/element_count_out_of_range_error.rb +13 -7
  228. data/lib/lutaml/model/error/format_adapter_not_specified_error.rb +25 -0
  229. data/lib/lutaml/model/error/invalid_attribute_type_error.rb +98 -0
  230. data/lib/lutaml/model/error/invalid_format_error.rb +11 -0
  231. data/lib/lutaml/model/error/liquid_class_not_found_error.rb +9 -0
  232. data/lib/lutaml/model/error/mapping_already_exists_error.rb +6 -0
  233. data/lib/lutaml/model/error/mapping_attribute_missing_error.rb +6 -0
  234. data/lib/lutaml/model/error/mapping_attribute_type_error.rb +6 -0
  235. data/lib/lutaml/model/error/mixed_content_collection_error.rb +17 -0
  236. data/lib/lutaml/model/error/no_attributes_defined_liquid_error.rb +9 -0
  237. data/lib/lutaml/model/error/no_mapping_found_error.rb +9 -0
  238. data/lib/lutaml/model/error/required_attribute_missing_error.rb +9 -0
  239. data/lib/lutaml/model/error/reverse_transform_block_not_defined_error.rb +6 -0
  240. data/lib/lutaml/model/error/reverse_transformation_declaration_error.rb +6 -0
  241. data/lib/lutaml/model/error/sorting_configuration_conflict_error.rb +9 -0
  242. data/lib/lutaml/model/error/transform_block_not_defined_error.rb +6 -0
  243. data/lib/lutaml/model/error/type.rb +17 -0
  244. data/lib/lutaml/model/error/undefined_attribute_error.rb +9 -0
  245. data/lib/lutaml/model/error/unknown_adapter_type_error.rb +82 -3
  246. data/lib/lutaml/model/error/unknown_type_error.rb +25 -2
  247. data/lib/lutaml/model/error/unresolvable_type_error.rb +27 -0
  248. data/lib/lutaml/model/error.rb +2 -33
  249. data/lib/lutaml/model/errors.rb +4 -2
  250. data/lib/lutaml/model/finalization_cache.rb +51 -0
  251. data/lib/lutaml/model/format_registry.rb +236 -2
  252. data/lib/lutaml/model/global_context.rb +446 -0
  253. data/lib/lutaml/model/global_register.rb +106 -5
  254. data/lib/lutaml/model/hash.rb +15 -0
  255. data/lib/lutaml/model/import_registry.rb +250 -0
  256. data/lib/lutaml/model/instrumentation.rb +304 -0
  257. data/lib/lutaml/model/json.rb +17 -13
  258. data/lib/lutaml/model/jsonl.rb +7 -13
  259. data/lib/lutaml/model/liquefiable.rb +100 -12
  260. data/lib/lutaml/model/liquid/mapping.rb +30 -0
  261. data/lib/lutaml/model/liquid.rb +9 -0
  262. data/lib/lutaml/model/mapping/listener.rb +124 -0
  263. data/lib/lutaml/model/mapping/mapping.rb +99 -1
  264. data/lib/lutaml/model/mapping/mapping_rule.rb +172 -17
  265. data/lib/lutaml/model/mapping/model_mapping.rb +133 -0
  266. data/lib/lutaml/model/mapping/model_mapping_rule.rb +57 -0
  267. data/lib/lutaml/model/mapping_hash.rb +3 -1
  268. data/lib/lutaml/model/model_transformer.rb +101 -0
  269. data/lib/lutaml/model/one_entry_cache.rb +57 -0
  270. data/lib/lutaml/model/organization.rb +29 -0
  271. data/lib/lutaml/model/register/model_tree_importer.rb +88 -0
  272. data/lib/lutaml/model/register/namespace_binding.rb +92 -0
  273. data/lib/lutaml/model/register.rb +500 -35
  274. data/lib/lutaml/model/registrable.rb +2 -0
  275. data/lib/lutaml/model/render_policy.rb +154 -0
  276. data/lib/lutaml/model/runtime_compatibility.rb +95 -0
  277. data/lib/lutaml/model/schema/base_schema.rb +1 -3
  278. data/lib/lutaml/model/schema/decorators/attribute.rb +3 -1
  279. data/lib/lutaml/model/schema/decorators/choices.rb +0 -2
  280. data/lib/lutaml/model/schema/decorators/class_definition.rb +4 -5
  281. data/lib/lutaml/model/schema/decorators/definition_collection.rb +7 -7
  282. data/lib/lutaml/model/schema/decorators.rb +15 -0
  283. data/lib/lutaml/model/schema/generator/definition.rb +4 -3
  284. data/lib/lutaml/model/schema/generator/definitions_collection.rb +4 -3
  285. data/lib/lutaml/model/schema/generator/properties_collection.rb +7 -5
  286. data/lib/lutaml/model/schema/generator/property.rb +5 -1
  287. data/lib/lutaml/model/schema/generator.rb +15 -0
  288. data/lib/lutaml/model/schema/helpers.rb +11 -0
  289. data/lib/lutaml/model/schema/json_schema.rb +9 -53
  290. data/lib/lutaml/model/schema/renderer.rb +19 -17
  291. data/lib/lutaml/model/schema/schema_builder/nokogiri.rb +41 -0
  292. data/lib/lutaml/model/schema/schema_builder/oga.rb +92 -0
  293. data/lib/lutaml/model/schema/shared_methods.rb +2 -2
  294. data/lib/lutaml/model/schema/xml_compiler/attribute.rb +33 -12
  295. data/lib/lutaml/model/schema/xml_compiler/attribute_group.rb +3 -1
  296. data/lib/lutaml/model/schema/xml_compiler/choice.rb +4 -2
  297. data/lib/lutaml/model/schema/xml_compiler/complex_type.rb +73 -36
  298. data/lib/lutaml/model/schema/xml_compiler/element.rb +18 -1
  299. data/lib/lutaml/model/schema/xml_compiler/group.rb +20 -4
  300. data/lib/lutaml/model/schema/xml_compiler/registry_generator.rb +127 -0
  301. data/lib/lutaml/model/schema/xml_compiler/restriction.rb +5 -2
  302. data/lib/lutaml/model/schema/xml_compiler/sequence.rb +6 -2
  303. data/lib/lutaml/model/schema/xml_compiler/simple_content.rb +7 -3
  304. data/lib/lutaml/model/schema/xml_compiler/simple_type.rb +127 -51
  305. data/lib/lutaml/model/schema/xml_compiler/xml_namespace_class.rb +110 -0
  306. data/lib/lutaml/model/schema/xml_compiler.rb +256 -82
  307. data/lib/lutaml/model/schema/yaml_schema.rb +10 -50
  308. data/lib/lutaml/model/schema.rb +49 -14
  309. data/lib/lutaml/model/schema_location.rb +12 -60
  310. data/lib/lutaml/model/sequence.rb +102 -30
  311. data/lib/lutaml/model/serializable.rb +1 -3
  312. data/lib/lutaml/model/serialization_adapter.rb +2 -0
  313. data/lib/lutaml/model/serialize/attribute_definition.rb +229 -0
  314. data/lib/lutaml/model/serialize/builder.rb +169 -0
  315. data/lib/lutaml/model/serialize/enum_handling.rb +124 -0
  316. data/lib/lutaml/model/serialize/format_conversion.rb +298 -0
  317. data/lib/lutaml/model/serialize/initialization.rb +308 -0
  318. data/lib/lutaml/model/serialize/model_import.rb +357 -0
  319. data/lib/lutaml/model/serialize/transformation_builder.rb +127 -0
  320. data/lib/lutaml/model/serialize/value_mapping.rb +200 -0
  321. data/lib/lutaml/model/serialize.rb +175 -580
  322. data/lib/lutaml/model/services/base.rb +2 -2
  323. data/lib/lutaml/model/services/default_value_resolver.rb +60 -0
  324. data/lib/lutaml/model/services/logger.rb +10 -7
  325. data/lib/lutaml/model/services/rule_value_extractor.rb +22 -36
  326. data/lib/lutaml/model/services/transformer.rb +50 -9
  327. data/lib/lutaml/model/services/type/validator/string.rb +3 -2
  328. data/lib/lutaml/model/services/type/validator/symbol.rb +30 -0
  329. data/lib/lutaml/model/services/type/validator.rb +5 -2
  330. data/lib/lutaml/model/services/type.rb +9 -0
  331. data/lib/lutaml/model/services/validator.rb +1 -3
  332. data/lib/lutaml/model/services.rb +12 -5
  333. data/lib/lutaml/model/store.rb +59 -0
  334. data/lib/lutaml/model/toml.rb +24 -18
  335. data/lib/lutaml/model/transform/xml_transform.rb +4 -227
  336. data/lib/lutaml/model/transform.rb +49 -17
  337. data/lib/lutaml/model/transformation.rb +84 -0
  338. data/lib/lutaml/model/transformation_builder.rb +55 -0
  339. data/lib/lutaml/model/transformation_registry.rb +314 -0
  340. data/lib/lutaml/model/type/base64_binary.rb +58 -0
  341. data/lib/lutaml/model/type/boolean.rb +9 -16
  342. data/lib/lutaml/model/type/date.rb +49 -9
  343. data/lib/lutaml/model/type/date_time.rb +30 -18
  344. data/lib/lutaml/model/type/decimal.rb +28 -9
  345. data/lib/lutaml/model/type/duration.rb +82 -0
  346. data/lib/lutaml/model/type/float.rb +12 -13
  347. data/lib/lutaml/model/type/hash.rb +10 -17
  348. data/lib/lutaml/model/type/hex_binary.rb +56 -0
  349. data/lib/lutaml/model/type/integer.rb +19 -1
  350. data/lib/lutaml/model/type/qname.rb +85 -0
  351. data/lib/lutaml/model/type/reference.rb +76 -0
  352. data/lib/lutaml/model/type/string.rb +18 -35
  353. data/lib/lutaml/model/type/symbol.rb +67 -0
  354. data/lib/lutaml/model/type/time.rb +19 -22
  355. data/lib/lutaml/model/type/time_without_date.rb +18 -18
  356. data/lib/lutaml/model/type/uninitialized_class_guard.rb +36 -0
  357. data/lib/lutaml/model/type/uri.rb +51 -0
  358. data/lib/lutaml/model/type/value.rb +52 -5
  359. data/lib/lutaml/model/type.rb +98 -13
  360. data/lib/lutaml/model/type_context.rb +279 -0
  361. data/lib/lutaml/model/type_registry.rb +165 -0
  362. data/lib/lutaml/model/type_resolver.rb +185 -0
  363. data/lib/lutaml/model/type_substitution.rb +117 -0
  364. data/lib/lutaml/model/uninitialized_class.rb +1 -1
  365. data/lib/lutaml/model/utils.rb +110 -9
  366. data/lib/lutaml/model/validation.rb +50 -7
  367. data/lib/lutaml/model/value_transformer.rb +25 -0
  368. data/lib/lutaml/model/version.rb +1 -1
  369. data/lib/lutaml/model/yaml.rb +7 -13
  370. data/lib/lutaml/model/yamls.rb +7 -13
  371. data/lib/lutaml/model.rb +227 -25
  372. data/lib/lutaml/{model/toml → toml/adapter}/document.rb +3 -4
  373. data/lib/lutaml/{model/toml → toml/adapter}/mapping.rb +7 -6
  374. data/lib/lutaml/toml/adapter/mapping_rule.rb +9 -0
  375. data/lib/lutaml/toml/adapter/toml_rb_adapter.rb +38 -0
  376. data/lib/lutaml/toml/adapter/tomlib_adapter.rb +54 -0
  377. data/lib/lutaml/toml/adapter/transform.rb +9 -0
  378. data/lib/lutaml/toml/adapter.rb +19 -0
  379. data/lib/lutaml/toml/type/serializers.rb +71 -0
  380. data/lib/lutaml/toml.rb +41 -0
  381. data/lib/lutaml/xml/adapter/adapter_helpers.rb +149 -0
  382. data/lib/lutaml/xml/adapter/base_adapter.rb +672 -0
  383. data/lib/lutaml/xml/adapter/namespace_data.rb +73 -0
  384. data/lib/lutaml/xml/adapter/nokogiri_adapter.rb +1115 -0
  385. data/lib/lutaml/xml/adapter/oga_adapter.rb +849 -0
  386. data/lib/lutaml/xml/adapter/ox_adapter.rb +891 -0
  387. data/lib/lutaml/xml/adapter/rexml_adapter.rb +869 -0
  388. data/lib/lutaml/xml/adapter/xml_serialization.rb +145 -0
  389. data/lib/lutaml/xml/adapter.rb +20 -0
  390. data/lib/lutaml/xml/adapter_element.rb +185 -0
  391. data/lib/lutaml/xml/adapter_loader.rb +53 -0
  392. data/lib/lutaml/xml/attribute_namespace_resolver.rb +139 -0
  393. data/lib/lutaml/xml/blank_namespace.rb +51 -0
  394. data/lib/lutaml/xml/blank_namespace_handler.rb +50 -0
  395. data/lib/lutaml/xml/builder/base.rb +215 -0
  396. data/lib/lutaml/xml/builder/nokogiri.rb +12 -0
  397. data/lib/lutaml/xml/builder/oga.rb +15 -0
  398. data/lib/lutaml/xml/builder/ox.rb +15 -0
  399. data/lib/lutaml/xml/builder/rexml.rb +15 -0
  400. data/lib/lutaml/xml/builder.rb +16 -0
  401. data/lib/lutaml/xml/configurable.rb +214 -0
  402. data/lib/lutaml/xml/data_model.rb +257 -0
  403. data/lib/lutaml/xml/decisions/decision.rb +103 -0
  404. data/lib/lutaml/xml/decisions/decision_context.rb +225 -0
  405. data/lib/lutaml/xml/decisions/decision_engine.rb +67 -0
  406. data/lib/lutaml/xml/decisions/decision_rule.rb +54 -0
  407. data/lib/lutaml/xml/decisions/element_prefix_resolver.rb +85 -0
  408. data/lib/lutaml/xml/decisions/rules/attribute_usage_rule.rb +37 -0
  409. data/lib/lutaml/xml/decisions/rules/default_preference_rule.rb +62 -0
  410. data/lib/lutaml/xml/decisions/rules/element_form_default_rule.rb +66 -0
  411. data/lib/lutaml/xml/decisions/rules/element_form_default_unqualified_rule.rb +73 -0
  412. data/lib/lutaml/xml/decisions/rules/element_form_option_rule.rb +83 -0
  413. data/lib/lutaml/xml/decisions/rules/explicit_option_rule.rb +57 -0
  414. data/lib/lutaml/xml/decisions/rules/format_preservation_rule.rb +74 -0
  415. data/lib/lutaml/xml/decisions/rules/hoisted_on_parent_rule.rb +60 -0
  416. data/lib/lutaml/xml/decisions/rules/inherit_from_parent_rule.rb +52 -0
  417. data/lib/lutaml/xml/decisions/rules/inherit_parent_prefix_rule.rb +69 -0
  418. data/lib/lutaml/xml/decisions/rules/namespace_scope_rule.rb +54 -0
  419. data/lib/lutaml/xml/decisions/rules/reuse_parent_prefix_rule.rb +78 -0
  420. data/lib/lutaml/xml/decisions/rules/used_prefix_rule.rb +70 -0
  421. data/lib/lutaml/xml/decisions/rules.rb +39 -0
  422. data/lib/lutaml/xml/decisions.rb +15 -0
  423. data/lib/lutaml/xml/declaration_handler.rb +217 -0
  424. data/lib/lutaml/xml/declaration_plan/attribute_node.rb +81 -0
  425. data/lib/lutaml/xml/declaration_plan/element_node.rb +101 -0
  426. data/lib/lutaml/xml/declaration_plan.rb +480 -0
  427. data/lib/lutaml/xml/declaration_plan_query.rb +105 -0
  428. data/lib/lutaml/xml/declaration_planner.rb +1849 -0
  429. data/lib/lutaml/xml/doctype_extractor.rb +51 -0
  430. data/lib/lutaml/xml/document.rb +380 -0
  431. data/lib/lutaml/xml/element.rb +93 -0
  432. data/lib/lutaml/xml/element_prefix_resolver.rb +50 -0
  433. data/lib/lutaml/xml/encoding_normalizer.rb +54 -0
  434. data/lib/lutaml/xml/error/invalid_namespace_error.rb +46 -0
  435. data/lib/lutaml/xml/error/invalid_xsd_type_error.rb +43 -0
  436. data/lib/lutaml/xml/error/namespace_mismatch_error.rb +53 -0
  437. data/lib/lutaml/xml/error/xml_configuration_error.rb +17 -0
  438. data/lib/lutaml/xml/error/xml_error.rb +21 -0
  439. data/lib/lutaml/xml/format_chooser.rb +214 -0
  440. data/lib/lutaml/xml/hoisting_algorithm.rb +234 -0
  441. data/lib/lutaml/xml/listener.rb +33 -0
  442. data/lib/lutaml/xml/mapping.rb +1470 -0
  443. data/lib/lutaml/xml/mapping_rule.rb +565 -0
  444. data/lib/lutaml/xml/model_transform.rb +944 -0
  445. data/lib/lutaml/xml/namespace.rb +435 -0
  446. data/lib/lutaml/xml/namespace_class_registry.rb +144 -0
  447. data/lib/lutaml/xml/namespace_collector.rb +611 -0
  448. data/lib/lutaml/xml/namespace_declaration.rb +202 -0
  449. data/lib/lutaml/xml/namespace_declaration_builder.rb +67 -0
  450. data/lib/lutaml/xml/namespace_declaration_data.rb +182 -0
  451. data/lib/lutaml/xml/namespace_inheritance_resolver.rb +142 -0
  452. data/lib/lutaml/xml/namespace_inheritance_strategy.rb +26 -0
  453. data/lib/lutaml/xml/namespace_needs.rb +213 -0
  454. data/lib/lutaml/xml/namespace_resolution_strategy.rb +230 -0
  455. data/lib/lutaml/xml/namespace_resolver.rb +219 -0
  456. data/lib/lutaml/xml/namespace_scope_config.rb +109 -0
  457. data/lib/lutaml/xml/namespace_type_resolver.rb +135 -0
  458. data/lib/lutaml/xml/namespace_usage.rb +121 -0
  459. data/lib/lutaml/xml/nokogiri/element.rb +34 -0
  460. data/lib/lutaml/xml/nokogiri.rb +10 -0
  461. data/lib/lutaml/xml/oga/element.rb +15 -0
  462. data/lib/lutaml/xml/oga.rb +10 -0
  463. data/lib/lutaml/xml/ox/element.rb +15 -0
  464. data/lib/lutaml/xml/ox.rb +10 -0
  465. data/lib/lutaml/xml/parsed_namespace_declaration.rb +129 -0
  466. data/lib/lutaml/xml/parsed_namespace_set.rb +149 -0
  467. data/lib/lutaml/xml/polymorphic_value_handler.rb +41 -0
  468. data/lib/lutaml/xml/qualified_inheritance_strategy.rb +27 -0
  469. data/lib/lutaml/xml/rexml/element.rb +15 -0
  470. data/lib/lutaml/xml/rexml.rb +10 -0
  471. data/lib/lutaml/xml/schema/builder/nokogiri.rb +41 -0
  472. data/lib/lutaml/xml/schema/builder/oga.rb +92 -0
  473. data/lib/lutaml/xml/schema/builder.rb +59 -0
  474. data/lib/lutaml/xml/schema/builtin_types.rb +112 -0
  475. data/lib/lutaml/{model → xml}/schema/relaxng_schema.rb +9 -4
  476. data/lib/lutaml/xml/schema/xsd/all.rb +31 -0
  477. data/lib/lutaml/xml/schema/xsd/annotation.rb +31 -0
  478. data/lib/lutaml/xml/schema/xsd/any.rb +33 -0
  479. data/lib/lutaml/xml/schema/xsd/any_attribute.rb +29 -0
  480. data/lib/lutaml/xml/schema/xsd/appinfo.rb +25 -0
  481. data/lib/lutaml/xml/schema/xsd/attribute.rb +78 -0
  482. data/lib/lutaml/xml/schema/xsd/attribute_group.rb +89 -0
  483. data/lib/lutaml/xml/schema/xsd/base.rb +267 -0
  484. data/lib/lutaml/xml/schema/xsd/choice.rb +68 -0
  485. data/lib/lutaml/xml/schema/xsd/complex_content.rb +39 -0
  486. data/lib/lutaml/xml/schema/xsd/complex_type.rb +157 -0
  487. data/lib/lutaml/xml/schema/xsd/documentation.rb +26 -0
  488. data/lib/lutaml/xml/schema/xsd/element.rb +117 -0
  489. data/lib/lutaml/xml/schema/xsd/enumeration.rb +25 -0
  490. data/lib/lutaml/xml/schema/xsd/errors/enhanced_error.rb +142 -0
  491. data/lib/lutaml/xml/schema/xsd/errors/error_context.rb +67 -0
  492. data/lib/lutaml/xml/schema/xsd/errors/message_builder.rb +103 -0
  493. data/lib/lutaml/xml/schema/xsd/errors/suggestion.rb +67 -0
  494. data/lib/lutaml/xml/schema/xsd/errors/troubleshooters/namespace_troubleshooter.rb +96 -0
  495. data/lib/lutaml/xml/schema/xsd/errors/troubleshooters/troubleshooting_handler.rb +70 -0
  496. data/lib/lutaml/xml/schema/xsd/errors.rb +148 -0
  497. data/lib/lutaml/xml/schema/xsd/extension_complex_content.rb +63 -0
  498. data/lib/lutaml/xml/schema/xsd/extension_simple_content.rb +48 -0
  499. data/lib/lutaml/xml/schema/xsd/field.rb +25 -0
  500. data/lib/lutaml/xml/schema/xsd/file_validation_result.rb +55 -0
  501. data/lib/lutaml/xml/schema/xsd/fraction_digits.rb +29 -0
  502. data/lib/lutaml/xml/schema/xsd/glob.rb +105 -0
  503. data/lib/lutaml/xml/schema/xsd/group.rb +79 -0
  504. data/lib/lutaml/xml/schema/xsd/import.rb +33 -0
  505. data/lib/lutaml/xml/schema/xsd/include.rb +31 -0
  506. data/lib/lutaml/xml/schema/xsd/key.rb +32 -0
  507. data/lib/lutaml/xml/schema/xsd/keyref.rb +33 -0
  508. data/lib/lutaml/xml/schema/xsd/length.rb +27 -0
  509. data/lib/lutaml/xml/schema/xsd/list.rb +28 -0
  510. data/lib/lutaml/xml/schema/xsd/max_exclusive.rb +25 -0
  511. data/lib/lutaml/xml/schema/xsd/max_inclusive.rb +23 -0
  512. data/lib/lutaml/xml/schema/xsd/max_length.rb +25 -0
  513. data/lib/lutaml/xml/schema/xsd/min_exclusive.rb +25 -0
  514. data/lib/lutaml/xml/schema/xsd/min_inclusive.rb +23 -0
  515. data/lib/lutaml/xml/schema/xsd/min_length.rb +25 -0
  516. data/lib/lutaml/xml/schema/xsd/namespace_mapping.rb +37 -0
  517. data/lib/lutaml/xml/schema/xsd/namespace_uri_remapping.rb +79 -0
  518. data/lib/lutaml/xml/schema/xsd/notation.rb +31 -0
  519. data/lib/lutaml/xml/schema/xsd/pattern.rb +25 -0
  520. data/lib/lutaml/xml/schema/xsd/redefine.rb +35 -0
  521. data/lib/lutaml/xml/schema/xsd/restriction_complex_content.rb +56 -0
  522. data/lib/lutaml/xml/schema/xsd/restriction_simple_content.rb +84 -0
  523. data/lib/lutaml/xml/schema/xsd/restriction_simple_type.rb +64 -0
  524. data/lib/lutaml/xml/schema/xsd/schema.rb +373 -0
  525. data/lib/lutaml/xml/schema/xsd/schema_file_validation_results.rb +55 -0
  526. data/lib/lutaml/xml/schema/xsd/schema_location_mapping.rb +74 -0
  527. data/lib/lutaml/xml/schema/xsd/schema_name_resolver.rb +32 -0
  528. data/lib/lutaml/xml/schema/xsd/schema_path.rb +196 -0
  529. data/lib/lutaml/xml/schema/xsd/schema_validator.rb +256 -0
  530. data/lib/lutaml/xml/schema/xsd/selector.rb +27 -0
  531. data/lib/lutaml/xml/schema/xsd/sequence.rb +68 -0
  532. data/lib/lutaml/xml/schema/xsd/serialized_schema.rb +185 -0
  533. data/lib/lutaml/xml/schema/xsd/simple_content.rb +61 -0
  534. data/lib/lutaml/xml/schema/xsd/simple_type.rb +37 -0
  535. data/lib/lutaml/xml/schema/xsd/total_digits.rb +29 -0
  536. data/lib/lutaml/xml/schema/xsd/type_index_entry.rb +40 -0
  537. data/lib/lutaml/xml/schema/xsd/type_resolution_result.rb +112 -0
  538. data/lib/lutaml/xml/schema/xsd/union.rb +30 -0
  539. data/lib/lutaml/xml/schema/xsd/unique.rb +31 -0
  540. data/lib/lutaml/xml/schema/xsd/validation_error.rb +48 -0
  541. data/lib/lutaml/xml/schema/xsd/validation_result.rb +86 -0
  542. data/lib/lutaml/xml/schema/xsd/version.rb +11 -0
  543. data/lib/lutaml/xml/schema/xsd/white_space.rb +27 -0
  544. data/lib/lutaml/xml/schema/xsd.rb +165 -0
  545. data/lib/lutaml/xml/schema/xsd_namespace.rb +29 -0
  546. data/lib/lutaml/xml/schema/xsd_schema.rb +536 -0
  547. data/lib/lutaml/xml/schema.rb +13 -0
  548. data/lib/lutaml/xml/schema_location.rb +155 -0
  549. data/lib/lutaml/xml/serialization/collection_ext.rb +61 -0
  550. data/lib/lutaml/xml/serialization/format_conversion.rb +402 -0
  551. data/lib/lutaml/xml/serialization/instance_methods.rb +297 -0
  552. data/lib/lutaml/xml/serialization/model_import_ext.rb +40 -0
  553. data/lib/lutaml/xml/serialization.rb +15 -0
  554. data/lib/lutaml/xml/shared_dsl.rb +119 -0
  555. data/lib/lutaml/xml/transform.rb +6 -0
  556. data/lib/lutaml/xml/transformation/custom_method_wrapper.rb +262 -0
  557. data/lib/lutaml/xml/transformation/element_builder.rb +586 -0
  558. data/lib/lutaml/xml/transformation/ordered_applier.rb +329 -0
  559. data/lib/lutaml/xml/transformation/rule_applier.rb +379 -0
  560. data/lib/lutaml/xml/transformation/rule_compiler.rb +543 -0
  561. data/lib/lutaml/xml/transformation/skip_logic.rb +70 -0
  562. data/lib/lutaml/xml/transformation/value_serializer.rb +139 -0
  563. data/lib/lutaml/xml/transformation.rb +340 -0
  564. data/lib/lutaml/xml/transformation_builder.rb +28 -0
  565. data/lib/lutaml/xml/transformation_support.rb +14 -0
  566. data/lib/lutaml/xml/type/configurable.rb +157 -0
  567. data/lib/lutaml/xml/type/serializers.rb +98 -0
  568. data/lib/lutaml/xml/type/value_xml_mapping.rb +94 -0
  569. data/lib/lutaml/xml/type_namespace/collector.rb +101 -0
  570. data/lib/lutaml/xml/type_namespace/declaration.rb +61 -0
  571. data/lib/lutaml/xml/type_namespace/planner.rb +121 -0
  572. data/lib/lutaml/xml/type_namespace/reference.rb +71 -0
  573. data/lib/lutaml/xml/type_namespace/resolver.rb +43 -0
  574. data/lib/lutaml/xml/type_namespace.rb +13 -0
  575. data/lib/lutaml/xml/type_namespace_resolver.rb +76 -0
  576. data/lib/lutaml/xml/unqualified_inheritance_strategy.rb +34 -0
  577. data/lib/lutaml/xml/w3c/registration.rb +66 -0
  578. data/lib/lutaml/xml/w3c.rb +398 -0
  579. data/lib/lutaml/xml/xml_attribute.rb +38 -0
  580. data/lib/lutaml/xml/xml_element.rb +447 -0
  581. data/lib/lutaml/xml/xml_namespace.rb +72 -0
  582. data/lib/lutaml/xml.rb +295 -0
  583. data/lib/lutaml/{model/yaml → yaml/adapter}/document.rb +3 -3
  584. data/lib/lutaml/yaml/adapter/mapping.rb +19 -0
  585. data/lib/lutaml/yaml/adapter/mapping_rule.rb +9 -0
  586. data/lib/lutaml/yaml/adapter/standard_adapter.rb +39 -0
  587. data/lib/lutaml/yaml/adapter/transform.rb +9 -0
  588. data/lib/lutaml/yaml/adapter.rb +13 -0
  589. data/lib/lutaml/yaml/schema/yaml_schema.rb +65 -0
  590. data/lib/lutaml/yaml/schema.rb +9 -0
  591. data/lib/lutaml/yaml/type/serializers.rb +60 -0
  592. data/lib/lutaml/yaml.rb +26 -0
  593. data/lib/lutaml/{model/yamls → yamls/adapter}/document.rb +2 -2
  594. data/lib/lutaml/yamls/adapter/mapping.rb +19 -0
  595. data/lib/lutaml/yamls/adapter/mapping_rule.rb +9 -0
  596. data/lib/lutaml/{model/yamls → yamls/adapter}/standard_adapter.rb +6 -5
  597. data/lib/lutaml/yamls/adapter/transform.rb +26 -0
  598. data/lib/lutaml/yamls/adapter.rb +13 -0
  599. data/lib/lutaml/yamls.rb +21 -0
  600. data/lib/tasks/benchmark_runner.rb +161 -0
  601. data/lib/tasks/memory_profile.rb +176 -0
  602. data/lib/tasks/performance.rake +75 -0
  603. data/lib/tasks/performance_benchmark.rb +499 -0
  604. data/lib/tasks/performance_comparator.rb +114 -0
  605. data/lib/tasks/performance_helpers.rb +149 -0
  606. data/lib/tasks/xml_compiler_benchmark.rb +226 -0
  607. data/lib/tasks/xml_optimization_benchmark.rb +178 -0
  608. data/lutaml-model.gemspec +11 -1
  609. data/reference-docs/XML Entity Definitions for Characters (3rd Edition).html +595 -0
  610. data/scripts-xmi-profile/profile_xmi.rb +192 -0
  611. data/scripts-xmi-profile/profile_xmi_simple.rb +210 -0
  612. data/spec/address_person_spec.rb +436 -0
  613. data/spec/address_spec.rb +20 -18
  614. data/spec/ceramic_spec.rb +25 -7
  615. data/spec/fixtures/address.rb +2 -2
  616. data/spec/fixtures/ceramic.rb +6 -2
  617. data/spec/fixtures/person.rb +14 -13
  618. data/spec/fixtures/sample_model.rb +3 -3
  619. data/spec/fixtures/vase.rb +3 -3
  620. data/spec/fixtures/xml/address_example_260.xsd +8 -4
  621. data/spec/fixtures/xml/examples/nested_categories.xml +45 -51
  622. data/spec/fixtures/xml/examples/valid_catalog.xml +27 -41
  623. data/spec/fixtures/xml/math_document_schema.xsd +7 -5
  624. data/spec/fixtures/xml/product_catalog.xsd +19 -138
  625. data/spec/fixtures/xml/schema/xsd/build_test_package.rb +19 -0
  626. data/spec/fixtures/xml/schema/xsd/citygml/2.0/cityGMLBase.xsd +339 -0
  627. data/spec/fixtures/xml/schema/xsd/citygml/appearance/2.0/appearance.xsd +332 -0
  628. data/spec/fixtures/xml/schema/xsd/citygml/bridge/2.0/bridge.xsd +578 -0
  629. data/spec/fixtures/xml/schema/xsd/citygml/building/2.0/building.xsd +535 -0
  630. data/spec/fixtures/xml/schema/xsd/citygml/cityfurniture/2.0/cityFurniture.xsd +57 -0
  631. data/spec/fixtures/xml/schema/xsd/citygml/cityobjectgroup/2.0/cityObjectGroup.xsd +84 -0
  632. data/spec/fixtures/xml/schema/xsd/citygml/examples/2.0/ade/noise-ade/CityGML-NoiseADE.xsd +174 -0
  633. data/spec/fixtures/xml/schema/xsd/citygml/examples/2.0/ade/robotics-ade/stdOp.xsd +46 -0
  634. data/spec/fixtures/xml/schema/xsd/citygml/examples/2.0/ade/robotics-ade/unr.xsd +46 -0
  635. data/spec/fixtures/xml/schema/xsd/citygml/generics/2.0/generics.xsd +184 -0
  636. data/spec/fixtures/xml/schema/xsd/citygml/landuse/2.0/landUse.xsd +50 -0
  637. data/spec/fixtures/xml/schema/xsd/citygml/profiles/base/2.0/CityGML.xsd +30 -0
  638. data/spec/fixtures/xml/schema/xsd/citygml/relief/2.0/relief.xsd +186 -0
  639. data/spec/fixtures/xml/schema/xsd/citygml/texturedsurface/2.0/texturedSurface.xsd +157 -0
  640. data/spec/fixtures/xml/schema/xsd/citygml/transportation/2.0/transportation.xsd +224 -0
  641. data/spec/fixtures/xml/schema/xsd/citygml/tunnel/2.0/tunnel.xsd +530 -0
  642. data/spec/fixtures/xml/schema/xsd/citygml/vegetation/2.0/vegetation.xsd +108 -0
  643. data/spec/fixtures/xml/schema/xsd/citygml/waterbody/2.0/waterBody.xsd +171 -0
  644. data/spec/fixtures/xml/schema/xsd/citygml/xAL/xAL.xsd +1680 -0
  645. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/basicTypes.xsd +262 -0
  646. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/coordinateOperations.xsd +519 -0
  647. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/coordinateReferenceSystems.xsd +367 -0
  648. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/coordinateSystems.xsd +291 -0
  649. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/coverage.xsd +287 -0
  650. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/datums.xsd +281 -0
  651. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/defaultStyle.xsd +447 -0
  652. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/deprecatedTypes.xsd +1128 -0
  653. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/dictionary.xsd +84 -0
  654. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/direction.xsd +78 -0
  655. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/dynamicFeature.xsd +103 -0
  656. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/feature.xsd +88 -0
  657. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/geometryAggregates.xsd +191 -0
  658. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/geometryBasic0d1d.xsd +271 -0
  659. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/geometryBasic2d.xsd +118 -0
  660. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/geometryComplexes.xsd +89 -0
  661. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/geometryPrimitives.xsd +841 -0
  662. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/gml.xsd +15 -0
  663. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/gmlBase.xsd +179 -0
  664. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/grids.xsd +58 -0
  665. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/measures.xsd +63 -0
  666. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/observation.xsd +90 -0
  667. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/referenceSystems.xsd +64 -0
  668. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/temporal.xsd +263 -0
  669. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/temporalReferenceSystems.xsd +183 -0
  670. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/temporalTopology.xsd +113 -0
  671. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/topology.xsd +380 -0
  672. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/units.xsd +156 -0
  673. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/gml/3.2.1/valueObjects.xsd +199 -0
  674. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gco/basicTypes.xsd +429 -0
  675. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gco/gco.xsd +12 -0
  676. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gco/gcoBase.xsd +61 -0
  677. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmd/applicationSchema.xsd +42 -0
  678. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmd/citation.xsd +275 -0
  679. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmd/constraints.xsd +106 -0
  680. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmd/content.xsd +188 -0
  681. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmd/dataQuality.xsd +554 -0
  682. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmd/distribution.xsd +202 -0
  683. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmd/extent.xsd +205 -0
  684. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmd/freeText.xsd +122 -0
  685. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmd/gmd.xsd +12 -0
  686. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmd/identification.xsd +348 -0
  687. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmd/maintenance.xsd +86 -0
  688. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmd/metadataApplication.xsd +175 -0
  689. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmd/metadataEntity.xsd +70 -0
  690. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmd/metadataExtension.xsd +99 -0
  691. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmd/portrayalCatalogue.xsd +36 -0
  692. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmd/referenceSystem.xsd +100 -0
  693. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmd/spatialRepresentation.xsd +237 -0
  694. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmx/catalogues.xsd +112 -0
  695. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmx/codelistItem.xsd +168 -0
  696. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmx/crsItem.xsd +1030 -0
  697. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmx/extendedTypes.xsd +75 -0
  698. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmx/gmx.xsd +2 -0
  699. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmx/gmxUsage.xsd +127 -0
  700. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gmx/uomItem.xsd +162 -0
  701. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gsr/gsr.xsd +12 -0
  702. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gsr/spatialReferencing.xsd +24 -0
  703. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gss/geometry.xsd +35 -0
  704. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gss/gss.xsd +12 -0
  705. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gts/gts.xsd +12 -0
  706. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/iso/19139/20070417/gts/temporalObjects.xsd +34 -0
  707. data/spec/fixtures/xml/schema/xsd/codesynthesis-gml-3.2.1/xlink/1.0.0/xlinks.xsd +122 -0
  708. data/spec/fixtures/xml/schema/xsd/i-ur/urbanFunction.xsd +2772 -0
  709. data/spec/fixtures/xml/schema/xsd/i-ur/urbanObject.xsd +3344 -0
  710. data/spec/fixtures/xml/schema/xsd/import-without-location.xsd +9 -0
  711. data/spec/fixtures/xml/schema/xsd/isotc211/19103/-/gco/1.2/baseTypes.xsd +775 -0
  712. data/spec/fixtures/xml/schema/xsd/isotc211/19103/-/gco/1.2/gco.xsd +17 -0
  713. data/spec/fixtures/xml/schema/xsd/isotc211/19103/-/gco/1.2.0/baseTypes.xsd +775 -0
  714. data/spec/fixtures/xml/schema/xsd/isotc211/19103/-/gco/1.2.0/gco.xsd +17 -0
  715. data/spec/fixtures/xml/schema/xsd/isotc211/19103/-/gcx/1.2/extendedTypes.xsd +151 -0
  716. data/spec/fixtures/xml/schema/xsd/isotc211/19103/-/gcx/1.2/gcx.xsd +16 -0
  717. data/spec/fixtures/xml/schema/xsd/isotc211/19103/-/gcx/1.2.0/extendedTypes.xsd +151 -0
  718. data/spec/fixtures/xml/schema/xsd/isotc211/19103/-/gcx/1.2.0/gcx.xsd +16 -0
  719. data/spec/fixtures/xml/schema/xsd/isotc211/19107/-/gss/1.0.0/coordinateGeometry.xsd +1078 -0
  720. data/spec/fixtures/xml/schema/xsd/isotc211/19107/-/gss/1.0.0/geometricAggregates.xsd +141 -0
  721. data/spec/fixtures/xml/schema/xsd/isotc211/19107/-/gss/1.0.0/geometricComplex.xsd +177 -0
  722. data/spec/fixtures/xml/schema/xsd/isotc211/19107/-/gss/1.0.0/geometricPrimative.xsd +526 -0
  723. data/spec/fixtures/xml/schema/xsd/isotc211/19107/-/gss/1.0.0/geometry.xsd +9 -0
  724. data/spec/fixtures/xml/schema/xsd/isotc211/19107/-/gss/1.0.0/geometryRoot.xsd +59 -0
  725. data/spec/fixtures/xml/schema/xsd/isotc211/19107/-/gss/1.0.0/gss.xsd +26 -0
  726. data/spec/fixtures/xml/schema/xsd/isotc211/19107/-/gss/1.0.0/topoComplex.xsd +33 -0
  727. data/spec/fixtures/xml/schema/xsd/isotc211/19107/-/gss/1.0.0/topoPrimative.xsd +432 -0
  728. data/spec/fixtures/xml/schema/xsd/isotc211/19107/-/gss/1.0.0/topoRoot.xsd +9 -0
  729. data/spec/fixtures/xml/schema/xsd/isotc211/19107/-/gss/1.0.0/topology.xsd +15 -0
  730. data/spec/fixtures/xml/schema/xsd/isotc211/19107/-/gss/2.0.0/coordinates.xsd +15 -0
  731. data/spec/fixtures/xml/schema/xsd/isotc211/19107/-/gss/2.0.0/curves.xsd +22 -0
  732. data/spec/fixtures/xml/schema/xsd/isotc211/19107/-/gss/2.0.0/geometry.xsd +41 -0
  733. data/spec/fixtures/xml/schema/xsd/isotc211/19107/-/gss/2.0.0/gss.xsd +21 -0
  734. data/spec/fixtures/xml/schema/xsd/isotc211/19107/-/gss/2.0.0/simplicialGeometry.xsd +63 -0
  735. data/spec/fixtures/xml/schema/xsd/isotc211/19107/-/gss/2.0.0/solids.xsd +21 -0
  736. data/spec/fixtures/xml/schema/xsd/isotc211/19107/-/gss/2.0.0/surfaces.xsd +15 -0
  737. data/spec/fixtures/xml/schema/xsd/isotc211/19107/-/gss/2.0.0/topology.xsd +21 -0
  738. data/spec/fixtures/xml/schema/xsd/isotc211/19110/-/fcc/2.1.0/abstract.xsd +47 -0
  739. data/spec/fixtures/xml/schema/xsd/isotc211/19110/-/fcc/2.1.0/fcc.xsd +12 -0
  740. data/spec/fixtures/xml/schema/xsd/isotc211/19110/-/fcc/2.2/abstract.xsd +45 -0
  741. data/spec/fixtures/xml/schema/xsd/isotc211/19110/-/fcc/2.2/fcc.xsd +11 -0
  742. data/spec/fixtures/xml/schema/xsd/isotc211/19110/-/fcc/2.2.0/abstract.xsd +45 -0
  743. data/spec/fixtures/xml/schema/xsd/isotc211/19110/-/fcc/2.2.0/fcc.xsd +11 -0
  744. data/spec/fixtures/xml/schema/xsd/isotc211/19110/-/gfc/1.0/gfc.xsd +497 -0
  745. data/spec/fixtures/xml/schema/xsd/isotc211/19110/-/gfc/2.1.0/featureCatalogue.xsd +673 -0
  746. data/spec/fixtures/xml/schema/xsd/isotc211/19110/-/gfc/2.1.0/gfc.xsd +19 -0
  747. data/spec/fixtures/xml/schema/xsd/isotc211/19110/-/gfc/2.2/featureCatalogue.xsd +798 -0
  748. data/spec/fixtures/xml/schema/xsd/isotc211/19110/-/gfc/2.2/gfc.xsd +19 -0
  749. data/spec/fixtures/xml/schema/xsd/isotc211/19110/-/gfc/2.2.0/featureCatalogue.xsd +798 -0
  750. data/spec/fixtures/xml/schema/xsd/isotc211/19110/-/gfc/2.2.0/gfc.xsd +19 -0
  751. data/spec/fixtures/xml/schema/xsd/isotc211/19110/fcc/1.0/abstract.xsd +49 -0
  752. data/spec/fixtures/xml/schema/xsd/isotc211/19110/fcc/1.0/fcc.xsd +9 -0
  753. data/spec/fixtures/xml/schema/xsd/isotc211/19110/gfc/1.1/featureCatalogue.xsd +671 -0
  754. data/spec/fixtures/xml/schema/xsd/isotc211/19110/gfc/1.1/gfc.xsd +13 -0
  755. data/spec/fixtures/xml/schema/xsd/isotc211/19111/-/rbc/3.1/rbc.xsd +13 -0
  756. data/spec/fixtures/xml/schema/xsd/isotc211/19111/-/rbc/3.1/rbcStubs.xsd +195 -0
  757. data/spec/fixtures/xml/schema/xsd/isotc211/19111/-/rbc/3.1.0/rbc.xsd +13 -0
  758. data/spec/fixtures/xml/schema/xsd/isotc211/19111/-/rbc/3.1.0/rbcStubs.xsd +195 -0
  759. data/spec/fixtures/xml/schema/xsd/isotc211/19111/-/rbc/3.1.1/AbstractCommonClasses.xsd +282 -0
  760. data/spec/fixtures/xml/schema/xsd/isotc211/19111/-/rbc/3.1.1/commonClasses.xsd +127 -0
  761. data/spec/fixtures/xml/schema/xsd/isotc211/19111/-/rbc/3.1.1/coordOps.xsd +676 -0
  762. data/spec/fixtures/xml/schema/xsd/isotc211/19111/-/rbc/3.1.1/coordRefSys.xsd +498 -0
  763. data/spec/fixtures/xml/schema/xsd/isotc211/19111/-/rbc/3.1.1/coordSys.xsd +844 -0
  764. data/spec/fixtures/xml/schema/xsd/isotc211/19111/-/rbc/3.1.1/coordinates.xsd +101 -0
  765. data/spec/fixtures/xml/schema/xsd/isotc211/19111/-/rbc/3.1.1/datum.xsd +474 -0
  766. data/spec/fixtures/xml/schema/xsd/isotc211/19111/-/rbc/3.1.1/rbc.xsd +18 -0
  767. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/cit/1.3/cit.xsd +12 -0
  768. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/cit/1.3/citation.xsd +445 -0
  769. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/cit/1.3.0/cit.xsd +12 -0
  770. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/cit/1.3.0/citation.xsd +445 -0
  771. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/gex/1.3/extent.xsd +243 -0
  772. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/gex/1.3/gex.xsd +16 -0
  773. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/gex/1.3.0/extent.xsd +243 -0
  774. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/gex/1.3.0/gex.xsd +16 -0
  775. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/gex/1.3.1/extent.xsd +244 -0
  776. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/gex/1.3.1/gex.xsd +15 -0
  777. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/lan/1.3/lan.xsd +13 -0
  778. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/lan/1.3/language.xsd +152 -0
  779. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/lan/1.3.0/lan.xsd +13 -0
  780. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/lan/1.3.0/language.xsd +152 -0
  781. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mas/1.3/applicationSchema.xsd +58 -0
  782. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mas/1.3/mas.xsd +16 -0
  783. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mas/1.3.0/applicationSchema.xsd +58 -0
  784. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mas/1.3.0/mas.xsd +16 -0
  785. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mcc/1.3/AbstractCommonClasses.xsd +378 -0
  786. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mcc/1.3/commonClasses.xsd +205 -0
  787. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mcc/1.3/mcc.xsd +12 -0
  788. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mcc/1.3.0/AbstractCommonClasses.xsd +378 -0
  789. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mcc/1.3.0/commonClasses.xsd +205 -0
  790. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mcc/1.3.0/mcc.xsd +12 -0
  791. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mco/1.3/constraints.xsd +171 -0
  792. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mco/1.3/mco.xsd +14 -0
  793. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mco/1.3.0/constraints.xsd +171 -0
  794. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mco/1.3.0/mco.xsd +14 -0
  795. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mda/1.3/mda.xsd +13 -0
  796. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mda/1.3/metadataApplication.xsd +207 -0
  797. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mda/1.3.0/mda.xsd +13 -0
  798. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mda/1.3.0/metadataApplication.xsd +207 -0
  799. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mda/1.3.1/mda.xsd +13 -0
  800. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mda/1.3.1/metadataApplication.xsd +247 -0
  801. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mdb/1.3/mdb.xsd +11 -0
  802. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mdb/1.3/metadataBase.xsd +117 -0
  803. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mdb/1.3/metadataBaseMDAerror.xsd +116 -0
  804. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mdb/1.3.0/mdb.xsd +11 -0
  805. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mdb/1.3.0/metadataBase.xsd +117 -0
  806. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mdb/1.3.0/metadataBaseMDAerror.xsd +116 -0
  807. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mdb/1.3.1/mdb.xsd +11 -0
  808. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mdb/1.3.1/metadataBase.xsd +144 -0
  809. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mex/1.3/metadataExtension.xsd +138 -0
  810. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mex/1.3/mex.xsd +15 -0
  811. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mex/1.3.0/metadataExtension.xsd +138 -0
  812. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mex/1.3.0/mex.xsd +15 -0
  813. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mmi/1.3/maintenance.xsd +70 -0
  814. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mmi/1.3/mmi.xsd +14 -0
  815. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mmi/1.3.0/maintenance.xsd +70 -0
  816. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mmi/1.3.0/mmi.xsd +14 -0
  817. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mpc/1.3/mpc.xsd +14 -0
  818. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mpc/1.3/portrayalCatalogue.xsd +40 -0
  819. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mpc/1.3.0/mpc.xsd +14 -0
  820. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mpc/1.3.0/portrayalCatalogue.xsd +40 -0
  821. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrc/1.3/content.xsd +368 -0
  822. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrc/1.3/mrc.xsd +19 -0
  823. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrc/1.3.0/content.xsd +368 -0
  824. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrc/1.3.0/mrc.xsd +19 -0
  825. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrc/1.3.1/content.xsd +366 -0
  826. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrc/1.3.1/mrc.xsd +13 -0
  827. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrd/1.3/distribution.xsd +232 -0
  828. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrd/1.3/mrd.xsd +13 -0
  829. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrd/1.3.0/distribution.xsd +232 -0
  830. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrd/1.3.0/mrd.xsd +13 -0
  831. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mri/1.3/identification.xsd +425 -0
  832. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mri/1.3/mri.xsd +16 -0
  833. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mri/1.3.0/identification.xsd +425 -0
  834. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mri/1.3.0/mri.xsd +16 -0
  835. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrl/1.3/lineage.xsd +130 -0
  836. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrl/1.3/mrl.xsd +15 -0
  837. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrl/1.3.0/lineage.xsd +130 -0
  838. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrl/1.3.0/mrl.xsd +15 -0
  839. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrs/1.3/mrs.xsd +16 -0
  840. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrs/1.3/referenceSystem.xsd +67 -0
  841. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrs/1.3.0/mrs.xsd +16 -0
  842. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrs/1.3.0/referenceSystem.xsd +67 -0
  843. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrs/1.3.1/mrs.xsd +16 -0
  844. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/mrs/1.3.1/referenceSystem.xsd +66 -0
  845. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/msr/1.3/msr.xsd +17 -0
  846. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/msr/1.3/spatialRepresentation.xsd +326 -0
  847. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/msr/1.3.0/msr.xsd +17 -0
  848. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/msr/1.3.0/spatialRepresentation.xsd +326 -0
  849. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/msr/1.3.1/msr.xsd +15 -0
  850. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/msr/1.3.1/spatialRepresentation.xsd +326 -0
  851. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/srv/1.3/serviceInformation.xsd +252 -0
  852. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/srv/1.3/srv.xsd +14 -0
  853. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/srv/1.3.0/serviceInformation.xsd +252 -0
  854. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-1/srv/1.3.0/srv.xsd +14 -0
  855. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/gmi/1.0/acquisitionInformation.xsd +415 -0
  856. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/gmi/1.0/contentInformation.xsd +147 -0
  857. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/gmi/1.0/dataQualityInformation.xsd +214 -0
  858. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/gmi/1.0/gmi.xsd +23 -0
  859. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/gmi/1.0/metadataEntitySet.xsd +43 -0
  860. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/gmi/1.0/spatialRepresentationInformation.xsd +140 -0
  861. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/gmi/1.1/acquisitionInformation.xsd +415 -0
  862. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/gmi/1.1/contentInformation.xsd +147 -0
  863. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/gmi/1.1/dataQualityInformation.xsd +214 -0
  864. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/gmi/1.1/gmi.xsd +24 -0
  865. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/gmi/1.1/metadataEntitySet.xsd +43 -0
  866. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/gmi/1.1/spatialRepresentationInformation.xsd +142 -0
  867. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/mac/2.2/acquisitionInformationImagery.xsd +796 -0
  868. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/mac/2.2/mac.xsd +11 -0
  869. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/mac/2.2.0/acquisitionInformationImagery.xsd +796 -0
  870. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/mac/2.2.0/mac.xsd +11 -0
  871. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/mac/2.2.1/acquisitionInformationImagery.xsd +799 -0
  872. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/mac/2.2.1/mac.xsd +10 -0
  873. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/mrc/2.2/contentInformationImagery.xsd +161 -0
  874. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/mrc/2.2.0/contentInformationImagery.xsd +161 -0
  875. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/mrc/2.2.1/contentInformationImagery.xsd +159 -0
  876. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/mrl/2.2/lineageImagery.xsd +312 -0
  877. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/mrl/2.2.0/lineageImagery.xsd +312 -0
  878. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/msr/2.2/spatialRepresentationImagery.xsd +138 -0
  879. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/msr/2.2.0/spatialRepresentationImagery.xsd +138 -0
  880. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-2/msr/2.2.1/spatialRepresentationImagery.xsd +145 -0
  881. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/cat/1.0/cat.xsd +16 -0
  882. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/cat/1.0/catalogues.xsd +59 -0
  883. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/cat/1.0/codelistItem.xsd +63 -0
  884. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/cat/1.0/crsItem.xsd +188 -0
  885. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/cat/1.0/uomItem.xsd +45 -0
  886. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/cit/1.0/cit.xsd +11 -0
  887. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/cit/1.0/citation.xsd +400 -0
  888. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/cit/2.0/cit.xsd +11 -0
  889. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/cit/2.0/citation.xsd +402 -0
  890. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/gco/1.0/baseTypes.xsd +532 -0
  891. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/gco/1.0/baseTypes2014.xsd +531 -0
  892. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/gco/1.0/gco.xsd +16 -0
  893. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/gcx/1.0/extendedTypes.xsd +97 -0
  894. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/gcx/1.0/gcx.xsd +11 -0
  895. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/gex/1.0/extent.xsd +207 -0
  896. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/gex/1.0/gex.xsd +15 -0
  897. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/gmw/1.0/gmlWrapperTypes.xsd +147 -0
  898. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/gmw/1.0/gmlWrapperTypes2014.xsd +147 -0
  899. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/gmw/1.0/gmw.xsd +17 -0
  900. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/lan/1.0/lan.xsd +13 -0
  901. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/lan/1.0/language.xsd +141 -0
  902. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mac/1.0/acquisitionInformationImagery.xsd +424 -0
  903. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mac/1.0/mac.xsd +14 -0
  904. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mac/2.0/acquisitionInformationImagery.xsd +473 -0
  905. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mac/2.0/event.xsd +106 -0
  906. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mac/2.0/mac.xsd +15 -0
  907. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mac/2.0/metadataEntitySet.xsd +46 -0
  908. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mas/1.0/applicationSchema.xsd +53 -0
  909. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mas/1.0/mas.xsd +15 -0
  910. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mcc/1.0/AbstractCommonClasses.xsd +362 -0
  911. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mcc/1.0/commonClasses.xsd +179 -0
  912. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mcc/1.0/mcc.xsd +12 -0
  913. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mco/1.0/constraints.xsd +152 -0
  914. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mco/1.0/mco.xsd +13 -0
  915. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/md1/1.0/md1.xsd +19 -0
  916. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/md1/1.0/metadataWExtendedType.xsd +10 -0
  917. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/md1/2.0/md1.xsd +19 -0
  918. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/md1/2.0/metadataWExtendedType.xsd +10 -0
  919. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/md2/1.0/md2.xsd +27 -0
  920. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/md2/1.0/metadataWithExtensions.xsd +10 -0
  921. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/md2/2.0/md2.xsd +27 -0
  922. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/md2/2.0/metadataWithExtensions.xsd +10 -0
  923. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mda/1.0/mda.xsd +13 -0
  924. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mda/1.0/metadataApplication.xsd +188 -0
  925. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mda/2.0/mda.xsd +13 -0
  926. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mda/2.0/metadataApplication.xsd +189 -0
  927. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mdb/1.0/mdb.xsd +23 -0
  928. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mdb/1.0/metadataBase.xsd +97 -0
  929. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mdb/2.0/mdb.xsd +23 -0
  930. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mdb/2.0/metadataBase.xsd +105 -0
  931. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mds/1.0/mds.xsd +59 -0
  932. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mds/1.0/metadataDataServices.xsd +10 -0
  933. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mds/2.0/mds.xsd +44 -0
  934. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mds/2.0/metadataDataServices.xsd +10 -0
  935. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mdt/1.0/mdt.xsd +17 -0
  936. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mdt/1.0/metadataTransfer.xsd +121 -0
  937. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mdt/2.0/mdt.xsd +17 -0
  938. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mdt/2.0/metadataTransfer.xsd +121 -0
  939. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mex/1.0/metadataExtension.xsd +122 -0
  940. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mex/1.0/mex.xsd +13 -0
  941. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mmi/1.0/maintenance.xsd +63 -0
  942. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mmi/1.0/mmi.xsd +13 -0
  943. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mpc/1.0/mpc.xsd +13 -0
  944. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mpc/1.0/portrayalCatalogue.xsd +35 -0
  945. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mrc/1.0/content.xsd +330 -0
  946. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mrc/1.0/contentInformationImagery.xsd +160 -0
  947. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mrc/1.0/mrc.xsd +18 -0
  948. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mrc/2.0/content.xsd +334 -0
  949. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mrc/2.0/contentInformationImagery.xsd +143 -0
  950. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mrc/2.0/mrc.xsd +21 -0
  951. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mrd/1.0/distribution.xsd +212 -0
  952. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mrd/1.0/mrd.xsd +13 -0
  953. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mri/1.0/identification.xsd +385 -0
  954. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mri/1.0/mri.xsd +15 -0
  955. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mrl/1.0/lineage.xsd +117 -0
  956. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mrl/1.0/lineageImagery.xsd +168 -0
  957. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mrl/1.0/mrl.xsd +14 -0
  958. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mrl/2.0/lineage.xsd +118 -0
  959. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mrl/2.0/lineageImagery.xsd +250 -0
  960. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mrl/2.0/mrl.xsd +14 -0
  961. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mrs/1.0/mrs.xsd +13 -0
  962. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/mrs/1.0/referenceSystem.xsd +47 -0
  963. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/msr/1.0/msr.xsd +16 -0
  964. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/msr/1.0/spatialRepresentation.xsd +288 -0
  965. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/msr/1.0/spatialRepresentationImagery.xsd +113 -0
  966. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/msr/2.0/msr.xsd +16 -0
  967. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/msr/2.0/spatialRepresentation.xsd +296 -0
  968. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/msr/2.0/spatialRepresentationImagery.xsd +114 -0
  969. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/srv/2.0/serviceInformation.xsd +217 -0
  970. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/srv/2.0/srv.xsd +14 -0
  971. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/srv/2.1/serviceInformation.xsd +220 -0
  972. data/spec/fixtures/xml/schema/xsd/isotc211/19115/-3/srv/2.1/srv.xsd +14 -0
  973. data/spec/fixtures/xml/schema/xsd/isotc211/19119/-/srv/1.0/serviceMetadata.xsd +204 -0
  974. data/spec/fixtures/xml/schema/xsd/isotc211/19119/-/srv/1.0/serviceModel.xsd +230 -0
  975. data/spec/fixtures/xml/schema/xsd/isotc211/19119/-/srv/1.0/srv.xsd +13 -0
  976. data/spec/fixtures/xml/schema/xsd/isotc211/19119/srv/serviceMetadata.xsd +204 -0
  977. data/spec/fixtures/xml/schema/xsd/isotc211/19119/srv/serviceModel.xsd +238 -0
  978. data/spec/fixtures/xml/schema/xsd/isotc211/19119/srv/srv.xsd +13 -0
  979. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-/cis/1.1/cis-0.xsd +17 -0
  980. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-/cis/1.1/codeLists.xsd +68 -0
  981. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-/cis/1.1/gridPoint.xsd +47 -0
  982. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-/cis/1.1.0/cis-0.xsd +17 -0
  983. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-/cis/1.1.0/codeLists.xsd +68 -0
  984. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-/cis/1.1.0/gridPoint.xsd +47 -0
  985. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-/cis/3.1.0/codeLists.xsd +68 -0
  986. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-/cis/3.1.0/gridPoint.xsd +47 -0
  987. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-2/cis/1.0/coverage.xsd +185 -0
  988. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-2/cis/1.0/gmlcovAll.xsd +21 -0
  989. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-2/cis/1.0/grids.xsd +115 -0
  990. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-2/cis/1.1/coverage.xsd +188 -0
  991. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-2/cis/1.1/gmlcovAll.xsd +25 -0
  992. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-2/cis/1.1/grids.xsd +119 -0
  993. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-2/cis/1.1.0/coverage.xsd +188 -0
  994. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-2/cis/1.1.0/gmlcovAll.xsd +25 -0
  995. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-2/cis/1.1.0/grids.xsd +119 -0
  996. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-2/cis/3.1.0/coverage.xsd +188 -0
  997. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-2/cis/3.1.0/gmlcovAll.xsd +23 -0
  998. data/spec/fixtures/xml/schema/xsd/isotc211/19123/-2/cis/3.1.0/grids.xsd +119 -0
  999. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-1/smi/1.1.0/codeList.xsd +134 -0
  1000. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-1/smi/1.1.0/groundControlPoints.xsd +239 -0
  1001. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-1/smi/1.1.0/nonPhysicalSensorModel.xsd +321 -0
  1002. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-1/smi/1.1.0/physicalSensorModel.xsd +62 -0
  1003. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-1/smi/1.1.0/sensorModel.xsd +65 -0
  1004. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-1/smi/1.1.0/sensorParameters.xsd +762 -0
  1005. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-1/smi/1.1.0/spatialElements.xsd +497 -0
  1006. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-1/smi/1.1.1/codeList.xsd +129 -0
  1007. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-1/smi/1.1.1/groundControlPoints.xsd +235 -0
  1008. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-1/smi/1.1.1/nonPhysicalSensorModel.xsd +321 -0
  1009. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-1/smi/1.1.1/physicalSensorModel.xsd +62 -0
  1010. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-1/smi/1.1.1/sensorModel.xsd +65 -0
  1011. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-1/smi/1.1.1/sensorParameters.xsd +762 -0
  1012. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-1/smi/1.1.1/spatialElements.xsd +496 -0
  1013. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-2/smi/1.1.0/codeList.xsd +349 -0
  1014. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-2/smi/1.1.0/sensorModel.xsd +53 -0
  1015. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-2/smi/1.1.0/sensorParameters.xsd +681 -0
  1016. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-2/smi/1.1.0/spatialElements.xsd +902 -0
  1017. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-2/smi/1.1.1/codeList.xsd +344 -0
  1018. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-2/smi/1.1.1/sensorModel.xsd +49 -0
  1019. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-2/smi/1.1.1/sensorParameters.xsd +676 -0
  1020. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-2/smi/1.1.1/spatialElements.xsd +897 -0
  1021. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-3/smi/1.1/smi.xsd +42 -0
  1022. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-3/smi/1.1.0/smi.xsd +42 -0
  1023. data/spec/fixtures/xml/schema/xsd/isotc211/19130/-3/smi/1.1.1/smi.xsd +42 -0
  1024. data/spec/fixtures/xml/schema/xsd/isotc211/19131/-/dps/2.0/dps.xsd +1344 -0
  1025. data/spec/fixtures/xml/schema/xsd/isotc211/19131/-/dps/2.0.0/dps.xsd +1344 -0
  1026. data/spec/fixtures/xml/schema/xsd/isotc211/19131/-/dps/2.2/dps.xsd +1522 -0
  1027. data/spec/fixtures/xml/schema/xsd/isotc211/19131/-/dps/2.2.0/dps.xsd +1522 -0
  1028. data/spec/fixtures/xml/schema/xsd/isotc211/19131/-/dps/2.2.1/dps.xsd +1522 -0
  1029. data/spec/fixtures/xml/schema/xsd/isotc211/19131/-1/dps/2.0/dps.xsd +1339 -0
  1030. data/spec/fixtures/xml/schema/xsd/isotc211/19131/-1/dps/2.2.0/dps.xsd +1540 -0
  1031. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-1/pir/1.0/core.xsd +349 -0
  1032. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-1/pir/1.0/extended.xsd +1074 -0
  1033. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-1/pir/1.0/hierarchy.xsd +57 -0
  1034. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-1/pir/1.0/pir.xsd +13 -0
  1035. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-1/pir/1.1/core.xsd +344 -0
  1036. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-1/pir/1.1/extended.xsd +1076 -0
  1037. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-1/pir/1.1/hierarchy.xsd +58 -0
  1038. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-1/pir/1.1/pir.xsd +15 -0
  1039. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-1/pir/1.1.0/core.xsd +344 -0
  1040. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-1/pir/1.1.0/extended.xsd +1076 -0
  1041. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-1/pir/1.1.0/hierarchy.xsd +58 -0
  1042. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-1/pir/1.1.0/pir.xsd +15 -0
  1043. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-2/pre/1.0/abstract.xsd +42 -0
  1044. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-2/pre/1.0/pre.xsd +4 -0
  1045. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-2/pre/1.2.0/abstract.xsd +44 -0
  1046. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-2/pre/1.2.0/pre.xsd +11 -0
  1047. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-2/reg/1.0/reg.xsd +8 -0
  1048. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-2/reg/1.0/registration.xsd +562 -0
  1049. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-2/reg/1.2.0/reg.xsd +22 -0
  1050. data/spec/fixtures/xml/schema/xsd/isotc211/19135/-2/reg/1.2.0/registration.xsd +590 -0
  1051. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/basicTypes.xsd +275 -0
  1052. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/coordinateOperations.xsd +534 -0
  1053. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/coordinateReferenceSystems.xsd +379 -0
  1054. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/coordinateSystems.xsd +303 -0
  1055. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/coverage.xsd +298 -0
  1056. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/datums.xsd +293 -0
  1057. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/defaultStyle.xsd +462 -0
  1058. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/deprecatedTypes.xsd +1139 -0
  1059. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/dictionary.xsd +95 -0
  1060. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/direction.xsd +90 -0
  1061. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/dynamicFeature.xsd +114 -0
  1062. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/feature.xsd +99 -0
  1063. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/geometryAggregates.xsd +203 -0
  1064. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/geometryBasic0d1d.xsd +283 -0
  1065. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/geometryBasic2d.xsd +130 -0
  1066. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/geometryComplexes.xsd +101 -0
  1067. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/geometryPrimitives.xsd +852 -0
  1068. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/gml.xsd +25 -0
  1069. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/gmlBase.xsd +191 -0
  1070. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/grids.xsd +70 -0
  1071. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/measures.xsd +74 -0
  1072. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/observation.xsd +100 -0
  1073. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/referenceSystems.xsd +78 -0
  1074. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/temporal.xsd +274 -0
  1075. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/temporalReferenceSystems.xsd +194 -0
  1076. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/temporalTopology.xsd +124 -0
  1077. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/topology.xsd +391 -0
  1078. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/units.xsd +168 -0
  1079. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-/gml/1.0/valueObjects.xsd +210 -0
  1080. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-1/gmw/1.1/gmlWrapperTypes.xsd +160 -0
  1081. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-1/gmw/1.1/gmw.xsd +27 -0
  1082. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-1/gmw/1.1.0/gmlWrapperTypes.xsd +160 -0
  1083. data/spec/fixtures/xml/schema/xsd/isotc211/19136/-1/gmw/1.1.0/gmw.xsd +27 -0
  1084. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/cat/1.2/cat.xsd +18 -0
  1085. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/cat/1.2/catalogues.xsd +63 -0
  1086. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/cat/1.2/codelistItem.xsd +64 -0
  1087. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/cat/1.2/crsItem.xsd +200 -0
  1088. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/cat/1.2/uomItem.xsd +49 -0
  1089. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/cat/1.2.0/cat.xsd +18 -0
  1090. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/cat/1.2.0/catalogues.xsd +63 -0
  1091. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/cat/1.2.0/codelistItem.xsd +64 -0
  1092. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/cat/1.2.0/crsItem.xsd +200 -0
  1093. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/cat/1.2.0/uomItem.xsd +49 -0
  1094. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gco/1.0/basicTypes.xsd +439 -0
  1095. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gco/1.0/gco.xsd +18 -0
  1096. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gco/1.0/gcoBase.xsd +71 -0
  1097. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmd/1.0/applicationSchema.xsd +50 -0
  1098. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmd/1.0/citation.xsd +283 -0
  1099. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmd/1.0/constraints.xsd +114 -0
  1100. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmd/1.0/content.xsd +197 -0
  1101. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmd/1.0/dataQuality.xsd +563 -0
  1102. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmd/1.0/distribution.xsd +210 -0
  1103. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmd/1.0/extent.xsd +216 -0
  1104. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmd/1.0/freeText.xsd +130 -0
  1105. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmd/1.0/gmd.xsd +18 -0
  1106. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmd/1.0/identification.xsd +356 -0
  1107. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmd/1.0/maintenance.xsd +95 -0
  1108. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmd/1.0/metadataApplication.xsd +183 -0
  1109. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmd/1.0/metadataEntity.xsd +78 -0
  1110. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmd/1.0/metadataExtension.xsd +107 -0
  1111. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmd/1.0/portrayalCatalogue.xsd +44 -0
  1112. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmd/1.0/referenceSystem.xsd +108 -0
  1113. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmd/1.0/spatialRepresentation.xsd +246 -0
  1114. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmx/1.0/catalogues.xsd +121 -0
  1115. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmx/1.0/codelistItem.xsd +179 -0
  1116. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmx/1.0/crsItem.xsd +1041 -0
  1117. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmx/1.0/extendedTypes.xsd +83 -0
  1118. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmx/1.0/gmx.xsd +18 -0
  1119. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmx/1.0/gmxUsage.xsd +136 -0
  1120. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gmx/1.0/uomItem.xsd +173 -0
  1121. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gsr/1.0/gsr.xsd +18 -0
  1122. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gsr/1.0/spatialReferencing.xsd +34 -0
  1123. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gss/1.0/geometry.xsd +45 -0
  1124. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gss/1.0/gss.xsd +18 -0
  1125. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gts/1.0/gts.xsd +18 -0
  1126. data/spec/fixtures/xml/schema/xsd/isotc211/19139/-/gts/1.0/temporalObjects.xsd +44 -0
  1127. data/spec/fixtures/xml/schema/xsd/isotc211/19155/gpi/1.0/gpi.xsd +16 -0
  1128. data/spec/fixtures/xml/schema/xsd/isotc211/19155/gpi/1.0/placeIdentifier.xsd +75 -0
  1129. data/spec/fixtures/xml/schema/xsd/isotc211/19155/gpi/1.0/sampleGMLApplicationSchema.xsd +83 -0
  1130. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/dqc/1.2/abstract.xsd +44 -0
  1131. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/dqc/1.2/dqc.xsd +16 -0
  1132. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/dqc/1.2.0/abstract.xsd +44 -0
  1133. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/dqc/1.2.0/dqc.xsd +16 -0
  1134. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/dqm/1.2/dqm.xsd +19 -0
  1135. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/dqm/1.2/qualityMeasures.xsd +332 -0
  1136. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/dqm/1.2.0/dqm.xsd +19 -0
  1137. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/dqm/1.2.0/qualityMeasures.xsd +332 -0
  1138. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/mdq/1.2/dataQualityElement.xsd +583 -0
  1139. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/mdq/1.2/dataQualityEvaluation.xsd +199 -0
  1140. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/mdq/1.2/dataQualityImagery.xsd +75 -0
  1141. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/mdq/1.2/dataQualityResult.xsd +213 -0
  1142. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/mdq/1.2/mdq.xsd +22 -0
  1143. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/mdq/1.2/metaquality.xsd +93 -0
  1144. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/mdq/1.2.0/dataQualityElement.xsd +583 -0
  1145. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/mdq/1.2.0/dataQualityEvaluation.xsd +199 -0
  1146. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/mdq/1.2.0/dataQualityImagery.xsd +75 -0
  1147. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/mdq/1.2.0/dataQualityResult.xsd +213 -0
  1148. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/mdq/1.2.0/mdq.xsd +22 -0
  1149. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-/mdq/1.2.0/metaquality.xsd +93 -0
  1150. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-1/dqc/1.0.0/dataQualityCommon.xsd +33 -0
  1151. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-1/dqc/1.0.0/dqc.xsd +14 -0
  1152. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-1/dqc/1.0.1/dataQualityCommon.xsd +43 -0
  1153. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-1/dqc/1.0.1/dqc.xsd +17 -0
  1154. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-1/dqm/1.0.0/dataQualityMeasure.xsd +376 -0
  1155. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-1/dqm/1.0.0/dqm.xsd +11 -0
  1156. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-1/dqm/1.0.1/dataQualityMeasure.xsd +367 -0
  1157. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-1/dqm/1.0.1/dqm.xsd +11 -0
  1158. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-1/mdq/1.0.0/dataQuality.xsd +570 -0
  1159. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-1/mdq/1.0.0/dataQualityEvaluation.xsd +227 -0
  1160. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-1/mdq/1.0.0/dataQualityResult.xsd +191 -0
  1161. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-1/mdq/1.0.0/mdq.xsd +14 -0
  1162. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-1/mdq/1.0.0/metaquality.xsd +106 -0
  1163. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-1/mdq/1.0.1/dataQuality.xsd +581 -0
  1164. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-1/mdq/1.0.1/dataQualityEvaluation.xsd +227 -0
  1165. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-1/mdq/1.0.1/dataQualityResult.xsd +198 -0
  1166. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-1/mdq/1.0.1/mdq.xsd +14 -0
  1167. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-1/mdq/1.0.1/metaquality.xsd +102 -0
  1168. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-2/dqc/1.0/abstract.xsd +43 -0
  1169. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-2/dqc/1.0/dqc.xsd +15 -0
  1170. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-2/dqm/1.0/dqm.xsd +15 -0
  1171. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-2/dqm/1.0/qualityMeasures.xsd +303 -0
  1172. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-2/mdq/1.0/dataQualityElement.xsd +554 -0
  1173. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-2/mdq/1.0/dataQualityEvaluation.xsd +182 -0
  1174. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-2/mdq/1.0/dataQualityImagery.xsd +72 -0
  1175. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-2/mdq/1.0/dataQualityResult.xsd +140 -0
  1176. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-2/mdq/1.0/mdq.xsd +21 -0
  1177. data/spec/fixtures/xml/schema/xsd/isotc211/19157/-2/mdq/1.0/metaquality.xsd +89 -0
  1178. data/spec/fixtures/xml/schema/xsd/isotc211/19160/-4/patdl/2.7.3/PATDL.v.2.7.3.xsd +517 -0
  1179. data/spec/fixtures/xml/schema/xsd/isotc211/19163/-1/igd/1.1/IE_Imagery.xsd +520 -0
  1180. data/spec/fixtures/xml/schema/xsd/isotc211/19163/-1/igd/1.1/IE_ImageryAndGriddedData.xsd +222 -0
  1181. data/spec/fixtures/xml/schema/xsd/isotc211/19163/-1/igd/1.1/IE_ThematicGriddedData.xsd +117 -0
  1182. data/spec/fixtures/xml/schema/xsd/isotc211/19163/-1/igd/1.1/igd.xsd +14 -0
  1183. data/spec/fixtures/xml/schema/xsd/isotc211/19163/-1/igd/1.1.0/IE_Imagery.xsd +520 -0
  1184. data/spec/fixtures/xml/schema/xsd/isotc211/19163/-1/igd/1.1.0/IE_ImageryAndGriddedData.xsd +222 -0
  1185. data/spec/fixtures/xml/schema/xsd/isotc211/19163/-1/igd/1.1.0/IE_ThematicGriddedData.xsd +117 -0
  1186. data/spec/fixtures/xml/schema/xsd/isotc211/19163/-1/igd/1.1.0/igd.xsd +14 -0
  1187. data/spec/fixtures/xml/schema/xsd/isotc211/19163/-1/igd/1.1.1/IE_Imagery.xsd +518 -0
  1188. data/spec/fixtures/xml/schema/xsd/isotc211/19163/-1/igd/1.1.1/IE_ImageryAndGriddedData.xsd +213 -0
  1189. data/spec/fixtures/xml/schema/xsd/isotc211/19163/-1/igd/1.1.1/IE_ThematicGriddedData.xsd +116 -0
  1190. data/spec/fixtures/xml/schema/xsd/isotc211/19163/-1/igd/1.1.1/igd.xsd +15 -0
  1191. data/spec/fixtures/xml/schema/xsd/isotc211/19165/-1/gpm/1.0.0/geospatialPreservationMetadata.xsd +872 -0
  1192. data/spec/fixtures/xml/schema/xsd/isotc211/19165/-1/gpm/1.0.0/gpm.xsd +11 -0
  1193. data/spec/fixtures/xml/schema/xsd/isotc211/19165/gpm/1.0/geospatialPreservationMetadata.xsd +385 -0
  1194. data/spec/fixtures/xml/schema/xsd/isotc211/19165/gpm/1.0/gpm.xsd +8 -0
  1195. data/spec/fixtures/xml/schema/xsd/metaschema-datatypes.xsd +263 -0
  1196. data/spec/fixtures/xml/schema/xsd/metaschema-markup-line.xsd +9 -0
  1197. data/spec/fixtures/xml/schema/xsd/metaschema-markup-multiline.xsd +135 -0
  1198. data/spec/fixtures/xml/schema/xsd/metaschema-meta-constraints.xsd +39 -0
  1199. data/spec/fixtures/xml/schema/xsd/metaschema-prose-base.xsd +82 -0
  1200. data/spec/fixtures/xml/schema/xsd/metaschema-prose-module.xsd +5 -0
  1201. data/spec/fixtures/xml/schema/xsd/metaschema.xsd +1344 -0
  1202. data/spec/fixtures/xml/schema/xsd/omml_schema.xsd +1528 -0
  1203. data/spec/fixtures/xml/schema/xsd/smil20/rdf.xsd +16 -0
  1204. data/spec/fixtures/xml/schema/xsd/smil20/smil20-AccessKeyTiming.xsd +33 -0
  1205. data/spec/fixtures/xml/schema/xsd/smil20/smil20-AudioLayout.xsd +32 -0
  1206. data/spec/fixtures/xml/schema/xsd/smil20/smil20-BasicAnimation.xsd +35 -0
  1207. data/spec/fixtures/xml/schema/xsd/smil20/smil20-BasicContentControl.xsd +49 -0
  1208. data/spec/fixtures/xml/schema/xsd/smil20/smil20-BasicInlineTiming.xsd +34 -0
  1209. data/spec/fixtures/xml/schema/xsd/smil20/smil20-BasicLayout.xsd +34 -0
  1210. data/spec/fixtures/xml/schema/xsd/smil20/smil20-BasicLinking.xsd +34 -0
  1211. data/spec/fixtures/xml/schema/xsd/smil20/smil20-BasicMedia.xsd +39 -0
  1212. data/spec/fixtures/xml/schema/xsd/smil20/smil20-BasicTimeContainers.xsd +37 -0
  1213. data/spec/fixtures/xml/schema/xsd/smil20/smil20-BasicTransitions.xsd +36 -0
  1214. data/spec/fixtures/xml/schema/xsd/smil20/smil20-BrushMedia.xsd +32 -0
  1215. data/spec/fixtures/xml/schema/xsd/smil20/smil20-CustomTestAttributes.xsd +33 -0
  1216. data/spec/fixtures/xml/schema/xsd/smil20/smil20-EventTiming.xsd +33 -0
  1217. data/spec/fixtures/xml/schema/xsd/smil20/smil20-ExclTimeContainers.xsd +37 -0
  1218. data/spec/fixtures/xml/schema/xsd/smil20/smil20-FillDefault.xsd +32 -0
  1219. data/spec/fixtures/xml/schema/xsd/smil20/smil20-HierarchicalLayout.xsd +46 -0
  1220. data/spec/fixtures/xml/schema/xsd/smil20/smil20-HostLanguage.xsd +85 -0
  1221. data/spec/fixtures/xml/schema/xsd/smil20/smil20-InlineTransitions.xsd +35 -0
  1222. data/spec/fixtures/xml/schema/xsd/smil20/smil20-IntegrationSet.xsd +72 -0
  1223. data/spec/fixtures/xml/schema/xsd/smil20/smil20-LinkingAttributes.xsd +40 -0
  1224. data/spec/fixtures/xml/schema/xsd/smil20/smil20-MediaAccessibility.xsd +34 -0
  1225. data/spec/fixtures/xml/schema/xsd/smil20/smil20-MediaClipMarkers.xsd +35 -0
  1226. data/spec/fixtures/xml/schema/xsd/smil20/smil20-MediaClipping.xsd +35 -0
  1227. data/spec/fixtures/xml/schema/xsd/smil20/smil20-MediaDescription.xsd +35 -0
  1228. data/spec/fixtures/xml/schema/xsd/smil20/smil20-MediaMarkerTiming.xsd +33 -0
  1229. data/spec/fixtures/xml/schema/xsd/smil20/smil20-MediaParam.xsd +34 -0
  1230. data/spec/fixtures/xml/schema/xsd/smil20/smil20-Metainformation.xsd +33 -0
  1231. data/spec/fixtures/xml/schema/xsd/smil20/smil20-MinMaxTiming.xsd +33 -0
  1232. data/spec/fixtures/xml/schema/xsd/smil20/smil20-MultiArcTiming.xsd +33 -0
  1233. data/spec/fixtures/xml/schema/xsd/smil20/smil20-MultiWindowLayout.xsd +32 -0
  1234. data/spec/fixtures/xml/schema/xsd/smil20/smil20-ObjectLinking.xsd +33 -0
  1235. data/spec/fixtures/xml/schema/xsd/smil20/smil20-PrefetchControl.xsd +31 -0
  1236. data/spec/fixtures/xml/schema/xsd/smil20/smil20-RepeatTiming.xsd +34 -0
  1237. data/spec/fixtures/xml/schema/xsd/smil20/smil20-RepeatValueTiming.xsd +33 -0
  1238. data/spec/fixtures/xml/schema/xsd/smil20/smil20-RestartDefault.xsd +32 -0
  1239. data/spec/fixtures/xml/schema/xsd/smil20/smil20-RestartTiming.xsd +32 -0
  1240. data/spec/fixtures/xml/schema/xsd/smil20/smil20-SkipContentControl.xsd +32 -0
  1241. data/spec/fixtures/xml/schema/xsd/smil20/smil20-SplineAnimation.xsd +34 -0
  1242. data/spec/fixtures/xml/schema/xsd/smil20/smil20-Structure.xsd +34 -0
  1243. data/spec/fixtures/xml/schema/xsd/smil20/smil20-SyncBehavior.xsd +33 -0
  1244. data/spec/fixtures/xml/schema/xsd/smil20/smil20-SyncBehaviorDefault.xsd +33 -0
  1245. data/spec/fixtures/xml/schema/xsd/smil20/smil20-SyncMaster.xsd +32 -0
  1246. data/spec/fixtures/xml/schema/xsd/smil20/smil20-SyncbaseTiming.xsd +33 -0
  1247. data/spec/fixtures/xml/schema/xsd/smil20/smil20-TimeContainerAttributes.xsd +35 -0
  1248. data/spec/fixtures/xml/schema/xsd/smil20/smil20-TimeManipulations.xsd +35 -0
  1249. data/spec/fixtures/xml/schema/xsd/smil20/smil20-TransitionModifiers.xsd +37 -0
  1250. data/spec/fixtures/xml/schema/xsd/smil20/smil20-WallclockTiming.xsd +33 -0
  1251. data/spec/fixtures/xml/schema/xsd/smil20/smil20-animate.xsd +229 -0
  1252. data/spec/fixtures/xml/schema/xsd/smil20/smil20-content.xsd +148 -0
  1253. data/spec/fixtures/xml/schema/xsd/smil20/smil20-language.xsd +834 -0
  1254. data/spec/fixtures/xml/schema/xsd/smil20/smil20-layout.xsd +211 -0
  1255. data/spec/fixtures/xml/schema/xsd/smil20/smil20-linking.xsd +117 -0
  1256. data/spec/fixtures/xml/schema/xsd/smil20/smil20-media.xsd +175 -0
  1257. data/spec/fixtures/xml/schema/xsd/smil20/smil20-meta.xsd +44 -0
  1258. data/spec/fixtures/xml/schema/xsd/smil20/smil20-struct.xsd +47 -0
  1259. data/spec/fixtures/xml/schema/xsd/smil20/smil20-timemanip.xsd +34 -0
  1260. data/spec/fixtures/xml/schema/xsd/smil20/smil20-timing.xsd +344 -0
  1261. data/spec/fixtures/xml/schema/xsd/smil20/smil20-transitions.xsd +138 -0
  1262. data/spec/fixtures/xml/schema/xsd/smil20/smil20-utility.xsd +57 -0
  1263. data/spec/fixtures/xml/schema/xsd/smil20/smil20.xsd +86 -0
  1264. data/spec/fixtures/xml/schema/xsd/smil20/xml-mod.xsd +25 -0
  1265. data/spec/fixtures/xml/schema/xsd/sweCommon/2.0.1/advanced_encodings.xsd +186 -0
  1266. data/spec/fixtures/xml/schema/xsd/sweCommon/2.0.1/basic_types.xsd +147 -0
  1267. data/spec/fixtures/xml/schema/xsd/sweCommon/2.0.1/block_components.xsd +163 -0
  1268. data/spec/fixtures/xml/schema/xsd/sweCommon/2.0.1/choice_components.xsd +56 -0
  1269. data/spec/fixtures/xml/schema/xsd/sweCommon/2.0.1/examples/security.xsd +15 -0
  1270. data/spec/fixtures/xml/schema/xsd/sweCommon/2.0.1/record_components.xsd +95 -0
  1271. data/spec/fixtures/xml/schema/xsd/sweCommon/2.0.1/simple_components.xsd +536 -0
  1272. data/spec/fixtures/xml/schema/xsd/sweCommon/2.0.1/simple_encodings.xsd +93 -0
  1273. data/spec/fixtures/xml/schema/xsd/sweCommon/2.0.1/swe.xsd +14 -0
  1274. data/spec/fixtures/xml/schema/xsd/test_schema.lxr +0 -0
  1275. data/spec/fixtures/xml/schema/xsd/test_schema.xsd +24 -0
  1276. data/spec/fixtures/xml/schema/xsd/unitsml-v1.0-csd03.xsd +1333 -0
  1277. data/spec/fixtures/xml/schema/xsd/unitsml-v1.0-csd04.xsd +1334 -0
  1278. data/spec/fixtures/xml/schema/xsd/validation_config.yml +14 -0
  1279. data/spec/fixtures/xml/special_char.xml +3 -4
  1280. data/spec/fixtures/xml/user.xsd +14 -10
  1281. data/spec/lutaml/key_value/transformation/collection_serializer_spec.rb +213 -0
  1282. data/spec/lutaml/key_value/transformation/rule_compiler_spec.rb +229 -0
  1283. data/spec/lutaml/key_value/transformation/value_serializer_spec.rb +216 -0
  1284. data/spec/lutaml/key_value/transformation_spec.rb +292 -0
  1285. data/spec/lutaml/model/attribute_collection_spec.rb +9 -6
  1286. data/spec/lutaml/model/attribute_form_default_spec.rb +252 -0
  1287. data/spec/lutaml/model/attribute_spec.rb +328 -38
  1288. data/spec/lutaml/model/cached_type_resolver_spec.rb +362 -0
  1289. data/spec/lutaml/model/cdata_spec.rb +180 -102
  1290. data/spec/lutaml/model/choice_spec.rb +37 -7
  1291. data/spec/lutaml/model/cli_spec.rb +452 -0
  1292. data/spec/lutaml/model/collection_index_spec.rb +347 -0
  1293. data/spec/lutaml/model/collection_mutation_spec.rb +124 -0
  1294. data/spec/lutaml/model/collection_spec.rb +580 -155
  1295. data/spec/lutaml/model/collection_validation_spec.rb +736 -0
  1296. data/spec/lutaml/model/comparable_model_spec.rb +75 -0
  1297. data/spec/lutaml/model/compiled_rule_spec.rb +364 -0
  1298. data/spec/lutaml/model/consolidation_spec.rb +295 -0
  1299. data/spec/lutaml/model/context_registry_spec.rb +269 -0
  1300. data/spec/lutaml/model/custom_bibtex_adapter_spec.rb +21 -7
  1301. data/spec/lutaml/model/custom_collection_spec.rb +321 -27
  1302. data/spec/lutaml/model/custom_model_spec.rb +13 -10
  1303. data/spec/lutaml/model/custom_serialization_spec.rb +12 -14
  1304. data/spec/lutaml/model/custom_vobject_adapter_spec.rb +36 -16
  1305. data/spec/lutaml/model/default_register_spec.rb +852 -0
  1306. data/spec/lutaml/model/defaults_spec.rb +57 -6
  1307. data/spec/lutaml/model/delegation_spec.rb +184 -110
  1308. data/spec/lutaml/model/derived_attribute_serialization_spec.rb +33 -0
  1309. data/spec/lutaml/model/dynamic_attribute_spec.rb +112 -0
  1310. data/spec/lutaml/model/encoding_spec.rb +281 -0
  1311. data/spec/lutaml/model/enum_spec.rb +46 -2
  1312. data/spec/lutaml/model/except_spec.rb +240 -0
  1313. data/spec/lutaml/model/finalization_cache_spec.rb +88 -0
  1314. data/spec/lutaml/model/global_context_spec.rb +421 -0
  1315. data/spec/lutaml/model/global_register_spec.rb +153 -36
  1316. data/spec/lutaml/model/group_spec.rb +193 -54
  1317. data/spec/lutaml/model/hash/adapter_spec.rb +5 -3
  1318. data/spec/lutaml/model/import_registry_spec.rb +295 -0
  1319. data/spec/lutaml/model/included_spec.rb +10 -17
  1320. data/spec/lutaml/model/inheritance_spec.rb +6 -6
  1321. data/spec/lutaml/model/json_adapter_spec.rb +13 -6
  1322. data/spec/lutaml/model/json_spec.rb +33 -0
  1323. data/spec/lutaml/model/key_value_data_model/key_value_element_spec.rb +320 -0
  1324. data/spec/lutaml/model/key_value_mapping_spec.rb +12 -2
  1325. data/spec/lutaml/model/lazy_collection_spec.rb +208 -0
  1326. data/spec/lutaml/model/liquefiable_spec.rb +263 -24
  1327. data/spec/lutaml/model/logger_spec.rb +68 -0
  1328. data/spec/lutaml/model/map_all_spec.rb +36 -11
  1329. data/spec/lutaml/model/map_content_spec.rb +4 -4
  1330. data/spec/lutaml/model/mapping_rule_perf_guard_spec.rb +71 -0
  1331. data/spec/lutaml/model/mixed_content_spec.rb +481 -171
  1332. data/spec/lutaml/model/model_transformer_spec.rb +678 -0
  1333. data/spec/lutaml/model/multiple_mapping_spec.rb +71 -39
  1334. data/spec/lutaml/model/namespace_versioning_spec.rb +390 -0
  1335. data/spec/lutaml/model/one_entry_cache_spec.rb +114 -0
  1336. data/spec/lutaml/model/ordered_content_spec.rb +115 -24
  1337. data/spec/lutaml/model/polymorphic_spec.rb +29 -6
  1338. data/spec/lutaml/model/processing_instruction_spec.rb +375 -0
  1339. data/spec/lutaml/model/{register/key_value_spec.rb → register_key_value_spec.rb} +57 -5
  1340. data/spec/lutaml/model/register_spec.rb +235 -5
  1341. data/spec/lutaml/model/render_empty_spec.rb +143 -6
  1342. data/spec/lutaml/model/render_nil_spec.rb +15 -10
  1343. data/spec/lutaml/model/root_mappings_spec.rb +16 -6
  1344. data/spec/lutaml/model/rule_value_extractor_spec.rb +13 -44
  1345. data/spec/lutaml/model/runtime_compatibility_spec.rb +36 -0
  1346. data/spec/lutaml/model/schema/generator/definitions_collection_spec.rb +4 -0
  1347. data/spec/lutaml/model/schema/json_schema_spec.rb +7 -1
  1348. data/spec/lutaml/model/schema/relaxng_schema_spec.rb +1 -1
  1349. data/spec/lutaml/model/schema/renderer_spec.rb +128 -0
  1350. data/spec/lutaml/model/schema/xsd_schema_spec.rb +1 -1
  1351. data/spec/lutaml/model/sequence_spec.rb +460 -15
  1352. data/spec/lutaml/model/serializable_spec.rb +212 -12
  1353. data/spec/lutaml/model/serializable_validation_spec.rb +3 -2
  1354. data/spec/lutaml/model/serialize_perf_guard_spec.rb +100 -0
  1355. data/spec/lutaml/model/services/default_value_resolver_spec.rb +162 -0
  1356. data/spec/lutaml/model/simple_model_spec.rb +4 -4
  1357. data/spec/lutaml/model/toml_adapter_spec.rb +11 -4
  1358. data/spec/lutaml/model/toml_spec.rb +46 -2
  1359. data/spec/lutaml/model/transformation_builder_spec.rb +283 -0
  1360. data/spec/lutaml/model/transformation_spec.rb +165 -236
  1361. data/spec/lutaml/model/type/base64_binary_spec.rb +202 -0
  1362. data/spec/lutaml/model/type/date_spec.rb +132 -0
  1363. data/spec/lutaml/model/type/date_time_spec.rb +54 -2
  1364. data/spec/lutaml/model/type/decimal_spec.rb +1 -1
  1365. data/spec/lutaml/model/type/duration_spec.rb +185 -0
  1366. data/spec/lutaml/model/type/hex_binary_spec.rb +225 -0
  1367. data/spec/lutaml/model/type/integer_spec.rb +1 -1
  1368. data/spec/lutaml/model/type/qname_spec.rb +246 -0
  1369. data/spec/lutaml/model/type/reference_integration_spec.rb +532 -0
  1370. data/spec/lutaml/model/type/reference_spec.rb +293 -0
  1371. data/spec/lutaml/model/type/symbol_spec.rb +322 -0
  1372. data/spec/lutaml/model/type/time_spec.rb +6 -5
  1373. data/spec/lutaml/model/type/time_without_date_spec.rb +1 -1
  1374. data/spec/lutaml/model/type/uninitialized_class_spec.rb +110 -0
  1375. data/spec/lutaml/model/type/uri_spec.rb +176 -0
  1376. data/spec/lutaml/model/type/value_xml_mapping_spec.rb +162 -0
  1377. data/spec/lutaml/model/type_context_spec.rb +370 -0
  1378. data/spec/lutaml/model/type_registry_spec.rb +313 -0
  1379. data/spec/lutaml/model/type_resolver_spec.rb +278 -0
  1380. data/spec/lutaml/model/type_spec.rb +7 -8
  1381. data/spec/lutaml/model/type_substitution_spec.rb +172 -0
  1382. data/spec/lutaml/model/utils_spec.rb +39 -24
  1383. data/spec/lutaml/model/value_map_spec.rb +2 -2
  1384. data/spec/lutaml/model/value_transformation_comprehensive_spec.rb +676 -0
  1385. data/spec/lutaml/model/with_child_mapping_spec.rb +1 -1
  1386. data/spec/lutaml/model/xml_decoupling_spec.rb +435 -0
  1387. data/spec/lutaml/model/xsd_form_default_patterns_spec.rb +664 -0
  1388. data/spec/lutaml/model/xsd_patterns_spec.rb +278 -0
  1389. data/spec/lutaml/model/xsd_type_spec.rb +345 -0
  1390. data/spec/lutaml/model/xsd_type_validation_spec.rb +442 -0
  1391. data/spec/lutaml/model/yamls/standard_adapter_spec.rb +2 -2
  1392. data/spec/lutaml/xml/adapter/nokogiri_adapter_spec.rb +130 -0
  1393. data/spec/lutaml/xml/adapter/oga_adapter_spec.rb +135 -0
  1394. data/spec/lutaml/xml/adapter/ox_adapter_spec.rb +101 -0
  1395. data/spec/lutaml/xml/adapter/rexml_adapter_spec.rb +101 -0
  1396. data/spec/lutaml/xml/adapter/xml_namespace_spec.rb +531 -0
  1397. data/spec/lutaml/xml/builder/builder_spec.rb +216 -0
  1398. data/spec/lutaml/xml/compiled_rule_namespace_spec.rb +405 -0
  1399. data/spec/lutaml/xml/conformance/xml_namespaces_spec.rb +580 -0
  1400. data/spec/lutaml/xml/conformance/xml_schema_instance_spec.rb +266 -0
  1401. data/spec/lutaml/xml/data_model_spec.rb +300 -0
  1402. data/spec/lutaml/xml/decisions/decision_engine_spec.rb +242 -0
  1403. data/spec/lutaml/xml/decisions/decision_spec.rb +217 -0
  1404. data/spec/lutaml/xml/decisions/element_prefix_resolver_spec.rb +198 -0
  1405. data/spec/lutaml/xml/declaration_planner_spec.rb +524 -0
  1406. data/spec/lutaml/xml/default_namespace_spec.rb +190 -0
  1407. data/spec/lutaml/{model/xml → xml}/derived_attributes_spec.rb +2 -2
  1408. data/spec/lutaml/xml/doctype_preservation_spec.rb +323 -0
  1409. data/spec/lutaml/xml/doubly_defined_namespace_spec.rb +415 -0
  1410. data/spec/lutaml/xml/dual_namespace_element_spec.rb +181 -0
  1411. data/spec/lutaml/xml/element_spec.rb +28 -0
  1412. data/spec/lutaml/xml/encoding_normalizer_spec.rb +215 -0
  1413. data/spec/lutaml/xml/enhanced_mapping_spec.rb +692 -0
  1414. data/spec/lutaml/xml/entity_fragmentation_spec.rb +583 -0
  1415. data/spec/lutaml/xml/format_chooser_spec.rb +0 -0
  1416. data/spec/lutaml/xml/fpi_namespace_spec.rb +145 -0
  1417. data/spec/lutaml/{model/xml/namespace_spec.rb → xml/general_namespace_spec.rb} +6 -5
  1418. data/spec/lutaml/xml/mapping_finalization_guard_spec.rb +83 -0
  1419. data/spec/lutaml/xml/mapping_rule_spec.rb +98 -0
  1420. data/spec/lutaml/xml/mapping_spec.rb +1147 -0
  1421. data/spec/lutaml/xml/model_transform_guard_spec.rb +126 -0
  1422. data/spec/lutaml/{model/xml → xml}/namespace/nested_with_explicit_namespace_spec.rb +8 -5
  1423. data/spec/lutaml/xml/namespace/w3c_reserved_warning_spec.rb +152 -0
  1424. data/spec/lutaml/xml/namespace_alias_prefix_root_spec.rb +130 -0
  1425. data/spec/lutaml/xml/namespace_alias_spec.rb +263 -0
  1426. data/spec/lutaml/xml/namespace_aware_parsing_spec.rb +219 -0
  1427. data/spec/lutaml/xml/namespace_backward_compatibility_spec.rb +48 -0
  1428. data/spec/lutaml/xml/namespace_bound_element_roundtrip_spec.rb +433 -0
  1429. data/spec/lutaml/xml/namespace_constant_spec.rb +383 -0
  1430. data/spec/lutaml/xml/namespace_force_prefix_spec.rb +113 -0
  1431. data/spec/lutaml/xml/namespace_format_preservation_spec.rb +49 -0
  1432. data/spec/lutaml/xml/namespace_inheritance_deep_spec.rb +162 -0
  1433. data/spec/lutaml/xml/namespace_inheritance_override_spec.rb +316 -0
  1434. data/spec/lutaml/xml/namespace_inheritance_resolver_spec.rb +0 -0
  1435. data/spec/lutaml/xml/namespace_inheritance_spec.rb +966 -0
  1436. data/spec/lutaml/xml/namespace_integration_spec.rb +277 -0
  1437. data/spec/lutaml/xml/namespace_missing_prefix_spec.rb +178 -0
  1438. data/spec/lutaml/xml/namespace_no_hoisting_spec.rb +172 -0
  1439. data/spec/lutaml/xml/namespace_placement_spec.rb +265 -0
  1440. data/spec/lutaml/xml/namespace_preservation_spec.rb +427 -0
  1441. data/spec/lutaml/xml/namespace_principles_spec.rb +909 -0
  1442. data/spec/lutaml/xml/namespace_resolution_strategy_spec.rb +273 -0
  1443. data/spec/lutaml/xml/namespace_scope_declare_spec.rb +205 -0
  1444. data/spec/lutaml/xml/namespace_scope_spec.rb +389 -0
  1445. data/spec/lutaml/xml/namespace_scope_vcard_spec.rb +616 -0
  1446. data/spec/lutaml/xml/namespace_spec.rb +712 -0
  1447. data/spec/lutaml/xml/namespace_three_phase_spec.rb +310 -0
  1448. data/spec/lutaml/xml/nil_optional_element_namespace_spec.rb +84 -0
  1449. data/spec/lutaml/xml/ooxml_namespace_spec.rb +177 -0
  1450. data/spec/lutaml/xml/ordered_method_spec.rb +109 -0
  1451. data/spec/lutaml/xml/prefix_control_spec.rb +286 -0
  1452. data/spec/lutaml/{model/register/xml_spec.rb → xml/register_spec.rb} +75 -21
  1453. data/spec/lutaml/xml/reusable_mapping_spec.rb +148 -0
  1454. data/spec/lutaml/xml/reused_elements_namespace_spec.rb +85 -0
  1455. data/spec/lutaml/{model/schema/xml_compiler → xml/schema/compiler}/attribute_group_spec.rb +9 -3
  1456. data/spec/lutaml/{model/schema/xml_compiler → xml/schema/compiler}/attribute_spec.rb +11 -7
  1457. data/spec/lutaml/{model/schema/xml_compiler → xml/schema/compiler}/choice_spec.rb +5 -2
  1458. data/spec/lutaml/{model/schema/xml_compiler → xml/schema/compiler}/complex_content_restriction_spec.rb +7 -2
  1459. data/spec/lutaml/{model/schema/xml_compiler → xml/schema/compiler}/complex_content_spec.rb +5 -1
  1460. data/spec/lutaml/{model/schema/xml_compiler → xml/schema/compiler}/complex_type_spec.rb +49 -20
  1461. data/spec/lutaml/{model/schema/xml_compiler → xml/schema/compiler}/element_spec.rb +9 -4
  1462. data/spec/lutaml/{model/schema/xml_compiler → xml/schema/compiler}/group_spec.rb +9 -5
  1463. data/spec/lutaml/{model/schema/xml_compiler → xml/schema/compiler}/restriction_spec.rb +1 -0
  1464. data/spec/lutaml/{model/schema/xml_compiler → xml/schema/compiler}/sequence_spec.rb +10 -4
  1465. data/spec/lutaml/{model/schema/xml_compiler → xml/schema/compiler}/simple_content_spec.rb +9 -3
  1466. data/spec/lutaml/{model/schema/xml_compiler → xml/schema/compiler}/simple_type_spec.rb +10 -7
  1467. data/spec/lutaml/{model/schema/xml_compiler_spec.rb → xml/schema/compiler_spec.rb} +219 -94
  1468. data/spec/lutaml/xml/schema/xsd/errors/error_context_spec.rb +65 -0
  1469. data/spec/lutaml/xml/schema/xsd/errors/suggestion_spec.rb +77 -0
  1470. data/spec/lutaml/xml/schema/xsd/file_validation_result_spec.rb +131 -0
  1471. data/spec/lutaml/xml/schema/xsd/glob_spec.rb +318 -0
  1472. data/spec/lutaml/xml/schema/xsd/liquid_methods/attribute_and_group_spec.rb +76 -0
  1473. data/spec/lutaml/xml/schema/xsd/liquid_methods/complex_type_spec.rb +159 -0
  1474. data/spec/lutaml/xml/schema/xsd/liquid_methods/containers_spec.rb +104 -0
  1475. data/spec/lutaml/xml/schema/xsd/liquid_methods/element_spec.rb +139 -0
  1476. data/spec/lutaml/xml/schema/xsd/liquid_methods/schema_spec.rb +75 -0
  1477. data/spec/lutaml/xml/schema/xsd/liquid_methods/simple_content_spec.rb +79 -0
  1478. data/spec/lutaml/xml/schema/xsd/namespace_uri_remapping_spec.rb +246 -0
  1479. data/spec/lutaml/xml/schema/xsd/schema_helper_methods_spec.rb +237 -0
  1480. data/spec/lutaml/xml/schema/xsd/schema_mapping_spec.rb +742 -0
  1481. data/spec/lutaml/xml/schema/xsd/schema_validator_spec.rb +228 -0
  1482. data/spec/lutaml/xml/schema/xsd/spec_helper.rb +26 -0
  1483. data/spec/lutaml/xml/schema/xsd/validation_error_spec.rb +189 -0
  1484. data/spec/lutaml/xml/schema/xsd/validation_result_spec.rb +276 -0
  1485. data/spec/lutaml/xml/schema/xsd/xsd_spec.rb +51 -0
  1486. data/spec/lutaml/xml/schema_primer_spec.rb +393 -0
  1487. data/spec/lutaml/xml/serializable_namespace_spec.rb +125 -0
  1488. data/spec/lutaml/xml/transformation/custom_method_wrapper_spec.rb +48 -0
  1489. data/spec/lutaml/xml/transformation_spec.rb +439 -0
  1490. data/spec/lutaml/xml/type_namespace/collector_spec.rb +212 -0
  1491. data/spec/lutaml/xml/type_namespace/planner_spec.rb +270 -0
  1492. data/spec/lutaml/xml/type_namespace_examples_spec.rb +521 -0
  1493. data/spec/lutaml/xml/type_namespace_integration_spec.rb +332 -0
  1494. data/spec/lutaml/xml/type_namespace_prefix_spec.rb +370 -0
  1495. data/spec/lutaml/xml/type_namespace_resolver_spec.rb +0 -0
  1496. data/spec/lutaml/xml/type_namespace_roundtrip_spec.rb +580 -0
  1497. data/spec/lutaml/xml/w3c_types_spec.rb +376 -0
  1498. data/spec/lutaml/{model → xml}/xml_adapter_spec.rb +64 -17
  1499. data/spec/lutaml/xml/xml_declaration_spec.rb +568 -0
  1500. data/spec/lutaml/xml/xml_element_guard_spec.rb +138 -0
  1501. data/spec/lutaml/{model/xml → xml}/xml_element_spec.rb +1 -1
  1502. data/spec/lutaml/xml/xml_lang_spec.rb +441 -0
  1503. data/spec/lutaml/xml/xml_space_spec.rb +247 -0
  1504. data/spec/lutaml/xml/xml_space_type_spec.rb +161 -0
  1505. data/spec/lutaml/xml/xml_spec.rb +122 -0
  1506. data/spec/parent_root_spec.rb +63 -0
  1507. data/spec/person_spec.rb +9 -9
  1508. data/spec/spec_helper.rb +64 -6
  1509. data/spec/support/test_adapter_config.rb +101 -0
  1510. data/spec/support/test_namespaces.rb +185 -0
  1511. data/spec/support/trace_helper.rb +0 -0
  1512. data/spec/support/xml/schema_helper.rb +15 -0
  1513. data/spec/support/xml/xsd/code_example_validator.rb +393 -0
  1514. data/spec/support/xml_mapping_namespaces.rb +176 -0
  1515. metadata +1465 -100
  1516. data/docs/custom_registers.adoc +0 -228
  1517. data/lib/lutaml/model/hash_adapter/mapping.rb +0 -19
  1518. data/lib/lutaml/model/hash_adapter/mapping_rule.rb +0 -9
  1519. data/lib/lutaml/model/hash_adapter/transform.rb +0 -8
  1520. data/lib/lutaml/model/hash_adapter.rb +0 -21
  1521. data/lib/lutaml/model/json/mapping.rb +0 -19
  1522. data/lib/lutaml/model/json/mapping_rule.rb +0 -9
  1523. data/lib/lutaml/model/json/multi_json_adapter.rb +0 -18
  1524. data/lib/lutaml/model/json/standard_adapter.rb +0 -25
  1525. data/lib/lutaml/model/json/transform.rb +0 -8
  1526. data/lib/lutaml/model/jsonl/mapping.rb +0 -19
  1527. data/lib/lutaml/model/jsonl/mapping_rule.rb +0 -9
  1528. data/lib/lutaml/model/jsonl/transform.rb +0 -19
  1529. data/lib/lutaml/model/schema/xsd_schema.rb +0 -62
  1530. data/lib/lutaml/model/toml/mapping_rule.rb +0 -9
  1531. data/lib/lutaml/model/toml/toml_rb_adapter.rb +0 -18
  1532. data/lib/lutaml/model/toml/tomlib_adapter.rb +0 -19
  1533. data/lib/lutaml/model/toml/transform.rb +0 -8
  1534. data/lib/lutaml/model/xml/builder/nokogiri.rb +0 -101
  1535. data/lib/lutaml/model/xml/builder/oga.rb +0 -183
  1536. data/lib/lutaml/model/xml/builder/ox.rb +0 -121
  1537. data/lib/lutaml/model/xml/document.rb +0 -477
  1538. data/lib/lutaml/model/xml/element.rb +0 -32
  1539. data/lib/lutaml/model/xml/mapping.rb +0 -471
  1540. data/lib/lutaml/model/xml/mapping_rule.rb +0 -149
  1541. data/lib/lutaml/model/xml/nokogiri_adapter.rb +0 -234
  1542. data/lib/lutaml/model/xml/oga/document.rb +0 -20
  1543. data/lib/lutaml/model/xml/oga/element.rb +0 -123
  1544. data/lib/lutaml/model/xml/oga_adapter.rb +0 -172
  1545. data/lib/lutaml/model/xml/ox_adapter.rb +0 -229
  1546. data/lib/lutaml/model/xml/transform.rb +0 -8
  1547. data/lib/lutaml/model/xml/xml_attribute.rb +0 -37
  1548. data/lib/lutaml/model/xml/xml_element.rb +0 -167
  1549. data/lib/lutaml/model/xml/xml_namespace.rb +0 -49
  1550. data/lib/lutaml/model/xml.rb +0 -31
  1551. data/lib/lutaml/model/xml_adapter/element.rb +0 -18
  1552. data/lib/lutaml/model/xml_adapter/nokogiri_adapter.rb +0 -15
  1553. data/lib/lutaml/model/xml_adapter/oga_adapter.rb +0 -21
  1554. data/lib/lutaml/model/xml_adapter/ox_adapter.rb +0 -18
  1555. data/lib/lutaml/model/xml_adapter.rb +0 -7
  1556. data/lib/lutaml/model/yaml/mapping.rb +0 -19
  1557. data/lib/lutaml/model/yaml/mapping_rule.rb +0 -9
  1558. data/lib/lutaml/model/yaml/standard_adapter.rb +0 -28
  1559. data/lib/lutaml/model/yaml/transform.rb +0 -8
  1560. data/lib/lutaml/model/yamls/mapping.rb +0 -19
  1561. data/lib/lutaml/model/yamls/mapping_rule.rb +0 -9
  1562. data/lib/lutaml/model/yamls/transform.rb +0 -19
  1563. data/spec/benchmarks/xml_parsing_benchmark_spec.rb +0 -74
  1564. data/spec/fixtures/xml/advanced_test_schema.xsd +0 -134
  1565. data/spec/lutaml/model/namespace_spec.rb +0 -57
  1566. data/spec/lutaml/model/xml_adapter/nokogiri_adapter_spec.rb +0 -56
  1567. data/spec/lutaml/model/xml_adapter/oga_adapter_spec.rb +0 -60
  1568. data/spec/lutaml/model/xml_adapter/ox_adapter_spec.rb +0 -61
  1569. data/spec/lutaml/model/xml_adapter/xml_namespace_spec.rb +0 -368
  1570. data/spec/lutaml/model/xml_mapping_rule_spec.rb +0 -158
  1571. data/spec/lutaml/model/xml_mapping_spec.rb +0 -1318
  1572. data/spec/lutaml/model/xml_spec.rb +0 -63
  1573. /data/spec/lutaml/{model/xml → xml}/root_mappings/nested_child_mappings_spec.rb +0 -0
@@ -0,0 +1,595 @@
1
+ <!DOCTYPE HTML>
2
+ <html lang="en"><head>
3
+ <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
4
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
5
+ <title>XML Entity Definitions for Characters (3rd Edition)</title>
6
+
7
+ <style type="text/css">
8
+ .base {background-color: #EEEEEE;}
9
+ .kwlabel {font-weight:normal}
10
+ </style>
11
+ <style>
12
+ a.loc {
13
+ padding-bottom: .1em; /* align underline with the rest of the text */
14
+ color: hsla(203, 90%, 30%,.8);
15
+ }
16
+ </style>
17
+ <link rel="stylesheet" type="text/css" href="https://www.w3.org/StyleSheets/TR/2016/W3C-ED">
18
+
19
+ <script src="//www.w3.org/scripts/TR/2016/fixup.js"> </script>
20
+
21
+ </head>
22
+ <body>
23
+ <div class="head"><p><a href="https://www.w3.org/"><img src="https://www.w3.org/StyleSheets/TR/2016/logos/W3C" alt="W3C" height="48" width="72"></a></p>
24
+ <h1><a id="title"></a>XML Entity Definitions for Characters (3rd&nbsp;Edition)</h1>
25
+ <h2><a id="w3c-doctype"></a>Editors Draft 03 January 2023</h2><dl>
26
+ <dt>This version:</dt><dd><a href="https://w3c.github.io/xml-entities/">https://w3c.github.io/xml-entities/</a></dd>
27
+ <dt>Latest version:</dt><dd><a href="https://www.w3.org/TR/2023/WD-xml-entity-names-20230103/">https://www.w3.org/TR/2023/WD-xml-entity-names-20230103/</a></dd>
28
+ <dt>Previous versions:</dt><dd><a href="https://www.w3.org/TR/2014/REC-xml-entity-names-20140410/">https://www.w3.org/TR/2014/REC-xml-entity-names-20140410/</a><br>
29
+ <a href="https://www.w3.org/TR/2010/REC-xml-entity-names-20100401/">https://www.w3.org/TR/2010/REC-xml-entity-names-20100401/</a></dd><dt>
30
+ Editors' version:</dt><dd><a href="https://w3c.github.io/xml-entities/">https://w3c.github.io/xml-entities/</a></dd><dt>Editors:</dt><dd>David Carlisle, NAG</dd><dd>Patrick Ion, Mathematical Reviews, American Mathematical Society</dd></dl><p>Please refer to the <a href="errata.html"><strong>errata</strong></a>
31
+ for this document, which may include some normative corrections.</p><p>See also <a href="https://www.w3.org/2005/11/Translations/Query?titleMatch=XML+Entity+definitions+for+Characters"><strong>translations</strong></a>.</p><p class="copyright"><a href="https://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> &#xa9; 1998-2023 <a href="https://www.w3.org/">World Wide Web Consortium</a>. <abbr title="World Wide Web Consortium">W3C</abbr><sup>&#xae;</sup> <a href="https://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="https://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="https://www.w3.org/Consortium/Legal/copyright-software">permissive document license</a> rules apply.</p><hr title="Separator for header"></div><div>
32
+ <h2><a id="abstract"></a>Abstract</h2>
33
+ <p>
34
+ This document defines several sets of names, so that to each name is assigned
35
+ a Unicode character or sequence of characters.
36
+ Each of these sets is expressed as a file of XML entity declarations.
37
+ </p>
38
+ </div><div>
39
+ <h2><a id="status"></a>Status of this Document</h2>
40
+ <p><strong>This document is an editors' copy that has no official standing.</strong></p>
41
+ <p><em> This section describes the status of this document at the time
42
+ of its publication. Other documents may supersede this document. A
43
+ list of current W3C publications and the latest revision of this
44
+ technical report can be found in the <a href="https://www.w3.org/TR/">W3C technical reports index</a> at
45
+ https://www.w3.org/TR/.</em>
46
+ </p>
47
+
48
+ <p>This document has been reviewed by W3C Members, by software
49
+ developers, and by other W3C groups and interested parties, and is
50
+ endorsed by the Director as a W3C Recommendation. It is a stable
51
+ document and may be used as reference material or cited from another
52
+ document. W3C's role in making the Recommendation is to draw attention
53
+ to the specification and to promote its widespread deployment. This
54
+ enhances the functionality and interoperability of the Web.</p>
55
+
56
+ <p>This third edition is based on Unicode 17 and
57
+ incorporates changes to Unicode since Unicode 5.2 and 6.3,
58
+ on which the first and second editions of this document were based. Note these updates only affect
59
+ the non normative descriptions of the Unicode blocks. There are no changes to the normative entity definitions.
60
+ It also has been updated and restructured slightly to note that <a href="#HTML5">[HTML5]</a> now uses these definitions
61
+ and to more clearly highlight that the HTML-MathML entity set should be used in preference to the older ISO sets
62
+ that are also defined in this document.</p>
63
+
64
+ <p>
65
+ This document was produced by the
66
+ <a href="https://www.w3.org/Math/">W3C Math Working Group</a>
67
+ as a Recommendation and as part of the W3C
68
+ <a href="https://www.w3.org/Math/Activity">Math Activity</a>.
69
+ The goals of the W3C Math Working Group are discussed in the
70
+ <a href="https://www.w3.org/Math/Documents/Charter2021.html"> W3C Math WG Charter</a>.
71
+ The authors of this document are W3C Math Working Group members.
72
+ </p>
73
+
74
+ <p>
75
+ Comments should be sent to the
76
+ <a href="mailto:www-math@w3.org">Public W3C Math mailing list</a>
77
+ (<a href="https://lists.w3.org/Archives/Public/www-math/">list archives</a>;
78
+ see also <a href="https://www.w3.org/Mail/Request">instructions</a>).
79
+ When sending an e-mail comment on the XML Entity Definitions for Characters, please
80
+ put the text &#x201c;XML-Entities&#x201d; in the subject line, preferably like this:
81
+ &#x201c;[XML-Entities] &#x2026;summary of comment &#x201d;.
82
+ Alternatively, report an issue at this specification's <a href="https://github.com/w3c/xml-entities">GitHub repository</a>.
83
+ </p>
84
+
85
+ <p>This document is governed by the <a href="https://www.w3.org/2021/Process-20211102/" id="w3c_process_revision">2 November 2021 <abbr title="World Wide Web Consortium">W3C</abbr> Process Document</a>.</p>
86
+
87
+ <p>This document was produced by a group operating under the
88
+ <a href="https://www.w3.org/Consortium/Patent-Policy/">W3C Patent Policy</a>.
89
+ W3C maintains a
90
+ <a href="https://www.w3.org/groups/wg/math/ipr" rel="disclosure">public list of any patent disclosures</a> made in connection with
91
+ the deliverables of the group; that page also includes instructions
92
+ for disclosing a patent. An individual who has actual knowledge of
93
+ a patent which the individual believes contains
94
+ <a href="https://www.w3.org/Consortium/Patent-Policy/#def-essential">Essential Claim(s)</a>
95
+ must disclose the information in accordance with
96
+ <a href="https://www.w3.org/Consortium/Patent-Policy/#sec-Disclosure">section 6 of the W3C Patent Policy</a>.
97
+ </p>
98
+
99
+ <p> Appendix <a href="#changes"><b>B Changes</b></a> details the changes since earlier versions of this document.</p>
100
+ </div>
101
+ <nav id="toc">
102
+ <h2 id="tochead">Table of Contents</h2>
103
+ <ol class="toc">
104
+ <li><a href="#chars_intro"><span class="secno">1 </span>Introduction</a></li>
105
+ <li><a href="#sets"><span class="secno">2 </span>Sets of names</a>
106
+ <ol class="toc">
107
+ <li><a href="#htmlmathml"><span class="secno">2.1 </span>The HTML MathML Entity Set</a></li>
108
+ <li><a href="#legacysets"><span class="secno">2.2 </span>Legacy Entity Sets</a></li></ol></li>
109
+ <li><a href="#blocks"><span class="secno">3 </span>Unicode Character Ranges for Scientific Documents</a></li>
110
+ <li><a href="#alphabets"><span class="secno">4 </span>Mathematical Alphanumeric Characters</a></li>
111
+ <li><a href="#combining"><span class="secno">5 </span>Entities for Negated and Variant Characters</a>
112
+ <ol class="toc">
113
+ <li><a href="#chars_math-negated-tables"><span class="secno">5.1 </span>Negated Mathematical Characters</a></li>
114
+ <li><a href="#chars_math-variant-tables"><span class="secno">5.2 </span>Variant
115
+ Mathematical Characters</a></li></ol></li>
116
+ <li><a href="#oddities"><span class="secno">A </span>Special Considerations</a>
117
+ <ol class="toc">
118
+ <li><a href="#epsilon"><span class="secno">A.1 </span>Epsilon</a></li>
119
+ <li><a href="#phi"><span class="secno">A.2 </span>Phi</a></li>
120
+ <li><a href="#chars_math-multiple-tables"><span class="secno">A.3 </span>Multiple Character Entities</a></li>
121
+ <li><a href="#chars_math-combining-tables"><span class="secno">A.4 </span>Entities Defined to be a Combining Character</a></li></ol></li>
122
+ <li><a href="#changes"><span class="secno">B </span>Changes</a>
123
+ <ol class="toc">
124
+ <li><a href="#changes20140410"><span class="secno">B.1 </span>Changes since 2014-04-10 (Second Edition Recommendation)</a></li>
125
+ <li><a href="#changes20100401"><span class="secno">B.2 </span>Changes between 2010-04-01 and 2014-04-10 (First and Second Edition Recommendations)</a></li>
126
+ <li><a href="#changes20100211"><span class="secno">B.3 </span>Changes between 2010-04-01 and 2010-02-11</a></li>
127
+ <li><a href="#changes20091117"><span class="secno">B.4 </span>Changes between 2010-02-11 and 2009-11-17</a></li>
128
+ <li><a href="#changes20080721"><span class="secno">B.5 </span>Changes between 2009-11-17 and 2008-07-21</a></li>
129
+ <li><a href="#changes20071214"><span class="secno">B.6 </span>Changes between 2008-07-21 and 2007-12-14</a></li></ol></li>
130
+ <li><a href="#diffs"><span class="secno">C </span>Differences between these entities and earlier W3C DTDs</a>
131
+ <ol class="toc">
132
+ <li><a href="#diff-xhtml1"><span class="secno">C.1 </span>Differences from XHTML 1.0</a></li>
133
+ <li><a href="#diff-mathml2"><span class="secno">C.2 </span>Differences from MathML 2.0 (second edition)</a></li></ol></li>
134
+ <li><a href="#source"><span class="secno">D </span>Source Files</a></li>
135
+ <li><a href="#references"><span class="secno">E </span>References</a></li></ol>
136
+ </nav>
137
+
138
+ <div class="body">
139
+ <div class="div1">
140
+ <h2><a id="chars_intro"></a>1 Introduction</h2>
141
+ <p>
142
+ Notation and symbols have proved very important for human communication,
143
+ especially in scientific documents. Mathematics has
144
+ grown in part because its notation continually changes toward being succinct
145
+ and suggestive. There have been many new signs
146
+ developed for use in mathematical notation, and
147
+ mathematicians have not held back from making use of many symbols
148
+ originally introduced elsewhere. The result is that
149
+ science in general, and particularly mathematics, makes use of
150
+ a very large collection of symbols. It is
151
+ difficult to write science fluently if these characters are not
152
+ available for use. It is difficult to read science if
153
+ corresponding glyphs are not available for presentation on specific
154
+ display devices. In the majority of cases it is preferable to store
155
+ characters directly as Unicode character data or as XML numeric
156
+ character references.
157
+ </p>
158
+
159
+ <p>However, in some environments it is more
160
+ convenient to use the ASCII input mechanism provided by XML entity
161
+ references. Many entity names are in common use, and this
162
+ specification aims to provide standard mappings to Unicode for each of
163
+ these names. It introduces no names that have not already been used in
164
+ earlier specifications. Note that these names are short mnemonic names
165
+ designed for input methods such as XML entity references, not the longer formal names
166
+ that form part of the Unicode standard.
167
+ </p>
168
+
169
+ <p>
170
+ Specifically, the entity names in the sets
171
+ starting with the letters "iso" were first standardized in SGML (<a href="#SGML">[SGML]</a>) and updated in <a href="#ISO9573-13-1991">[ISO9573-13-1991]</a>.
172
+ The W3C Math Working Group has been
173
+ invited to take over the maintenance and development of these sets by the
174
+ original standards committee (ISO/IEC JTC1 SC34). The sets with names
175
+ starting "mml" were first standardized in
176
+ MathML <a href="#MathML2">[MathML2]</a> and those starting
177
+ with "xhtml" were first standardized in HTML <a href="#HTML4">[HTML4]</a>.
178
+ </p>
179
+
180
+ <p>This document is the result of years of employing entity names on the Web. There were
181
+ always a few named entities used for special characters in HTML, and many more names
182
+ used for MathML. This means that this document can be
183
+ viewed as an extension and final revision of Chapter 6 of the MathML 2.0
184
+ <a href="#MathML2">[MathML2]</a> recommendation. Now it presents a completed listing harmonizing
185
+ the known uses of character entity names in XML and HTML, together with defined mappings to Unicode.
186
+ </p>
187
+
188
+ <p>Since there are so many character entity names, and the files specifying them
189
+ are resources that may be subject to frequent lookup, a template catalog file has also been
190
+ provided. Users are strongly encouraged to design their implementations so that
191
+ relevant entity name tables are cached locally, since it is not expected that
192
+ the listings provided with this specification will need changing for some long time.
193
+ </p>
194
+ </div><div id="setsdiv">
195
+ <h2><a id="sets"></a>2 Sets of names</h2><div class="div2">
196
+ <h3><a id="htmlmathml"></a>2.1 The HTML MathML Entity Set</h3>
197
+ <p>Historically the entity sets have been split into relatively small groups of related characters
198
+ however for any new document type that is being defined it is strongly recommended that the combined
199
+ <b>htmlmathml</b> set is used. This defines an identical set of names to the names built in to
200
+ the HTML parser (derived from the same source materials as this document, see <a href="#source"><b>D Source Files</b></a>).</p>
201
+
202
+ <p>To incorporate the <b>htmlmathml</b> set into an XML DTD, a typical construct is:</p>
203
+ <div class="exampleInner"><pre class="example">
204
+ &lt;!ENTITY % htmlmathml-f PUBLIC
205
+ "-//W3C//ENTITIES HTML MathML Set//EN//XML"
206
+ "https://www.w3.org/2003/entities/2007/htmlmathml-f.ent"
207
+ &gt;
208
+ %htmlmathml-f;
209
+
210
+ </pre></div>
211
+ <p>
212
+ The public identifier should always be used verbatim,
213
+ the system identifier should be changed to suit local requirements.
214
+ </p>
215
+
216
+ <p>The entity set is available in two forms: </p>
217
+ <ul><li><a href="https://www.w3.org/2003/entities/2007/htmlmathml-f.ent">htmlmathml-f</a> the expanded set of HTML and MathML entity definitions</li><li><a href="https://www.w3.org/2003/entities/2007/htmlmathml.ent">htmlmathml</a> the HTML and MathML entities defined via reference to the legacy entity set definitions as listed in the following section</li></ul>
218
+ <p>The information is also available in JSON format. The JSON arrays encode the entity names and mappings to Unicode and also a list of those entity references for which the HTML (but not XML) parser allows the trailing semicolon to be omitted. So <code>&amp;amp</code> may be used as well as <code>&amp;amp;</code> when using HTML.</p>
219
+ <ul><li><a href="2007/htmlmathml.json">htmlmathml.json</a></li></ul>
220
+ <p>An XSLT2 stylesheet is available which performs the reverse mapping, replacing Unicode characters by entity references.</p>
221
+ <ul><li><a href="2007/htmlmathml.xsl">htmlmathml.xsl</a></li></ul></div><div class="div2">
222
+ <h3><a id="legacysets"></a>2.2 Legacy Entity Sets</h3>
223
+ <p>This specification defines mappings to Unicode of many sets of names
224
+ that have been defined by earlier specifications.</p>
225
+
226
+ <p>We present two tables listing all the sets combined, first in
227
+ Unicode order and then in alphabetic order:</p>
228
+ <ul><li>All in <a href="2007doc/bycodes.html">Unicode order</a></li><li>All in <a href="2007doc/byalpha.html">alphabetic order</a></li></ul>
229
+ <p>Then there come tables
230
+ documenting each of the entity sets. Each set has a link to the DTD
231
+ entity declaration for the corresponding entity set, and also a link
232
+ to an XSLT2 stylesheet that will implement a reverse mapping from
233
+ characters to entity names (this is, of course, only possible for entity names
234
+ that map to a single Unicode code point).
235
+ </p>
236
+ </div><ul><li><a href="isobox.html">isobox</a>&nbsp;&nbsp;Box and Line Drawing</li><li><a href="isocyr1.html">isocyr1</a>&nbsp;&nbsp;Russian Cyrillic</li><li><a href="isocyr2.html">isocyr2</a>&nbsp;&nbsp;Non-Russian Cyrillic</li><li><a href="isodia.html">isodia</a>&nbsp;&nbsp;Diacritical Marks</li><li><a href="isolat1.html">isolat1</a>&nbsp;&nbsp;Added Latin 1</li><li><a href="isolat2.html">isolat2</a>&nbsp;&nbsp;Added Latin 2</li><li><a href="isonum.html">isonum</a>&nbsp;&nbsp;Numeric and Special Graphic</li><li><a href="isopub.html">isopub</a>&nbsp;&nbsp;Publishing</li><li><a href="isoamsa.html">isoamsa</a>&nbsp;&nbsp;Added Math Symbols: Arrow Relations</li><li><a href="isoamsb.html">isoamsb</a>&nbsp;&nbsp;Added Math Symbols: Binary Operators</li><li><a href="isoamsc.html">isoamsc</a>&nbsp;&nbsp;Added Math Symbols: Delimiters</li><li><a href="isoamsn.html">isoamsn</a>&nbsp;&nbsp;Added Math Symbols: Negated Relations</li><li><a href="isoamso.html">isoamso</a>&nbsp;&nbsp;Added Math Symbols: Ordinary</li><li><a href="isoamsr.html">isoamsr</a>&nbsp;&nbsp;Added Math Symbols: Relations</li><li><a href="isogrk1.html">isogrk1</a><span style="background-color: #FFCCCC">&nbsp;&nbsp;Greek Letters&nbsp;&nbsp;(not in MathML3 / HTML5)</span></li><li><a href="isogrk2.html">isogrk2</a><span style="background-color: #FFCCCC">&nbsp;&nbsp;Monotoniko Greek&nbsp;&nbsp;(not in MathML3 / HTML5)</span></li><li><a href="isogrk3.html">isogrk3</a>&nbsp;&nbsp;Greek Symbols</li><li><a href="isogrk4.html">isogrk4</a><span style="background-color: #FFCCCC">&nbsp;&nbsp;Alternative Greek Symbols&nbsp;&nbsp;(not in MathML3 / HTML5)</span></li><li><a href="isomfrk.html">isomfrk</a>&nbsp;&nbsp;Math Alphabets: Fraktur</li><li><a href="isomopf.html">isomopf</a>&nbsp;&nbsp;Math Alphabets: Open Face</li><li><a href="isomscr.html">isomscr</a>&nbsp;&nbsp;Math Alphabets: Script</li><li><a href="isotech.html">isotech</a>&nbsp;&nbsp;General Technical</li><li><a href="mmlextra.html">mmlextra</a>&nbsp;&nbsp;Additional MathML Symbols</li><li><a href="mmlalias.html">mmlalias</a>&nbsp;&nbsp;MathML Aliases</li><li><a href="xhtml1-lat1.html">xhtml1-lat1</a>&nbsp;&nbsp;Latin for HTML</li><li><a href="xhtml1-special.html">xhtml1-special</a>&nbsp;&nbsp;Special for HTML</li><li><a href="xhtml1-symbol.html">xhtml1-symbol</a>&nbsp;&nbsp;Symbol for HTML</li><li><a href="html5-uppercase.html">html5-uppercase</a>&nbsp;&nbsp;uppercase aliases for HTML</li><li><a href="predefined.html">predefined</a>&nbsp;&nbsp;Predefined XML</li></ul><p>In addition to the stylesheets and entity files corresponding
237
+ to each individual entity set, a <a href="https://www.w3.org/2003/entities/2007/entitynamesmap.xsl">combined
238
+ stylesheet</a> is provided, as well as a combined entity set,
239
+ in two formats, as for the HTML MathML set described above.</p><ul><li><a href="https://www.w3.org/2003/entities/2007/w3centities.ent">w3centities</a> W3C entities collection; referencing all entity sets listed above</li><li><a href="https://www.w3.org/2003/entities/2007/w3centities-f.ent">w3centities-f</a> the same set of entity definitions, expanded into a single file, with duplicates removed</li></ul></div><div id="blocksdiv">
240
+ <h2><a id="blocks"></a>3 Unicode Character Ranges for Scientific Documents</h2>
241
+ <p>
242
+ Certain characters are of particular relevance to scientific document production. The following
243
+ tables display Unicode ranges containing the characters that are most used in mathematics.
244
+ </p>
245
+
246
+ <p>Note that each of the tables linked from this section contains 256 images and may take a
247
+ while to load if the images have not been cached locally.</p>
248
+ <ul><li><span>000</span> <a href="000.html">C0 Controls and Basic Latin, C1 Controls and Latin-1 Supplement</a></li><li><span>001</span> <a href="001.html">Latin Extended-A, Latin Extended-B</a></li><li><span>002</span> <a href="002.html">IPA Extensions, Spacing Modifier Letters</a></li><li><span>003</span> <a href="003.html">Combining Diacritical Marks, Greek and Coptic</a></li><li><span>004</span> <a href="004.html">Cyrillic</a></li><li><span>006</span> <a href="006.html">Arabic</a></li><li><span>020</span> <a href="020.html">General Punctuation, Superscripts and Subscripts, Currency Symbols, Combining Diacritical Marks for Symbols</a></li><li><span>021</span> <a href="021.html">Letterlike Symbols, Number Forms, Arrows</a></li><li><span>022</span> <a href="022.html">Mathematical Operators</a></li><li><span>023</span> <a href="023.html">Miscellaneous Technical</a></li><li><span>024</span> <a href="024.html">Control Pictures, Optical Character Recognition, Enclosed Alphanumerics</a></li><li><span>025</span> <a href="025.html">Box Drawing, Block Elements, Geometric Shapes</a></li><li><span>026</span> <a href="026.html">Miscellaneous Symbols</a></li><li><span>027</span> <a href="027.html">Dingbats, Miscellaneous Mathematical Symbols-A, Supplemental Arrows-A</a></li><li><span>029</span> <a href="029.html">Supplemental Arrows-B, Miscellaneous Mathematical Symbols-B</a></li><li><span>02A</span> <a href="02A.html">Supplemental Mathematical Operators</a></li><li><span>02B</span> <a href="02B.html">Miscellaneous Symbols and Arrows</a></li><li><span>0FB</span> <a href="0FB.html">Alphabetic Presentation Forms, Arabic Presentation Forms-A</a></li><li><span>0FE</span> <a href="0FE.html">Variation Selectors, Vertical Forms, Combining Half Marks, CJK Compatibility Forms, Small Form Variants, Arabic Presentation Forms-B</a></li><li><span>1D4</span> <a href="1D4.html">Mathematical Alphanumeric Symbols</a></li><li><span>1D5</span> <a href="1D5.html">Mathematical Alphanumeric Symbols (continued)</a></li><li><span>1D6</span> <a href="1D6.html">Mathematical Alphanumeric Symbols (continued)</a></li><li><span>1D7</span> <a href="1D7.html">Mathematical Alphanumeric Symbols (continued)</a></li><li><span>1EE</span> <a href="1EE.html">Arabic Mathematical Alphabetic Symbols</a></li></ul></div><div id="alphabetsdiv">
249
+ <h2><a id="alphabets"></a>4 Mathematical Alphanumeric Characters</h2>
250
+ <p>
251
+ Many of the entities defined by this specification relate to the
252
+ mathematical alphanumeric characters contained in the letter-like
253
+ symbols block of Unicode Plane 0, or in the Mathematical Alphanumeric Symbols
254
+ block in Unicode Plane 1. The following tables list all these symbols,
255
+ highlighting those that are not in Plane 1, and giving entity names
256
+ where appropriate.
257
+ </p>
258
+ <ul><li><a href="bold.html">Bold (Serif)</a></li><li><a href="italic.html">Italic or Slanted</a></li><li><a href="bold-italic.html">Bold Italic or Slanted</a></li><li><a href="script.html">Script (or Calligraphic)</a></li><li><a href="bold-script.html">Bold Script</a></li><li><a href="fraktur.html">Fraktur</a></li><li><a href="bold-fraktur.html">Bold Fraktur</a></li><li><a href="sans-serif.html">Sans Serif</a></li><li><a href="bold-sans-serif.html">Bold Sans Serif</a></li><li><a href="sans-serif-italic.html">Slanted Sans Serif</a></li><li><a href="sans-serif-bold-italic.html">Slanted Bold Sans Serif</a></li><li><a href="monospace.html">Monospace</a></li><li><a href="double-struck.html">Double Struck (Open Face, Blackboard Bold)</a></li><li><a href="initial.html">Arabic Initial Form</a></li><li><a href="tailed.html">Arabic Tailed Form</a></li><li><a href="looped.html">Arabic Looped Form</a></li><li><a href="stretched.html">Arabic Stretched Form</a></li></ul></div><div class="div1">
259
+ <h2><a id="combining"></a>5 Entities for Negated and Variant Characters</h2>
260
+ <p>
261
+ Each of the entity definitions in a majority of the specification expands
262
+ to a single Unicode character. The definitions that expand to a sequence of
263
+ two or more characters are outlined in this section.
264
+ </p>
265
+ <div class="div2">
266
+ <h3><a id="chars_math-negated-tables"></a>5.1 Negated Mathematical Characters</h3>
267
+ <p>
268
+ In addition to the Unicode Characters so far listed, one may use the
269
+ combining characters U+0338 (/),
270
+ U+20D2 (|) and
271
+ U+20E5 (\) to produce
272
+ negated or canceled forms of
273
+ characters. A combining character
274
+ should be placed immediately after its "base" character, with no
275
+ intervening markup or space, just as is the case for combining accents.
276
+ </p>
277
+
278
+ <p>
279
+ In principle, the negation characters may be applied to any Unicode
280
+ character, although fonts designed for mathematics typically have some
281
+ negated glyphs ready composed. A MathML renderer should be able to use
282
+ these pre-composed glyphs in these cases. A compound character code
283
+ either represents a UCS character that is already available, as in the
284
+ case of U+003D U+0338 which amounts to
285
+ U+2260, or it does not, as is the
286
+ case for U+2202 U+0338. The common cases of
287
+ negations, of the latter type,
288
+ that have been identified are listed in the tables.</p>
289
+ <ul><li><a href="U00338.html">combining long solidus overlay</a></li><li><a href="U020D2.html">combining long vertical line overlay</a></li><li><a href="U020E5.html">combining reverse solidus overlay</a></li></ul>
290
+ <p>
291
+ Note that it is the policy of the W3C and of Unicode that if a single
292
+ character is already defined for what can be achieved with a combining
293
+ character, that character must be used instead of the decomposed form.
294
+ It is also intended that no new single characters representing what
295
+ can be done with existing compositions will be introduced.
296
+ For further information on these matters see
297
+ the Unicode Standard Annex 15, Unicode Normalization Forms
298
+ <a href="#Unicode15">[Unicode15]</a>, especially
299
+ the discussion of Normalization Form C.
300
+ </p>
301
+ </div><div class="div2">
302
+ <h3><a id="chars_math-variant-tables"></a>5.2 Variant
303
+ Mathematical Characters</h3>
304
+ <p>
305
+ Unicode attempts to avoid having several character codes for simple
306
+ font variants. For a code point to be assigned there should be
307
+ more than a nuance in glyphs to be recorded. To record
308
+ variants worth noting there is a special character in
309
+ Unicode 3.2, U+FE00 (VARIATION SELECTOR-1), which
310
+ acts as a postfix modifier. However the legally allowed
311
+ combinations with this variation selector are restricted to a
312
+ list recorded as part of Unicode. The VARIATION SELECTOR-1
313
+ character may only be applied to the characters listed here.
314
+ The resulting combination is not regarded by Unicode as a separate
315
+ character, but a variation on the base character. Unicode aware systems
316
+ may render the combination as the base if the available fonts do not
317
+ support the variant glyph shape.
318
+ </p>
319
+ <ul><li><a href="U0FE00.html">variation selector-1</a></li><li><a href="U0FE01.html">variation selector-2</a></li></ul></div></div>
320
+ </div>
321
+ <div class="back"><div class="div1">
322
+ <h2><a id="oddities"></a>A Special Considerations</h2><div class="div2">
323
+ <h3><a id="epsilon"></a>A.1 Epsilon</h3>
324
+ <p>Historically there has been much confusion and lack of
325
+ agreement over variant forms for lower case epsilon.</p>
326
+
327
+ <p>This specification uses the definitions below. Note that the
328
+ name <b>epsilon</b> is used for the character used in textual
329
+ Greek (U+03B5) and <b>varepsilon</b> used for the epsilon
330
+ symbol character more commonly used in mathematics
331
+ (U+03F5). Note that this usage is compatible with the naming of
332
+ similar pairs of characters (for example <b>theta</b>,
333
+ <b>vartheta</b>) but <em>incompatible</em> with the naming
334
+ convention used in TeX, MathML2 and some earlier mappings of the
335
+ ISO entity sets to Unicode.</p>
336
+ <table class="complex data"><thead><tr><th>Entity</th><th>Set</th><th>Description</th><th colspan="3">Unicode Character</th></tr></thead><tbody><tr><td>eacgr</td><td>isogrk2</td><td>=small epsilon, accent, Greek</td><td rowspan="1">U+03AD</td><td rowspan="1"><img height="32" width="32" src="glyphs/003/U003AD.png" alt="U003AD"></td><td rowspan="1">GREEK SMALL LETTER EPSILON WITH TONOS</td></tr><tr><td>egr</td><td>isogrk1</td><td>=small epsilon, Greek</td><td rowspan="3">U+03B5</td><td rowspan="3"><img height="32" width="32" src="glyphs/003/U003B5.png" alt="U003B5"></td><td rowspan="3">GREEK SMALL LETTER EPSILON</td></tr><tr><td>epsi</td><td>isogrk3</td><td>/epsilon</td></tr><tr><td>epsilon</td><td>xhtml1-symbol</td><td></td></tr><tr><td>epsiv</td><td>isogrk3</td><td>/straightepsilon, small epsilon, Greek</td><td rowspan="3">U+03F5</td><td rowspan="3"><img height="32" width="32" src="glyphs/003/U003F5.png" alt="U003F5"></td><td rowspan="3">GREEK LUNATE EPSILON SYMBOL</td></tr><tr><td>straightepsilon</td><td>mmlalias</td><td>alias ISOGRK3 epsiv</td></tr><tr><td>varepsilon</td><td>mmlalias</td><td>alias ISOGRK3 epsiv</td></tr><tr><td>bepsi</td><td>isoamsr</td><td>/backepsilon R: such that</td><td rowspan="2">U+03F6</td><td rowspan="2"><img height="32" width="32" src="glyphs/003/U003F6.png" alt="U003F6"></td><td rowspan="2">GREEK REVERSED LUNATE EPSILON SYMBOL</td></tr><tr><td>backepsilon</td><td>mmlalias</td><td>alias ISOAMSR bepsi</td></tr><tr><td>b.epsi</td><td>isogrk4</td><td>small epsilon, Greek</td><td rowspan="1">U+1D6C6</td><td rowspan="1"><img height="32" width="32" src="glyphs/1D6/U1D6C6.png" alt="U1D6C6"></td><td rowspan="1">MATHEMATICAL BOLD SMALL EPSILON</td></tr><tr><td>b.epsiv</td><td>isogrk4</td><td>variant epsilon</td><td rowspan="1">U+1D6DC</td><td rowspan="1"><img height="32" width="32" src="glyphs/1D6/U1D6DC.png" alt="U1D6DC"></td><td rowspan="1">MATHEMATICAL BOLD EPSILON SYMBOL</td></tr></tbody></table></div><div class="div2">
337
+ <h3><a id="phi"></a>A.2 Phi</h3>
338
+ <p>The situation for phi is very similar to that of epsilon,
339
+ although with the further complication that early versions of
340
+ Unicode had the sample glyphs for U+03C6 and U+03D5 swapped
341
+ from the current usage, and some older fonts still in use follow
342
+ that older convention. The definitions used in this
343
+ specification are as listed below.</p>
344
+ <table class="complex data"><thead><tr><th>Entity</th><th>Set</th><th>Description</th><th colspan="3">Unicode Character</th></tr></thead><tbody><tr><td>phi</td><td>isogrk3</td><td>/phi - small phi, Greek</td><td rowspan="3">U+03C6</td><td rowspan="3"><img height="32" width="32" src="glyphs/003/U003C6.png" alt="U003C6"></td><td rowspan="3">GREEK SMALL LETTER PHI</td></tr><tr><td>phi</td><td>xhtml1-symbol</td><td>greek small letter phi</td></tr><tr><td>phgr</td><td>isogrk1</td><td>=small phi, Greek</td></tr><tr><td>straightphi</td><td>mmlalias</td><td>alias ISOGRK3 phiv</td><td rowspan="3">U+03D5</td><td rowspan="3"><img height="32" width="32" src="glyphs/003/U003D5.png" alt="U003D5"></td><td rowspan="3">GREEK PHI SYMBOL</td></tr><tr><td>phiv</td><td>isogrk3</td><td>/varphi - straight phi</td></tr><tr><td>varphi</td><td>mmlalias</td><td>alias ISOGRK3 phiv</td></tr><tr><td>b.phi</td><td>isogrk4</td><td>small phi, Greek</td><td rowspan="1">U+1D6D7</td><td rowspan="1"><img height="32" width="32" src="glyphs/1D6/U1D6D7.png" alt="U1D6D7"></td><td rowspan="1">MATHEMATICAL BOLD SMALL PHI</td></tr><tr><td>b.phiv</td><td>isogrk4</td><td>variant phi</td><td rowspan="1">U+1D6DF</td><td rowspan="1"><img height="32" width="32" src="glyphs/1D6/U1D6DF.png" alt="U1D6DF"></td><td rowspan="1">MATHEMATICAL BOLD PHI SYMBOL</td></tr></tbody></table></div><div class="div2">
345
+ <h3><a id="chars_math-multiple-tables"></a>A.3 Multiple Character Entities</h3>
346
+ <p>
347
+ In addition to the combining and variant character combinations
348
+ listed in the previous sections,
349
+ the following table lists the remaining entity replacement texts that
350
+ consist of more than one character.
351
+ </p>
352
+ <table class="complex data"><thead><tr><th>Entity</th><th>Set</th><th>Description</th><th colspan="3">Unicode Character</th></tr></thead><tbody><tr class="combine"><td>fjlig</td><td>isopub</td><td>small fj ligature</td><td rowspan="1">U+0066 U+006A</td><td rowspan="1"><img height="32" width="32" src="glyphs/000/U00066-0006A.png" alt="U00066-0006A"></td><td rowspan="1">fj ligature</td></tr><tr class="combine"><td>ThickSpace</td><td>mmlextra</td><td>space of width 5/18 em</td><td rowspan="1">U+205F U+200A</td><td rowspan="1"><img height="32" width="32" src="glyphs/020/U0205F-0200A.png" alt="U0205F-0200A"></td><td rowspan="1">space of width 5/18 em</td></tr><tr class="combine"><td>race</td><td>isoamsb</td><td>reverse most positive, line below</td><td rowspan="1">U+223D U+0331</td><td rowspan="1"><img height="32" width="32" src="glyphs/022/U0223D-00331.png" alt="U0223D-00331"></td><td rowspan="1">REVERSED TILDE with underline</td></tr><tr class="combine"><td>acE</td><td>isoamsb</td><td>most positive, two lines below</td><td rowspan="1">U+223E U+0333</td><td rowspan="1"><img height="32" width="32" src="glyphs/022/U0223E-00333.png" alt="U0223E-00333"></td><td rowspan="1">INVERTED LAZY S with double underline</td></tr></tbody></table>
353
+ <p>Unicode does not have an fj character, although the other common f ligatures
354
+ such as fi (U+FB01) are contained in the Alphabetic Presentation Forms block.
355
+ The <b>fjlig</b> entity is mapped to the pair of characters "fj";
356
+ modern typesetting engines should automatically use the fj ligature for this
357
+ combination if the font supplies such a ligature.</p>
358
+
359
+ <p>Unicode has a range of space characters (including all multiples of
360
+ 1/18 em up to 6/18, except for 5/18 em) thus the <b>ThickSpace</b> entity is
361
+ mapped to a pair of space characters. An alternative would have been to use
362
+ U+2005 (1/4 em), but 1/4 em is not equal to 5/18 em, so the above definition was
363
+ chosen, despite the fact that the difference is unlikely to be visibly
364
+ noticeable at most typeset font sizes.</p>
365
+
366
+ <p>The entities <b>race</b> and <b>acE</b> denote underlined
367
+ characters for which Unicode does not have codepoints, thus combining
368
+ underline characters have been used, in a way analogous to the use of
369
+ combining strokes for negated operators.</p>
370
+ </div><div class="div2">
371
+ <h3><a id="chars_math-combining-tables"></a>A.4 Entities Defined to be a Combining Character</h3>
372
+ <p>
373
+ The following table lists the entity replacement texts that
374
+ consist of a combining character.
375
+ </p>
376
+ <table class="complex data"><thead><tr><th>Entity</th><th>Set</th><th>Description</th><th colspan="3">Unicode Character</th></tr></thead><tbody><tr class="combine"><td>DownBreve</td><td>mmlextra</td><td>breve, inverted (non-spacing)</td><td rowspan="1">U+0311</td><td rowspan="1"><img height="32" width="32" src="glyphs/003/U00311.png" alt="U00311"></td><td rowspan="1">COMBINING INVERTED BREVE</td></tr><tr class="combine"><td>tdot</td><td>isotech</td><td>three dots above</td><td rowspan="2">U+20DB</td><td rowspan="2"><img height="32" width="32" src="glyphs/020/U020DB.png" alt="U020DB"></td><td rowspan="2">COMBINING THREE DOTS ABOVE</td></tr><tr class="combine"><td>TripleDot</td><td>mmlalias</td><td>alias ISOTECH tdot</td></tr><tr class="combine"><td>DotDot</td><td>isotech</td><td>four dots above</td><td rowspan="1">U+20DC</td><td rowspan="1"><img height="32" width="32" src="glyphs/020/U020DC.png" alt="U020DC"></td><td rowspan="1">COMBINING FOUR DOTS ABOVE</td></tr></tbody></table>
377
+ <p>For reasons explained further in <a href="#Charmod-norm">[Charmod-norm]</a>, it is
378
+ not advisable to start the replacement text of an entity with a
379
+ combining character, as then potentially different results may be
380
+ produced depending on the order in which entity expansion and Unicode
381
+ normalisation are performed. As far as possible this specification
382
+ uses non-combining characters, however, in the cases <b>DownBreve</b>,
383
+ <b>tdot</b>, <b>TripleDot</b> and <b>DotDot</b>
384
+ Unicode only has combining forms of the accents.</p>
385
+
386
+ <p>Earlier versions of this specification defined these entities
387
+ with the replacement text starting with a space, to avoid the possibility that
388
+ the expansion of the entity combined with preceding text. However for various reasons
389
+ the entities as incorporated in HTML do not have a space here, and so the
390
+ definitions now consist just of the combining character so that HTML and XHTML
391
+ are consistent with any specifications using these definitions.</p>
392
+ </div></div><div class="div1">
393
+ <h2><a id="changes"></a>B Changes</h2><div class="div2">
394
+ <h3><a id="changes20140410"></a>B.1 Changes since 2014-04-10 (Second Edition Recommendation)</h3>
395
+ <p>Source files updated to Unicode 15.0, affecting the character tables,
396
+ but with no changes to generated entity files or stylesheets.
397
+ New table for the U+FE01 Variation selector and greatly extended set of variations in the U+FE00 table (most of these standardised variants were added at Unicode 14). The script alphabet table has been extended to show both variants.</p>
398
+
399
+ <p>Reference added to the November 2021 W3C Process Document.</p>
400
+
401
+ <p>Some changes to the front matter including link to GitHub as
402
+ required by the latest W3C publication process.</p>
403
+
404
+ <p>Adjustments to CSS styling to match new W3C document style.</p>
405
+
406
+ <p>The source repository has been moved to github so the log is now public.</p>
407
+
408
+ <p>As detailed in <a href="#chars_math-combining-tables"><b>A.4 Entities Defined to be a Combining Character</b></a> <b>DownBreve</b>,
409
+ <b>tdot</b>, <b>TripleDot</b> and <b>DotDot</b> are no longer prefixed by a space.</p>
410
+ </div><div class="div2">
411
+ <h3><a id="changes20100401"></a>B.2 Changes between 2010-04-01 and 2014-04-10 (First and Second Edition Recommendations)</h3>
412
+ <p>Source files updated to Unicode 6.3, affecting the character tables,
413
+ but with no changes to generated entity files or stylesheets.</p>
414
+
415
+ <p>Source files updated Unicode 6.1 data on Arabic math alphabets (U+1EE??). Additional tables shown in Sections 3 and 4.</p>
416
+
417
+ <p>Section <a href="#sets"><b>2 Sets of names</b></a> reorganized to highlight the <code>htmlmathml</code> set which is used in MathML and HTML. Also link to XSL and JSON formats for the HTML MathML set.</p>
418
+
419
+ <p>References updated: <a href="#MathML3">[MathML3]</a>, <a href="#HTML5">[HTML5]</a> and <a href="#Unicode">[Unicode]</a>.</p>
420
+ </div><div class="div2">
421
+ <h3><a id="changes20100211"></a>B.3 Changes between 2010-04-01 and 2010-02-11</h3>
422
+ <p>Several example images improved, bringing them more in line with the Unicode reference images.</p>
423
+ </div><div class="div2">
424
+ <h3><a id="changes20091117"></a>B.4 Changes between 2010-02-11 and 2009-11-17</h3>
425
+ <p>Various editorial improvements, including using Unicode U+1234
426
+ notation more consistently rather than displaying the internal
427
+ IDs of the form U01234.</p>
428
+
429
+ <p>The combined entities file distributed with the 2009-11-17
430
+ draft introduced an error that if two entity names differed only
431
+ by case, only one was included. This has been corrected.</p>
432
+
433
+ <p>The combined entity set htmlmathml corresponding to the
434
+ entities usable in HTML and MathML is now explicitly provided. The
435
+ predefined set, corresponding to the entities predefined in XML
436
+ is now documented (it was previously used internally).</p>
437
+
438
+ <p>The entities <b>xvee</b> and <b>xwedge</b> had the correct
439
+ Unicode assignments (U+22C1 and U+22C0) but the entity descriptions
440
+ have been swapped, <b>xvee</b> is logical or and <b>xwedge</b> is logical and.
441
+ This error in <a href="#ISO9573-13-1991">[ISO9573-13-1991]</a> was reported in 1999,
442
+ in a Proposed Technical Corrigendum,
443
+ but not previously fixed. The entity files are unaffected by this change.</p>
444
+
445
+ <p>The entity <b>NotGreaterFullEqual</b> which had been erroneously assigned to
446
+ a negated less than operator (U+2266 U+0338) has been corrected to be the negated greater than operator (U+2267 U+0338).</p>
447
+
448
+ <p>A sample <a href="#catalog">catalog</a> is now provided to redirect references to the entity files to copies on the local machine rather than the W3C server.</p>
449
+ </div><div class="div2">
450
+ <h3><a id="changes20080721"></a>B.5 Changes between 2009-11-17 and 2008-07-21</h3>
451
+ <p>The html5-uppercase set is now documented.</p>
452
+
453
+ <p>The entities <b>ohm</b> and <b>angst</b> have changed to U+03A9 and U+00C5 to match NFC. See
454
+ <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=5897">w3c bugzilla entry</a>.</p>
455
+
456
+ <p>The entity <b>race</b>, which had been erroneously assigned U+29DA,
457
+ is now assigned the combination U+223D U+0331. (U+223D isn't
458
+ quite the shape shown in the original ISO document which is a
459
+ rotated S rather than a rotated tilde, but this appears to be
460
+ the closest character in Unicode 5.2.)</p>
461
+
462
+ <p>The entities <b>bsolhsub</b> and <b>suphsol</b> which were previously
463
+ mapped to two-character combinations U+005C U+2282 and U+2283 U+002F
464
+ are now mapped to the Unicode 5 characters that were added
465
+ specifically to support these entities, U+27C8 and U+27C9.</p>
466
+
467
+ <p>The source files have all been updated to match Unicode 5.2.</p>
468
+
469
+ <p>The entity <b>ThickSpace</b> now maps to the pair
470
+ U+205F U+200A rather than the triple U+2009 U+200A U+200A
471
+ (4/18 + 1/18)em rather than (3/18 + 1/18 + 1/18)em.</p>
472
+
473
+ <p>The entity <b>UnderBar</b> maps to the spacing character
474
+ _ rather than the combining character U+0332.</p>
475
+
476
+ <p>The entity <b>OverBar</b> maps to the spacing character
477
+ U+203E (like the XHTML entity <b>oline</b>) rather than the macron character U+00AF.</p>
478
+
479
+ <p>The entities <b>epsiv</b> and <b>varepsilon</b> are now mapped to the epsilon symbol
480
+ U+03F5 rather than being aliases for the entity <b>epsilon</b>, U+03B5.</p>
481
+
482
+ <p>The entities <b>phiv</b> and <b>varphi</b> are now mapped to the phi symbol U+03D5
483
+ rather than being aliases for the entity <b>phi</b>, U+03C6.</p>
484
+ </div><div class="div2">
485
+ <h3><a id="changes20071214"></a>B.6 Changes between 2008-07-21 and 2007-12-14</h3>
486
+ <p>The following entity definitions have changed at this draft:</p>
487
+
488
+ <p><b>phi</b>, <b>lang</b>, <b>rang</b>,
489
+ <b>OverParenthesis</b>, <b>UnderParenthesis</b>,
490
+ <b>OverBrace</b>, <b>UnderBrace</b>,
491
+ <b>lbbrk</b>, <b>rbbrk</b>.</p>
492
+ </div></div><div class="div1">
493
+ <h2><a id="diffs"></a>C Differences between these entities and earlier W3C DTDs</h2><div class="div2">
494
+ <h3><a id="diff-xhtml1"></a>C.1 Differences from XHTML 1.0</h3>
495
+ <p>Differences between the XHTML entity definitions described here and the entity set
496
+ described in the <a href="https://www.w3.org/TR/xhtml1/dtds.html">XHTML 1.0 DTD</a>.</p>
497
+ <dl><dt class="kwlabel"><b>lang</b> and <b>rang</b></dt><dd>U+27E8 and
498
+ U+27E9; XHTML 1.0 used U+2329 and U+232A (which have canonical
499
+ decomposition to U+3008 and U+3009).</dd></dl><div class="note"><p class="prefix"><b>Note:</b></p>
500
+ <p>The current drafts of <a href="#HTML5">[HTML5]</a> use entity definitions derived from
501
+ this specification.</p>
502
+ </div></div><div class="div2">
503
+ <h3><a id="diff-mathml2"></a>C.2 Differences from MathML 2.0 (second edition)</h3>
504
+ <p>The differences between MathML 2 and the current entity
505
+ definitions are listed below.</p>
506
+ <dl><dt class="kwlabel"><b>fjlig</b></dt><dd>ISOPUB (and MathML 1) defined an fj ligature;
507
+ Unicode does not have a specific character and the entity was dropped from MathML2.
508
+ It is re-instated here for maximum compatibility with <a href="#SGML">[SGML]</a>.</dd><dt class="kwlabel"><b>phi</b></dt><dd>U+03C6 GREEK SMALL LETTER PHI
509
+ (the definition used in HTML4);
510
+ MathML2 used U+03D5 GREEK PHI SYMBOL. </dd><dt class="kwlabel"><b>epsiv</b>, <b>varepsilon</b>, <b>phiv</b>,
511
+ <b>varphi</b></dt><dd>these have been changed to map to the symbol character
512
+ (to match other uses of the var prefix such as <b>vartheta</b>).</dd><dt class="kwlabel"><b>jmath</b></dt><dd>U+0237; MathML 2 used U+006A (j) as
513
+ there was no dotless j before Unicode 4.1.</dd><dt class="kwlabel"><b>trpezium</b>, <b>elinters</b></dt><dd>U+23E2 and U+23E7;
514
+ MathML 2 used U+FFFD (REPLACEMENT CHARACTER) as these characters were added at Unicode 5.0
515
+ specifically to support these entities. </dd><dt class="kwlabel"><b>ohm</b>, <b>angst</b></dt><dd>As noted above, the
516
+ definitions of these entities have been changed so that the
517
+ definitions use characters that are in NFC normal
518
+ form.</dd><dt class="kwlabel"><b>bsolhsub</b> and <b>suphsol</b></dt><dd> U+27C8 and
519
+ U+27C9;
520
+ MathML2 used U+005C U+02282 and U+2283 U+002F.</dd><dt class="kwlabel"><b>NotGreaterFullEqual</b></dt><dd> U+2267 U+0338 ;
521
+ MathML2 used the erroneous definition U+2266 U+0338.</dd></dl>
522
+ <p>The following bracket symbols have been added to the Mathematical
523
+ symbols block in Unicode versions between 3.1 and 5.1. MathML2 used
524
+ similar characters intended for CJK punctuation.</p>
525
+ <dl><dt class="kwlabel"><b>lang</b>, <b>langle</b>, <b>LeftAngleBracket</b> and
526
+ <b>rang</b>, <b>rangle</b>, <b>RightAngleBracket</b></dt><dd>U+27E8 and
527
+ U+27E9; MathML2 used U+2329 and U+232A (which have canonical
528
+ decomposition to U+3008 and U+3009).</dd><dt class="kwlabel"><b>Lang</b> and <b>Rang</b></dt><dd>U+27EA and U+27EB;
529
+ MathML2 used U+300A and U+300B.</dd><dt class="kwlabel"><b>lbbrk</b> and <b>rbbrk</b></dt><dd>U+2772 and
530
+ U+2773; MathML2 used U+3014 and U+3015.</dd><dt class="kwlabel"><b>loang</b> and <b>roang</b></dt><dd>U+27EC and
531
+ U+27ED; MathML2 used U+3018 and U+3019.</dd><dt class="kwlabel"><b>lobrk</b> and <b>robrk</b></dt><dd>U+27E6 and
532
+ U+27E7; MathML2 used U+301A and U+301B.</dd><dt class="kwlabel"><b>OverBrace</b> and <b>UnderBrace</b></dt><dd>U+23DE and U+23DF; MathML2
533
+ used U+FE37 and U+FE38.</dd><dt class="kwlabel"><b>OverParenthesis</b> and
534
+ <b>UnderParenthesis</b></dt><dd>U+23DC and U+23DD;
535
+ MathML2 used U+FE35 and U+FE36.</dd><dt class="kwlabel"><b>LeftDoubleBracket</b> and
536
+ <b>RightDoubleBracket</b></dt><dd>U+27E6 and U+27E7;
537
+ MathML2 used U+301A and U+301B.</dd></dl><div class="note"><p class="prefix"><b>Note:</b></p>
538
+ <p><a href="#MathML3">[MathML3]</a> uses the entity sets defined by this specification.</p>
539
+ </div></div></div><div class="div1">
540
+ <h2><a id="source"></a>D Source Files</h2>
541
+ <p>All data files used to construct the entity declarations, XSLT character maps, and
542
+ HTML tables referenced from this document are available from
543
+ <a href="https://github.com/w3c/xml-entities/">https://github.com/w3c/xml-entities/</a>.</p>
544
+ <ul><li><a href="https://github.com/w3c/xml-entities/blob/gh-pages/unicode.xml">unicode.xml</a> master file detailing all Unicode characters with names in various entity sets and applications, TeX equivalents and other data. This file has been maintained for many years, originally by Sebastian Rahtz as part of the jadetex distribution and since around 1999 as part of the MathML specification sources by David Carlisle. The current version encodes data for all characters in Unicode 17.
545
+ <em>Note: unicode.xml is over 5MB in size and may not really be suitable for direct viewing in a browser. You may prefer to save the file rather than follow the above link to unicode.xml in a browser.</em></li><li><a href="https://github.com/w3c/xml-entities/blob/gh-pages/charlist.rnc">charlist.rnc</a> relax NG schema for unicode.xml.</li><li><a href="https://github.com/w3c/xml-entities/blob/gh-pages/unicode.xsl">unicode.xsl</a> XSLT stylesheet that renders unicode.xml as an HTML table.</li><li><a href="https://github.com/w3c/xml-entities/blob/gh-pages/character-set.xml">character-set.xml</a> the source file for this document.</li><li><a href="https://github.com/w3c/xml-entities/blob/gh-pages/xmlspec.xsl">xmlspec.xsl</a> a copy of the standard xmlspec stylesheet.</li><li><a href="https://github.com/w3c/xml-entities/blob/gh-pages/run">run</a> small script file that builds this collection.</li><li><a href="https://github.com/w3c/xml-entities/blob/gh-pages/xhtml1.xml">xhtml1.xml</a> record of XHTML 1.0 entity definitions.</li><li><a href="https://github.com/w3c/xml-entities/blob/gh-pages/mml2.xml">mml2.xml</a> record of MathML 2.0 (second edition) entity definitions.</li><li><a href="https://github.com/w3c/xml-entities/blob/gh-pages/unicodedata.xsl">unicodedata.xsl</a> stylesheet that generates a new copy of unicode.xml, incorporating data from the Unicode data file, used to update unicode.xml as new versions of Unicode are released.</li><li><a href="https://github.com/w3c/xml-entities/blob/gh-pages/entities.xsl">entities.xsl</a> stylesheet to generate the DTD declarations for the entities.</li><li><a href="https://github.com/w3c/xml-entities/blob/gh-pages/charmap.xsl">charmap.xsl</a> stylesheet to generate the XSLT character maps.</li><li><a href="https://github.com/w3c/xml-entities/blob/gh-pages/characters.xsl">characters.xsl</a> stylesheet to generate this document, including the referenced HTML tables.</li><li><a href="https://github.com/w3c/xml-entities/blob/gh-pages/schemas.xml">schemas.xml</a> file associating XML documents with appropriate Relax NG schema.</li><li id="catalog"><a href="https://github.com/w3c/xml-entities/blob/gh-pages/catalog">catalog</a> Sample OASIS XML catalog that redirects references to the entity or stylesheet files at https://www.w3.org/2003/entities/2007/ to the local file system at
546
+ /etc/xml/w3c-entities. It should be edited to refer to the location of a local copy of the files. Many XML parsers may be configured to read this catalog format, but the specific options depend on the parser being used.</li></ul></div><div class="div1">
547
+ <h2><a id="references"></a>E References</h2><dl><dt class="label" id="SGML">SGML</dt><dd>ISO/IEC 8879:1986, Information processing &#x2014; Text and office
548
+ systems &#x2014; Standard Generalized Markup Language (SGML)</dd><dt class="label" id="ISO9573-13-1991">ISO9573-13-1991</dt><dd>ISO/IEC TR 9573-13:1991, Information
549
+ technology &#x2014; SGML support facilities &#x2014;
550
+ Techniques for using
551
+ SGML &#x2014; Part 13: Public entity sets for
552
+ mathematics and science</dd><dt class="label" id="Unicode">Unicode</dt><dd>The Unicode Consortium. The Unicode Standard, Version 5.2.0, defined by:
553
+ The Unicode Standard, Version 5.2 (Mountain View, CA: The Unicode Consortium, 2009. ISBN 978-1-936213-00-9). Unicode 6.3 update
554
+ (<a href="https://www.unicode.org/versions/Unicode6.3.0/">https://www.unicode.org/versions/Unicode6.3.0/</a>)
555
+ </dd><dt class="label" id="Unicode15">Unicode15</dt><dd>Unicode Standard Annex 15, Version 6.3.0;
556
+ <em><a href="https://www.unicode.org/reports/tr15/">Unicode Normalization Forms</a></em>,
557
+ The Unicode Consortium, 2013-09-20.
558
+ (<a href="https://www.unicode.org/reports/tr15/">https://www.unicode.org/reports/tr15/</a>)
559
+ </dd><dt class="label" id="Unicode25">Unicode25</dt><dd>Barbara Beeton, Asmus Freytag, Murray Sargent III,
560
+ <em><a href="https://www.unicode.org/reports/tr25/">Unicode Support for Mathematics</a></em>,
561
+ Unicode Technical Report #25 2012-04-02.
562
+ (<a href="https://www.unicode.org/reports/tr25/">https://www.unicode.org/reports/tr25/</a>)
563
+ </dd><dt class="label" id="MathML2">MathML2</dt><dd>David Carlisle, Patrick Ion, Robert Miner, Nico Poppelier,
564
+ <em><a href="https://www.w3.org/TR/MathML2/">Mathematical Markup Language (MathML)
565
+ Version 2.0 (Second Edition)</a></em>
566
+ W3C Recommendation 21 October 2003
567
+ (<a href="https://www.w3.org/TR/2003/REC-MathML2-20031021/">https://www.w3.org/TR/2003/REC-MathML2-20031021/</a>)
568
+ </dd><dt class="label" id="MathML3">MathML3</dt><dd>David Carlisle, Patrick Ion, Robert Miner,
569
+ <em><a href="https://www.w3.org/TR/MathML3/">Mathematical Markup Language (MathML) Version 3.0 2nd Edition</a></em>
570
+ W3C Recommendation 10 April 2014
571
+ (<a href="https://www.w3.org/TR/2014/REC-MathML3-20140410/">https://www.w3.org/TR/2014/REC-MathML3-20140410/</a>)
572
+ </dd><dt class="label" id="HTML4">HTML4</dt><dd>Dave Raggett, Arnaud Le Hors, Ian Jacobs,
573
+ <em><a href="https://www.w3.org/TR/html4/"></a>HTML 4.01 Specification</em>
574
+ W3C Recommendation 24 December 1999
575
+ (<a href="https://www.w3.org/TR/1999/REC-html401-19991224/">https://www.w3.org/TR/1999/REC-html401-19991224</a>)</dd><dt class="label" id="HTML5">HTML5</dt><dd>Robin Berjon,
576
+ Steve Faulkner,
577
+ Travis Leithead,
578
+ Erika Doyle Navara,
579
+ Edward O'Connor,
580
+ Silvia Pfeiffer,
581
+ Ian Hickson
582
+ <em><a href="https://www.w3.org/TR/html5/">HTML 5,
583
+ A vocabulary and associated APIs for HTML and XHTML</a></em>
584
+ W3C Candidate Recommendation 6 August 2013
585
+ (<a href="https://www.w3.org/TR/html5/">https://www.w3.org/TR/html5/</a>)</dd><dt class="label" id="Charmod-norm">Charmod-norm</dt><dd> Fran&#xe7;ois Yergeau,
586
+ Martin J. D&#xfc;rst,
587
+ Richard Ishida,
588
+ Addison Phillips,
589
+ Misha Wolf,
590
+ Tex Texin,
591
+ <em><a href="https://www.w3.org/TR/charmod-norm/">Character Model
592
+ for the World Wide Web 1.0: Normalization</a></em>
593
+ W3C Working Draft 1 May 2012
594
+ (<a href="https://www.w3.org/TR/charmod-norm/">https://www.w3.org/TR/charmod-norm/</a>)
595
+ </dd></dl></div></div></body></html>