General TaskとStrict Taskの切り替え

DITA 1.2から、General Task Modelが導入されたことを昨日のブログに書きましたが、腑に落ちない点がありました。それは、General Task Modelが導入されたのに、新しいtask要素ができていないという点です。taskgeneralとかいう名前の要素ができているのかと思って調べてみたら、そんなものはどこにもありません。General Task ModelだろうがStrict Task Modelだろうが、相変わらずタスクトピックはtask要素を使って書くのです。

では、どうやってGeneral Task ModelとStrict Task Modelを切り替えるのでしょうか?

oXygenでGeneral Taskと旧来のTaskを作って比べてみました。

●General Task

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA General Task//EN" "task.dtd">
<task id="taskId">
    <title>General Task</title>
    <shortdesc>これはGeneral Taskのサンプルです。</shortdesc>
    <taskbody>
        <context>
            <p>Context for the current task</p>
        </context>
        <steps>
            <step>
                <cmd>Task step.</cmd>
            </step>
        </steps>
    </taskbody>
</task>

●旧来のTask(Strict Task)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
<task id="taskId">
    <title>Strict Task</title>
    <shortdesc>これはStrict Taskのサンプルです。</shortdesc>
    <taskbody>
        <context>
            <p>Context for the current task</p>
        </context>
        <steps>
            <step>
                <cmd>Task step.</cmd>
            </step>
        </steps>
    </taskbody>
</task>

よく見ると、違いが分かりますね。
そう、DOCTYPE宣言のPUBLIC識別子が変わっているのです。