lutaml-xsd 1.1.13 → 1.1.14

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a2042b991ed0d1bd93ba9fe96af092efe38e942cb997c8a7c4b35ee0c5089bf0
4
- data.tar.gz: c2c63b263292b0fcbc90cc4642b5858beff2c363be569c60c2b8909b6a20017d
3
+ metadata.gz: 21bd244759a8ce45c8db399f8d7120a9f409697dd7f64df80147e798985a1121
4
+ data.tar.gz: 7756f8cb8a0d0b859f6c379e01cb68bbb9df388c195cb65811b99c2ccfa19d85
5
5
  SHA512:
6
- metadata.gz: 3fb9349166462a5115dea61a35dc0a1ff981cc819fdacf0c7145adcf4890088f89d180aa9bb66ff2a26c541e6ad9d8d9c562e4f9d63cb82638fb57658a088b53
7
- data.tar.gz: 11136372de82cb98b539b6901f61f1a089a240cd0521651d624019cb196a5a82616764bf9812147ea5779983eb447b8c514a7a9eb0d151c9e7144499be652b87
6
+ metadata.gz: 92056e17ec61f055a6c91a982f15edb0711f8531110179dbf506b07ab2be6602319b6155deb953fbc0adb05cb8c69f9f7405ecd5ede02dd42e85c122d2d0b002
7
+ data.tar.gz: 8aa8be2f750b0e566318a8ff68be30a781bd13f6b8748892d52f5e6274be88bc715a69677b9d20090ff08ee4bb73a36aa6c5f486dc48e681c03d4058a6c28857
data/CLAUDE.md CHANGED
@@ -58,6 +58,20 @@ Classes register themselves via `Lutaml::Xsd.register_model(self, :element_name)
58
58
  3. **Liquid templating**: Parsed objects respond to `to_liquid` for use in templates
59
59
  4. **Reference resolution**: Elements can reference other elements via `ref` attribute; use `referenced_object` to resolve
60
60
 
61
+ ### XML Stack: Moxml Only
62
+
63
+ All XML handling goes through `Moxml::Context` (moxml ~> 0.5.147). Never
64
+ require or call Nokogiri/REXML/Ox directly in `lib/` — xsdvi keeps nokogiri
65
+ in the lockfile transitively, but our code does not touch it.
66
+
67
+ - Adapter selection is moxml's: leptris when bundled (dev Gemfile), nokogiri
68
+ fallback otherwise. No adapter is hardcoded here.
69
+ - `Moxml::XSD` (engine XSD validation, tier-1: leptris/nokogiri) backs the
70
+ validation fast-path — see `lib/lutaml/xsd/validation/engine_context.rb`.
71
+ Engine findings are additive (`code: "engine_validation"`); the Ruby rule
72
+ engine remains authoritative because tier-1 validates laxly outside its
73
+ scope.
74
+
61
75
  ## SPA / Frontend Assets
62
76
 
63
77
  ### Directory Structure
data/Gemfile CHANGED
@@ -8,9 +8,10 @@ gemspec
8
8
  gem "base64"
9
9
  gem "canon"
10
10
  gem "fiddle"
11
+ gem "leptris"
11
12
  gem "liquid"
12
- gem "nokogiri"
13
13
  gem "rake"
14
+ gem "rexml"
14
15
  gem "rspec"
15
16
  gem "rubocop"
16
17
  gem "rubocop-performance"
@@ -48,6 +48,10 @@ validation:
48
48
  # Validate namespace declarations
49
49
  validate_namespaces: true
50
50
 
51
+ # Engine-native XSD validation (Moxml::XSD) when the adapter
52
+ # provides an engine (leptris/nokogiri); findings are additive
53
+ engine_validation: true
54
+
51
55
  # Error reporting configuration
52
56
  error_reporting:
53
57
  # Include XPath location in error messages