You are viewing a plain text version of this content. The canonical link for it is here.
Posted to odf-dev@incubator.apache.org by "Michael Stahl (JIRA)" <ji...@apache.org> on 2018/05/08 12:43:00 UTC

[jira] [Created] (ODFTOOLKIT-475) alidator applies ODF 1.1 rules to ODF 1.2 documents when checking character content in foreign elements, part 2: ODF elements that don't allow character content

Michael Stahl created ODFTOOLKIT-475:
----------------------------------------

             Summary: alidator applies ODF 1.1 rules to ODF 1.2 documents when checking character content in foreign elements, part 2: ODF elements that don't allow character content
                 Key: ODFTOOLKIT-475
                 URL: https://issues.apache.org/jira/browse/ODFTOOLKIT-475
             Project: ODF Toolkit
          Issue Type: Bug
          Components: validator
    Affects Versions: 0.7-incubating
         Environment: commit ea8ca1d46ea9eb132d1b270f1c6e9bd4854c633a
            Reporter: Michael Stahl


 

The ODF validator (with -e) complains because the ForeignContentFilter assumes that every element below a text:p/text:h allows character content, but the schema does not allow it in some cases.

 
{noformat}
/tmp/libtest_sw_odfexport.soxnqrfr.tmp/content.xml[2,4087]: Error: unexpected character literal
tials>I</loext:sender-initials><text:p>bar</text:p></office:annotation><office:
  ----^{noformat}
Here the foreign "loext:sender-initials" is inside <office:annotation>, which does not allow character content.

ODF 1.2 part 1 3.17 says:

If a foreign element has a {{<text:h>}} or {{<text:p>}} ancestor element, and is a child element of an element for which the OpenDocument schema permits the inclusion of character data, and if the OpenDocument schema permits the inclusion of character data for all its ancestors up to the {{<text:p>}} or {{<text:h>}} element ancestor element, then the element's content may be interpreted by conforming OpenDocument consumers, and the document itself shall be valid against the OpenDocument schema as if the foreign element's start- and end-tags or its empty-element-tag are removed.

 

Note the "for all its ancestors up to the <text:p>" part; in the example above the validator should assume that the character content in the foreign element will be ignored by consumers.

So the ForeignContentFilter needs to detect these elements that occur in a text:p but don't allow character content.

Have a patch for this, will push to github once i figure out how...



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)