subjectSchemeで@outputclassを検証する(3)

すみません.このsubjectSchemeの書き方は私があまりに難しく考えすぎていたようです.次のようにすると問題なくoXygenで動いてくれます.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE subjectScheme PUBLIC "-//OASIS//DTD DITA Subject Scheme Map//EN" "subjectScheme.dtd"> 
<subjectScheme>
    <subjectHead>
        <subjectHeadMeta>
            <navtitle> Constraint @outputclass for fig </navtitle>
        </subjectHeadMeta>
    </subjectHead>
    <subjectdef keys="left">
        <topicmeta>
            <navtitle>Floats left</navtitle>
        </topicmeta>
    </subjectdef>
    <subjectdef keys="right">
        <topicmeta>
            <navtitle>Floats right</navtitle>
        </topicmeta>
    </subjectdef>
    <subjectdef keys="outputclassFig">
        <subjectdef keys="none">
            <topicmeta>
                <navtitle>No float</navtitle>
            </topicmeta>
        </subjectdef>
        <subjectdef keyref="left"/>
        <subjectdef keyref="right"/>
    </subjectdef>
    <subjectdef keys="outputclassFigGroup">
        <subjectdef keys="auto">
            <topicmeta>
                <navtitle>Auto (Same as previous)</navtitle>
            </topicmeta>
        </subjectdef>
        <subjectdef keyref="left"/>
        <subjectdef keyref="right"/>
    </subjectdef>
    <enumerationdef>
        <elementdef name="fig"/>
        <attributedef name="outputclass"/>
        <subjectdef keyref="outputclassFig"/>
    </enumerationdef>
    <enumerationdef>
        <elementdef name="figgroup"/>
        <attributedef name="outputclass"/>
        <subjectdef keyref="outputclassFigGroup"/>
    </enumerationdef>
</subjectScheme>

ちゃんとoXygenでも候補には期待したものが現れます.例えばfigだったら、none|left|rightです.

イメージ 1


問題はDITA-OTのようです.最新のDITA-OT 2.3.1でやると次のようなエラーが出てしまいます.@outputclassのleftとrightを有効な値として認識してくれないようです.

Description: [DOTJ049W] The attribute value outputclass="right" on element "fig" does not comply with the specified subject scheme. According to the subject scheme map, the following values are valid for the outputclass attribute: none
Description: [DOTJ049W] The attribute value outputclass="left" on element "fig" does not comply with the specified subject scheme. According to the subject scheme map, the following values are valid for the outputclass attribute: none
Description: [DOTJ049W] The attribute value outputclass="right" on element "figgroup" does not comply with the specified subject scheme. According to the subject scheme map, the following values are valid for the outputclass attribute: auto

oXygenはちゃんと理解してくれても、DITA-OTの方はダメということは、subjectSchemaによる@outputclassのバリデーションなんて世界で誰もやっていない(というかそもそも期待していない?)のかもしれません.よくわからないのでとりあえずDITA-OTのプロジェクトに障害報告を出して聞いてみたいと思います.