Skip to content

fix: DocLang deserialization of XML-sensitive OTSL cell content#689

Open
PeterStaar-IBM wants to merge 1 commit into
mainfrom
fix/doclang-deserialization
Open

fix: DocLang deserialization of XML-sensitive OTSL cell content#689
PeterStaar-IBM wants to merge 1 commit into
mainfrom
fix/doclang-deserialization

Conversation

@PeterStaar-IBM

Copy link
Copy Markdown
Member

Summary

Fix DocLang round trips for OTSL table cells containing XML-sensitive text such as &, <, >, quotes, and entity-like
strings.

Changes

  • Escape DOM text nodes when reconstructing XML fragments for reparsing.
  • Preserve semantics for ordinary text and CDATA.
  • Safely serialize literal ]]> by splitting it across adjacent CDATA sections.
  • Add regression coverage for:
    • EscapeMode.AUTO and EscapeMode.ALWAYS
    • Virtual and explicit cells
    • Nested formatting
    • Multiline, Unicode, and mathematical content
    • Literal entity-like strings such as &

Signed-off-by: Peter Staar <taa@zurich.ibm.com>
@github-actions

Copy link
Copy Markdown
Contributor

DCO Check Passed

Thanks @PeterStaar-IBM, all your commits are properly signed off. 🎉

@mergify

mergify Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Merge Protections

🔴 1 of 2 protections blocking · waiting on 👀 reviews

Protection Waiting on
🔴 Require two reviewer for test updates 👀 reviews
🟢 Enforce conventional commit

🔴 Require two reviewer for test updates

Waiting for

  • #approved-reviews-by >= 2
This rule is failing.

When test data is updated, we require two reviewers

  • #approved-reviews-by >= 2

Show 1 satisfied protection

🟢 Enforce conventional commit

Make sure that we follow https://www.conventionalcommits.org/en/v1.0.0/

  • title ~= ^(fix|feat|docs|style|refactor|perf|test|build|ci|chore|revert)(?:\(.+\))?(!)?:

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