Web エディター内のコンテンツ品質の制御

ここでは、AEM Guides web エディターでの検証の可能性について概要を説明します。
Web エディタは、システムの DITA スキーマ設定を利用して、ユーザーに DITA 準拠のコンテンツを作成するよう強制します。 これにより、システムに保存されているすべてのコンテンツが構造化され、再利用可能で有効な DITA コンテンツになります。

DITA ルールのサポートに加えて、web エディタは「Schematron」ルールに基づくコンテンツの検証もサポートします。

スキーマトロン」は、XML ファイルのテストを定義するために使用される、ルールベースの検証言語を参照します。 Schematron ファイルを読み込んで、Web エディターで編集することもできます。 「Schematron」ファイルを使用して、特定の規則を定義し、DITA トピックまたはマップに対して検証できます。 スキーマのルールは、ルールとして定義された制限を適用することで、XML 構造の一貫性を確保できます。 これらの制限は、コンテンツの品質と一貫性を所有する中小企業が推進しています。

メモ:Web エディターは ISO スキーマをサポートしています。

Web エディターでの「Schematron」の仕組みを知る

スキーマトロンルールの設定

​ ユーザガイド ​ の「スキーマトロンファイルのサポート」の節を参照してください

ファイル保存時に検証ルールを適用

Webeditor 設定を使用すると、パワーユーザーは、ユーザーがコンテンツを更新するたびに実行される Schematron ルール/ファイルを設定できます。 詳しくは、『ユーザーガイド ​ の「検証」の節を参照してください ​

Web エディター設定からルールを設定

検証を手動で実行できますか?

はい。コンテンツの作成時に作成者またはユーザーとして使用できます。webeditor のスキーマトロンパネルを使用して、スキーマトロンファイルをアップロードし、エディターで開いているファイルに対して検証を実行できます。

これを機能させるには、フォルダープロファイル管理者が、すべてのユーザーが検証パネルで Schemtron ファイルを追加できるようにする必要があります。 エディター設定を参照してください(上のスクリーンショット)

Schematron ファイルを選択
検証の実行

サポートされるルール

現在のAEM Guidesのバージョンでは、「アサーション」ベースのルールのみを使用した検証をサポートしています。 (​ アセットとレポート ​ を参照)。
「レポート」に基づくルールは、まだサポートされていません。

スキーマトロンルールのサンプルおよびその他のヘルプ

サンプルユースケース

  • リンクが外部であり、「外部」スコープを持っているかどうかを確認する

    code language-none
    <sch:pattern>
        <sch:rule context="xref[contains(@href, 'http') or contains(@href, 'https')]">
            <sch:assert test="@scope = 'external' and @format = 'html'">
                All external xref links must be with scope='external' and format='html'
            </sch:assert>
        </sch:rule>
    </sch:pattern>
    
  • マップに少なくとも 1 つの「topicref」があるか、または「ul」の下に少なくとも 1 つの「li」があるかどうかを確認します

    code language-none
    <sch:pattern>
        <sch:rule context="map">
            <sch:assert test="count(topicref) > 0">
                There should be atleast one topicref in map
            </sch:assert>
        </sch:rule>
    
        <sch:rule context="ul">
            <sch:assert test="count(li) > 1" >
                A list must have more than one item.
            </sch:assert>
        </sch:rule>
    </sch:pattern>
    
  • 「indexterm」要素は、常に「prolog」に存在する必要があります

    code language-none
    <sch:pattern>
        <sch:rule context="*[contains(@class, ' topic/indexterm ')]">
            <sch:assert test="ancestor::node()/local-name() = 'prolog'">
                The indexterm element should be in a prolog.
            </sch:assert>
        </sch:rule>
    </sch:pattern>
    

リソース

recommendation-more-help
11125c99-e1a1-4369-b5d7-fb3098b9b178