Skip to content

Make SAX parsing consistent on all adapters#83

Draft
HassanAkbar wants to merge 3 commits into
mainfrom
xml-numeric-entities-parsing
Draft

Make SAX parsing consistent on all adapters#83
HassanAkbar wants to merge 3 commits into
mainfrom
xml-numeric-entities-parsing

Conversation

@HassanAkbar
Copy link
Copy Markdown
Member

@HassanAkbar HassanAkbar commented May 20, 2026

This PR is for addressing lutaml/lutaml-model#641

Status matrix

main:

Method nokogiri ox oga rexml libxml
SAX parse — attr
SAX parse — text
DOM parse — attr
DOM parse — text
Serialize

current:

Method nokogiri ox oga rexml libxml
SAX parse — attr
SAX parse — text
DOM parse — attr
DOM parse — text
Serialize

Actual outputs (per adapter)

nokogiri

  SAX parse - attr
- main:   Ampersand: & Hex: & Copyright: ©
+ branch: Ampersand: & Hex: & Copyright: ©

  SAX parse - text     (unchanged)  Ampersand: & Hex: & Copyright: ©
  DOM parse - attr     (unchanged)  Ampersand: & Hex: & Copyright: ©
  DOM parse - text     (unchanged)  Ampersand: & Hex: & Copyright: ©
  Serialize            (unchanged)  <doc details="Ampersand: &amp;#38; Hex: &amp;#x26; Copyright: &amp;#169;"></doc>

ox

  All paths already correct on main; branch is identical.
  Parse:     Ampersand: &#38; Hex: &#x26; Copyright: &#169;
  Serialize: <doc details="Ampersand: &amp;#38; Hex: &amp;#x26; Copyright: &amp;#169;"></doc>

oga

  SAX parse - attr
- main:   Ampersand: & Hex: & Copyright: ©
+ branch: Ampersand: &#38; Hex: &#x26; Copyright: &#169;

  SAX parse - text
- main:   Ampersand: & Hex: & Copyright: ©
+ branch: Ampersand: &#38; Hex: &#x26; Copyright: &#169;

  DOM parse - attr
- main:   Ampersand: & Hex: & Copyright: ©
+ branch: Ampersand: &#38; Hex: &#x26; Copyright: &#169;

  DOM parse - text
- main:   Ampersand: & Hex: & Copyright: ©
+ branch: Ampersand: &#38; Hex: &#x26; Copyright: &#169;

  Serialize
- main:   <doc details="Ampersand: &amp; Hex: &amp; Copyright: ©"></doc>
+ branch: <doc details="Ampersand: &amp;#38; Hex: &amp;#x26; Copyright: &amp;#169;"></doc>

rexml

  SAX parse - attr
- main:   Ampersand: &amp;#38; Hex: &amp;#x26; Copyright: &amp;#169;
+ branch: Ampersand: &#38; Hex: &#x26; Copyright: &#169;

  SAX parse - text     (unchanged)  Ampersand: &#38; Hex: &#x26; Copyright: &#169;
  DOM parse - attr     (unchanged)  Ampersand: &#38; Hex: &#x26; Copyright: &#169;
  DOM parse - text     (unchanged)  Ampersand: &#38; Hex: &#x26; Copyright: &#169;
  Serialize            (unchanged)  <doc details="Ampersand: &amp;#38; Hex: &amp;#x26; Copyright: &amp;#169;"></doc>

libxml

  SAX parse - attr
- main:   Ampersand: &#38;#38; Hex: &#38;#x26; Copyright: &#38;#169;
+ branch: Ampersand: &#38; Hex: &#x26; Copyright: &#169;

  SAX parse - text     (unchanged)  Ampersand: &#38; Hex: &#x26; Copyright: &#169;
  DOM parse - attr     (unchanged)  Ampersand: &#38; Hex: &#x26; Copyright: &#169;
  DOM parse - text     (unchanged)  Ampersand: &#38; Hex: &#x26; Copyright: &#169;
  Serialize            (unchanged)  <doc details="Ampersand: &amp;#38; Hex: &amp;#x26; Copyright: &amp;#169;"></doc>

Comment thread lib/moxml/adapter/libxml.rb Fixed
@HassanAkbar HassanAkbar force-pushed the xml-numeric-entities-parsing branch from ac7d147 to 1a14522 Compare May 25, 2026 12:12
@HassanAkbar HassanAkbar force-pushed the xml-numeric-entities-parsing branch from 1a14522 to e81f984 Compare June 1, 2026 15:01
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.

2 participants