XLIFF Filter: CDATA markup in skeleton is stripped on roundtrip

Issue #613 resolved
Chase Tingley created an issue

Attached is a testcase that was produced by Memsource. In its header, it contains a custom <m:in-ctx-preview-skel> element containing a CDATA section with markup used for HTML preview.

On roundtrip through the XLIFF filter, the CDATA markup is stripped and the embedded HTML is written out as XML-encoded PCDATA inside the `<m:in-ctx-preview-skel>.

This prevents the merged XLIFF from being opened in the Memsource desktop editor, although it is able to re-import into Memsource online without error.

(This bug was originally filed against Ocelot: https://ocelot.atlassian.net/browse/OC-110)

Comments (1)

  1. Chase Tingley reporter

    Fix issue #613 - preserve CDATA outside of segment content

    Some tools (notably Memsource) use CDATA nodes to store
    tool-specific data (eg preview). When CDATA occurs in skeleton, we
    should preserve it as CDATA.  Behavior in source/target content is
    unchanged - we still use the inlineCdata option to control whether
    to strip the CDATA markers or expose them as inline codes.
    (However, that option had to be reimplemented in order to support
    this new behavior.)
    

    → <<cset d3dcea6df1cd>>

  2. Log in to comment