iwxxm-validate 0.1.0__py3-none-any.whl

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 (357) hide show
  1. iwxxm_validate/__init__.py +21 -0
  2. iwxxm_validate/api.py +119 -0
  3. iwxxm_validate/cli.py +86 -0
  4. iwxxm_validate/codec.py +12 -0
  5. iwxxm_validate/models.py +61 -0
  6. iwxxm_validate/native.py +44 -0
  7. iwxxm_validate/paths.py +145 -0
  8. iwxxm_validate/schemas/LAST_SYNC.json +24 -0
  9. iwxxm_validate/schemas/MANIFEST.json +25 -0
  10. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/WAFSSigWxFC.xsd +250 -0
  11. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/airmet.xsd +307 -0
  12. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/common.xsd +506 -0
  13. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/gmliwxxm.xsd +795 -0
  14. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/iwxxm-collect.xsd +8 -0
  15. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/iwxxm.xsd +29 -0
  16. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/measures.xsd +69 -0
  17. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/metFeature.xsd +432 -0
  18. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/metarSpeci.xsd +1035 -0
  19. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-49-2-AerodromePresentOrForecastWeather.rdf +2059 -0
  20. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-49-2-AerodromeRecentWeather.rdf +174 -0
  21. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-49-2-AirWxPhenomena.rdf +170 -0
  22. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-49-2-AviationColourCode.rdf +93 -0
  23. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-49-2-CloudAmountReportedAtAerodrome.rdf +127 -0
  24. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-49-2-MeteorologicalFeature.rdf +265 -0
  25. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-49-2-SigConvectiveCloudType.rdf +63 -0
  26. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-49-2-SigWxPhenomena.rdf +132 -0
  27. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-49-2-SpaceWxLocation.rdf +93 -0
  28. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-49-2-SpaceWxPhenomena.rdf +100 -0
  29. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-49-2-WeatherCausingVisibilityReduction.rdf +177 -0
  30. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-bufr4-codeflag-0-11-030.rdf +780 -0
  31. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-bufr4-codeflag-0-20-008.rdf +580 -0
  32. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-bufr4-codeflag-0-20-012.rdf +1412 -0
  33. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-bufr4-codeflag-0-20-041.rdf +159 -0
  34. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-bufr4-codeflag-0-20-086.rdf +138 -0
  35. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-bufr4-codeflag-0-20-087.rdf +87 -0
  36. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-bufr4-codeflag-0-20-089.rdf +855 -0
  37. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-bufr4-codeflag-0-22-061.rdf +145 -0
  38. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/codes.wmo.int-common-nil.rdf +125 -0
  39. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/rule/iwxxm.sch +883 -0
  40. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/sigmet.xsd +447 -0
  41. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/spaceWxAdvisory.xsd +174 -0
  42. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/taf.xsd +304 -0
  43. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/tropicalCycloneAdvisory.xsd +233 -0
  44. iwxxm_validate/schemas/iwxxm/2023-1/IWXXM/volcanicAshAdvisory.xsd +377 -0
  45. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/WAFSSigWxFC.xsd +202 -0
  46. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/airmet.xsd +304 -0
  47. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/common.xsd +559 -0
  48. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/gmliwxxm.xsd +795 -0
  49. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/iwxxm-collect.xsd +8 -0
  50. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/iwxxm.xsd +30 -0
  51. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/metFeature.xsd +586 -0
  52. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/metarSpeci.xsd +874 -0
  53. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/qvaci.xsd +82 -0
  54. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-49-2-AerodromePresentOrForecastWeather.rdf +5250 -0
  55. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-49-2-AerodromeRecentWeather.rdf +362 -0
  56. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-49-2-AirWxPhenomena.rdf +239 -0
  57. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-49-2-AviationColourCode.rdf +99 -0
  58. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-49-2-CloudAmountReportedAtAerodrome.rdf +154 -0
  59. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-49-2-MeteorologicalFeature.rdf +263 -0
  60. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-49-2-SigConvectiveCloudType.rdf +50 -0
  61. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-49-2-SigWxPhenomena.rdf +245 -0
  62. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-49-2-SpaceWxLocation.rdf +114 -0
  63. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-49-2-SpaceWxPhenomena.rdf +101 -0
  64. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-49-2-WeatherCausingVisibilityReduction.rdf +251 -0
  65. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-bufr4-codeflag-0-11-030.rdf +360 -0
  66. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-bufr4-codeflag-0-20-008.rdf +265 -0
  67. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-bufr4-codeflag-0-20-012.rdf +647 -0
  68. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-bufr4-codeflag-0-20-041.rdf +205 -0
  69. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-bufr4-codeflag-0-22-061.rdf +176 -0
  70. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-common-nil.rdf +168 -0
  71. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-iwxxm-AviationColourCode.rdf +59 -0
  72. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-iwxxm-MeteorologicalFeature.rdf +243 -0
  73. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/codes.wmo.int-iwxxm-nil.rdf +108 -0
  74. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/rule/iwxxm.sch +866 -0
  75. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/sigmet.xsd +444 -0
  76. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/spaceWxAdvisory.xsd +260 -0
  77. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/taf.xsd +293 -0
  78. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/tropicalCycloneAdvisory.xsd +233 -0
  79. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/volcanicAshAdvisory.xsd +387 -0
  80. iwxxm_validate/schemas/iwxxm/2025-2/IWXXM/vona.xsd +213 -0
  81. iwxxm_validate/schemas/iwxxm/externalSchema/README.txt +1 -0
  82. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1/AIXM_AbstractGML_ObjectTypes.xsd +239 -0
  83. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1/AIXM_DataTypes.xsd +8062 -0
  84. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1/AIXM_Features.xsd +11379 -0
  85. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1.1/AIXM_AbstractGML_ObjectTypes.xsd +236 -0
  86. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1.1/AIXM_DataTypes.xsd +8099 -0
  87. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1.1/AIXM_Features.xsd +11369 -0
  88. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1.1/message/AIXM_BasicMessage.xsd +56 -0
  89. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1.1_profiles/AIXM_WX/5.1.1a/AIXM_AbstractGML_ObjectTypes.xsd +240 -0
  90. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1.1_profiles/AIXM_WX/5.1.1a/AIXM_DataTypes.xsd +443 -0
  91. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1.1_profiles/AIXM_WX/5.1.1a/AIXM_Features.xsd +522 -0
  92. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1.1_profiles/AIXM_WX/5.1.1a/README.txt +17 -0
  93. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1.1_profiles/AIXM_WX/5.1.1a/message/AIXM_BasicMessage.xsd +60 -0
  94. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1.1_profiles/AIXM_WX/5.1.1b/AIXM_AbstractGML_ObjectTypes.xsd +240 -0
  95. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1.1_profiles/AIXM_WX/5.1.1b/AIXM_DataTypes.xsd +493 -0
  96. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1.1_profiles/AIXM_WX/5.1.1b/AIXM_Features.xsd +566 -0
  97. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1.1_profiles/AIXM_WX/5.1.1b/README.txt +18 -0
  98. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1.1_profiles/AIXM_WX/5.1.1b/message/AIXM_BasicMessage.xsd +60 -0
  99. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/AIXM_AbstractGML_ObjectTypes.xsd +239 -0
  100. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/AIXM_DataTypes.xsd +1404 -0
  101. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/AIXM_Features.xsd +719 -0
  102. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/SchematronConstraints.xml +71 -0
  103. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/basicTypes.xsd +262 -0
  104. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/coordinateOperations.xsd +519 -0
  105. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/coordinateReferenceSystems.xsd +367 -0
  106. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/coordinateSystems.xsd +291 -0
  107. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/coverage.xsd +287 -0
  108. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/datums.xsd +281 -0
  109. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/defaultStyle.xsd +447 -0
  110. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/deprecatedTypes.xsd +1128 -0
  111. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/dictionary.xsd +84 -0
  112. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/direction.xsd +78 -0
  113. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/dynamicFeature.xsd +1 -0
  114. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/feature.xsd +1 -0
  115. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/geometryAggregates.xsd +191 -0
  116. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/geometryBasic0d1d.xsd +1 -2
  117. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/geometryBasic2d.xsd +118 -0
  118. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/geometryComplexes.xsd +89 -0
  119. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/geometryPrimitives.xsd +841 -0
  120. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/gml.xsd +15 -0
  121. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/gmlBase.xsd +179 -0
  122. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/grids.xsd +58 -0
  123. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/measures.xsd +63 -0
  124. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/observation.xsd +90 -0
  125. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/referenceSystems.xsd +64 -0
  126. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/temporal.xsd +263 -0
  127. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/temporalReferenceSystems.xsd +183 -0
  128. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/temporalTopology.xsd +113 -0
  129. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/topology.xsd +380 -0
  130. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/units.xsd +156 -0
  131. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19136_Schemas/valueObjects.xsd +199 -0
  132. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gco/basicTypes.xsd +429 -0
  133. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gco/gco.xsd +12 -0
  134. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gco/gcoBase.xsd +61 -0
  135. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmd/applicationSchema.xsd +42 -0
  136. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmd/citation.xsd +275 -0
  137. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmd/constraints.xsd +106 -0
  138. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmd/content.xsd +188 -0
  139. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmd/dataQuality.xsd +554 -0
  140. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmd/distribution.xsd +202 -0
  141. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmd/extent.xsd +205 -0
  142. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmd/freeText.xsd +122 -0
  143. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmd/gmd.xsd +12 -0
  144. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmd/identification.xsd +348 -0
  145. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmd/maintenance.xsd +86 -0
  146. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmd/metadataApplication.xsd +175 -0
  147. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmd/metadataEntity.xsd +70 -0
  148. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmd/metadataExtension.xsd +99 -0
  149. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmd/portrayalCatalogue.xsd +36 -0
  150. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmd/referenceSystem.xsd +100 -0
  151. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmd/spatialRepresentation.xsd +237 -0
  152. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmx/catalogues.xsd +112 -0
  153. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmx/codelistItem.xsd +168 -0
  154. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmx/crsItem.xsd +1030 -0
  155. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmx/extendedTypes.xsd +78 -0
  156. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmx/gmx.xsd +2 -0
  157. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmx/gmxUsage.xsd +127 -0
  158. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gmx/uomItem.xsd +162 -0
  159. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gsr/gsr.xsd +12 -0
  160. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gsr/spatialReferencing.xsd +24 -0
  161. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gss/geometry.xsd +35 -0
  162. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gss/gss.xsd +12 -0
  163. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gts/gts.xsd +12 -0
  164. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/gts/temporalObjects.xsd +34 -0
  165. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml +819 -0
  166. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/resources/Codelist/gmxCodelists.xml +1858 -0
  167. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/resources/crs/ML_gmxCrs.xml +1 -0
  168. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/resources/crs/gmxCrs.xml +1 -0
  169. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/resources/example/fr-fr.xml +1 -0
  170. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/resources/uom/ML_gmxUom.xml +1 -0
  171. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/ISO_19139_Schemas/resources/uom/gmxUom.xml +1 -0
  172. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/README.txt +21 -0
  173. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/message/AIXM_BasicMessage.xsd +58 -0
  174. iwxxm_validate/schemas/iwxxm/externalSchema/aero/aixm/5.1_profiles/AIXM_WX/5.1a/xlink/xlinks.xsd +122 -0
  175. iwxxm_validate/schemas/iwxxm/externalSchema/org/w3c/1999/xlink.xsd +275 -0
  176. iwxxm_validate/schemas/iwxxm/externalSchema/org/w3c/2001/xml.xsd +287 -0
  177. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/SchematronConstraints.xml +71 -0
  178. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/basicTypes.xsd +268 -0
  179. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/coordinateOperations.xsd +525 -0
  180. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/coordinateReferenceSystems.xsd +373 -0
  181. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/coordinateSystems.xsd +297 -0
  182. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/coverage.xsd +292 -0
  183. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/datums.xsd +287 -0
  184. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/defaultStyle.xsd +453 -0
  185. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/deprecatedTypes.xsd +1133 -0
  186. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/dictionary.xsd +90 -0
  187. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/direction.xsd +84 -0
  188. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/dynamicFeature.xsd +109 -0
  189. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/feature.xsd +94 -0
  190. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/geometryAggregates.xsd +197 -0
  191. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/geometryBasic0d1d.xsd +277 -0
  192. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/geometryBasic2d.xsd +124 -0
  193. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/geometryComplexes.xsd +95 -0
  194. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/geometryPrimitives.xsd +846 -0
  195. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/gml.xsd +20 -0
  196. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/gmlBase.xsd +185 -0
  197. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/gml_32_geometries.rdf +368 -0
  198. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/gml_3_2_1-ReadMe.txt +58 -0
  199. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/grids.xsd +64 -0
  200. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/measures.xsd +68 -0
  201. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/observation.xsd +95 -0
  202. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/referenceSystems.xsd +70 -0
  203. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/temporal.xsd +269 -0
  204. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/temporalReferenceSystems.xsd +189 -0
  205. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/temporalTopology.xsd +119 -0
  206. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/topology.xsd +386 -0
  207. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/units.xsd +162 -0
  208. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/gml/3.2.1/valueObjects.xsd +205 -0
  209. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/ReadMe.txt +26 -0
  210. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gco/ReadMe.txt +47 -0
  211. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gco/basicTypes.xsd +431 -0
  212. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gco/gco.xsd +12 -0
  213. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gco/gcoBase.xsd +63 -0
  214. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmd/ReadMe.txt +45 -0
  215. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmd/applicationSchema.xsd +43 -0
  216. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmd/citation.xsd +276 -0
  217. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmd/constraints.xsd +107 -0
  218. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmd/content.xsd +190 -0
  219. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmd/dataQuality.xsd +556 -0
  220. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmd/distribution.xsd +203 -0
  221. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmd/extent.xsd +206 -0
  222. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmd/freeText.xsd +123 -0
  223. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd +12 -0
  224. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmd/identification.xsd +349 -0
  225. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmd/maintenance.xsd +87 -0
  226. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmd/metadataApplication.xsd +176 -0
  227. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmd/metadataEntity.xsd +71 -0
  228. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmd/metadataExtension.xsd +100 -0
  229. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmd/portrayalCatalogue.xsd +37 -0
  230. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmd/referenceSystem.xsd +101 -0
  231. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmd/spatialRepresentation.xsd +238 -0
  232. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmx/ReadMe.txt +47 -0
  233. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmx/catalogues.xsd +113 -0
  234. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmx/codelistItem.xsd +169 -0
  235. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmx/crsItem.xsd +1031 -0
  236. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmx/extendedTypes.xsd +76 -0
  237. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmx/gmx.xsd +12 -0
  238. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmx/gmxUsage.xsd +128 -0
  239. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gmx/uomItem.xsd +163 -0
  240. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gsr/ReadMe.txt +45 -0
  241. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gsr/gsr.xsd +12 -0
  242. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gsr/spatialReferencing.xsd +25 -0
  243. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gss/ReadMe.txt +44 -0
  244. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gss/geometry.xsd +36 -0
  245. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gss/gss.xsd +12 -0
  246. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gts/ReadMe.txt +44 -0
  247. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gts/gts.xsd +12 -0
  248. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/iso/19139/20070417/gts/temporalObjects.xsd +35 -0
  249. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/SWEArrayObservation.sch +47 -0
  250. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/SWEScalarObservation.sch +48 -0
  251. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/categoryObservation.sch +40 -0
  252. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/complexObservation.sch +48 -0
  253. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/countObservation.sch +38 -0
  254. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/geometryObservation.sch +42 -0
  255. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/measurement.sch +43 -0
  256. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/observation.xsd +432 -0
  257. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/result-DataArray.sch +4 -0
  258. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/result-DataRecord.sch +5 -0
  259. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/result-SimpleComponent.sch +5 -0
  260. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/result-boolean.sch +4 -0
  261. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/result-category.sch +5 -0
  262. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/result-geometry.sch +5 -0
  263. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/result-integer.sch +4 -0
  264. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/result-measure.sch +5 -0
  265. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/result-temporal.sch +5 -0
  266. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/resultTypeConsistent.sch +122 -0
  267. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/spatialObservation.sch +59 -0
  268. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/specializingObservationExample.xsd +92 -0
  269. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/temporalObservation.sch +44 -0
  270. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/om/2.0/truthObservation.sch +41 -0
  271. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/sampling/2.0/samplingFeature.xsd +260 -0
  272. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/samplingSpatial/2.0/samplingCurve.sch +47 -0
  273. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/samplingSpatial/2.0/samplingPoint.sch +46 -0
  274. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/samplingSpatial/2.0/samplingSolid.sch +47 -0
  275. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/samplingSpatial/2.0/samplingSurface.sch +48 -0
  276. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/samplingSpatial/2.0/shape-curve.sch +5 -0
  277. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/samplingSpatial/2.0/shape-point.sch +5 -0
  278. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/samplingSpatial/2.0/shape-solid.sch +5 -0
  279. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/samplingSpatial/2.0/shape-surface.sch +5 -0
  280. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/samplingSpatial/2.0/shapeTypeConsistent.sch +73 -0
  281. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/samplingSpatial/2.0/spatialSamplingFeature.xsd +157 -0
  282. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/sweCommon/2.0/advanced_encodings.sch +27 -0
  283. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/sweCommon/2.0/advanced_encodings.xsd +186 -0
  284. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/sweCommon/2.0/basic_types.xsd +147 -0
  285. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/sweCommon/2.0/block_components.sch +34 -0
  286. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/sweCommon/2.0/block_components.xsd +163 -0
  287. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/sweCommon/2.0/choice_components.sch +18 -0
  288. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/sweCommon/2.0/choice_components.xsd +56 -0
  289. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/sweCommon/2.0/record_components.sch +40 -0
  290. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/sweCommon/2.0/record_components.xsd +95 -0
  291. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/sweCommon/2.0/simple_components.sch +74 -0
  292. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/sweCommon/2.0/simple_components.xsd +536 -0
  293. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/sweCommon/2.0/simple_encodings.sch +30 -0
  294. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/sweCommon/2.0/simple_encodings.xsd +93 -0
  295. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.opengis.net/sweCommon/2.0/swe.xsd +14 -0
  296. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/collect/1.1/ReleaseNotes-COLLECT.txt +4 -0
  297. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/collect/1.1/collect.xsd +43 -0
  298. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/collect/1.1/rule/collect.sch +10 -0
  299. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/collect/1.2/ReleaseNotes-COLLECT.txt +16 -0
  300. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/collect/1.2/collect.xsd +56 -0
  301. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/collect/1.2/gmlcollect.xsd +430 -0
  302. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/collect/1.2/rule/collect.sch +16 -0
  303. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/metce/1.0/ReleaseNotes-METCE.txt +56 -0
  304. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/metce/1.0/metce.xsd +31 -0
  305. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/metce/1.0/phenomena.xsd +121 -0
  306. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/metce/1.0/procedure.xsd +232 -0
  307. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/metce/1.0/rule/metce.sch +28 -0
  308. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/metce/1.1/ReleaseNotes-METCE.txt +60 -0
  309. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/metce/1.1/metce.xsd +31 -0
  310. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/metce/1.1/phenomena.xsd +121 -0
  311. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/metce/1.1/procedure.xsd +232 -0
  312. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/metce/1.1/rule/metce.sch +28 -0
  313. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/metce/1.2/ReleaseNotes-METCE.txt +73 -0
  314. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/metce/1.2/gmlmetce.xsd +506 -0
  315. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/metce/1.2/metce.xsd +20 -0
  316. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/metce/1.2/phenomena.xsd +121 -0
  317. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/metce/1.2/procedure.xsd +180 -0
  318. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/metce/1.2/rule/metce.sch +26 -0
  319. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/opm/1.0/observable-property.xsd +500 -0
  320. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/opm/1.0/opm.xsd +50 -0
  321. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/opm/1.0/rule/opm.sch +39 -0
  322. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/opm/1.1/ReleaseNotes-OPM.txt +77 -0
  323. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/opm/1.1/observable-property.xsd +500 -0
  324. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/opm/1.1/opm.xsd +50 -0
  325. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/opm/1.1/rule/opm.sch +39 -0
  326. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/opm/1.2/ReleaseNotes-OPM.txt +89 -0
  327. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/opm/1.2/gmlopm.xsd +312 -0
  328. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/opm/1.2/observable-property.xsd +420 -0
  329. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/opm/1.2/opm.xsd +32 -0
  330. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/opm/1.2/rule/opm.sch +36 -0
  331. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/saf/1.0/ReleaseNotes-SAF.txt +23 -0
  332. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/saf/1.0/dataTypes.xsd +226 -0
  333. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/saf/1.0/features.xsd +410 -0
  334. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/saf/1.0/measures.xsd +41 -0
  335. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/saf/1.0/rule/saf.sch +64 -0
  336. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/saf/1.0/saf.xsd +30 -0
  337. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/saf/1.1/ReleaseNotes-SAF.txt +27 -0
  338. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/saf/1.1/dataTypes.xsd +226 -0
  339. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/saf/1.1/features.xsd +410 -0
  340. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/saf/1.1/measures.xsd +41 -0
  341. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/saf/1.1/rule/saf.sch +64 -0
  342. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/saf/1.1/saf.xsd +30 -0
  343. iwxxm_validate/schemas/iwxxm/externalSchema/schemas.wmo.int/saf/README +1 -0
  344. iwxxm_validate/schemas/iwxxm-us/3.0/README.txt +24 -0
  345. iwxxm_validate/schemas/iwxxm-us/3.0/airmet.xsd +172 -0
  346. iwxxm_validate/schemas/iwxxm-us/3.0/common.xsd +181 -0
  347. iwxxm_validate/schemas/iwxxm-us/3.0/metarSpeci.xsd +1065 -0
  348. iwxxm_validate/schemas/iwxxm-us/3.0/sigmet.xsd +120 -0
  349. iwxxm_validate/schemas/iwxxm-us/3.0/taf.xsd +210 -0
  350. iwxxm_validate/schemas/iwxxm-us/3.0/united-states-catalog.xml +11 -0
  351. iwxxm_validate/schematron.py +191 -0
  352. iwxxm_validate/validate_iwxxm.py +186 -0
  353. iwxxm_validate/xsd.py +154 -0
  354. iwxxm_validate-0.1.0.dist-info/METADATA +67 -0
  355. iwxxm_validate-0.1.0.dist-info/RECORD +357 -0
  356. iwxxm_validate-0.1.0.dist-info/WHEEL +4 -0
  357. iwxxm_validate-0.1.0.dist-info/entry_points.txt +2 -0
@@ -0,0 +1,21 @@
1
+ """IWXXM XSD + Schematron validation engine (F2 package)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from iwxxm_validate.api import validate
6
+ from iwxxm_validate.models import Issue, ValidationReport
7
+ from iwxxm_validate.native import clear_schema_caches, rust_available, rust_module
8
+ from iwxxm_validate.validate_iwxxm import validate_iwxxm
9
+
10
+ __version__ = "0.1.0"
11
+
12
+ __all__ = [
13
+ "Issue",
14
+ "ValidationReport",
15
+ "__version__",
16
+ "clear_schema_caches",
17
+ "rust_available",
18
+ "rust_module",
19
+ "validate",
20
+ "validate_iwxxm",
21
+ ]
iwxxm_validate/api.py ADDED
@@ -0,0 +1,119 @@
1
+ """Public ``validate()`` entrypoint for IWXXM XSD + Schematron (F2)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from collections.abc import Sequence
6
+
7
+ from iwxxm_validate.models import Issue, ValidationReport
8
+ from iwxxm_validate.paths import us_catalog_path
9
+ from iwxxm_validate.schematron import validate_schematron
10
+ from iwxxm_validate.xsd import validate_xsd
11
+
12
+ _DEFAULT_LEVELS: tuple[str, ...] = ("xsd", "schematron")
13
+ _VALID_PROFILES = frozenset({"annex3", "iwxxm_us"})
14
+ _VALID_LEVELS = frozenset({"xsd", "schematron"})
15
+
16
+
17
+ def validate(
18
+ xml_content: str,
19
+ *,
20
+ iwxxm_version: str,
21
+ profile: str = "annex3",
22
+ levels: Sequence[str] | None = None,
23
+ ) -> ValidationReport:
24
+ """
25
+ Validate IWXXM XML against vendored XSD and/or Schematron.
26
+
27
+ Parameters
28
+ ----------
29
+ xml_content :
30
+ IWXXM XML document.
31
+ iwxxm_version :
32
+ Release line (e.g. ``2023-1``).
33
+ profile :
34
+ ``annex3`` (default) or ``iwxxm_us`` (requires vendored US catalog).
35
+ levels :
36
+ Subset of ``xsd`` / ``schematron``. Default runs both.
37
+
38
+ Returns
39
+ -------
40
+ ValidationReport
41
+ ``ok`` is ``False`` when any error-severity issue is present.
42
+ XSLT2 Schematron yields non-blocking ``SCHEMATRON_SKIPPED`` (D-S008-T21-sch).
43
+ """
44
+ if profile not in _VALID_PROFILES:
45
+ return ValidationReport(
46
+ ok=False,
47
+ iwxxm_version=iwxxm_version,
48
+ profile=profile,
49
+ issues=[
50
+ Issue(
51
+ severity="error",
52
+ code="INVALID_PROFILE",
53
+ message=f"Unknown profile {profile!r}; expected annex3|iwxxm_us",
54
+ layer="xsd",
55
+ )
56
+ ],
57
+ )
58
+
59
+ selected = tuple(levels) if levels is not None else _DEFAULT_LEVELS
60
+ unknown = [level for level in selected if level not in _VALID_LEVELS]
61
+ if unknown:
62
+ return ValidationReport(
63
+ ok=False,
64
+ iwxxm_version=iwxxm_version,
65
+ profile=profile,
66
+ issues=[
67
+ Issue(
68
+ severity="error",
69
+ code="INVALID_LEVELS",
70
+ message=f"Unknown validation levels: {unknown}",
71
+ layer="xsd",
72
+ )
73
+ ],
74
+ )
75
+
76
+ issues: list[Issue] = []
77
+
78
+ if profile == "iwxxm_us" and us_catalog_path() is None:
79
+ issues.append(
80
+ Issue(
81
+ severity="error",
82
+ code="US_CATALOG_NOT_FOUND",
83
+ message="profile=iwxxm_us but vendor iwxxm-us catalog is missing",
84
+ layer="xsd",
85
+ )
86
+ )
87
+ return ValidationReport(
88
+ ok=False,
89
+ iwxxm_version=iwxxm_version,
90
+ profile=profile,
91
+ issues=issues,
92
+ )
93
+
94
+ if "xsd" in selected:
95
+ issues.extend(validate_xsd(xml_content, iwxxm_version))
96
+ # Malformed XML already reported — skip Schematron
97
+ if any(issue.code == "XML_SYNTAX_ERROR" for issue in issues):
98
+ return ValidationReport(
99
+ ok=False,
100
+ iwxxm_version=iwxxm_version,
101
+ profile=profile,
102
+ issues=issues,
103
+ )
104
+
105
+ if "schematron" in selected:
106
+ # Skip Schematron when XSD already failed hard on syntax
107
+ if not any(issue.code == "XML_SYNTAX_ERROR" for issue in issues):
108
+ issues.extend(validate_schematron(xml_content, iwxxm_version))
109
+
110
+ ok = not any(issue.severity == "error" for issue in issues)
111
+ return ValidationReport(
112
+ ok=ok,
113
+ iwxxm_version=iwxxm_version,
114
+ profile=profile,
115
+ issues=issues,
116
+ )
117
+
118
+
119
+ __all__ = ["validate"]
iwxxm_validate/cli.py ADDED
@@ -0,0 +1,86 @@
1
+ """Optional thin CLI for ``iwxxm-validate`` (E10-39 / T3.9)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import argparse
6
+ import sys
7
+ from pathlib import Path
8
+ from typing import Sequence
9
+
10
+ from iwxxm_validate.codec import json_encoder
11
+ from iwxxm_validate.validate_iwxxm import validate_iwxxm
12
+
13
+
14
+ def _build_parser() -> argparse.ArgumentParser:
15
+ parser = argparse.ArgumentParser(
16
+ prog="iwxxm-validate",
17
+ description="Validate IWXXM XML (XSD + Schematron via validate_iwxxm SDK).",
18
+ )
19
+ parser.add_argument(
20
+ "path",
21
+ type=Path,
22
+ help="Path to an IWXXM XML file",
23
+ )
24
+ parser.add_argument(
25
+ "--version",
26
+ dest="iwxxm_version",
27
+ default="2023-1",
28
+ help="IWXXM release line (default: 2023-1)",
29
+ )
30
+ parser.add_argument(
31
+ "--profile",
32
+ default="annex3",
33
+ choices=("annex3", "iwxxm_us"),
34
+ help="Schema profile (default: annex3)",
35
+ )
36
+ parser.add_argument(
37
+ "--json",
38
+ action="store_true",
39
+ help="Emit ValidationReport as JSON on stdout",
40
+ )
41
+ return parser
42
+
43
+
44
+ def main(argv: Sequence[str] | None = None) -> int:
45
+ """
46
+ Run ``iwxxm-validate`` CLI.
47
+
48
+ Parameters
49
+ ----------
50
+ argv :
51
+ Argument vector (defaults to ``sys.argv[1:]``).
52
+
53
+ Returns
54
+ -------
55
+ int
56
+ ``0`` when ``report.ok``; ``1`` on validation errors or I/O failure.
57
+ """
58
+ parser = _build_parser()
59
+ args = parser.parse_args(list(argv) if argv is not None else None)
60
+ path: Path = args.path
61
+ try:
62
+ text = path.read_text(encoding="utf-8")
63
+ except OSError as exc:
64
+ print(f"error: cannot read {path}: {exc}", file=sys.stderr)
65
+ return 1
66
+
67
+ report = validate_iwxxm(
68
+ text,
69
+ iwxxm_version=args.iwxxm_version,
70
+ profile=args.profile,
71
+ )
72
+ if args.json:
73
+ sys.stdout.write(json_encoder.encode(report).decode("utf-8"))
74
+ sys.stdout.write("\n")
75
+ else:
76
+ status = "ok" if report.ok else "fail"
77
+ print(f"{status} version={report.iwxxm_version} profile={report.profile} issues={len(report.issues)}")
78
+ for issue in report.issues:
79
+ loc = f" @{issue.location}" if issue.location else ""
80
+ print(f" {issue.severity}:{issue.code}{loc} {issue.message}")
81
+
82
+ return 0 if report.ok else 1
83
+
84
+
85
+ if __name__ == "__main__":
86
+ raise SystemExit(main())
@@ -0,0 +1,12 @@
1
+ """Reusable msgspec JSON codec instances (ADR-016)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import msgspec
6
+
7
+ from iwxxm_validate.models import ValidationReport
8
+
9
+ json_encoder = msgspec.json.Encoder()
10
+ json_decoder = msgspec.json.Decoder(ValidationReport)
11
+
12
+ __all__ = ["json_decoder", "json_encoder"]
@@ -0,0 +1,61 @@
1
+ """msgspec models for IWXXM validation reports (ADR-016)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import msgspec
6
+
7
+
8
+ class Issue(msgspec.Struct, frozen=True):
9
+ """
10
+ Single validation finding.
11
+
12
+ Parameters
13
+ ----------
14
+ severity :
15
+ ``error``, ``warning``, or ``info``.
16
+ code :
17
+ Machine-readable issue code (e.g. ``XML_SYNTAX_ERROR``).
18
+ message :
19
+ Human-readable description.
20
+ layer :
21
+ Validation layer (``xsd``, ``schematron``, ``wellformed``).
22
+ location :
23
+ Optional document location hint.
24
+ start :
25
+ Optional inclusive character / document offset when known.
26
+ end :
27
+ Optional exclusive character / document offset when known.
28
+ """
29
+
30
+ severity: str
31
+ code: str
32
+ message: str
33
+ layer: str
34
+ location: str | None = None
35
+ start: int | None = None
36
+ end: int | None = None
37
+
38
+
39
+ class ValidationReport(msgspec.Struct, frozen=True):
40
+ """
41
+ Aggregate result of ``validate()``.
42
+
43
+ Parameters
44
+ ----------
45
+ ok :
46
+ ``True`` when no blocking (error-severity) issues remain.
47
+ iwxxm_version :
48
+ Requested IWXXM release line.
49
+ profile :
50
+ ``annex3`` or ``iwxxm_us``.
51
+ issues :
52
+ Ordered list of findings (may include non-blocking warnings).
53
+ """
54
+
55
+ ok: bool
56
+ iwxxm_version: str
57
+ profile: str
58
+ issues: list[Issue]
59
+
60
+
61
+ __all__ = ["Issue", "ValidationReport"]
@@ -0,0 +1,44 @@
1
+ """Optional PyO3 extension loader (F13 / E10-36; mirrors tac2iwxxm ADR-017).
2
+
3
+ The ``iwxxm_validate._rust`` module is built by maturin. Pure-Python lxml paths keep
4
+ working when the extension is absent (local without rustc); CI rust job requires it.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ from typing import Any
10
+
11
+
12
+ def rust_available() -> bool:
13
+ """Return True when the compiled ``iwxxm_validate._rust`` extension imports."""
14
+ try:
15
+ from iwxxm_validate import _rust # type: ignore[attr-defined]
16
+ except ImportError:
17
+ return False
18
+ return _rust is not None # pragma: no cover
19
+
20
+
21
+ def clear_schema_caches() -> None:
22
+ """Clear process-wide compiled XSD/Schematron caches (native only; no-op if absent)."""
23
+ mod = rust_module()
24
+ if mod is None:
25
+ return
26
+ clearer = getattr(mod, "clear_schema_caches", None)
27
+ if callable(clearer):
28
+ clearer()
29
+
30
+
31
+ def rust_module() -> Any | None:
32
+ """
33
+ Return the loaded ``_rust`` module, or ``None`` if unavailable.
34
+
35
+ Returns
36
+ -------
37
+ Any | None
38
+ Extension module or ``None``.
39
+ """
40
+ try:
41
+ from iwxxm_validate import _rust # type: ignore[attr-defined]
42
+ except ImportError:
43
+ return None
44
+ return _rust # type: ignore[no-any-return] # pragma: no cover
@@ -0,0 +1,145 @@
1
+ """Resolve IWXXM / IWXXM-US schema paths (packaged subset or monorepo vendor).
2
+
3
+ Resolution order (E10-34 / E10-6):
4
+
5
+ 1. ``IWXXM_VALIDATE_REPO_ROOT`` / ``IWXXM_SCHEMAS_ROOT`` environment overrides
6
+ 2. Packaged runtime subset under ``iwxxm_validate/schemas/`` (wheel / after sync)
7
+ 3. Monorepo ``vendor/schemas/*`` when developing inside this repository
8
+ """
9
+
10
+ from __future__ import annotations
11
+
12
+ import os
13
+ from functools import lru_cache
14
+ from pathlib import Path
15
+
16
+ _PACKAGE_DIR = Path(__file__).resolve().parent
17
+ _PACKAGE_SCHEMAS = _PACKAGE_DIR / "schemas"
18
+ _PACKAGE_ROOT = _PACKAGE_DIR.parents[1]
19
+ _DEFAULT_REPO_ROOT = _PACKAGE_ROOT.parents[1]
20
+
21
+
22
+ def packaged_schemas_root() -> Path | None:
23
+ """
24
+ Return the packaged schema subset root when materialised.
25
+
26
+ The subset is present after ``make sync-iwxxm-validate-schemas`` or inside a
27
+ published wheel. ``MANIFEST.json`` alone does not count as materialised.
28
+ """
29
+ iwxxm = _PACKAGE_SCHEMAS / "iwxxm"
30
+ if iwxxm.is_dir() and any(iwxxm.iterdir()):
31
+ # Require at least one version tree (not only empty placeholder).
32
+ if any((iwxxm / child).is_dir() for child in iwxxm.iterdir()):
33
+ return _PACKAGE_SCHEMAS
34
+ return None
35
+
36
+
37
+ def repo_root() -> Path:
38
+ """
39
+ Return the monorepo root containing ``vendor/schemas``.
40
+
41
+ Honours ``IWXXM_SCHEMAS_ROOT`` parent when set to ``…/vendor/schemas/iwxxm``.
42
+ """
43
+ env = os.environ.get("IWXXM_VALIDATE_REPO_ROOT")
44
+ if env:
45
+ return Path(env).resolve()
46
+ schemas_root = os.environ.get("IWXXM_SCHEMAS_ROOT")
47
+ if schemas_root:
48
+ path = Path(schemas_root).resolve()
49
+ # …/vendor/schemas/iwxxm → repo root two parents up from iwxxm
50
+ if path.name == "iwxxm" and path.parent.name == "schemas":
51
+ return path.parent.parent.parent
52
+ return path
53
+ return _DEFAULT_REPO_ROOT
54
+
55
+
56
+ def vendor_iwxxm_root() -> Path:
57
+ """Return ``iwxxm`` schema root (packaged subset or ``vendor/schemas/iwxxm``)."""
58
+ packaged = packaged_schemas_root()
59
+ if packaged is not None:
60
+ return packaged / "iwxxm"
61
+ return repo_root() / "vendor" / "schemas" / "iwxxm"
62
+
63
+
64
+ def vendor_iwxxm_us_root() -> Path:
65
+ """Return ``iwxxm-us`` schema root (packaged subset or vendor pin)."""
66
+ packaged = packaged_schemas_root()
67
+ if packaged is not None:
68
+ return packaged / "iwxxm-us"
69
+ return repo_root() / "vendor" / "schemas" / "iwxxm-us"
70
+
71
+
72
+ @lru_cache(maxsize=32)
73
+ def version_dir(iwxxm_version: str) -> Path:
74
+ """
75
+ Return the IWXXM version tree (contains ``IWXXM/``).
76
+
77
+ Parameters
78
+ ----------
79
+ iwxxm_version :
80
+ Release line such as ``2023-1`` or ``2025-2``.
81
+ """
82
+ path = vendor_iwxxm_root() / iwxxm_version
83
+ if not path.is_dir():
84
+ raise FileNotFoundError(f"IWXXM version directory not found: {path}")
85
+ return path
86
+
87
+
88
+ def xsd_path(iwxxm_version: str) -> Path:
89
+ """Return path to ``iwxxm.xsd`` for ``iwxxm_version``."""
90
+ path = version_dir(iwxxm_version) / "IWXXM" / "iwxxm.xsd"
91
+ if not path.is_file():
92
+ raise FileNotFoundError(f"XSD not found for {iwxxm_version}: {path}")
93
+ return path
94
+
95
+
96
+ def schematron_path(iwxxm_version: str) -> Path:
97
+ """Return path to ``rule/iwxxm.sch`` for ``iwxxm_version``."""
98
+ path = version_dir(iwxxm_version) / "IWXXM" / "rule" / "iwxxm.sch"
99
+ if not path.is_file():
100
+ raise FileNotFoundError(f"Schematron not found for {iwxxm_version}: {path}")
101
+ return path
102
+
103
+
104
+ def codelists_dir(iwxxm_version: str) -> Path:
105
+ """Return directory of bundled RDF codelists for Schematron ``document()``."""
106
+ path = version_dir(iwxxm_version) / "IWXXM" / "rule"
107
+ if not path.is_dir():
108
+ raise FileNotFoundError(f"Codelists directory not found for {iwxxm_version}: {path}")
109
+ return path
110
+
111
+
112
+ def us_catalog_path() -> Path | None:
113
+ """
114
+ Return IWXXM-US catalog path when present.
115
+
116
+ Prefers ``3.0/united-states-catalog.xml`` under the vendored / packaged pin.
117
+ """
118
+ root = vendor_iwxxm_us_root()
119
+ candidates = [
120
+ root / "3.0" / "united-states-catalog.xml",
121
+ root / "united-states-catalog.xml",
122
+ ]
123
+ for candidate in candidates:
124
+ if candidate.is_file():
125
+ return candidate
126
+ return None
127
+
128
+
129
+ def clear_path_caches() -> None:
130
+ """Clear cached version directory lookups (tests / after schema sync)."""
131
+ version_dir.cache_clear()
132
+
133
+
134
+ __all__ = [
135
+ "clear_path_caches",
136
+ "codelists_dir",
137
+ "packaged_schemas_root",
138
+ "repo_root",
139
+ "schematron_path",
140
+ "us_catalog_path",
141
+ "vendor_iwxxm_root",
142
+ "vendor_iwxxm_us_root",
143
+ "version_dir",
144
+ "xsd_path",
145
+ ]
@@ -0,0 +1,24 @@
1
+ {
2
+ "destination": "packages/iwxxm-validate/src/iwxxm_validate/schemas",
3
+ "iwxxm_versions": [
4
+ "2023-1",
5
+ "2025-2"
6
+ ],
7
+ "file_counts": {
8
+ "iwxxm/2023-1": 35,
9
+ "iwxxm/2025-2": 36,
10
+ "iwxxm/externalSchema": 263,
11
+ "iwxxm-us": 7
12
+ },
13
+ "total_files": 341,
14
+ "total_bytes": 5736523,
15
+ "excluded": [
16
+ "**/html/**",
17
+ "**/examples/**",
18
+ "**/XMI/**",
19
+ "**/documentation/**",
20
+ "iwxxm-modelling/**",
21
+ "iwxxm-translation/**",
22
+ "iwxxm-codelists/**"
23
+ ]
24
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "schema_version": 1,
3
+ "decision": "E10-34",
4
+ "related": ["E10-6"],
5
+ "description": "Runtime IWXXM schema subset for the iwxxm-validate wheel (XSD + Schematron + RDF codelists + externalSchema catalogs + IWXXM-US). Excludes modelling/translation bulk and documentation trees.",
6
+ "iwxxm_versions": ["2023-1", "2025-2"],
7
+ "include": {
8
+ "iwxxm": ["{version}/IWXXM/*.xsd", "{version}/IWXXM/rule/**", "externalSchema/**"],
9
+ "iwxxm-us": ["**"]
10
+ },
11
+ "exclude": [
12
+ "**/html/**",
13
+ "**/examples/**",
14
+ "**/XMI/**",
15
+ "**/documentation/**",
16
+ "iwxxm-modelling/**",
17
+ "iwxxm-translation/**",
18
+ "iwxxm-codelists/**"
19
+ ],
20
+ "notes": [
21
+ "Codelist RDFs used by Schematron document() live under each version IWXXM/rule/ (not the separate iwxxm-codelists tree).",
22
+ "externalSchema under iwxxm covers XSD imports (GML/AIXM/W3C); translation bulk is not bundled.",
23
+ "Sync from monorepo vendor pins via: make sync-iwxxm-validate-schemas"
24
+ ]
25
+ }