第7章 Markup Compatibility and Extensibility

MCE以外の拡張・互換性

MCEはXML文書としての拡張・互換性のための仕組みですが、ここに該当しない互換性や拡張も存在します。

Compat

word/settings.xml
<w:compat>
  <w:spaceForUL/>
  <w:balanceSingleByteDoubleByteWidth/>
  <w:doNotLeaveBackslashAlone/>
  <w:ulTrailSpace/>
  <w:doNotExpandShiftReturn/>
  <w:compatSetting w:name="compatibilityMode" w:uri="http://schemas.microsoft.com/office/word"
            w:val="15"/>
  <w:compatSetting w:name="overrideTableStyleFontSizeAndJustification"
            w:uri="http://schemas.microsoft.com/office/word" w:val="1"/>
  <w:compatSetting w:name="enableOpenTypeFeatures"
            w:uri="http://schemas.microsoft.com/office/word" w:val="1"/>
  <w:compatSetting w:name="doNotFlipMirrorIndents"
            w:uri="http://schemas.microsoft.com/office/word" w:val="1"/>
  <w:compatSetting w:name="differentiateMultirowTableHeaders"
            w:uri="http://schemas.microsoft.com/office/word" w:val="1"/>
  <w:compatSetting w:name="useWord2013TrackBottomHyphenation"
            w:uri="http://schemas.microsoft.com/office/word" w:val="0"/>
</w:compat>

WordprocessingMLのword/settings.xmlを見てみると、<w:compat>という要素が登場することがあります。

この子孫の要素ではWordprocessingML全般に関連する互換性についての指定と、アプリケーション固有の互換設定の指定がされています。

アプリケーション固有の設定としては、<w:compatSetting>のname属性に挙動の名称、uriにアプリケーションのURI、valに挙動の指定がされています。

extLst(application-defined extension elements)

WordprocessingMLやPresentationMLに登場するextLstは、既存のOOXML要素に機能を別の機能を加えるような、直接的な拡張を行うための機能です。

ISO/IEC 29500-1:2016では、例示として住所の拡張について言及しています。基本として住所情報があるところに、拡張としてその住所が会社のものであるか、プライベートのものであるかの情報を付加するという例を挙げています。

extLstで記述されている拡張は、保存時、アプリケーションが対応していない場合でも保持されます。

MCEとextLstは別の仕組みのため、extLstで記述された名前空間について、mc:Ignorableに記述しなくとも例外的にアプリケーションは停止しません。