Skip to content

Fix adapter issues: Builder doc accessor, Oga Doctype, Nokogiri entities#60

Merged
ronaldtse merged 1 commit intomainfrom
fix/same-document-node-creation-and-namespace-scopes
Apr 21, 2026
Merged

Fix adapter issues: Builder doc accessor, Oga Doctype, Nokogiri entities#60
ronaldtse merged 1 commit intomainfrom
fix/same-document-node-creation-and-namespace-scopes

Conversation

@ronaldtse
Copy link
Copy Markdown
Contributor

Summary

Three fixes based on issues discovered during lutaml-model migration to moxml.

1. Builder doc accessor

Moxml::Builder exposes document via attr_reader but consumers expected doc. Added doc alias.

2. Oga Doctype SYSTEM identifier fix

Oga native Doctype stores the SYSTEM identifier in public_id instead of system_id for SYSTEM doctypes. The adapter now maps correctly based on doctype type.

3. Nokogiri entity handling

Nokogiri raises FATAL errors on undefined HTML entities (nbsp, mdash, etc) in strict mode. Added marker-based preservation: entities are converted to name; before parsing and restored during serialization.

Test plan

  • All adapter specs pass (0 failures)
  • Full test suite passes (2682 examples, 0 failures)
  • Rubocop passes (0 offenses)
  • New specs for doctype parsing across all adapters
  • New specs for Nokogiri entity round-trip
  • New specs for Builder doc accessor

@ronaldtse ronaldtse force-pushed the fix/same-document-node-creation-and-namespace-scopes branch 2 times, most recently from 9bd8816 to 72a7cdf Compare April 20, 2026 11:45
- Fix Oga doctype SYSTEM/PUBLIC identifier mapping (Oga stores SYSTEM
  identifier in public_id, not system_id)
- Add Builder#doc alias for document accessor
- Add doctype parsing specs for all adapters
@ronaldtse ronaldtse force-pushed the fix/same-document-node-creation-and-namespace-scopes branch from 72a7cdf to 54faa01 Compare April 21, 2026 02:58
@ronaldtse ronaldtse merged commit 8164c9b into main Apr 21, 2026
33 of 37 checks passed
@ronaldtse ronaldtse deleted the fix/same-document-node-creation-and-namespace-scopes branch April 21, 2026 03:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant