Now that you point this out, having looked into it further ....
CT_CompatSetting is defined in (ECMA-376 2ed & 3ed):
Using xml Syntax Highlighting
<xsd:complexType name="CT_Compat">
<xsd:sequence>
<xsd:element name="spaceForUL" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="balanceSingleByteDoubleByteWidth" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="doNotLeaveBackslashAlone" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="ulTrailSpace" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="doNotExpandShiftReturn" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="adjustLineHeightInTable" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="applyBreakingRules" type="CT_OnOff" minOccurs="0"/>
<xsd:element name="compatSetting" type="CT_CompatSetting" minOccurs="0" maxOccurs="unbounded"
/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_CompatSetting">
<xsd:attribute name="name" type="s:ST_String"/>
<xsd:attribute name="uri" type="s:ST_String"/>
<xsd:attribute name="val" type="s:ST_String"/>
</xsd:complexType>
Parsed in 0.003 seconds, using
GeSHi 1.0.8.4
But it is not in the first edition, which is what docx4j uses. In the first edition, there are a bunch of other elements in the CT_Compat sequence, which seem to have gone in the 2nd & 3rd editions...
What to do? It does seem useful to have this element available, so what if we add it into the schema used by docx4j, and regenerate? I guess the risk is that a consuming application (eg a existing or future version of Word?) might complain if it encounters a mix of elements from the 1st and 2nd or 3rd editions. It would be up to users of docx4j to avoid saving such a mix.
OK .. added, see
http://www.docx4java.org/trac/docx4j/changeset/1741In case you are not building docx4j from source, I'll create a nightly later today.
cheers .. Jason