この文書は「Internationalization Tag Set (ITS) Version 2.0(W3C Recommendation 2013-10-29)」の日本語訳)です。日本語訳は参考情報であって、公式な文書ではありません。また、翻訳に誤りがありえます。

訳者への連絡先、他の仕様の翻訳等については、Wikiを参照ください。

W3C

Internationalization Tag Set (ITS) Version 2.0 日本語訳

W3C Recommendation 29 October 2013

This version:
http://www.w3.org/TR/2013/REC-its20-20131029/
Latest version:
http://www.w3.org/TR/its20/
Previous version:
http://www.w3.org/TR/2013/PR-its20-20130924/
Editors:
David Filip, University of Limerick
Shaun McCance, Invited Expert
Dave Lewis, TCD
Christian Lieske, SAP AG
Arle Lommel, DFKI
Jirka Kosek, UEP
Felix Sasaki, DFKI / W3C Fellow
Yves Savourel, ENLASO

Please refer to the errata for this document, which may include some normative corrections.

See also translations.

This document is also available in these non-normative formats: ODD/XML document, self-contained zipped archive, and XHTML Diff markup to previous publication 2013-09-24.


概要

この“Internationalization Tag Set (ITS) 2.0”文書に記載された技術は、コアウェブ技術に人間言語の自動処理を統合するための基盤を強化する。ITS 2.0は、前身となるITS 1.0と多くの共通点をもつが、多言語ウェブコンテンツの自動作成および処理を促進するために設計された追加の概念を提供する。ITS 2.0は、HTML、一般的なXMLベースのフォーマットに焦点を当て、さらにXML Localization Interchange File Format(XLIFF)だけでなく、Natural Language Processing Interchange Format(NIF)に基づいて処理を活用することができる。

この文書の位置付け

この節は、公開時点におけるこの文書のステータスについて説明する。他の文書がこの文書に取って代わるかもしれない。W3Cが現在公開しているリストとテクニカルレポートの最新版は、W3C technical reports index at http://www.w3.org/TR/で見つけることができる。

この“Internationalization Tag Set (ITS) 2.0”文書に記載された技術は、コアウェブ技術に人間言語の自動処理を統合するための基盤を強化する。ITS 2.0は、前身となるITS 1.0と多くの共通点をもつが、多言語ウェブコンテンツの自動作成および処理を促進するために設計された追加の概念を提供する。ITS 2.0は、HTML、一般的なXMLベースのフォーマットに焦点を当て、さらにXML Localization Interchange File Format(XLIFF)だけでなく、Natural Language Processing Interchange Format(NIF)に基づいて処理を活用することができる。

この文書は、W3C RecommendationとしてMultilingualWeb-LT Working Groupによって発行された(W3C document maturity levelsを参照)。Working Groupは、この仕様のテストスイートを完了して承認し、2つ以上の独立した実装が各テストに合格することを示す実装レポートを作成した。

この文書はW3Cメンバー、ソフトウェア開発者、そしてその他のW3Cグループや関係者によって評価が行われ、ディレクターによってW3C Recommendationとして承認された。この文書は安定しており、参考資料として用いたり、他の文書から引用してもよい。仕様の勧告においてW3Cの果たす役割とは、仕様に関心を集め、幅広く仕様の普及を促進することである。これにより、ウェブの機能と相互運用性の向上が期待できる。

ITS 2.0仕様は、HTML5仕様への規範的な依存を持つ:HTML5 translate属性に依存する。このRecommendationを公開することによって、W3Cは、仕様がRecommendationへ進むことで、このITS 2.0 Recommendationで指定された機能がHTML5の変更によって受けないこと期待する。

コメントを投稿する場合は、public-i18n-its-ig@w3.orgに送られたい。このリストのアーカイブが公開されている。以前の出版からのMultilingualWeb-LT Working Group変更の一覧内にある議論も参照のこと。

この文書は2004年2月6日のW3C特許ポリシーの下で活動するグループによって作成された。W3Cは、グループの成果物に関するあらゆる開示特許の公開リストを管理する。ここには、特許開示にあたっての指示も含まれている。特許について十分に知識のある人物が、仕様にEssential Claim(s)が認められると判断した場合は、W3C特許ポリシーの第6章に従い情報を開示する必要がある。

目次

付録

A 参考文献
B Internationalization Tag Set (ITS) MIMEタイプ
C ローカリゼーション品質問題のタイプの値
D ITSのスキーマ
E 参考文献
F NIFへの変換
G 変換NIF2ITS
H ローカリゼーション品質ガイダンス
I ITS 2.0グローバル要素とローカル属性のリスト
J 改訂ログ
K 謝辞

Go to the table of contents.1 導入

この章は参考情報である。

Go to the table of contents.1.1 概要

1つのロケール(たとえばカナダのフランス語圏の一部)用の言語(いわゆるソース言語)で作成されたコンテンツやソフトウェアは多くの場合、追加の言語で利用可能となる、または他の文化的側面に関して適応される。多くの場合、多言語生産のための支配的なパラダイムは、次の3つのフェーズを含む:国際化、翻訳および現地語化(これらの概念に関連する詳細については、W3C's Internationalization Q&Aを参照のこと)。

実現可能性、コスト、効率の観点から、元の題材は、翻訳などの下流の段階に適していることが重要である。これは、適切な設計および開発によって達成される。対応する段階は、国際化と呼ばれる。独自のXML語彙は、混合方向テキストで方向を指定するための特別なマークアップを定義することによって国際化されてもよい。

翻訳段階の間に、ソース言語のテキストの意味を解析し、かつ等価な意味である対象言語のテキストが決定される。たとえば、国内または国際法は翻訳の忠実度を促進または確保するために必須の用語や標準的なフレーズのような言語的次元を調節してもよい。

ローカライズ段階の取り決められた定義が不足しているが、この段階は通常、ロケール固有のコンテンツを作成する(たとえば、国固有のリセラーのリンクを追加する)、または機能を変更する(たとえば、財務報告のための各国固有の規制に一致を確立する)ような包括的な活動として見られている。時には、現地の言語や文字をサポートするための特別なマークアップの挿入はまた、ローカリゼーション段階に含まれる。たとえば、アラビア語、ヘブライ語、ペルシャ語やウルドゥー語などの言語で作成する人は、混合方向テキストで方向を指定するための特別なマークアップを必要とする。

この文書に記載された技術 - 国際化タグセット(ITS)2.0は、国際化、翻訳およびローカライズに関連するいくつかの課題と機会を扱う。特にITS 2.0は、XMLなどのコアウェブ技術に関する国際化、翻訳、およびローカライズのためのメタデータ領域の概念に貢献する。ITSは、たとえば、XMLベースの文書の一部が翻訳から除外されるべき生成シナリオを支援する。ITS 2.0は、前身となるITS 1.0と多くの共通点を持つが、実体認識などの言語技術に基づく、たとえば多言語ウェブコンテンツに関連した、強化された自動処理を促進するために設計される追加の概念を提供する。

ITS 1.0と同様、ITS 2.0の両方は、(たとえば「翻訳」などの)概念を識別し、Internationalization Tag Set(ITS)と呼ばれる要素と属性のセットとしてこれらの概念の実装を定義する(「ITSデータカテゴリー」と呼ぶ)。ITSの要素と属性の定義は、RELAX NG [RELAX NG](規定)の形態で提供される。ITS 1.0からITS 2.0への一つの大きなステップはHTMLのカバレッジに関連するので、ITS 2.0はまたITSマークアップと様々なHTMLフレーバーとの関係を確立する。さらに、ITS 2.0は、XML Localization Interchange File Format([XLIFF 1.2]および[XLIFF 2.0])だけでなく、自然言語処理交換フォーマット[NIF]に基づいて処理を活用する場合および方法について説明する。

導入の説明の目的で、どのようにしてITSは文書の特定の部分が翻訳に意図されないことを示すことができるかという、疑問に関連する一連の例をここで示す。

例1:一部のコンテンツが翻訳されないままにされる文書

この文書で、翻訳を意図するstring要素と翻訳されないものの間を区別することは困難である。この問題を解決する明示的なメタデータが必要である。

<resources>
  <section id="Homepage">
    <arguments>
      <string>page</string>
      <string>childlist</string>
    </arguments>
    <variables>
      <string>POLICY</string>
      <string>Corporate Policy</string>
    </variables>
    <keyvalue_pairs>
      <string>Page</string>
      <string>ABC Corporation - Policy Repository</string>
      <string>Footer_Last</string>
      <string>Pages</string>
      <string>bgColor</string>
      <string>NavajoWhite</string>
      <string>title</string>
      <string>List of Available Policies</string>
    </keyvalue_pairs>
  </section>
</resources>

[Source file: examples/xml/EX-motivation-its-1.xml]

ITSは、メカニズムが最も適した使用シナリオ/ユーザー型の面で他のものとの間で異なる、複数のメカニズムを提案する。

例2:一部分を残す必要があることを示すために2つの異なるITSメカニズムを使用する文書。

ITSは、1つ以上のコンテンツ(XMLノードなど)に明示的にメタデータを関連付ける2つのメカニズムを提供する:ローカル、属性ベースのアプローチと同様に、グローバル、ルールベースのアプローチ。ここで、たとえば、最初にkeyvalue_pairs内のすべての2番目のみを指定するtranslateRuleは翻訳を意図する。その後、これらの要素の1つを指定するITS translate属性は、翻訳されないことを意図する。

<resources xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
  <its:rules version="2.0">
    <its:translateRule selector="//arguments" translate="no"/>
    <its:translateRule selector="//keyvalue_pairs/string[(position() mod 2)=1]" translate="no"/>
  </its:rules>
  <section id="Homepage">
    <arguments>
      <string>page</string>
      <string>childlist</string>
    </arguments>
    <variables>
      <string its:translate="no">POLICY</string>
      <string>Corporate Policy</string>
    </variables>
    <keyvalue_pairs>
      <string>Page</string>
      <string>ABC Corporation - Policy Repository</string>
      <string>Footer_Last</string>
      <string>Pages</string>
      <string>bgColor</string>
      <string its:translate='no'>NavajoWhite</string>
      <string>title</string>
      <string>List of Available Policies</string>
    </keyvalue_pairs>
  </section>
</resources>

[Source file: examples/xml/EX-motivation-its-2.xml]

Go to the table of contents.1.2 ITS 1.0の範囲を越える大まかな動機

ITS 1.0の基本は単純である:

  1. 国際化に関連するプロセスを支援するためのメタデータを提供する(たとえば「翻訳しない」)

  2. メタデータを関連付ける特定のXMLノード(たとえば、名前uitextと名付けられるすべて要素)またはXMLノード自身(いわゆるローカルアプローチ)メタデータを連続して置くXPath(いわゆるグローバルなアプローチ)を使用する

  3. メタデータカテゴリーまたは値の明確に定義されたセットを操作する(たとえば特定のデータカテゴリーに"yes"と"no"のみの値)

  4. 既存のメタデータの活用(たとえば、dtのようなHTMLマークアップで既にマークアップされている用語)

この簡潔さはITS 1.0の現実世界の展開を容易にする。展開は、国際化に関連するプロセスに対する追加のメタデータカテゴリーを識別する助けになる。たとえばITS Interest Groupは、追加のデータカテゴリーのリストをコンパイルした(この関連する要約を参照)。その結果これらの一部は、ITS 2.0で定義された:ID値、ローカルのテキスト内要素保存容量、およびロケールフィルター。他のものは、可能性のあるITSの将来バージョンの要件として論議される:

  1. “コンテキスト” = どのような特定の関連情報が役立つ可能性があるか?

  2. “自動言語” = このコンテンツは自動処理に役立つか?

現実世界の展開はまた、Open Web Platformへの理解の助けとなる―XMLへのITS 1.0の制限がかなりの数の環境の障害であった。欠けていたものは、たとえば、次のものである:

  1. 一般にHTMLのようなフォーマット、特にHTML5へのITSの適用

  2. さまざまなウェブ公開(多言語)自然言語処理コンテキストにおけるITSの容易な使用。

  3. コンピューターのサポートする言語品質保証

  4. コンテンツの管理および翻訳プラットフォーム

  5. クロス言語シナリオ

  6. コンテンツの充実

  7. W3C起源のサポート[PROV-DM]、「エンティティー、活動、データやフォームについてその品質信頼性、信頼性評価に使用することができますもの一部生産に関わる人々の情報」

  8. セマンティックWeb/Linked Open Dataシナリオにおける拡張展開の規定

ITS 2.0は、グローバル用途のコンテンツに関与する関係者の連携によって作成された。したがって、ITS 2.0は次のものを視野に入れて開発された:

  • 多言語の生産チェーンで効率的なコンテンツの更新のために簡単に統合したいコンテンツ管理および機械翻訳ソリューションのプロバイダー

  • 人間の翻訳を容易にするため(たとえば、用語候補生成、エンティティー認識または曖昧さ回避を介してなどの)コンテンツを自動的に豊かにしたい言語技術プロバイダー

  • 情報共有やロスレスのローカリゼーションワークフロー内のメタデータに興味を持つ、オープン標準の努力(たとえば、[XLIFF 1.2][XLIFF 2.0]および[NIF]など)

相乗効果を生じる結果の一例は、ITSツール注釈メカニズムである。これは、手がかりを残すことをITSプロセッサに許可することで起源関連要件を処理する:ITSプロセッサーは基本的に「それは私の情報のこのビットを生成」を言うことができる。別の例は、ITS 2.0の詳細に関連する[NIF]であり、これは、セマンティックウェブの概念と自然言語処理をつなぐ非規範的アプローチを提供する。

Go to the table of contents.1.3 使用シナリオ

[ITS 1.0]導入は次のように述べている:“ITSは、効果的に国際化され、ローカライズすることができる、XMLを簡単に作成するための技術である”。これを具体化するために、ITS 1.0は、ユーザーと使用の例を提供する。暗黙的に、この例は、ITSが2つの領域をカバーする情報を運ぶ:1つは1カ国語コンテンツの静的な次元に関連しており、1つは多言語の生成物の動的な次元に関連している。

  • 静的な1カ国語(たとえば、コンテンツ著者の領域):コンテンツのこの部分は、「右から左」方向を持つ。

  • 動的な多言語(たとえば、機械翻訳システムの領域):コンテンツのこの部分は、未翻訳のままにする必要がある。

ITS 1.0は多言語生産プロセスチェーンに可能な段階についての仮定をしなかったが、簡単な3相 "書き込み→翻訳→国際化"モデルの方に傾いた。さらにITS 2.0で概観は、ITS 2.0が明示的に多言語コンテンツ制作のためのより多くの包括的なモデルを対象とすることを示している。モデルは、次のような多言語コンテンツ制作段階のサポートを含む:

  • 国際化

  • プリプロダクション(マーキングに関連する用語など)

  • 自動化されたコンテンツのリッチ化(エンティティーに対する自動ハイパーリンクなど)

  • 翻訳関連コンテンツの抽出/フィルタリング

  • セグメンテーション

  • (翻訳メモリーのような既存の翻訳関連資産などの)活用

  • 機械翻訳(特定のドメイン対象など)

  • ソース言語またはターゲット言語コンテンツの品質評価や制御

  • 翻訳キットの生成(XLIFFに基づくパッケージなど)

  • ポストプロダクション

  • 出版

文書[MLW US IMPL]は、多種多様なITS 2.0の使用シナリオを示す。それらのほとんどは、前述のフェーズから構成される。

同様の趣旨で、ITS 2.0は、多言語コンテンツ制作過程に参加してもよい関係者に多くのより包括的な視点で捉える。ITS 1.0のアノテーション(たとえば、用語データカテゴリーのローカルマークアップ)はほとんど常に、コンテンツ著者や情報アーキテクトのような当事者に密接に縛られるものとして考案された。ITS 2.0は、ワードプロセッサー/エディター、コンテンツ管理システム、機械翻訳システム、用語候補ジェネレーター、識別子/語義曖昧性解消器と同レベルのエンティティーのような非人間当事者を上昇させる。とりわけこの変更は、システムがコンテンツの特定部分を処理したことを記録することを可能にするITS 2.0ツールの注釈で反映される。

Go to the table of contents.1.4 ITS 1.0とITS 2.0との間のハイレベルな変更点

1.0と2.0との間の変更点は、次のように要約することができる。

[HTML5]のカバレッジ:ITS 1.0は、XMLコンテンツに適用することができる。ITS 2.0は、[HTML5]に適用範囲を拡張する。ITS 2.0と[HTML5]に関する説明の詳細は、2.5節:特定のHTMLサポートに記載される。

データカテゴリーの追加:ITS 2.0は、追加のデータカテゴリーを提供し、既存のものを変更する。すべてのITS 2.0データカテゴリーの概要は、2.1節:データカテゴリーに記載される。

データカテゴリーの変更

  • ITS 1.0はルビデータカテゴリーを提供する。HTML5におけるルビモデルを書いている時点ではまだ開発中だったので、ITS 2.0はルビを提供しない。この議論が確定したら、ITSの次のバージョンで、ルビデータカテゴリーはおそらく再導入される。

  • 方向データカテゴリーは、[HTML 4.01]における方向マークアップを反映する。その理由は、拡張機能が、具体的には方向が周囲内容のものから単離する必要があるコンテンツをサポートするために、方向をマークアップする方法を変更することが予想されるHTML5のコンテキストで議論されているためである。しかし、この拡張はまだ確定されていない。これは、ITSの将来の改訂に反映される。

追加または変更されたメカニズム:ITS 1.0から次のメカニズムが変更またはITS 2.0に追加された:

  • ITS 1.0は、グローバル規則内のノードを選択するためのメカニズムとしてXPathのみを使用する。ITS 2.0は、セレクターのクエリー言語の選択を可能にする。デフォルトはXPath 1.0である。ITS 2.0プロセッサーは、CSSセレクターやXPathの他のバージョンと同様に、他の選択メカニズムをサポートすることが自由にできる。

  • グローバル規則において、セレクターのための変数(XPath式)を設定することが可能になった。param要素はこの目的を果たす。

  • ITS 2.0は、個々のデータカテゴリーの使用とプロセッサーの情報を関連付けるためにITSツール注釈機構を持つ。詳細については2.6節:トレーサビリティーを参照のこと。

マッピング:ITS 2.0は、ITS 2.0情報を[NIF]に変換するための非規範的アルゴリズムを提供し、XLIFFにITS 2.0を関連付ける方法についてのガイダンスへリンクする。詳細については、2.7節:マッピングおよび変換を参照のこと。

適合セクションへの変更4章:適合性は、ITSを実装する方法を実装に伝える。ITS 2.0の場合、ルビに関連する適合性宣言は削除された。[HTML5]の場合、専用の適合性セクションが作成されている。最後に、非ITS要素および属性に関連する適合句が追加された。

Go to the table of contents.1.5 拡張実装のヒント

一般的なガイダンスとして、ITS 2.0の実装は正規化トランスコーダーを使用することを勧める。これは、レガシーエンコーディングからUnicodeエンコーディング形式へ変換し、結果がUnicode正規形Cであることを保証する。Unicode正規化のトピックに関する詳細については、[Charmod Norm]で提供される。

Go to the table of contents.2 基本的な概念

この章は参考情報である。

この章の目的は、どのようにITS 2.0が機能するかに関する基本的な知識を提供することにある。(正式な定義を含む)詳細な情報は、後の節で与えられる。

Go to the table of contents.2.1 データカテゴリー

ITSの重要な概念は、データカテゴリーの抽象概念である。データカテゴリーは、ITS経由で伝えることができる情報を定義する。例は、翻訳データカテゴリーである。これは、コンテンツの翻訳可能性に関する情報を伝える。

8章:データカテゴリーの説明は、データカテゴリーを定義する。この章は、その実装、つまり、たとえばXMLコンテキストで実装を使用する方法についても説明する。実装からデータカテゴリー定義を分離するための動機付けは、次の特性の異なる実装を有効にすることにある:

  • (一般にXMLまたはHTMLにおける)各種コンテンツ。

  • p要素など、コンテンツの1つずつ。これは、いわゆるローカルアプローチである。

  • 1つの文書または一様な一連の文書のコンテンツの複数のコンテンツ。これは、いわゆるグローバルアプローチである。

  • 完全なマークアップ語彙。これは、語彙のスキーマにITSマークアップ宣言を追加することによって行われる。

ITS 2.0は、次のデータカテゴリーが提供される:

  • 翻訳:コンテンツの選択した部分が翻訳を意図するかどうかどうかに関する情報を表す。

  • ローカリゼーションの注記:コンテンツの特定の項目についてローカライザーのメモを通信する。

  • 用語:用語をマークし、必要に応じて用語データベースへの定義や参照などの情報に関連付ける。

  • 方向:ブロック、埋め込み、およびUnicode双方向アルゴリズムの上書きのベース記述方向を指定する。

  • 言語情報:コンテンツの特定の部分の言語を表現する。

  • テキスト内にある要素:要素のコンテンツがテキストフローにどのように関連するのか表現する(段落のような独自のセグメントを構成する、強調マーカーようなセグメントの一部である、など)。

  • ドメイン:アプリケーションの翻訳関連の注釈付きコンテンツのトピックまたは主題を識別する。

  • テキスト分析:(たとえばコンテキスト曖昧さ回避のための)語彙または概念の情報をもつコンテンツに注釈を付ける。

  • ロケールフィルター:コンテンツの一部が特定のロケールに適用可能であることのみを指定する。

  • 出所:コンテンツの処理に関与しているエージェントのアイデンティティーを連絡する。

  • 外部リソース:ローカリゼーションまたは翻訳の間に考慮される必要がある文書の外部リソースの参照ポイントを示す。そのようなリソースの例は、外部の画像およびオーディオまたはビデオのファイルである。

  • ターゲットポインター:特定のソースコンテンツ(すなわち翻訳されるコンテンツ)のマークアップノードと対応するターゲットコンテンツ(すなわちソースコンテンツが指定されたターゲット言語に翻訳する)のマークアップのノードに関連付ける。これは、単一文書内の異なる言語で同じコンテンツを保持する形式に関連するものである。

  • ID値:コンテンツの特定の部分に対して一意の識別子として使用することができる値を示す。

  • 保持領域:空白がコンテンツで処理される方法を示す。

  • ローカリゼーション品質問題:言語指向の品質保証(QA)プロセス中に検出されたエラーの性質および重大度を説明する。

  • ローカリゼーション品質評価:文書または文書内の項目のローカリゼーション品質の全体的な測定を表現する。

  • MT信頼:MTシステムが翻訳を提供するものの信頼性を示す。

  • 許容文字:コンテンツの特定の部分で許可される文字を指定する。

  • ストレージサイズ:コンテンツの特定の部分の最大ストレージサイズを指定する。

既存のITS 1.0データカテゴリーのほとんどが含まれており、新しいものが追加されている。既存のITS 1.0データカテゴリーの変更は、1.4節:ITS 1.0とITS 2.0との間のハイレベルな変更点にまとめられている。

Go to the table of contents.2.2 選択

ITSデータカテゴリーによって捕獲される情報(たとえば“これを翻訳する”)は常に、1つ以上のXMLまたはHTMLノード、主に要素および属性ノードに関連する。ある意味で、関連するノードが「選択」を取得する。選択は、明示的または暗黙的であるかもしれない。ITSは、明示的な選択のための2つのメカニズムを区別する:(1)ローカルと(2)グローバル(rulesを経由)。ローカルとグローバルの両方の方法は、継承や既定などの追加のITS次元と、互いに対話することができる。

ITS選択に対して定義されたメカニズムは、[CSS 2.1]で定義されているそれらと共通点がある。ローカルアプローチは、HTML/XHTMLのstyle属性と比較することができ、グローバルアプローチは、HTML/XHTMLのstyle要素に似ている:

  • ローカルアプローチは、ホストの語彙(たとえばDocBookのauthor要素)の関連性のある要素でITSマークアップを加える

  • グローバルのルールベースアプローチは、ITS自体(つまりrules要素)によって定義された要素でITSマークアップを置く

CSS セレクターおよび他のクエリー言語がアプリケーションでさらに実装することができるが、ITSは通常、ノードを識別するためのルールでXPathを使用する。

ITS 2.0は、XML文書(たとえばDocBook記事)、HTML文書、文書スキーマ(独自の文書フォーマットに対するXMLスキーマ文書など)、またはRDFのデータモデルとともに使用することができる。

次の2つの例は、例として翻訳データカテゴリーを使用して、ローカルとグローバルアプローチとの間の区別について詳しく説明する。

Go to the table of contents.2.2.1 ローカルアプローチ

例3において文書は、コンテンツ著者がauthor要素内のすべてのコンテンツが翻訳を意図しない(すなわち、翻訳しないままにする必要のある)ことを示すためにITS translate属性を使用することができる方法を示す。属性の意味の認識する翻訳ツールは、翻訳されてから関連するコンテンツを保護することができる(コンテキスト情報として保護されたコンテンツを翻訳者に参照することをおそらく依然として可能にする)。

例3:XML文書内の要素のITSマークアップ(ローカルアプローチ)
<article xmlns="http://docbook.org/ns/docbook"
         xmlns:its="http://www.w3.org/2005/11/its"
         its:version="2.0" version="5.0" xml:lang="en">
  <info>
    <title>An example article</title>
    <author its:translate="no">
      <personname>
        <firstname>John</firstname>
        <surname>Doe</surname>
      </personname>
      <affiliation>
        <address><email>foo@example.com</email></address>
      </affiliation>
    </author>
  </info>
  <para>This is a short article.</para>
</article>

[Source file: examples/xml/EX-basic-concepts-1.xml]

全体のマークアップ語彙に働くローカルアプローチ(および例 3)の場合、スキーマ開発者は、共通の属性としてまたはすべての関連する要素定義スキーマにtranslate属性を追加する必要がある。継承がコンテンツを翻訳する必要があるかどうかを識別する役割を果たす例を示す:author要素のみが「翻訳しない」としてマークされるが、その子孫(personnamefirstnamesurname)が同様に暗黙的にマークされると見なされる。翻訳のためにこのコンテンツを処理するツールは、予想される継承を実装する必要がある。

XMLコンテンツの場合、ローカルアプローチは特定の属性に適用することができない。ITSが特定の属性に適用される必要がある場合、グローバルアプローチを使用する必要がある。ローカルアプローチは、8.1章:位置、既定、継承、データカテゴリーの上書きで説明するように現在の要素とそのすべての継承されたノードのコンテンツに適用される。[HTML5]で使用する翻訳データカテゴリーの場合、これは異なる。HTML5の翻訳の定義の説明を参照のこと。

Go to the table of contents.2.2.2 グローバルアプローチ

例4において文書は、[XHTML 1.0]style要素の使用に似ているが、rulesと呼ばれるITS定義の要素を使用して、非翻訳コンテンツを識別する別のアプローチを示す。これは次のように動作する:文書は、rules要素を含めることができる(“head”セクションまたは文書自身以外のような、文書の構造は影響しない場所で)。rules要素は、1つ以上のITSの子/rule要素を含む(たとえばtranslateRule)。この子要素のそれぞれは、selector属性を含む。その名前が示すように、この属性は、ノードまたは対応するITS情報に関連するノードを選択する。ITS selector属性の値は、XPath絶対位置パス(またはqueryLanguageが"css"に設定される場合はCSSセレクター)となる。paramにより要素変数は提供され、セレクターで使用されることができる。

XPath式の名前空間の処理に対する情報は、現在のrule要素の名前空間宣言[XML Names]から取得される。

例4:XML文書におけるITSグローバルマークアップ(ルールベースのアプローチ)
<myTopic xmlns="http://mynsuri.example.com" id="topic01" xml:lang="en-us">
  <prolog>
    <title>Using ITS</title>
    <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
      <its:translateRule selector="//n:term" translate="no" xmlns:n="http://mynsuri.example.com"/>
    </its:rules>
  </prolog>
  <body>
    <p>ITS defines <term>data category</term> as an abstract concept for a particular type of
      information for internationalization and localization of XML schemas and documents.</p>
  </body>
</myTopic>

[Source file: examples/xml/EX-basic-concepts-2.xml]

動作するグローバルアプローチ(および例 4)の場合、スキーマ開発者は、rules要素および関連するマークアップをスキーマに追加する必要がある。いくつかの場合、グローバルルールは十分かもしれず、(要素のtranslate属性や属性などの)他のITSマークアップはスキーマで必要ないかもしれない。しかし、著者は一般的なルールを上書きするためのローカルアプローチを時々必要とするかもしれない。

翻訳データカテゴリーについて、translateRule要素のコンテンツは通常、文書形式に精通している情報アーキテクト、またはローカリゼーション/翻訳のニーズに精通する誰かと作業することによって設計される。

グローバルな、ルールベースアプローチは、次の利点がある:

  • コンテンツ著者は、追加のマークアップを作成するまたはマークアップが正しく適用されたことを確認することに関与する必要はない。ITSデータカテゴリーは、ノードのセットに関連付けられる(たとえばXMLインスタンスですべてのp要素など)。

  • 文書(または、rules要素が外部エンティティーとして格納される場合に文書)全体でローカルマークアップを検索して変更することによってよりむしろ、1つの場所で変更することができる。

  • ITSデータカテゴリーは、(要素と同様)属性値を指定することができる。

  • 既存のマークアップ(たとえばDITAのterm要素)とITSのマークアップを関連付けることができる。

上記の両方の例の共通点は、マークアップtranslate='no'である。ITSマークアップのこの部分は、次のとおりに解釈することができる:

  • 翻訳データカテゴリーに関連する

  • 属性translateは"no"の値を保持する

Go to the table of contents.2.3 上書き、継承および既定

ITS選択メカニズムの力は対価を得る:上書き/優先順位および継承に関連するルールを確立する必要がある。

例5で文書は、どのように継承および上書きが翻訳データカテゴリーに動作するかを示す:

  • ITSの規定は、すべての要素が翻訳可能である。

  • ヘッダーで宣言されたtranslateRule要素は、本文内のhead要素とそのすべての子のデフォルトを上書きする。

  • グローバル規則title要素は実際に翻訳可能であるので、ローカルits:translate="yes"で上書きする必要がある。

  • 文書の本文で既定を適用し、its:translate="no"が非翻訳可能として"faux pas"(不作法)を設定するために使用される。

例5:上書きと継承
<text xmlns:its="http://www.w3.org/2005/11/its">
  <head>
    <revision>Sep-10-2006 v5</revision>
    <author>Ealasaidh McIan</author>
    <contact>ealasaidh@hogw.ac.uk</contact>
    <title its:translate="yes">The Origins of Modern Novel</title>
    <its:rules version="2.0">
      <its:translateRule translate="no" selector="/text/head"/>
    </its:rules>
  </head>
  <body>
    <div xml:id="intro">
      <head>Introduction</head>
      <p>It would certainly be quite a <span its:translate="no">faux pas</span> to start a
        dissertation on the origin of modern novel without mentioning the <tl>Epic of
        Gilgamesh</tl>...</p>
    </div>
  </body>
</text>

[Source file: examples/xml/EX-basic-concepts-3.xml]

XMLコンテンツの場合、データカテゴリー特有の既定が提供される。これらは、実際のXMLマークアップ語彙から独立する。翻訳データカテゴリーの例:要素に対するtranslate="yes"および属性に対するtranslate="no"

[HTML5]の場合、複数のHTML5要素および属性は、ITS 2.0 データカテゴリー正確にマップする。したがって、ITS 2.0データカテゴリー情報として規範的に解釈される、(詳細については2.5.3節:ITS 2.0カウンターパートをもつHTMLマークアップを参照のこと)。

Go to the table of contents.2.4 情報を追加するまたは既存の情報を指す

データカテゴリーは、情報を追加したり、選択したノードの情報を指したりすることができる。たとえば、ローカリゼーション注記データカテゴリーは、(locNote要素を使用する)選択したノードに情報を追加する、または(locNotePointer属性を使用する)文書の他の場所の既存の情報を指すことができる。

8.1節:位置、既定、継承、およびデータカテゴリーの上書きにおける、データカテゴリー概要テーブルは、データカテゴリーが情報の追加を許可し、既存の情報を指すことができる概要を提供する。

情報を追加して既存の情報を指すことは、相互に排他的である。属性を追加するための属性と同じ情報を指すための属性は、同じルールの要素に出現することが許可されない。

Go to the table of contents.2.5 特定のHTMLサポート

ITS 2.0 データカテゴリーをHTMLに適用する場合、5つの側面が重要となる:

  1. HTML5におけるグローバルアプローチ

  2. ローカルアプローチ

  3. ITS 2.0カウンター パートをもつHTMLマークアップ

  4. HTML5における孤立したマークアップ

  5. HTMLのバージョン

次節でこれらの側面について簡単に説明する。

Go to the table of contents.2.5.1 HTML5におけるグローバルアプローチ

HTMLにおいていわゆるグローバルアプローチを考慮するために、この仕様は次を定義する(を参照してください6.2節:グローバル規則を参照):

  • link要素からグローバル規則をもつ外部ファイルを参照するためのリンクの種類。

  • HTML script要素のインライングローバル規則を使用するアプローチ。

HTML文書でインライングローバル規則を使用するのではなく、link要素を介してリンクされる外部のグローバル規則を使用することが望ましい。この利点は、多くの文書の同じ規則ファイルを再利用できることになり、インライン規則もscript要素の補助的な解析を必要とする。

例6:HTMLでITSグローバル規則を使用する

link要素は、規則ファイルEX translateRule-html5 1.xmlを指す。rel属性はITS特有のリンク関係its-rulesを識別する。

<!DOCTYPE html>
<html>
  <head>
    <meta charset=utf-8>
    <title>Translate flag global rules example</title>
    <link href=EX-translateRule-html5-1.xml rel=its-rules>
  </head>
  <body>
    <p>This sentence should be translated, but code names like
      the <code>span</code> element should not be translated.
      Of course there are always exceptions: certain
      code values should be translated, e.g. to a value
      in your language like <code translate=yes>warning</code>.</p>
  </body>
</html>

[Source file: examples/html5/EX-translate-html5-global-1.html]

例7:HTMLからリンクされるITS規則ファイル

例6でリンクされる規則ファイル。

<its:rules version="2.0" xmlns:its="http://www.w3.org/2005/11/its"
           xmlns:h="http://www.w3.org/1999/xhtml">
  <its:translateRule translate="no" selector="//h:code"/>
</its:rules>

[Source file: examples/html5/EX-translateRule-html5-1.xml]

例8:HTMLでインライングローバル規則を使用する

script要素は、上記の例で外部規則ファイルEX-translateRule-html5-1.xmlと同じ規則が含まれている。

<!DOCTYPE html>
<html>
  <head>
    <meta charset=utf-8>
    <title>Translate flag global rules example</title>
    <script type=application/its+xml id=ru1>
      <its:rules version="2.0" xmlns:its="http://www.w3.org/2005/11/its"
           xmlns:h="http://www.w3.org/1999/xhtml">
      <its:translateRule translate="no" selector="//h:code"/>
    </its:rules>
    </script>
  </head>
  <body>
    <p>This sentence should be translated, but code names like
      the <code>span</code> element should not be translated.
      Of course there are always exceptions: certain
      code values should be translated, e.g. to a value in
      your language like <code translate=yes>warning</code>.</p>
  </body>
</html>

[Source file: examples/html5/EX-translate-html5-inline-global-1.html]

Go to the table of contents.2.5.2 ローカルアプローチ

HTMLにおいて、ITS 2.0ローカルデータカテゴリーはプレフィックスits-で実現される。HTMLカウンターパートへのXMLベースITS 2.0属性の一般的なマッピングは、6.1節:HTMLへのローカルデータカテゴリーのマッピングで定義されている。付録I:ITS 2.0グローバル要素およびローカル属性のリストにおける参考情報のテーブルは、すべてのデータカテゴリーのマッピングの概要を示す。

Go to the table of contents.2.5.3 ITS 2.0カウンター パートをもつHTMLマークアップ

HTMLマークアップに相当する、4つのITS 2.0データカテゴリーが存在する。これらのケースにおいて、ネイティヴHTMLマークアップは、ITS 2.0データカテゴリーの観点からいくつかの情報を提供する。これらのデータカテゴリーに対して、ITS 2.0は以下を定義する:

  • 言語情報データカテゴリーは、カウンターパートとしてHTML lang属性を持つ。XHTMLにおいて、カウンターパートはxml:lang属性である。これらのHTML属性は、HTMLで言語情報データカテゴリーのローカルマークアップとして機能し、グローバルlangRuleを介して伝えられる言語情報よりも優先する

  • ID値データカテゴリーは、カウンターパートとしてHTMLまたはXHTML id属性を持つ。このHTML属性は、HTMLでID値のデータカテゴリーのローカルマークアップとして機能し、グローバルidValueRuleを介して伝えられる識別子情報より優先される

  • テキスト内の要素データカテゴリーは、カウンターパートとしてHTML要素(いわゆるフレージングコンテンツ)のセットを持つ。問題の要素を選択するテキスト内の要素ローカル属性またはグローバル規則のない場合、ほとんどのフレージングコンテンツ要素は、デフォルトでwithinText ="yes"として解釈される。フレージングコンテンツ要素iframenoscriptscriptおよびtextareaは、withinText="nested"として解釈される。

  • 翻訳データカテゴリーは、[HTML5]で直接対応する、すなわち[HTML5] translate属性を持つ。ITS 2.0は、[HTML5] translateに独自の動作を定義しないが、単にHTML5の定義を参照する。その定義は、グローバル規則を介して選択されたノードにも適用される。つまり、<its:translateRule selector="//h:img" translate="yes"/>のようなTranslateRuleは、img要素とaltのようなITS翻訳可能属性を"yes"に設定する。

例9:言語情報ID値テキスト内の要素および翻訳ITS 2.0データカテゴリーはネイティヴHTMLマークアップで表現される。

html要素のlang属性は、言語情報の値"en"を伝える。p要素のid属性は、ID値"p1"を伝える。要素emおよびimgは、withinText ="yes"であると解釈される。p要素とその子要素は、[HTML5] translate属性経由で翻訳不可に設定される。デフォルトで通常alt属性は翻訳可能だが、継承を介して、翻訳不可となる。

<!DOCTYPE html>
<html lang=en>
  <head>
    <meta charset=utf-8>
      <title>HTML native markup expressing three ITS 2.0 data categories</title>
  </head>
  <body>
    <p id="p1" translate="no">This is a <em>motherboard</em> and image: 
      <img src="http://example.com/myimg.png" alt="My image"/>.</p>
  </body>
</html>

[Source file: examples/html5/EX-its-and-existing-HTML5-markup.html]

特定のITS 2.0データカテゴリーとして役割と動作を持つまたは類似のものを持つことができるが、必ずしも同一ではないいくつかのHTMLマークアップ要素が存在する。たとえば、HTML dfn要素は、用語データカテゴリーの意味で用語を識別するために使用されるかもしれない。しかし、これは常にそうではなく、HTM コンテンツ著者の意図に依存する。このような状況に合わせて、ITS 2.0のユーザーは、専用のグローバル規則ファイルを伴うITS 2.0コンテキストに既存のHTMLマークアップのセマンティクスを指定することを推奨する。たとえば、規則は、HTML dfnがITS term="yes"のセマンティクスを持つように定義するために使用することができる。その他の例は、XML I18N Best Practices文書を参照のこと。

Go to the table of contents.2.5.4 HTML5における孤立したマークアップ

起源およびローカリゼーション品質問題データカテゴリーは、いわゆる孤立マークアップを使用することを可能にする。XML例 58を参照のこと。HTMLにおいて、そのような孤立マークアップは、script要素に配置される。これが行われる場合、HTMLにおける起源孤立マークアップおよびHTMLにおけるローカリゼーション品質問題マークアップの制約は考慮する必要がある。2つのデータカテゴリーに対するHTMLにおける孤立マークアップの例は、例61および例76である。

Go to the table of contents.2.5.5 HTMLのバージョン

ITS 2.0は、バージョン5より前のHTMLバージョンでITSを使用する方法を定義しない。よってユーザーは、[HTML5]またはXHTMLにコンテンツを移行することを推奨する。(3.2や4.01などの)HTMLの以前のバージョンで[HTML5]に導入したits-*属性を使用することはでき、この属性を使用するページは問題なく動作するが、its-*属性はバリデーターによって不正としてマークされる。

Go to the table of contents.2.6 トレーサビリティー

ITSツール注釈メカニズムは、データカテゴリアノテーション自身(テキスト分析に関連するエンティティーの種類など)から独立して、文書内の個々のデータカテゴリーに関連するプロセッサー情報を可能にする。メカニズムは、annotatorsRef属性(または[HTML5]annotators-ref)を介してデータカテゴリーにツールの識別子を関連付け、MT自信データカテゴリーに対して必須である。用語およびテキスト分析データカテゴリに対して、データカテゴリが自信情報を提供する場合は、ITSツール注釈は必須である。それにもかかわらず、すべてのデータカテゴリにITS ツール アノテーションを使用することができる。例23は、複数のデータカテゴリーのコンテキストにおける使用方法を示す。

Go to the table of contents.2.7 マッピングと変換

Go to the table of contents.2.7.1 ITSおよびRDF/NIF

ITS 2.0は、[NIF]に基づくRDF形式にITSメタデータを含むXMLまたはHTML文書(またはそのDOM 表現)に変換するための非標準アルゴリズムを提供する。NIFは、自然言語処理(NLP)ツール、言語リソースと注釈との間の相互運用を目的とするRDF/OWLベースの形式である。

ITS 2.0からNIFへの変換は、RDFトリプルをもたらす。このトリプルは、RDF型付き情報として元の文書のテキストコンテンツを表す。ITS注釈は、コンテンツ関連のトリプルのプロパティとして表され、ITS RDF語彙に依存する。

NIFからITS 2.0への逆変換は、同様に参考情報として定義される。逆変換の1つの動機は、次のような往復ワークフローとなる:1) NIF への変換 2) NIFで、NLPツールを使用して指定されたエンティティーの表現検出 3) HTMLへの逆変換とテキスト分析マークアップの生成。結果はリンク情報をもつHTML文書である。例52を参照のこと。

Go to the table of contents.2.7.2 ITSおよびXLIFF

XML Localization Interchange File 形式[XLIFF 1.2]は、翻訳可能なソーステキストならびにローカリゼーションおよび翻訳ワークフロー内の異なるツール間で渡される翻訳を可能にするOASIS標準である。[XLIFF 2.0]は、[XLIFF 1.2]の後継であり、開発中である。XLIFFは、様々な翻訳管理システム、コンピューター支援翻訳ツール、ターゲット言語でコンテンツをマージするソース文書から翻訳可能なコンテンツを抽出するためのユーティリティーで広く実装されている。

したがって、ITSとXLIFFとの間のマッピングは、複数の重要なITS 2.0の使用シナリオを支える[MLW US IMPL]。次の使用シナリオがある:

  • ソース言語ファイルからXLIFFへのITSメタデータの抽出

  • 翻訳ツールによるXLIFFファイルへのITSメタデータの追加

  • 結果のターゲット言語ファイルでITSメタデータへのXLIFFファイルにおけるITSメタデータのマッピング。

ITS 2.0は、XLIFF上で標準的な依存関係を持たない。しかし、XLIFF 1.2またはXLIFF 2.0のITS 2.0データカテゴリーを表すための方法の非標準な定義は、Internationalization Tag Set Interest Group内で定義されている。

Go to the table of contents.2.8 ITS 2.0の実装および適合性

ITS 2.0を実装するとは、どういう意味か?この仕様は、標準的な回答として複数の適合性条項を提供する( 4章:適合性を参照のこと)。条項は実装の異なる種類を対象とする:

適合性条項4.2節:適合性の種類2:マークアップの処理期待および4.3節:適合性の種類3:HTMLにおけるマークアップの処理期待は、情報が専用のITS 2.0データカテゴリーを処理するときにどのように特定のマークアップの部分を利用可能にする必要があるかを明らかにする。柔軟性を可能にするために、実装は、ITS 2.0グローバルもしくはローカル情報、またはXMLもしくはHTMLコンテンツのみをサポートするかどうかを選択することができる。この選択肢は、個別に適合性条項に反映され、またITS 2.0 テストスイートにも反映される。

ITS 2.0処理期待は、どの情報を利用可能にする必要があるかを定義するだけである。この処理期待は、どのようにその情報が実際に使用されるを定義しない。これは、ITS 2.0の用途シナリオが幅広く、さまざまなITS 2.0を操作するための多種多様なツールがあるという事実によるものである。これらの各ツールは、ITS 2.0データカテゴリーを使用する独自の方法がある(詳細については[MLW US IMPL]を参照のこと)。

Go to the table of contents.3 表記および用語

この章は規範である。

Go to the table of contents.3.1 表記

この文書の規範部分においてキーワード“MUST”、“MUST NOT”、“REQUIRED”、“SHALL”、“SHALL NOT”、“SHOULD”、“SHOULD NOT”、“RECOMMENDED”、“MAY”、OPTIONAL”は、[RFC 2119]で示されたとおりに解釈される。

この仕様の実装によって使用されなければならない名前空間URIは次のとおり:

http://www.w3.org/2005/11/its

上記のURIに対するITSのXML実装ためのこの仕様で使用される名前空間接頭辞は、itsである。特定のデータカテゴリーの使用に専用のマークアップが存在しない限り、この仕様のXML実装がこの接頭辞を使用することを勧める。HTMLにおいて名前空間接頭辞は存在しない:HTML文書でITS 2.0属性を示すためにits-が代わりに使用される。詳細については6.1節:ローカルデータカテゴリーのHTMLへのマッピングを参照のこと。

さらに、次の名前空間がこの文書で使用される:

  • 接頭辞xsとともに使用される、XMLスキーマ名前空間http://www.w3.org/2001/XMLSchema

  • 接頭辞xlinkとともに使用される、XLink名前空間http://www.w3.org/1999/xlink

  • 接頭辞hとともに使用される、HTML名前空間http://www.w3.org/1999/xhtml

Go to the table of contents.3.2 Data category

[定義:ITSは、XMLスキーマおよび文書の国際化およびローカリゼーションに対する情報の特定の種類のための抽象的な概念としてデータカテゴリーを定義する。] データカテゴリーの概念は、XMLおよびHTML環境における実装から独立する(たとえば、要素または属性を使用する)。

データカテゴリーごとに、ITSは次のものを区別する:

例10:データカテゴリーとその実装

翻訳データカテゴリーは、コンテンツの選択した部分が翻訳を意図するかどうかどうかに関する情報を伝える。

スキーマ言語独立なレベルでこの文の最も簡単な定式化は、2 つの値:"yes"および"no"をもつtranslate属性である。スキーマ言語固有のレベルの実装は、たとえば、XMLスキーマ文書またはRELAX NG文書に対するtranslate属性の宣言である。別の実装は、翻訳データカテゴリーに関するグローバル規則の指定を可能にするtranslateRule要素である。

Go to the table of contents.3.3 選択

[定義選択は、XMLまたはHTML文書のどの部分にITSデータカテゴリーおよびその値を適用するかを指定するためのメカニズムをもたらす。] 選択の詳細については5章:ITS情報の処理で議論される。選択は、グローバルに適用することができる。5.2.1節:グローバルな規則に基づく選択、およびローカルでは5.2.2節:XML文書内のローカルな選択を参照のこと。グローバルな選択に関しては、ITS情報は、選択したノードに追加することができる、または選択したノードに関連する既存の情報を指すことができる。

注:

ITSデータカテゴリーの選択は、要素または属性ノード内に含まれるテキストの値に適用される。いくつかの場合にこのノードは、他のリソースへのポインターを形成する。よく知られている例は、HTMLにおいてimg要素のsrc属性である。ITS翻訳データカテゴリーは、オブジェクトではなく、ポインター自身のテキストに適用される。よって次の例で、 translateRule要素経由で指定された翻訳情報は、ファイル名"instructions.jpg"に適用され、グラフィックを開き、そこに言葉を変更する命令ではない。

例 11:外部オブジェクトへのポインターのテキストを選択する
<text>
  <its:rules version="2.0" 
             xmlns:its="http://www.w3.org/2005/11/its">
    <its:translateRule translate="yes" selector="//p/img/@src"/>
  </its:rules>
  ...
  <p xmlns:its="http://www.w3.org/2005/11/its">As you can see in
    <img src="instructions.jpg"/>, the truth is not always out there.</p>
</text>

[Source file: examples/xml/EX-notation-terminology-1.xml]

Go to the table of contents.3.4 ITSローカル属性

[定義ITSローカル属性は、ローカル マークアップとして8章:データカテゴリーの説明で定義されるすべての属性である。]

Go to the table of contents.3.5 規則要素

[定義規則要素は、グローバル規則に対する要素として8章:データカテゴリーの説明で定義されるすべての要素である。]

Go to the table of contents.3.6 ITSにおける国際化資源識別子の使用法

付録D:ITSのスキーマにおける規範RELAX NGスキーマ内の型anyURIを持つすべての属性は、国際アプリケーションのシナリオでITSの導入を容易にするために国際化資源識別子(IRI、[RFC 3987]またはその後継)の使用を許可しなければならない

Go to the table of contents.3.7 用語HTML

この仕様は、HTML構文におけるHTML5またはその後続を参照するために用語HTMLを使用する[HTML5]

Go to the table of contents.3.8 用語CSSセレクター

この仕様は、単語「セレクター」の一般的な使用による混乱を防ぐために[Selectors Level 3]で指定されるとおりにSelectorsの意味で用語CSS セレクターを使用する。

Go to the table of contents.4 適合性

この章は規範である。

この章における用語適合性条項の使用法は、[QAFRAMEWORK]に従う。

この仕様は、4種類の適合性を定義する:1) ITSマークアップ宣言の適合性、2) ITSマークアップの処理期待の適合性、 3) HTMLにおけるITSマークアップの処理期待の適合性、4) HTML5 + ITS文書のマークアップ適合性。適合性の種類4は、HTML5文書、HTML5 + ITSにおけるITSマークアップを使用するために定義される。これは、[HTML5]拡張セクションで指定される意味で該当する仕様として機能します。これらの適合型およびクラスは、互いを補足する。この仕様の実装は、個別にまたは一緒にそれらを使用してもよい

Go to the table of contents.4.1適合性タイプ1:ITSマークアップ宣言

説明:ITSマークアップ宣言は、Internationalization Tag Setの一部であるすべての宣言が含まれる。これは、XML文書においてマークアップの使用状況に関係しない。そのようなマークアップは、4.2節:適合性の種類2:ITSマークアップの処理期待において適合性条項の対象となる。

この適合性の種類に関連する定義:ITSマークアップ宣言は、スキーマ言語の独立した方法でさまざまな節で定義される。

この適合性の種類を使用する人:ITSマークアップ宣言をスキーマに統合するスキーマ設計者。この適合性の種類に対するすべての適合性条項節は、そのスキーマにおけるITSマークアップ宣言の位置、および必須または省略可能として状態に関係する。

適合性条項:

  • 1-1:次の少なくとも1 つは、スキーマになければならない

    • rules要素

    • ローカルITS属性のいずれか

    • span要素

  • 1-2:rules要素を使用する場合、スキーマで宣言される少なくとも1 つ以上の要素のコンテンツモデルの一部でなければならない。これがそのスキーマ(たとえば [XHTML 1.0]head要素など)で使用可能な場合、メタ情報のコンテンツモデルとなるべきである

  • 1-3:span要素を使用する場合、インライン要素として宣言すべきである

この適合性の種類の完全な実装は、ITSに対するすべてのマークアップ宣言を実装する。この適合性の種類に関連する文は、それらが実装するすべてのマークアップ宣言を一覧表示しなければならない

例:様々な既存のスキーマにおけるITSマークアップ宣言の使用方法の例は、別々の文書で与えられる[XML i18n BP]

Go to the table of contents.4.2 適合性タイプ2:ITSマークアップの処理期待

説明:プロセッサーは、XML文書内のノードに関連するITS情報を計算する必要がある。ITS処理期待は、どのように計算が実施されるかを定義する。正しい計算は、選択メカニズムデフォルト/継承/上書き特性、および優先順位のサポートを伴う。マークアップは、4.1節:適合性の種類1:ITSマークアップ宣言の条項に適合するスキーマに対して妥当であってもよい

この適合性タイプに関連する定義:ITSマークアップの処理期待は、5章:ITS処理情報で定義される選択メカニズムを使用させる。8章:データカテゴリーの説明で定義される個々のデータカテゴリーは、デフォルト/継承/上書き特性を持ち、様々な位置(グローバルおよびローカル)においてITSマークアップの使用を可能にする。

この適合性タイプを使用する人:国際化またはローカライズに対してデータカテゴリーによってキャプチャーされるノードを処理する必要があるアプリケーション。このタイプのアプリケーションの例:ローカリゼーションプロセスへの入力として翻訳可能なテキストをフィルターするためにITSマークアップを使用させるITSマークアップ対応エディター、または翻訳ツール。

注:

翻訳データカテゴリーに基づく翻訳可能なコンテンツの自動化されたフィルタリングのような、アプリケーション固有の処理(すなわちノードに対するITS情報の計算を超える処理)は、下記の適合性の条項によって取り扱われない。

適合性条項:

この適合性タイプに関連する文は、その文が実装するすべてのデータカテゴリーを列挙しなければならず、かつ各データカテゴリーに対して、サポートする選択の種類について、XMLの処理をサポートするかどうかを列挙しなければならない。

注:

上記の適合性条項は、ITS 2.0テストスイートに直接反映される。すべてのテストは、どのデータカテゴリーが処理されるかを指定する(条項2-1)。テストは、グローバルまたはローカルの選択、もしくはその両方(条項2-1-1)に関連する。テストは、デフォルトの処理および優先順位の選択を必要とする(条項2-1-2および2-1-3)。各データカテゴリーに対して、リンクされた規則でテストが存在する(2-2)。テストのすべての種類がXMに与えられる(条項2-3)。実装者は、ITS 2.0のユーザーが容易に利用可能な処理機能を理解することができるように、同様の方法で文書を整理することを勧める。

Go to the table of contents.4.3 適合性タイプ3: HTMLにおけるITSマークアップへの処理期待

説明:プロセッサーは、HTML文書内のノードに関連するITS情報を計算する必要がある。ITS処理期待は、どのように計算が実施されるかを定義する。正しい計算は、選択メカニズムデフォルト/継承/上書き特性、および優先順位のサポートを伴う。

この適合性タイプに関連する定義:ITSマークアップの処理期待は、5章:ITS処理情報で定義される選択メカニズムを使用させる。8章:データカテゴリーの説明で定義される個々のデータカテゴリーは、デフォルト/継承/上書き特性を持ち、様々な位置(ローカルおよび外部グローバルインライングローバル)においてITSマークアップの使用を可能にする。

この適合性タイプを使用する人:国際化またはローカライズに対してデータカテゴリーによってキャプチャーされるノードを処理する必要があるアプリケーション。このタイプのアプリケーションの例は、ローカリゼーションプロセスへの入力として翻訳可能なテキストをフィルターするためにITSマークアップを使用させるITSマークアップ対応エディターまたは翻訳ツールである。

注:

翻訳データカテゴリーに基づく翻訳可能なコンテンツの自動化されたフィルタリングのようなアプリケーション固有の処理(すなわちノードに対するITS情報の計算を超える処理)は、下記の適合性の条項によって取り扱われない。

適合性条項:

この適合性タイプに関連する文は、その文が実装するすべてのデータカテゴリーを列挙しなければならず、かつ各データカテゴリーに対して、サポートする選択の種類について列挙しなければならない。

Go to the table of contents.4.4 適合性タイプ4:HTML5+ITS文書に対するマークアップ適合性

HTML5+ITS文書に適合するものは、次の例外とともに[HTML5]で定義されるように文書のすべての適合性基準に従うものである。

Go to the table of contents.5 ITS情報の処理

この章は規範である。

注:

HTMLの処理に関する追加の定義は、6章:HTMLでITSマークアップを使用するで与えられる。

Go to the table of contents.5.1 ITSのバージョンを示す

この仕様で定義されるITSスキーマのバージョンは、"2.0"である。バージョンは、ITSのversion属性によって示される。この属性は、rules要素に必須である。名前空間のない場合に存在しなければならない

XML文書でrules要素が存在しない場合、接頭辞付きITS version属性(たとえばits:versionなど)は、ITSマークアップが使用される要素またはその祖先のいずれかで提供されなければならない

rules要素がない、かつXML文書で孤立ITSマークアップをもつ要素が存在する場合、ITS version属性は、孤立ITS マークアップをもつ要素に提供されなければならない、または接頭辞付きITS version属性(たとえば its:versionなど)は、その祖先のいずれかで提供されなければならない

同じ文書でITSの2 つの異なるバージョンが存在してはならない

外部のリンクされた規則は、内部規則と異なるバージョンを持つことができる。

Go to the table of contents.5.2 データカテゴリーの場所

ITSデータカテゴリーは、2つの場所で出現することができる:

2 つの場所は、以下で詳しく説明される。

Go to the table of contents.5.2.1 グローバルな規則ベースの選択

グローバルな、規則ベースの選択は、rules要素を使用して実装される。rules要素は、0個以上の規則要素が含まれる。各規則要素は、必須のselector属性を持つ。この属性および規則要素の他のすべての使用可能な属性は、空の名前空間にあり、接頭辞なしで使用される。

XML文書で1つ以上のrules要素が存在する場合、各セクションからの規則は同じ優先順位レベルで処理される。rulesセクションは、文書順に読めるようにされ、順番に処理されるセクションをもつITS規則である。これらのrules要素のバージョンは、異ってはならない

データカテゴリーおよびその使用法に応じて、選択したノードに情報を追加する、または文書内の既存の情報を指すための追加属性が存在する。たとえば、選択したノードに注を追加する、または文書内の既存の注を指すため、ローカリゼーション注データカテゴリーを使用することができる。前者の目的に対して、locNote要素を使用することができる。後者の目的に対して、locNotePointer属性を使用することができる。

8.1節:位置、デフォルト、継承、データカテゴリーの上書きにおける、データカテゴリー概要テーブルは、どのデータカテゴリーが既存の情報を指す、または情報を追加することを可能にするかの概要を提供する。

情報を追加するおよび既存の情報を指すものの機能は、相互に排他的である。つまり、同じ情報の指して追加するためのマークアップは、同じ規則要素で出現してはならない

グローバル規則は、適用されるXML文書、または個別のXML文書に出現することができる。処理の優先順位は、これらのバリエーションによって異なる。5.5章:選択間の優先順位も参照のこと。

Go to the table of contents.5.2.2 XML文書内のローカル選択

XML文書におけるローカル選択は、ITSローカル属性またはspan要素で実現される。spanは、ITSローカル属性に対するキャリアとしてのみ機能する。

データカテゴリーは、何が選択されているかを決定する。必要なデータカテゴリーの特定のデフォルトは、8.1節:位置、デフォルト、継承、データカテゴリーの上書きで説明される。

例2:さまざまなデータカテゴリーのデフォルト

デフォルトで、文書におけるすべての要素のコンテンツは翻訳可能である。head要素における属性its:translate="no"は、子要素を含む、この要素のコンテンツが翻訳を意図しないことを意味する。title要素における属性its:translate="yes"は、この要素のコンテンツが翻訳されることを意味する(headits:translate="no"を上書きする)。選択した要素またはその子の属性値は、ローカルtranslate属性の影響を受けない。デフォルトで、これらは翻訳可能ではない。

文書のデフォルトの方向は左から右である。quote要素におけるits:dir="rtl"は、子要素および属性を含む、この要素のコンテンツの方向が右から左であることを意味する。そのxml:langは、言語のみを示し、方向を示さないことに注意する。

<text xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0" xml:lang="en">
  <head its:translate="no">
    <author>Sven Corneliusson</author>
    <date>2006-09-26T17:34:04Z</date>
    <title its:translate="yes" role="header">Bidirectional Text</title>
  </head>
  <body>
    <par>In Arabic, the title <quote xml:lang="ar" its:dir="rtl">نشاط التدويل، W3C</quote> means
        <quote>Internationalization Activity, W3C</quote>.</par>
  </body>
</text>

[Source file: examples/xml/EX-selection-local-1.xml]

注:

dirおよびtranslate属性は、HTMLで使用するためのITS属性で列挙されない。その理由は、これら2つの属性がHTMLネイティヴで利用可能であるので、its属性としてそれらを提供する必要はない。同じ値と解釈を提供する、HTMLにおける2つの属性の定義は、2つのデータカテゴリー翻訳の定義および方向性に対する定義として、互換性がある。

Go to the table of contents.5.3 セレクターのクエリー言語

Go to the table of contents.5.3.1 クエリー言語の選択

規則要素は、絶対および相対セレクターを含む属性を持つ。これらのセレクターの解釈は、実際のクエリー言語に依存する。クエリー言語は、rules要素のqueryLanguage属性によって設定される。 queryLangugeが指定されない場合、XPath 1.0がデフォルトのクエリー言語として使用される。

Go to the table of contents.5.3.2 XPath 1.0

XPath 1.0は、queryLanguage属性でxpath値によって識別される。

5.3.2.1 絶対セレクター

絶対セレクターは、"/"で開始するXPath式でなければならない。つまり、このセレクターは、XPath 1.0で説明されるとおりに AbsoluteLocationPathまたは AbsoluteLocationPathの集合でなければならない。これは、選択が特定の場所に相対でないことを保証する。結果として得られるノードは、要素または属性ノードのいずれかでなければならない

XPath式の評価のコンテキストは次のとおり:

  • コンテキストノードは、ルートノードに設定される。

  • コンテキストの位置とコンテキストサイズの両者は、1である。

  • param要素で定義されるすべての変数はバインドである。

  • XPathコア関数ライブラリーで定義されるすべての関数は利用可能である。式が任意の他の関数の呼び出しを含むことはエラーである。

  • 名前空間宣言の集合は、式が存在する属性を持つ要素の範囲内のものである。これは、 XML Namespaces勧告によって要求されるな接頭辞xmlの暗黙の宣言をが含む。(xmlnsによって宣言されるような)デフォルトの名前空間は、この集合の一部ではない。

例13:名前空間をもつXPath式

TEI由来のterm要素は、名前空間http://www.tei-c.org/ns/1.0にある。

<!-- Definitions for TEI -->
<its:rules version="2.0"  xmlns:its="http://www.w3.org/2005/11/its">
 <its:termRule selector="//tei:term" term="yes" xmlns:tei="http://www.tei-c.org/ns/1.0"/>
</its:rules>

[Source file: examples/xml/EX-selection-global-1.xml]

例14:名前空間をもたないXPath式

DocBook V4.5由来のterm要素は、名前空間がない。

<!-- Definitions for DocBook -->
<its:rules version="2.0" xmlns:its="http://www.w3.org/2005/11/its">
  <its:termRule selector="//term" term="yes"/>
</its:rules>

[Source file: examples/xml/EX-selection-global-2.xml]

5.3.2.2 相対セレクター

相対セレクターは、 XPath 1.0で説明されるようにRelativeLocationPathまたは、 AbsoluteLocationPathを使用しなければならない。XPath式は、セレクター属性によって選択されるノードを基準にして評価される。

次の属性は、既存の情報を指す:allowedCharactersPointertaClassRefPointertaIdentPointertaIdentRefPointertaSourcePointerdomainPointerexternalResourceRefPointerlangPointerlocNotePointerlocNoteRefPointerlocQualityIssuesRefPointerprovenanceRecordsRefPointerstorageEncodingPointerstorageSizePointertargetPointertermInfoPointertermInfoRefPointer

XPath式の評価のコンテキストは、次の変更をともなう絶対セレクターと同じである:

  • セレクター属性で式によって選択されるノードは、現在のノードリストを形成する。

  • コンテキストノードは、現在のノードリストに由来する。

  • コンテキスト位置は、現在のノードリストにおける現在のノードの位置に由来する。最初の位置は1である。

  • コンテキストサイズは、現在のノードリストのサイズを形成する。

Go to the table of contents.5.3.3 CSSセレクター

注:

仕様のいたるところで、単語「セレクター」の一般的な使用による混乱を防ぐために[Selectors Level 3]で指定されるとおりにSelectorsの意味で用語CSS セレクターを使用する。用語CSSセレクターを参照のこと。

注:

ワーキンググループは、CSS セレクターベースの実装を提供しない。そうは言うものの、XPathにCSS セレクターを翻訳することができる複数の既存のライブラリーが存在するので、XPathセレクターベースの実装を使用することができる。

注:

CSSセレクターは、属性を指す能力がない。

CSSセレクターは、queryLanguage属性で値cssによって識別される。

5.3.3.1 絶対セレクター

絶対セレクターは、[Selectors Level 3]で定義されるようにセレクターとして解釈されなければならない。単純セレクターとセレクターのグループの両方を使用することができる。

5.3.3.2 相対セレクター

相対セレクターは、[Selectors Level 3]で定義されるようにセレクターとして解釈されなければならない。セレクターは、selector属性でセレクターによって選択されるノードをルートとしてサブツリーに対してのみ評価されるが、完全なドキュメントツリーに対して評価されない。

Go to the table of contents.5.3.4 追加のクエリー言語

ITSプロセッサーは、追加のクエリー言語をサポートしてもよい。追加のクエリー言語ごとに、プロセッサーは以下を定義しなければならない

  • queryLanguageで使用されるクエリー言語の識別子

  • ノードのコレクションへの絶対セレクターを評価するための規則

  • ノードのコレクションへの相対セレクターを評価するための規則

この仕様の将来のバージョンは追加のクエリー言語を定義する可能性があるため、次のクエリー言語識別子は予約されている:xpathcssxpath2xpath3xqueryxquery3xslt2xslt3

Go to the table of contents.5.3.5 セレクターの変数

1つ(または複数)のparam要素は、規則で使用されるさまざまなセレクターで用いられる変数のデフォルト値を定義するためにrules要素の最初の子要素として配置することができる。

実装は、その実装がサポートするすべてのクエリー言語のparam要素をサポートしなければならず、変数がセレクター式の評価に対してバインドされる方法を同時に定義する。実装は、param要素のデフォルト値を変更する手段も提供すべきである。そのような手段は、実装固有である。

Param要素は、必須のname属性を持つ。name属性の値はQNameである。[XML Names]を参照のこと。要素のコンテンツは、対応する変数のデフォルト値として使用される文字列である。

例15:selector属性で変数のデフォルト値を定義するためにparam要素を使用する。

param要素は、$LCID変数にデフォルト値を定義する。この場合、"0x049"に設定される属性lcidを持つmsg要素のみが、 翻訳可能とみなされる。

<doc its:version="2.0" xmlns:its="http://www.w3.org/2005/11/its">
  <its:rules version="2.0">
    <its:param name="LCID">0x0409</its:param>
    <its:translateRule selector="/doc" translate="no"/>
    <its:translateRule selector="//msg[@lcid=$LCID]" translate="yes"/>
  </its:rules>
  <msg lcid="0x0409" num="1">Create a folder</msg>
  <msg lcid="0x0411" num="1">フォルダーを作成する</msg>
  <msg lcid="0x0407" num="1">Erstellen Sie einen Ordner</msg>
  <msg lcid="0x040c" num="1">Créer un dossier</msg>
</doc>

[Source file: examples/xml/EX-param-in-global-rules-1.xml]

注:

XSLTベースのアプリケーションにおいて、ITSパラメーターを直接XSLTパラメーターにマップすることに意味があるかもしれない。名前の競合を避けるために、ITSパラメーターとXSLTパラメーターを区別するためにパラメーター名の値をもつ接頭辞を使用することができる。

Go to the table of contents.5.4 外部規則へのリンク

文書と外部ITS規則のセットを関連付ける1 つの方法は、rules要素で省略可能なXLink [XLink 1.1] href属性を使用することである。参照される文書は、多くて1つのrules要素を含む妥当なXML文書でなければならない。そのrules要素は、ルート要素であるまたは文書ツリー内にある任意の場所に置くことができる(たとえば、文書はXMLスキーマであるかもしれない)。

参照される文書に含まれる規則は、あたかもXLink href属性をもつrules要素の先頭にあったかのように処理されなければならない

例16:グローバル 規則をもつ外部ファイルEX-link-external-rules-1.xml :

この例は、ITS規則にメタデータを追加する方法を示す。

<myFormatInfo>
  <desc>ITS rules used by the Open University</desc>
  <hostVoc>http://www.tei-c.org/ns/1.0</hostVoc>
  <rulesId>98ECED99DF63D511B1250008C784EFB1</rulesId>
  <rulesVersion>v 1.81 2006/03/28 07:43:21</rulesVersion>
  ... 
  <its:rules version="2.0" xmlns:its="http://www.w3.org/2005/11/its">
    <its:translateRule selector="//header" translate="no"/>
    <its:translateRule selector="//term" translate="no"/>
    <its:termRule selector="//term" term="yes"/>
    <its:withinTextRule withinText="yes" selector="//term | //b"/>
  </its:rules>
</myFormatInfo>

[Source file: examples/xml/EX-link-external-rules-1.xml]

例17: EX-link-external-rules-1.xmlへのリンクをもつ文書
<myDoc>
  <header>
    <its:rules version="2.0" xmlns:its="http://www.w3.org/2005/11/its"
      xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="EX-link-external-rules-1.xml">
      <its:translateRule selector="//term" translate="yes"/>
    </its:rules>
    <author>Theo Brumble</author>
    <lastUpdate>Apr-01-2006</lastUpdate>
  </header>
  <body>
    <p>A <term>Palouse horse</term> has a spotted coat.</p>
  </body>
</myDoc>

[Source file: examples/xml/EX-link-external-rules-2.xml]

上記2つの文書の処理の結果は、次の文書の処理と同じである。

例18:含まれる規則の場合のように同じ規則をもつ文書
<myDoc>
  <header>
    <its:rules version="2.0" xmlns:its="http://www.w3.org/2005/11/its">
      <its:translateRule selector="//header" translate="no"/>
      <its:translateRule selector="//term" translate="no"/>
      <its:termRule selector="//term" term="yes"/>
      <its:withinTextRule withinText="yes" selector="//term | //b"/>
      <its:translateRule selector="//term" translate="yes"/>
    </its:rules>
    <author>Theo Brumble</author>
    <lastUpdate>Apr-01-2006</lastUpdate>
  </header>
  <body>
    <p>A <term>Palouse horse</term> has a spotted coat.</p>
  </body>
</myDoc>

[Source file: examples/xml/EX-link-external-rules-3.xml]

例19:ルート要素としてrules要素をもつ外部規則ファイル

Example 16と同様に、この規則はExample 17に適用することができる。Example 19との唯一の違いは、rules要素が外部ファイルのルート要素である。

<its:rules version="2.0" xmlns:its="http://www.w3.org/2005/11/its">
  <its:translateRule selector="//header" translate="no"/>
  <its:translateRule selector="//term" translate="no"/>
  <its:termRule selector="//term" term="yes"/>
  <its:withinTextRule withinText="yes" selector="//term | //b"/>
</its:rules>

[Source file: examples/xml/EX-link-external-rules-4.xml]

グローバルITSマークアップを処理するアプリケーションは、rules要素でXLink href属性を認識しなければならない。アプリケーションは、対応する参照先文書を読み込み、元のXLink href属性がある場所でrules要素のコンテンツを処理する前にその規則要素を処理しなければならない

外部規則はまた、他の外部規則へのリンクがあるかもしれない(例17参照)。リンクメカニズムは、深さ優先のアプローチで再帰であり、続いて規則の処理後は、トップダウンで読み取られなければならない(例18を参照)。

Go to the table of contents.5.5 選択間の優先順位

次の優先順位が様々な位置でITS情報の選択に定義される(リストの最初の項目は、最高の優先順位を持つ):

  1. 文書における明示的な(すなわち、継承されない)ローカルITSマークアップを介した選択(特定の要素のITSローカル属性

  2. rules要素を使用する)文書におけるグローバル選択

    rules要素の内部の優先順位は次のとおり:

    1. rules要素内の任意の規則

    2. XLink href属性を介してリンクされる任意の規則

    注:

    ITSは、(規則にリンクするための指示を処理するような)非ITSメカニズムに基づいて定義されるまたはリンクされる規則に関連する優先順位を定義しない。

  3. 継承された値を介した選択。これは、要素ノードのみに適用される。継承規則は専用のデータカテゴリーの概要表で説明される:列"要素ノードの継承"を参照のこと。継承を介した選択は、デフォルト値よりも優先される。以下の項目を参照のこと。

  4. データカテゴリーに対するデフォルトを介した選択。8.1:位置、デフォルト、継承、データカテゴリーの上書きを参照のこと

複数のrules要素を介するグローバルな選択間の競合または同じ名前をもつ複数のparam要素間の競合の場合、最後の規則または最後のparam要素が優先順位が高い。

注:

優先順位は、[XSLT 1.0]の組み込みテンプレート規則として同じ目的を果たす。セマンティクスの上書きは、常に完全である。すなわち、より低い優先順位経由で提供されるすべての情報は、より高い優先順位によって上書きされる。たとえば、デフォルトは継承された値によって上書きされ、これらは、ローカルマークアップによって順番に上書きされる、グローバル規則を介して選択されたノードによって上書きされる。

例20:優先順位を使用して解決されるITS情報の選択間の衝突

この文書の2つの要素titleauthorは、prolog要素の内部の場合に独立したコンテンツであるが、親要素のコンテンツの一部として他のコンテキストを目的とする。この区別をするために2つのwithinTextRule要素を使用する:

最初の規則は、一般にtitleauthorが本文内の要素として扱われることを指定する。これは、デフォルトを上書きする。

2 番目の規則は、titleまたはauthorprolog要素で見られるときに、コンテンツが、別々に扱われることを示す。これは、通常デフォルトであるが、規則は、最初の規則を上書きする必要がある。

<text>
  <prolog>
    <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
      <its:withinTextRule withinText="yes" selector="//title|//author"/>
      <its:withinTextRule withinText="no" selector="//prolog/title|//prolog/author"/>
    </its:rules>
    <title>Designing User Interfaces</title>
    <author>Janice Prakash</author>
    <keywords>user interface, ui, software interface</keywords>
  </prolog>
  <body>
    <p>The book <title>Of Mice and Screens</title> by <author>Aldus Brandywine</author> is one of
      the best introductions to the vast topic of designing user interfaces.</p>
  </body>
</text>

[Source file: examples/xml/EX-selection-precedence-1.xml]

Go to the table of contents.5.6 既存のマークアップにITSデータカテゴリーを関連付ける

一部のマークアップスキーマは、ITSデータカテゴリーを表現するために使用できるマークアップを提供する。ITSデータカテゴリーは、5.2.1節:グローバルな規則に基づく選択で説明されるグローバルな選択メカニズムを使用して、そのような既存のマークアップを関連付けることができる。

ホストマークアップの処理期待がITSのものと同じかより大きい場合にのみ、既存のマークアップとITSデータカテゴリーとの関連付けを行うことができる。たとえば、[DITA 1.0]形式は、ITS 2.0ローカル選択メカニズムの範囲を超える、“トランスクルードされた”コンテンツに適用するが、それを矛盾なく適用する翻訳属性を使用することができる。

例21:DITA 1.0マークアップをともなうITSデータカテゴリー翻訳および用語の連携

この例において、DITAにおける既存のtranslate属性が存在し、かつits:rulesセクションを使用してITSセマンティクスと関連付けられる。同様に、DITA dtおよびterm要素はITS用語データカテゴリーに関連付けられる。

<topic id="myTopic">
  <title>The ITS Topic</title>
  <prolog>
    <its:rules version="2.0" xmlns:its="http://www.w3.org/2005/11/its">
      <its:translateRule selector="//*[@translate='no']" translate="no"/>
      <its:translateRule selector="//*[@translate='yes']" translate="yes"/>
      <its:termRule selector="//term | //dt" term="yes"/>
    </its:rules>
  </prolog>
  <body>
    <dl>
      <dlentry id="tDataCat">
        <dt>Data category</dt>
        <dd>ITS defines <term>data category</term> as an abstract concept for a particular type of
          information related to internationalization and localization of XML schemas and
          documents.</dd>
      </dlentry>
    </dl>
    <p>For the implementation of ITS, apply the rules in the order:</p>
    <ul>
      <li>Defaults</li>
      <li>Rules in external files</li>
      <li>Rules in the document</li>
      <li>Local attributes</li>
    </ul>
    <p><ph translate="no" xml:lang="fr">Et voilà !</ph>.</p>
  </body>
</topic>

[Source file: examples/xml/EX-associating-its-with-existing-markup-1.xml]

グローバル規則は、別の手段を使用して特定のXML文書に関連付けることができる:

  • rules要素を使用して文書自身に:

    • 例21に示すような、文書内に直接規則で

    • 例16に示すように、XLink href属性を使用して外部規則ファイルへのリンクで

  • ツール固有のメカニズムを通して規則と文書を関連付けることで。たとえば、処理するためのXML文書と対応する外部規則ファイルの両方のパスを提供することによってコマンドラインツールの場合。

Go to the table of contents.5.7 ITSツール注釈

いくつかの場合、データカテゴリーのインスタンスがそれらを生成したプロセッサーに関する情報に関連するため重要であるかもしれない。たとえば、(mtConfidence属性によって提供される)MT自信データカテゴリーのスコアは、スコアが同じMTエンジンから翻訳の相対的な信頼性を提供するが、確実にMTエンジン間で比較することができるスコアを提供しないので、情報の消費者もどのMTエンジン製作したかを知る場合にのみ意味がある。taConfidence属性経由で信用情報を提供するテキストの分析データカテゴリー、またはtermConfidence属性経由で信用情報を提供する専門用語データカテゴリーに提供される信用にも同じことが当てはまる。

ITS 2.0は、データカテゴリー注釈自身から独立して、文書で個々のデータカテゴリーの使用にそのようなプロセッサー情報を関連付けるためのメカニズムを提供する。

AnnotatorsRef属性は、要素内の特定のデータカテゴリーのすべての注釈とそれらのデータカテゴリー注釈を生成したプロセッサーに関する情報と関連付ける方法を提供する。

注:

  • ツール情報を提供する3つのケースが期待されうる:

    1. テキストコンテンツの作成または変更に使用するツールに関する情報

    2. 1)を行うだけでなく、ITS注釈を作成するツールに関する情報は、付録I:ITS 2.0のグローバル要素およびローカル属性のリストを参照

    3. コンテンツを変更または作成しないが、ITS注釈を作成するのみのツールに関する情報。

    annotatorsRefは実際にITS注釈が含まれる場合に使用することだけを目的とする。すなわち、2)および3)。テキストコンテンツおよびITSデータカテゴリーの独立の作成または変更にのみ関連するツール情報を表現するため。すなわち、ケース 1)、産地データカテゴリーによって提供されるツールまたはtoolRef属性が使用される。

  • ケース2)の例は、コンテンツを変更し、ITS MT自信注釈を作成するMTエンジンである。ここでの状況は、MT自信アノテーションの作成に関与するいくつかのツールに発生するかもしれない:MTエンジンおよびマークアップを挿入するツール。この場合MTエンジンで、annotatorsRef属性は、追加のプロセスで最も役に立つツールを識別することである。

AnnotatorsRefの値は、各参照が2つの部分で構成される参照のスペース区切りのリストである:データカテゴリー識別子およびIRI。これらの2つの部分は| VERTICAL LINE (U+007C)文字で区切られる:

  • データカテゴリー識別子は、データカテゴリーの概要テーブルで指定される識別子のいずれかでなければならない

  • 1 つのannotatorsRef値内で、データカテゴリー識別子は、複数回出現してはならない

  • IRIは、データカテゴリー注釈を生成するために使用するプロセッサーの情報を示す。どのようにこのIRIがプロセッサー情報を示すために使用する必要があるかの、単一の手段は指定されない。可能なメカニズムは、たとえば、パラメーターとして直接IRIに情報をエンコードする、たとえば、XMLファイルやRDF宣言など、そのような情報を提供する外部リソースを参照する、または、そのような情報を提供する文書の別の部分を参照することである。

HTML文書において、メカニズムはits-annotators-ref属性で実装される。

属性は、(子要素を含む)宣言される要素のコンテンツおよびその要素の属性に適用される。

任意の特定のノードで、このメカニズムによって提供される情報は、要素に囲まれるannotatorsRef属性で見つけられ、データカテゴリー識別子によって並べ替えられる、蓄積された参照のスペース区切りのリストである。データカテゴリーごとに、IRI部分は、最も内側の宣言の1つである。

例22:annotatorsRef値の蓄積と上書き

この例において、テキストは、指定されたノードの計算ツールの参照情報を示す。参照がアルファベット順に並べられ、IRI値が常に最も内側の宣言のいずれかであることに注意する。

<doc its:version="2.0" xmlns:its="http://www.w3.org/2005/11/its"
  its:annotatorsRef="mt-confidence|MT1"
  >doc node: "mt-confidence|MT1"
  <group its:annotatorsRef="terminology|ABC"
    >group node: "mt-confidence|MT1 terminology|ABC"
    <p its:annotatorsRef="text-analysis|Tool3"
      >This p node: "text-analysis|Tool3 mt-confidence|MT1 terminology|ABC"</p>
    <p its:annotatorsRef="mt-confidence|MT123"
      >This p node: "mt-confidence|MT123 terminology|ABC"</p>
 </group>
  <!-- To make this example usable in real life, we would have 
    annotations of the three data categories - text-analysis, mt-confidence and terminology 
    - in the document -->
  <p its:annotatorsRef="text-analysis|XYZ"
   >This p node: "text-analysis|XYZ mt-confidence|MT1"</p>
</doc>

[Source file: examples/xml/EX-its-tool-annotation-1.xml]

例23:ITSツールの注釈の例

AnnotatorsRef属性は、最初の2つのp要素に対して生成されたmtConfidence値が外部文書tools.xmlにおけるid ="T1"をもつ要素で見つけられるプロセッサーに関する情報を示すためにこのXML文書で使用される。一方3番目のp要素の情報が同じ文書におけるid ="T2"をもつ要素で見つけられる。さらに、文書におけるローカリゼーション品質問題注釈を生成するために使用されるQAツールに関する情報とともにウェブリソースを識別するためにannotatorsRefを使用する。

<doc its:version="2.0"
    its:annotatorsRef=
    "mt-confidence|file:///tools.xml#T1 localization-quality-issue
    |http://www.qalsp-ex.com/qatools/transcheckv1.3"
    xmlns:its="http://www.w3.org/2005/11/its">
    <p its:mtConfidence="0.78">Text translated with tool T1</p>
    <p its:mtConfidence="0.55" its:locQualityIssueType="typographical"
        its:locQualityIssueComment="Sentence without capitalization"
        its:locQualityIssueSeverity="50">text also translated with tool T1</p>
    <p its:mtConfidence="0.34" 
      its:annotatorsRef="mt-confidence|file:///tools.xml#T2"> Text translated
        with tool T2</p>
</doc>

[Source file: examples/xml/EX-its-tool-annotation-2.xml]

例24:ITSツールの注釈の例

its-annotators-ref属性は、最初の2つのspan要素のMT自信注釈が1つのMT(英語からフランス語)エンジン由来であることを示す一方で、第3の注釈は、別の(イタリア語から英語)エンジン由来であることを示すためにこのHTML文書で使用される。両方のits-annotators-ref属性は、MT 自信注釈を生成するエンジンに関する情報のためのウェブリソースを参照する。

<!DOCTYPE html>
<html lang=en>
    <head>
        <meta charset=utf-8>
            <title>Sentences about capital cities 
                machine translated into English with mtConfidence defined 
                locally.</title>
    </head>
    <body its-annotators-ref="mt-confidence|http://www.exmt-prov.com/2012/11/9/fr-t-en">
        <p>     
 <span its-mt-confidence=0.8982>Dublin is the capital of Ireland.</span>
 <span its-mt-confidence=0.8536>The capital of the Czech Republic is Prague.</span>
 <span its-mt-confidence=0.7009
  its-annotators-ref="mt-confidence|http://www.exmt-prov.com/2012/11/9/it-t-en">
  The capital Italia is Roma.</span>
        </p>  
    </body>
</html>

[Source file: examples/html5/EX-its-tool-annotation-html5-1.html]

Go to the table of contents.6 HTMLマークアップを使用する

この章は規範である。

注:

用語HTMLは、HTML構文[HTML5]におけるHTML5またはその後継を指すことに注意されたい。

Go to the table of contents.6.1 HTMLへのローカルデータカテゴリーのマッピング

8章:データカテゴリーの説明で定義されるすべてのデータカテゴリーおよびローカルを実装もつものは、翻訳方向および言語情報データカテゴリーを除いてHTMLで使用してもよい。

注:

HTMLはネイティブマークアップを持つので、上記のデータカテゴリーは除外される。

HTMLでデータカテゴリーは、属性として実装される。HTML属性の名前は、次の規則を使用することでローカル実装で定義される属性の名前から派生した:

  1. 属性名は接頭辞its-をもつ。

  2. 各属性名の大文字は、- (U+002D)に続いて文字の小文字のバリアントで置き換えられる。

例48は、ローカルXML属性withinTextをもつテキスト内要素データカテゴリーを示す。例 49はHTMLにおけるカウンターパート、すなわち、ローカル属性its-within-textを示す。

定義済みの値の集合とデータカテゴリーに対応する、属性の値は、ASCII大文字・小文字不区別で一致しなければならない

注:

属性名の大文字小文字も、HTML構文の性質を考えると無関係となる。よって、HTMLにおいて用語データカテゴリーは、its-termITS-TERMits-Termなどとして格納することができる。これらの属性のすべては、等価として扱われ、DOMの構築時に正規化される。

XMLスキーマdoubleデータ型を使用するデータカテゴリーに対応する属性の値は、[HTML5]で定義される妥当な浮動小数点数でなければならない

Go to the table of contents.6.2 グローバル規則

一般にグローバル規則、外部のグローバル規則、またはインライングローバル規則のさまざまな側面を考慮する必要がある。グローバル規則を使用するHTML5文書の例は例6である。対応する規則ファイルは、例7である。

注:

デフォルトでXPath 1.0がグローバル規則で選択される。ユーザーがより容易なに選択を好む場合、ユーザーはqueryLanguage属性を使用してCSSセレクターにクエリー言語を切り替えることができる。5.3.1節:クエリー言語を選択するを参照のこと。

注:

HTML5解析アルゴリズムは、XHTML名前空間(http://www.w3.org/1999/xhtml)にすべてのHTML要素を自動的に置く。グローバル規則で使用されるセレクターはこれを考慮する必要がある。

外部のグローバル規則へのリンクは、リンク関係its-rulesをもつ、link要素のhref属性で指定される。

注:

HTML文書からリンクされるグローバル規則におけるXPathの使用は、実装者に追加負担を作成しない。HTMLコンテンツを解析することは、すべての主要なブラウザーでサポートされる機能、XPathを使用して直接問い合わせることができるDOMツリーを生成する。

インライングローバル規則は、値application/its+xmlをもつtype属性を持つscript要素の内部で指定されなければならないスクリプト要素自体 head要素の子であります。コメントは、グローバル ルール内使用してはなりませんいけませんの各スクリプト要素には、1 つ以上のルール要素が含まれています。

注:

ドキュメントに埋め込まれているグローバル ルールよりリンク要素を使用してリンクされている外部のグローバル規則を使用することが好ましい。

Go to the table of contents.6.4 選択間の優先順位

次の優先順位がHTML文書の様々な位置でITS情報の選択に定義される(リストの最初の項目は、最高の優先順位を持つ):

  1. 文書における暗黙のローカル選択(特定の要素のITSローカル属性

  2. 文書順で処理される(外部グローバル規則またはインライングローバル規則のメカニズムを使用する)文書におけるグローバル選択。詳細については5.2.1節:グローバルな規則に基づく選択を参照のこと。

    注:

    ITSは、(規則にリンクするための指示を処理するような)非ITSメカニズムに基づいて定義されるまたはリンクされる規則に関連する優先順位を定義しない。継承を介する選択は、デフォルト値よりも優先される(下記参照)。

  3. 継承された値を介した選択。これは、要素ノードのみに適用される。継承規則は、専用のデータカテゴリー概要表にで説明される(列"要素ノードの継承を参照)。継承を介する選択は、デフォルト値よりも優先される(下記参照)。"

  4. データカテゴリーに対するデフォルトを介した選択。8.1:位置、デフォルト、継承、データカテゴリーの上書きを参照のこと。

複数のrules要素を介するグローバルな選択間の競合または同じ名前をもつ複数のparam要素間の競合の場合、最後の規則または最後のparam要素が優先順位が高い。

前述の例6は優先順位を示す:yesに設定されるtranslate属性をもつcode要素は、翻訳不可能としてすべてのcode要素を設定するグローバル規則に優先する。

Go to the table of contents.7 XHTMLでマークアップを使用する

この章は規範である。

XHTML構文におけるHTML5文書を含む、ウェブブラウザーによって公共の消費を目的としたXHTML文書は、DOM一貫性HTMLデザイン原則に忠実であるために6章:HTMLでITSマークアップを使用するで説明した構文を使用すべきである

例25:XHTMLでITS 2.0マークアップを使用する

この例は、XHTMLでITS 2.0ローカルマークアップの使用を示す。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
        <title>XHTML and ITS2.0</title>
    </head>
    <body>
        <h1>XHTML and ITS2.0</h1>
        <p>Don't use 
          <span its-loc-note="Internationalization Tag Set">ITS</span> prefixed
            attributes inside the content, like its:locNote.</p>
    </body>
</html>

[Source file: examples/html5/EX-xhtml-markup-1.html]

注:

このセクションがウェブブラウザーに直接送信されるXHTMLコンテンツでITSを使用する方法を定義することに注意する。そのようなXHTMLは非常に頻繁に不正なメディアタイプで送信され、ウェブブラウザーにおいてXMLよりむしろHTMLとして解析される。そのような場合に、ITSメタデータに対してHTML様の構文を使用することがより堅牢で安全である。

しかし、配信としてではなく、交換またはストレージ形式にXHTMLを使用する場合、XHTMLでXMLのすべての機能を使用することができ、ITSメタデータにXML構文を使用することを勧める。

Go to the table of contents.8 データカテゴリーの説明

この章は規範である。

Go to the table of contents.8.1 位置、デフォルト、継承、データカテゴリーの上書き

次の表は、どの選択、デフォルト値、継承および上書き動作が適用されるかをデータカテゴリーごとにまとめるものである。表はまた、5.7節:ITSツール注釈で使用されるデータカテゴリー識別子を提供する。

  • デフォルト値は、ローカルとグローバルの両方の選択がない場合に適用される。たとえば、翻訳データカテゴリーのデフォルト値は、translateRule要素がなくかつtranslate属性がない場合は、要素が翻訳可能であり、属性が翻訳可能でないことを義務付ける。

  • 継承は、ITS情報が、ノードの子要素およびこのノードに関連する属性またはその子ノートに適用できるかどうかを説明する。たとえば、翻訳データカテゴリーの継承は、このノードに関連するすべての属性またはその子ノートが翻訳可能でないのに対して、ノードのすべての子要素が翻訳可能であることを義務付ける。

  • 継承をもつITSデータカテゴリーの場合、データカテゴリーによって伝えられる情報を上書きすることができる。たとえば、ローカルtranslate属性は、グローバルtranslateRuleによって伝えられる翻訳情報を上書きする。

外来要素は、rulesの中でのみ使用することができる。外来属性は、ITSで定義される任意の要素で使用することができる。

注:

ITSアプリケーションは、使用するどのコンテンツ部分を決定するか自由である。たとえば:

  • 用語情報は、term要素に追加される。用語の継承は無いので、情報は、要素のコンテンツにのみ関係する。それにもかかわらず、ITSアプリケーションは、たとえば属性ノードなどを含む、完全な要素の使用をさせることができる。

  • ID値を使用して、一意の識別子は、p要素に対して提供される。アプリケーションは、子ノードおよび属性ノードを含む、完全なp要素を使用させることができる。アプリケーションは、pの文字列値の使用のみをさせることも自由である。それにもかかわらず、ID値によって提供されるIDは、p要素にのみ関係する。ID値は、ネストされた要素または属性を識別するために使用できない。

  • ターゲットポインターを使用して、選択したsource要素は、翻訳がtarget要素で利用可能なITS情報を持つ。例65を参照のこと。この情報は、ターゲットポインターの子要素に継承しない。たとえば、sourceでネストされるspan要素の翻訳は、特定のtarget要素で使用できない。それにもかかわらず、アプリケーションはspanを含む、sourceの完全なコンテンツを使用することは自由である。たとえば、翻訳者に提示するなど。

データカテゴリー(識別子ローカルの使用法 グローバルな規則ベースの選択グローバル情報の追加既存の情報へのグローバルポインティングデフォルト値要素ノードの継承
翻訳translateYesYesYesNoXMLの場合:属性に対してtranslate ="yes"要素とtranslate="no"
[HTML5]の場合:HTLM5翻訳処理を参照。
XMLの場合:子要素のコンテンツを含むが属性を除く、要素のテキストコンテンツ。
[HTML5]の場合:HTLM5翻訳処理を参照。
ローカルグローバル
ローカリゼーション注localization-noteYesYesYesYesNone子要素のコンテンツを含むが属性を除く、要素のテキストコンテンツ ローカルグローバル
用語terminologyYesYesYesYes term="no" None ローカルグローバル
方向directionalityYesYesYesNo dir="ltr" 属性および子要素を含む、要素のテキストコンテンツ ローカルグローバル
言語情報language-informationNoYesNoYesNone属性および子要素を含む、要素のテキストコンテンツ グローバル
テキスト内要素elements-within-textYesYesYesNoXMLコンテンツの場合:withinText="no"
[HTML5]の場合:HTLM5翻訳処理を参照。
None ローカルグローバル
ドメインdomainNoYesYesYesNone属性および子要素を含む、要素のテキストコンテンツ グローバル
テキスト解析text-analysisYesYesYesYesNoneNone ローカルグローバル
ロケールフィルターlocale-filterYesYesYesNo localeFilterList="*", localeFilterType="include" 属性および子要素を含む、要素のテキストコンテンツ ローカルグローバル
出所provenanceYesYesNoYesNone子要素および属性を含む、要素のテキストコンテンツ ローカルグローバル
外部リソースexternal-resourceNoYesNoYesNoneNone グローバル
ターゲットポインター (target-pointer) NoYesNoYesNoneNone グローバル
ID値id-valueNoYesNoYesNoneNone グローバル
スペースを保持preserve-spaceYesYesYesNo default 属性および子要素を含む、要素のテキストコンテンツ ローカルグローバル
ローカリゼーション品質問題localization-quality-issueYesYesYesYesNone子要素を含むが属性を除く、要素のテキストコンテンツ ローカルグローバル
ローカリゼーション品質評価localization-quality-ratingYesNoNoNoNone子要素を含むが属性を除く、要素のテキストコンテンツ local
MT信頼mt-confidenceYesYesYesNoNone子要素を含むが属性を除く、要素のテキストコンテンツ ローカルグローバル
許容文字allowed-charactersYesYesYesYesNone子要素を含むが属性を除く、要素のテキストコンテンツ ローカルグローバル
記憶域サイズstorage-sizeYesYesYesYesNoneNone ローカルグローバル
例26:データカテゴリーのデフォルト、継承および上書き動作

この例において、要素で翻訳データカテゴリーのデフォルトは"yes"であり、属性で"no"であり、かつその値のいずれも上書きされないので、すべてのdata要素のコンテンツは翻訳可能であり、かついずれの属性も翻訳可能でない。最初のtranslateRuleは、ローカルits:translate="no"属性によって上書きされる。revisionprofilereviserlocNote要素のコンテンツは、翻訳可能ではない。これは、これらの要素がprolog要素でローカルITSマークアップから継承する同じits:translate="no"によってデフォルトが上書きされるためである。例外は、2番目のtranslateRuleが継承された値より優先する場所でfield要素である。最後のtranslateRuleは、グローバル規則がデフォルト値より優先されるためにtypeのコンテンツが翻訳可能ではないことを示す。

2つの最初のdata要素に対するローカライズ注は、locNoteRule要素とともにグローバルに定義されるテキストである。この注は、ローカルlocNote属性によって最後のdata要素に上書きされる。

<Res xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
  <prolog its:translate="no">
    <revision>Sep-07-2006</revision>
    <profile>
      <reviser>John Doe</reviser>
      <field>Computing Engineering</field>
    </profile>
    <its:rules version="2.0">
      <its:translateRule selector="//prolog" translate="yes"/>
      <its:translateRule selector="/Res/prolog/profile/field" translate="yes"/>
      <its:translateRule selector="//msg/type" translate="no"/>
      <its:locNoteRule locNoteType="description" selector="//msg/data">
        <its:locNote>The variable {0} is the name of the host.</its:locNote>
      </its:locNoteRule>
    </its:rules>
  </prolog>
  <body>
    <msg id="HostNotFound">
      <type>Error</type>
      <data>Host {0} cannot be found.</data>
    </msg>
    <msg id="HostDisconnected">
      <type>Error</type>
      <data>The connection with {0} has been lost.</data>
    </msg>
    <msg id="FileNotFound">
      <type>Error</type>
      <data its:locNote="{0} is a filename">{0} not found.</data>
    </msg>
  </body>
</Res>

[Source file: examples/xml/EX-datacat-behavior-1.xml]

注:

データカテゴリーは、デフォルトに関して異なる。この違いは、既存の標準および慣例によるものである。たとえば、翻訳に関する情報は、要素のテキストコンテンツをのみ参照するのが一般的な方法である。したがって、翻訳データカテゴリーのデフォルトの選択は、テキストコンテンツである。

Go to the table of contents.8.2 翻訳

Go to the table of contents.8.2.1 定義

翻訳データカテゴリーは、要素または属性のコンテンツがを翻訳対象であるかどうかに関する情報を表現する。このデータカテゴリーの値は、"yes"(翻訳可能)または"no"(翻訳可能でない)である。

Go to the table of contents.8.2.2 実装

翻訳データカテゴリーは、グローバル規則、または個々の要素のローカルで表現することができる。継承および要素と属性との間の相互作用の処理は、[HTML5]に対してXMLコンテンツで異なる。

XMLの場合:データカテゴリー情報は、子要素を含むが属性を除いて、要素のテキストコンテンツに継承する。デフォルトは、要素が翻訳可能であり、かつ属性が翻訳可能でない。

HTMLの場合:translate属性の解釈は、HTML5で与えられる。グローバル規則を介して選択されるHTML文書内のノードは、次のHTML5も解釈される。

注:

執筆時点で、[HTML5]のデフォルトは、要素が翻訳可能であり、かつ翻訳可能な属性がそれぞれの要素から継承する。たとえばaltまたはtitleなど、翻訳可能な属性の定義済みリストがある。

[HTML5]定義は、グローバル規則、<its:translateRule selector=""//h:img" translate="yes"/>のようなtranslateRuleを介して選択されたノードにも適用されるので、img要素およびaltのような翻訳可能な属性を"yes"に設定する。

グローバル:translateRule要素は次を含む:

  • 必須のselector属性。この規則を適用するノードを選択する絶対セレクターが含まれる。

  • 値"yes"または"no"をもつ必須のtranslate属性。

例27:グローバルに表される翻訳データカテゴリー

TranslateRule要素は、要素codeが翻訳されないことを指定する。

<its:rules version="2.0" xmlns:its="http://www.w3.org/2005/11/its">
  <its:translateRule translate="no" selector="//code"/>
</its:rules>

[Source file: examples/xml/EX-translate-selector-1.xml]

ローカル:次のローカルマークアップ翻訳データカテゴリーに対して利用可能である。

  • 値"yes"または"no"をもつtranslate属性。

[HTML5]において、ネイティヴ[HTML5] translate属性は、翻訳データカテゴリーを表現するために使用しなければならない

注:

XMLコンテンツの場合、ローカルマークアップを使用する属性の翻訳データカテゴリー設定を上書きすることは不可能である。この制限は、翻訳可能な属性を使用しない慎重な慣例と一致する。属性が翻訳可能である場合、これはグローバルに宣言する必要がある。HTML5にこの制限は適用されないことに注意する。

例 28:ローカル表される翻訳データカテゴリー

ローカルits:translate="no"は、panelmsgのコンテンツが翻訳されないよう指定する。

<messages its:version="2.0" xmlns:its="http://www.w3.org/2005/11/its">
  <msg num="123">Click Resume Button on Status Display or <panelmsg its:translate="no"
      >CONTINUE</panelmsg> Button on printer panel</msg>
</messages>

[Source file: examples/xml/EX-translate-selector-2.xml]

例29:HTMLでローカルに表される翻訳データカテゴリー

ローカルtranslate="no"属性はspanのコンテンツが翻訳されないことを指定する。

<!DOCTYPE html>
<html>
  <head>
    <meta charset=utf-8>
    <title>Translate flag test: Default</title>
  </head>
  <body>
    <p>The <span translate=no>World Wide Web Consortium</span> is
      making the World Wide Web worldwide!</p>
  </body>
</html>

[Source file: examples/html5/EX-translate-html5-local-1.html]

Go to the table of contents.8.3ローカリゼーション注

Go to the table of contents.8.3.1 定義

ローカリゼーション注データカテゴリーは、コンテンツの特定の項目に関するローカライザーにノートを通信するために使用される。

このデータカテゴリーは、次を含むがこれに限定されない、さまざまな用途に使用することができる:

  • コンテンツの一部を翻訳する方法を翻訳者に教える

  • どの変数が言及するか、または文字列がユーザーインターフェイスで使用方法など、特定要素の意味または文脈上の使用法をを説明する

  • あいまいさを明らかにし、正確な翻訳を許可するのに十分な項目間の関係を示す(たとえば、多くの言語で性別、数字、およびものを指す場合を知らずに分離して単語を"有効に"翻訳することは不可能である。)

  • テキストの一部を強調する理由を示す(重大さ、皮肉など)

2種類の有益なノートが必要とされる:

  • アラートは、翻訳者がテキストを翻訳する前に読む必要がある情報を含む。例:ソース言語でテキストの一部を残すことを翻訳者に指示。

  • 説明は、翻訳者が望む場合にのみ参照する有用な背景情報を提供する。例:ソーステキストにおける曖昧さの明確化。

編集ツールは、この種類の情報を作成する簡単な方法を提供するかもしれない。翻訳ツールは、これら2つのタイプののローカリゼーション注の間の違いを認識させることができ、翻訳者にさまざまな方法で情報を提示することができる。

Go to the table of contents.8.3.2 実装

ローカリゼーション注データカテゴリーは、グローバル規則、または個々の要素でローカルに表現することができる。要素に対して、データカテゴリー情報は、子要素を含むが属性を除く、要素のテキストコンテンツを継承する

グローバル:locNoteRule要素は、次を含む:

  • 必須のselector属性。この規則を適用するノードを選択する絶対セレクターが含まれる。

  • 値"description"または"alert"をもつ必須のlocNoteType属性。

  • 厳密に、次のいずれか:

    • ノート自体を含んでローカルITSマークアップを許可するlocNote要素。

    • ローカリゼーション注を保持するノードを指す相対セレクターを含むlocNotePointer属性。

    • ローカリゼーションノートの場所を参照するIRIを含むlocNoteRef属性。

    • ローカリゼーションノートの場所を参照するIRIを保持するノードを指す相対セレクターを含むlocNoteRefPointer属性。

例30:locNote要素

LocNoteRule要素は、識別子'DisableInfo'をもつメッセージにlocNote要素のコンテンツを関連付け、重要としてフラグで知らせる。これは、ソース文書を変更せずにノートの提供を可能にする、規則が外部ファイルにある場合にも動作する。

<myRes>
  <head>
    <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0" its:translate="no">
      <its:locNoteRule locNoteType="alert" selector="//msg[@id='DisableInfo']">
        <its:locNote>The variable {0} has three possible values: 'printer', 'stacker' and 'stapler
          options'.</its:locNote>
      </its:locNoteRule>
    </its:rules>
  </head>
  <body>
    <msg id="DisableInfo">The {0} has been disabled.</msg>
  </body>
</myRes>

[Source file: examples/xml/EX-locNote-element-1.xml]

例31:locNotePointer属性

LocNotePointer属性は、ノートを保持するノードを指す相対セレクターである。

<Res>
  <prolog>
    <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
      <its:translateRule selector="//msg/notes" translate="no"/>
      <its:locNoteRule locNoteType="description" selector="//msg/data" locNotePointer="../notes"/>
    </its:rules>
  </prolog>
  <body>
    <msg id="FileNotFound">
      <notes>Indicates that the resource file {0} could not be loaded.</notes>
      <data>Cannot find the file {0}.</data>
    </msg>
    <msg id="DivByZero">
      <notes>A division by 0 was going to be computed.</notes>
      <data>Invalid parameter.</data>
    </msg>
  </body>
</Res>

[Source file: examples/xml/EX-locNotePointer-attribute-1.xml]

例32:locNoteRef属性

LocNoteRule要素は、識別子'NotFound'をもつメッセージが外部ファイルで対応する説明ノートを持つことを指定する。ノートの正確な位置に対するIRIは、locNoteRef属性に格納される。

<myRes>
  <head>
    <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
      <its:locNoteRule locNoteType="description" selector="//msg[@id='NotFound']"
                       locNoteRef="ErrorsInfo.html#NotFound"/>
    </its:rules>
  </head>
  <body>
    <msg id="NotFound">Cannot find {0} on {1}.</msg>
  </body>
</myRes>

[Source file: examples/xml/EX-locNoteRef-attribute-1.xml]

例33:locNoteRefPointer属性

LocNoteRefPointer属性は、ノートの場所を参照するIRIを保持するノードを指す相対セレクターを含む。

<dataFile>
  <prolog>
    <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
      <its:locNoteRule locNoteType="description" selector="//data"
                       locNoteRefPointer="../@noteFile"/>
    </its:rules>
  </prolog>
  <body>
    <string id="FileNotFound" noteFile="Comments.html#FileNotFound">
      <data>Cannot find the file {0}.</data>
    </string>
    <string id="DivByZero" noteFile="Comments.html#DivByZero">
      <data>Invalid parameter.</data>
    </string>
  </body>
</dataFile>

[Source file: examples/xml/EX-locNoteRefPointer-attribute-1.xml]

ローカル:次のローカルマークアップは、ローカリゼーションノートデータカテゴリーを利用可能にする。

  • 厳密に、次のいずれか:

    • ノート自身を含むlocNote属性。

    • ローカリゼーションノートの場所を参照するIRIを含むlocNoteRef属性。

  • 値"description"または"alert"の省略可能なlocNoteType属性。LocNoteType属性が存在しない場合、ローカリゼーションノートの種類は"description"と見なされる。

例34:ローカルに表現されるローカリゼーションノートデータカテゴリー
<msgList xmlns:its="http://www.w3.org/2005/11/its" xml:space="preserve" its:version="2.0">
 <data name="LISTFILTERS_VARIANT" its:locNote="Keep the leading space!" its:locNoteType="alert">
  <value> Variant {0} = {1} ({2})</value>
 </data>
 <data its:locNote="%1\$s is the original text's date in the format YYYY-MM-DD HH:MM always in GMT">
  <value>Translated from English content dated <span id="version-info">%1\$s</span> GMT.</value>
 </data>
</msgList>

[Source file: examples/xml/EX-locNote-selector-2.xml]

例35:HTMLでローカルに表現されるローカリゼーションノートデータカテゴリー
<!DOCTYPE html>
<html lang=en>
  <head>
    <meta charset=utf-8>
    <title>LocNote test: Default</title>
  </head>
  <body>
    <p>This is a 
    <span its-loc-note="Check with terminology engineer" its-loc-note-type=alert>
     motherboard</span>.</p>
  </body>
</html>

[Source file: examples/html5/EX-locNote-html5-local-1.html]

注:

この特定の場合に、テキストを格納するために属性を使用することを避けることを推奨する。しかし、ホスト文書の構造を妨げることなくノートを提供する必要は、属性を使用しての欠点を上回る。

Go to the table of contents.8.4 用語

Go to the table of contents.8.4.1 定義

用語データカテゴリーは、用語をマークし、定義などの情報を必要に応じて関連付けるために使用される。これは、文書のさまざまな部分にわたり一貫性の向上に役立つ。また、翻訳に有用である。

注:

[ISO 30042]のような既存の用語規格とその派生形式は、ITS用語データカテゴリーは、XML文書内の用語を識別し、必要に応じて対応する情報を指すことを容易にしつつ、専門用語データをコーディングすることを意味する。

Go to the table of contents.8.4.2 実装

用語データカテゴリーは、グローバル規則、または個々の要素でローカルに表現することができる。継承はない。デフォルトは、要素も属性が用語ではない。

グローバル:termRule要素は、次を含む:

  • 必須のselector属性。この規則を適用するノードを選択する絶対セレクターが含まれる。

  • 値"yes"または"no"をもつ必須のterm属性。

  • 次の0または1つ:

    • 用語情報を保持するノードを指す相対セレクターを含むtermInfoPointer属性。

    • 用語に関する情報を提供するリソースを参照するIRIを含むtermInfoRef属性。

    • 用語情報の場所を参照するIRIを保持するノードを指す相対セレクターを含むtermInfoRefPointer属性。

例36:termInfoPointer属性の用法
<text>
  <its:rules version="2.0" xmlns:its="http://www.w3.org/2005/11/its">
    <its:termRule selector="//term" term="yes" termInfoPointer="id(@def)"/>
  </its:rules>
  <p>We may define <term def="TDPV">discoursal point of view</term> as 
    <gloss xml:id="TDPV">the relationship, expressed through discourse structure, between the
    implied author or some other addresser, and the fiction.</gloss></p>
</text>

[Source file: examples/xml/EX-terms-selector-1.xml]

例37:termInfoRef属性の用法
<text>
  <its:rules version="2.0" xmlns:its="http://www.w3.org/2005/11/its">
    <its:termRule selector="//term[1]" term="yes"
                  termInfoRef="#TDPV"/>
  </its:rules>
  <p>We may define <term>discoursal point of view</term>
as <gloss xml:id="TDPV">the relationship, expressed through discourse
structure, between the implied author or some other addresser,
and the fiction.</gloss></p>
</text>

[Source file: examples/xml/EX-terms-selector-2.xml]

例38:termInfoRefPointer属性の用法
<text>
  <its:rules version="2.0"  xmlns:its="http://www.w3.org/2005/11/its">
    <its:termRule selector="//term" term="yes"
                   termInfoRefPointer="@target"/>
  </its:rules>
  <p>We may define <term target="#TDPV">discoursal point of view</term>
as <gloss xml:id="TDPV">the relationship, expressed through discourse
structure, between the implied author or some other addresser,
and the fiction.</gloss></p>
</text>

[Source file: examples/xml/EX-terms-selector-3.xml]

ローカル:次のローカルマークアップは用語データカテゴリーに対して利用可能である:

  • 値"yes"または"no"をもつterm属性。

  • 用語に関する情報を提供するリソースを参照するIRIを含む省略可能なtermInfoRef属性。

  • (包括的な)間隔0と1にで合理的な数の値をもつ省略可能なtermConfidence属性。値は、制約ファセット0に設定するminInclusiveおよび1に設定するmaxInclusiveをもつXMLスキーマdoubleデータ型に従う。termConfidenceは、注釈付きのユニットが用語かどうかの注釈を作成するエージェントの信頼を表す。1 は、自信の最高レベルを表す。termConfidenceは、termInfoRefに関連する自信情報を提供しない。

指定されるTermConfidence属性をもつ用語データカテゴリーによって選択される任意のノードは、用語データカテゴリーに指定されるannotatorsRef(またはHTML its-annotators-refで)要素の属性に含まれなければならない。詳細については5.7節:ITSツール注釈を参照のこと。

例39:用語情報参照と信頼スコアを含む、ローカルに表現される用語データカテゴリー。
<book its:version="2.0" xmlns:its="http://www.w3.org/2005/11/its" 
  its:annotatorsRef="terminology|http://example.com/term-tool">
  <head>...</head>
  <body>
    ... 
    <p>And he said: you need a new 
      <quote its:term="yes" 
        its:termInfoRef="http://www.directron.com/motherboards1.html"
        its:termConfidence="0.5">motherboard</quote></p>
    ...
 </body> 
</book>

[Source file: examples/xml/EX-terms-selector-4.xml]

例40:HTMLでローカルに記述される用語データカテゴリー
<!DOCTYPE html>
<html lang=en>
  <head>
    <meta charset=utf-8>
    <title>Terminology test: default</title>
  </head>
  <body>
    <p>We need a new <span its-term=yes>motherboard</span>
    </p>
  </body>
</html>

[Source file: examples/html5/EX-term-html5-local-1.html]

Go to the table of contents.8.5 方向

注:

執筆時点で、拡張は、特に方向が周囲のコンテンツから分離する必要がある場所でコンテンツをサポートする、方向をマークアップすることへのアプローチを変更することが期待されるHTML5のコンテキストで議論されている。しかし、この拡張はまだ確定されていない。この節はしたがって、[HTML 4.01]における方向マークアップを反映する。HTML5における拡張は、将来の改訂で反映される。

Go to the table of contents.8.5.1 定義

方向データカテゴリーは、ブロック、埋め込みおよびUnicode双方向アルゴリズムの上書きベース記述方向をユーザーに可能にする。4つの値をもつ:"ltr"、"rtl"、"lro"および"rlo"。

注:

ITSは、方向データカテゴリーおよびその継承の値のみを定義する。この方法はラベル付けされるテキストの動作は、実装によって異なる。しかし、実装者は、CSS 2.1仕様またはその後継で示される動作をモデル化することを勧める。このような場合、データカテゴリーの値の影響は、次のCSS規則に対応する:

  • データカテゴリー値:"ltr"(左から右のテキスト)

    CSS規則:*[dir="ltr"] { unicode-bidi: embed; direction: ltr}

  • データカテゴリー値:"rtl"(右から左のテキスト)

    CSS rule: *[dir="rtl"] { unicode-bidi: embed; direction: rtl}

  • データカテゴリー値:"lto"(左から右への上書き)

    CSS rule: *[dir="lro"] { unicode-bidi: bidi-override; direction: ltr}

  • データカテゴリー値:"rto"(右から左への上書き)

    CSS rule: *[dir="rlo"] { unicode-bidi: bidi-override; direction: rtl}

このデータカテゴリーの使用方法の詳細については、[Bidi Article]で提供される。

Go to the table of contents.8.5.2 実装

方向データカテゴリーは、グローバル規則または個々の要素でローカルに表現することができる。要素の場合、データカテゴリー情報は、子要素を含む要素および属性のテキストコンテンツに継承する。デフォルト値は、要素と属性の両方が左から右への方向を持つ。

グローバル:dirRule要素は、次を含む:

  • 必須のselector属性。この規則を適用するノードを選択する絶対セレクターが含まれる。

  • 値"ltr"、"rtl"、"lro"または"rlo"をもつ必須のdir属性。

例41:方向のグローバル規則を必要とする文書

この文書で、右から左の方向は、値"rtlText"でdirection属性を使用してマークされる。

<text xml:lang="en">
  <body>
    <par>In Hebrew, the title <quote xml:lang="he" direction="rtlText">פעילות
      הבינאום, W3C</quote> means "Internationalization Activity, W3C",
      and the order of characters is <bdo direction='rtlText'>פעילות 
          הבינאום, W3C</bdo>.</par>
  </body>
</text>

[Source file: examples/xml/EX-dir-selector-1.xml]

例42:グローバル規則で表現される方向データカテゴリー

属性が右から左へ上書きコンテンツを持つbdo要素を除いて、DirRule要素は、右から左コンテンツを持つ属性direction="rtlText"をともなうすべての要素を示す。

<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
  <its:dirRule dir="rtl" selector="//*[@direction='rtlText']"/>
  <its:dirRule dir="rlo" selector="//bdo[@direction='rtlText']"/>
</its:rules>

[Source file: examples/xml/EX-dir-selector-2.xml]

ローカル:次のローカルマークアップは、方向データカテゴリーに利用可能である:

  • 値"ltr"、"rtl"、"lro"または"rlo"をもつdir属性。

注:

[HTML 4.01]は、dir属性に"lro"および"rlo"値を持たないので、HTML文書にこれらの値は使用されない。HTMLは、インラインbdo要素を代わりに使用する。

例43:ローカルに表現される方向データカテゴリー

最初のquoteの要素で、its:dir="rtl"属性は右から左コンテンツを示す。

<text xml:lang="en" xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
  <body>
    <par>In Arabic, the title <quote xml:lang="ar" its:dir="rtl">نشاط التدويل،
        W3C</quote> means "Internationalization Activity, W3C".</par>
  </body>
</text>

[Source file: examples/xml/EX-dir-selector-3.xml]

例44:HTMLでローカルに表現される方向データカテゴリー
<!DOCTYPE html>
<html lang=en>
  <head>
    <meta charset=utf-8>
    <title>Dir test: Default</title>
  </head>
  <body>
    <p>In Arabic, the title <q dir=rtl lang=ar>نشاط التدويل، W3C</q>
      means "Internationalization Activity, W3C".</p>
  </body>
</html>

[Source file: examples/html5/EX-dir-html5-local-1.html]

Go to the table of contents.8.6 言語情報

Go to the table of contents.8.6.1 定義

langRule要素は、コンテンツの特定の部分の言語を表現するために使用される。langPointer属性は、セレクター属性によって選択されるテキストの言語を表すマークアップを指す。このマークアップは、[BCP47]に適合する値を使用しなければならない。言語の同定を指定するために推奨される方法は、XMLでxml:lang、およびHTMLでlangを使用することである。langRule要素は、言語が別の構造で識別される文書にフォールバックメカニズムとしてのみ意図される。

例45:langRuleによる言語情報を指す

次のlangRule要素は、(属性値と子要素のテキストコンテンツを含む)すべてのp要素のコンテンツがp要素に付属しているmylangattributeによって示される言語であることを表現し、[BCP47]に適合する値を使用して言語を表現する。

<its:rules version="2.0" xmlns:its="http://www.w3.org/2005/11/its">
  <its:langRule selector="//p" langPointer="@mylangattribute"/>
</its:rules>

[Source file: examples/xml/EX-lang-definition-1.xml]

注:

言語情報データカテゴリーは、グローバルレベルで表現される規則にのみ提供する。ローカルにユーザーは、xml:lang(これはXMLによって定義される)、またはHTMLでlang、または(例45のように)問題の形式に固有の属性を使用することができる。

XMLでxml:langは、言語識別の望ましい手段である。xml:langの使用を容易にするために、この属性の宣言は、非標準のXML DTD およびITSマークアップ宣言のXMLスキーマ文書の一部となる。RELAX NGでXML名前空間由来の属性を宣言する必要はないので、ITSに対する非規範的なRELAX NG文書でxml:langの宣言は存在しない。

xml:lang[XML 1.0]で言語情報を指定する標準的な方法であるので、グローバル規則を使用してxml:lang属性に言語情報データカテゴリーを適用する必要はない。

HTMLにおいてlangは、言語識別の必須手段である。

Go to the table of contents.8.6.2 実装

言語情報データカテゴリーは、グローバル規則でのみ表現することができる。要素の場合、データカテゴリー情報は、子要素を含む要素および属性のテキストコンテンツに継承する。デフォルトに存在しない。

グローバル:langRule要素は、次を含む:

  • 必須のselector属性。この規則を適用するノードを選択する絶対セレクターが含まれる。

  • 言語情報を含むノードを指す相対セレクターを含む必須のlangPointer属性。属性xml:langまたは選択したノードにHTMLのlangが存在する場合、xml:lang属性またはHTMLのlangの値はlangPointer値に優先されなければならない

Go to the table of contents.8.7 本文内の要素

Go to the table of contents.8.7.1 定義

テキスト内要素データカテゴリーは、テキストコンテンツが言語学の立場から動作する方法について要素が影響を与える場合にどのように影響を与えるかを明らかにする。この情報は、メモリシステム翻訳などのツールに基本的なテキストセグメンテーションのヒントを提供することに関連する例である。このデータカテゴリーに関連付けられる値は次のとおり:

  • "yes": 要素およびそのコンテンツは、その親要素のフローの一部である。たとえば、[XHTML 1.0]の要素strong

    <strong>Appaloosa horses</strong> have spotted coats.

  • "nested":要素は、その親要素のフローの一部であり、そのコンテンツは独立したフローとなる。たとえば、[DITA 1.0]の要素のfn

    Palouse horses<fn>A Palouse horse is the same as an Appaloosa.</fn> have spotted coats.

  • "no":要素はその親要素のテキストフローを分割し、そのコンテンツは独立したテキストフローとなる。たとえば、DITAの要素li要素またはXHTMLの内部の場合の要素p

    <li>Palouse horses: <p>They have spotted coats.</p> <p>They have been bred by the Nez Perce.</p> </li>

Go to the table of contents.8.7.2 実装

テキスト内要素データカテゴリは、グローバル規則、または個々の要素でローカルに表現することができる。継承はない。

XMLの場合:デフォルトは要素がテキスト内にない。

HTMLの場合:デフォルトは、次の例外とともに、要素がテキスト内にない。

  • HTML5フレージングコンテンツの一部である要素の場合、デフォルトは次の例外をもつwithinText="yes"である:

    • iframenoscriptscriptおよびtextarea要素の場合、デフォルトはwithinText="nested"である。

例46:HTMLにおけるテキスト内要素データカテゴリーのデフォルトを示す。

この文書でテキストの異なるフローは次のとおり(インラインまたはネストされた要素を示す角かっこ):

- "Elements within Text defaults for HTML5"
- "The element p is not within text. But [the element em is]."
- "A button [Click Here] is also within text. But [] is nested."
- "The content of textarea"
- "Some additional text... [] []"
- "The script element is nested."
- "The noscript element is nested."

<!DOCTYPE html>
<html>
  <head>
    <meta charset=utf-8> 
    <title>Elements within Text defaults for HTML5</title>
  </head>
  <body>
   <p>The element p is not within text. But <em>the element em is</em>.</p>
   <p>A button <button onclick="display()">Click Here</button> is also within text.
But <textarea>The content of textarea</textarea> is nested.</p>
Some additional text...
<script><!--
function display() {
alert("The script element is nested."); }
//-->
</script>
<noscript>The noscript element is nested.</noscript>
  </body>
</html>

[Source file: examples/html5/EX-within-text-defaults-html5-1.html]

グローバル:withinTextRule要素は、次を含む:

  • 必須のselector属性。この規則を適用するノードを選択する絶対セレクターが含まれる。

  • 値"yes"、"no"または"nested"をもつ必須のwithinText属性。

例47:withinTextRule要素と本文内の要素を指定する
<its:rules version="2.0" xmlns:its="http://www.w3.org/2005/11/its">
  <its:withinTextRule withinText="yes" selector="//b | //em | //i"/>
</its:rules>

[Source file: examples/xml/EX-within-text-implementation-1.xml]

ローカル:次のローカルマークアップはテキスト内要素データカテゴリに利用可能である:

  • 値"yes"、"no"または"nested"をもつwithinText属性。

例 48:ローカルに表現されるテキスト内要素データカテゴリー
<text xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
  <body>
    <par>Text with <bold its:withinText="yes">bold</bold>.</par>
  </body>
</text>

[Source file: examples/xml/EX-within-text-local-1.xml]

例49:HTMLででローカルに表現されるテキスト内要素データカテゴリー
<!DOCTYPE html>
<html>
  <head>
    <meta charset=utf-8> 
    <title>Within text test: Default</title>
  </head>
  <body>
    <p>Text with <span its-within-text='yes'>bold</span>.</p>
  </body>
</html>

[Source file: examples/html5/EX-within-text-local-html5-1.html]

Go to the table of contents.8.8 ドメイン

Go to the table of contents.8.8.1 定義

ドメインデータカテゴリーは、コンテンツの主題またはトピックを識別するために使用される。そのような情報は、様々なプロセスの中により関連性の高い言語に関する選択肢を可能にする。

使用法の例が次になる:

  • コンテンツを翻訳するための最も適切なエンジンおよび規則を選択する機械翻訳システムを可能にする。

  • どのような用語集が翻訳者による用途に最も適しているかの一般的な指標を提供する。

このデータカテゴリーは様々な課題に対処する:

  • 多くの場合ドメイン関連情報は、(たとえばHTMLmeta要素でキーワードとして)文書にすでに存在する。ドメインデータカテゴリーは、この情報を指すためのメカニズムを提供する。

  • キーワード、キーフレーズ、分類コード、オントロジーなど、ドメインの関連する値の多くのフラットまたは構造化されたリストが存在する。ドメインデータカテゴリーは、独自の特定のリストを提案しない。代わりに、文書における値をコンシューマーツールで使用される値に関連付けるマッピングメカニズムを提供する。

Go to the table of contents.8.8.2 実装

ドメインデータカテゴリーは、グローバル規則でのみ表現することができる。要素の場合、データカテゴリー情報は、子要素を含む要素および属性のテキストコンテンツに継承する。デフォルトに存在しない。

このデータカテゴリーによって提供される情報は、次のアルゴリズムを適用することによって得られる、1つ以上の値のコンマ区切りのリストである:

  • ステップ1:空文字列として結果の文字列の初期値を設定する。

  • ステップ2:domainPointer属性の評価の結果のノードのリストを取得する。

  • ステップ3:各ノードについて:

    • ステップ3-1:ノード値がCOMMA (U+002C)を含む場合:

      • ステップ3-1-1:区切り記号としてCOMMA (U+002C)を使用して別の文字列にノードの値を分割する。

      • ステップ3-1-2:各ノードについて:

        • ステップ3-1-2-1:文字列の先頭と末尾のホワイトスペースを切り取る。

        • ステップ3-1-2-2:値の最初の文字がAPOSTROPHE (U+0027)またはQUOTATION MARK (U+0022)である場合:それを削除する。

        • ステップ3-1-2-3:値の最後の文字がAPOSTROPHE (U+0027)またはQUOTATION MARK (U+0022)である場合:それを削除する。

        • ステップ3-1-2-4:値が空の場合:ステップ 3-1-2に行く。

        • ステップ3-1-2-5:文字列のマッピングセットがあるかどうかを見るためにdomainMapping属性をチェックする。

          • ステップ3-1-2-5-1. マッピングが見つかった場合:結果の文字列に対応する値を追加する。

          • ステップ3-1-2-5-2. 他(マッピングが存在しない場合):結果の文字列を文字列に追加する。

    • ステップ3-2:他(ノード値がCOMMA (U+002C)を含まない場合):

      • ステップ3-2-1:文字列の先頭と末尾のホワイトスペースを切り取る。

      • ステップ3-2-2:値の最初の文字がAPOSTROPHE (U+0027)またはQUOTATION MARK (U+0022)である場合:それを削除する。

      • ステップ3-2-3:値の最後の文字がAPOSTROPHE (U+0027)またはQUOTATION MARK (U+0022)である場合:それを削除する。

      • ステップ3-2-4:値が空の場合:ステップ 3-1-2に行く。

      • ステップ3-2-5:文字列のマッピングが存在するかを確認する。

        • ステップ3-2-5-1:マッピングが見つかった場合:結果の文字列に対応する値を追加する。

        • ステップ3-2-5-2:他(マッピングが存在しない場合):結果の文字列を文字列に追加する。

  • ステップ4:結果の文字列から重複した値を削除する。

  • ステップ5:結果の文字列を返す。

グローバル:domainRule要素は、次を含む:

  • 必須のselector属性。この規則を適用するノードを選択する絶対セレクターが含まれる。

  • ドメイン情報を含むノードを指す相対セレクターを含む必須のdomainPointer属性。

  • コンテンツの値とコンシューマーツールの特定の値の間のマッピングの一覧を分離したコンマを含む省略可能なdomainMapping属性。ペアの左側の部分はソースコンテンツに対応し、マッピング内で一意でかつ大文字小文字を区別する。マッピングの右側の部分は、コンシューマーツールに属する。複数の左側の部分は、1つの右側の部分にマップすることができる。マッピングの左側または右側の部分の値は、スペースを含めてもよい。その場合、値は、APOSTROPHE (U+0027)またはQUOTATION MARK (U+0022)のペアである、引用符でなければならない

注:

DomainMapping属性はオプションであるが、その使用を推奨する。多くの商用機械翻訳システムは独自のドメインの定義を使用する。domainMapping属性は、ウェブページまたはその他の種類のコンテンツにおけるこれらの定義とキーワードまたはdcterms.subjectのようなメタデータ項目との間の相互運用性を育成する。

DomainMapping属性で使用する値は、任意の文字列である。いくつかのコンシューマーシステムまたは既存コンテンツにおいて、http://example.com/domains/automotiveのようなIRIを介してドメインを識別してもよい。DomainMappingはIRIも使用することが可能である。マッピングについては、通常の文字列値とみなされる。

注:

ITS 2.0 のフォーカスにかかわらず、および(ITS 2.0高度な使用方法シナリオで説明される)使用シナリオのいくつかが“シングルエンジン”環境であるが、(たとえば、ドメインデータカテゴリーのコンテキストにおいて)ITS 2.0は"ワークフロー/マルチエンジン"シナリオに順応することができる。

例:

  • シナリオは、機械翻訳(MT)エンジンAとBを伴う。エンジンAによって使用されるドメインラベルは命名規則A_123に従い、エンジンBの命名規則は命名規則B_456に従う。

  • 次のようにDomainMappingは配置される:domainMapping="'sports law' Legal, 'property law' Legal"

  • エンジンAは'Legal'をA_4711に、エンジンBは'Legal'をB_42にマップする。

したがって、ITSは、("A_4711ドメインでMTエンジンを使用し、A_42ドメインでMTエンジンBを使用する"ような)プロセスまたはワークフローをエンコードしない。代わりに、ワークフロー内で使用することができる情報をエンコードする。

例50:domainRule要素

DomainRule要素は、HTML body要素のコンテンツが、値のキーワードname属性をもつHTML meta要素で表されるドメインを表す。DomainPointer属性は、そのmeta要素を指す。

<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0"
           xmlns:h="http://www.w3.org/1999/xhtml">
  <its:domainRule selector="/h:html/h:body"
                  domainPointer="/h:html/h:head/h:meta[@name='keywords']/@content"/>
</its:rules>

[Source file: examples/xml/EX-domain-1.xml]

例51:domainRule要素

DomainRule要素は、HTML body要素のコンテンツが関連付けられる値によって表されるドメインを表す。DomainPointer属性は、ソースコンテンツの値を指す。この場合、"keywords"または"dcterms.subject"に設定されるname属性をもつname要素を指す。この要素は、コンテンツ属性で値を保持する。DomainMapping属性は、マッピングのコンマ区切りのリストを含む。例において、"automotive"はソースコンテンツで利用可能であり、"auto"は機械翻訳システムのようなコンシューマーツール内で使用される。

<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0"
           xmlns:h="http://www.w3.org/1999/xhtml">
  <its:domainRule selector="/h:html/h:body"
    domainPointer="/h:html/h:head/h:meta[@name='dcterms.subject' or @name='keywords']/@content"
    domainMapping="automotive auto, medical medicine, 'criminal law' law, 'property law' law"/>
</its:rules>

[Source file: examples/xml/EX-domain-2.xml]

注:

HTMLにおいて、ドメイン情報を表現する1つの可能な方法は、"keywords"に設定したname属性をもつmeta要素である(HTMLの標準メタデータ名を参照のこと)。また、その他のメタデータの名前"dcterms.subject"の拡張値に次のプロセスは使用することができる。"keywords"と"dcterms.subject"の両方の使用を例51に示す。

機械翻訳(たとえば、機械翻訳システムや機械翻訳トレーニング用コンテンツを収穫するシステム)の領域で、ドメインに設定する値のセットの合意はない。それにもかかわらず、相互運用性を促進するために、ソースコンテンツとコンシューマーツールの両方で値の小さなセットを使用することを推奨する。より大きな値セット(たとえば、法律または医療分野の詳細用語)が必要とされる場合、相互運用性のために必要とされるより小さい値セットへのマッピングが提供されるべきである。例として、法律ドメインを一般化するためのdomainMapping属性がある:domainMapping="'criminal law' law, 'property law' law, 'contract law' law"

コンテンツに関連付けられる1つ以上のドメインを持つことが可能である。たとえば、コンシューマーツールが統計的機械翻訳エンジンである場合、機械翻訳エンジンをトレーニングでソースコンテンツで利用可能なすべてのドメインからのコーパスを含むかもしれない。

コンシューマー機械翻訳エンジンは、ドメインを無視して画一的アプローチを取ることを選択する、または、どのドメインでするか、ドメインでマークされたコンテンツの範囲に基づいて選択をするかもしれない。たとえば、コンテンツがドメイン"automotive"と"medical"でマークされる数百のも文を持つが、追加ドメイン"criminal law"と"property law"でマークされる2つの文のみを持つ場合、余分な訓練資源が出力の改善を正当化しないので、コンシューマーツールは、そのドメイン"auto"と"medicine"を含むことができるが、"law"を含むことはない。このような場合に適切な行動についてのガイドラインは、この仕様の範囲を超える。

Go to the table of contents.8.9 テキスト解析

Go to the table of contents.8.9.1 定義

テキスト分析データカテゴリーは、コンテキストの曖昧さ回避のための語彙または概念の情報とともにコンテンツを注釈付けするために使用される。この情報は、名前付きエンティティー認識機能、語彙概念曖昧性解消などのいわゆるテキスト解析ソフトウェアエージェントによって提供することができ、文字列値または使用可能なリソースの記述へのIRI参照のいずれかによって表される。例:名前付きエンティティー認識機能は、特定のコンテキストで文字列"Dublin"がアイルランドの町を示すという情報を提供する。

テキスト解析は人間が行うことができる一方で、このデータカテゴリーはソフトウェアエージェントを対象とする。

この情報は、次を含むがこれに限定されない、さまざまな用途に使用することができる:

  • 翻訳者などの人間のエージェントに、テキストコンテンツの特定の断片(いわゆる“テキスト解析ターゲット”)が特定の変換規則に従うことを知らせる。例:適切な名前、ブランド、または正式に規定される表現。

  • 特別な処理を可能にするテキストエンティティーの概念型に関するコンテンツ管理システムなどのソフトウェアエージェントに知らせる。例:特定のインデックスに置かれる場所、個人名、製品名、または地名、化学物質および蛋白質名。

データカテゴリーは3つの注釈を提供する:次の表に指定される信頼、エンティティー型または概念クラス、エンティティー識別子または概念識別子。

情報説明コメント
テキスト分析の信頼自身の計算で(注釈を生成した)エージェントの信頼 0に設定されるminInclusiveと1に設定されるmaxInclusive制限ファセットをもつXMLスキーマdoubleデータ型0.5647346 信頼値は、2つの情報に適用される(この表の次の行を参照)。これは、用語データカテゴリーの一部であるtermConfidenceに反対する。termConfidence は、単なる情報の信頼性を表す:何が用語であるかどうかの決定(用語)。termConfidenceは、termInfoRefでエンコードすることができる用語に関する追加情報についての信頼性に関連しない。
エンティティーの種類/概念クラスエンティティーの種類、またはテキスト解析対象の概念クラス IRI http://nerd.eurecom.fr/ontology#Location
エンティティー/概念識別子テキスト分析対象の一意な識別子モード1:コレクションソースの識別子(文字列値)+そのコレクションにおける概念の識別子のコレクションリソースを特定するための"Wordnet3.0"。Wordnet3.0でsynsetを識別する"301467919"モード1とモード2は、相互に排他的である。同じテキスト解析対象/ノードに対して同時に使用してはならない
モード2:テキスト解析対象の識別子(IRI) http://dbpedia.org/resource/Dublin

注:

テキスト分析の使用例は、用語データカテゴリーの使用例と異なる。テキスト分析は、明示的な用語情報が(まだ)利用可能でない、または一般的な語彙の概念情報など適切でない場合に、人間エージェントまたはソフトウェアエージェントに通知する。

テキスト分析のサポートは、テキストの断片を言語レビューエージェントによって解釈することができる外部リソースに関連付けることによって実現される。エージェントは、たとえば、フラグメントの意味または語彙的選択を曖昧さを排除するためにウェブリソースを使用し、それによって正しい翻訳に貢献できる。Webリソースは、適切な同義語および使用例に関する情報も提供する。これは、たとえば、ウェブリソースがWordNet [WordNet]である場合となる。概念クラスの場合、外部リソースは、関連する概念の階層的フレームワークに配置される形式化された概念定義を提供してもよい。名前付きエンティティーの場合、外部リソースは、関連付けられた実世界のエンティティーの本格的な説明を提供してもよい。

拡張例:'I am going to the City'(私は都市に行く)という断片で単語'City'は、次のいずれかによって強調されるかもしれない:

  • 'city'で表すことができるWordNetのsynsetsのいずれか

  • 概念として'Populated Place'(人口の多い場所)のサブクラスを表すことができる'City'の存在論的概念

  • エンティティーインスタンスとして解釈される特定の都市の中央領域(たとえば、'City of London')

注:

指定された文書フラグメントは1回のみ注釈付けすることができる。複数の注釈のサポートが必要な場合(例:上記の拡張された例で3つの注釈すべてを格納する必要がある場合)、NIF 2.0、TEI孤立マークアップ、またはその他のいわゆる孤立アノテーションメカニズムがより適している。

DBpediaなどの一部の外部リソースは、複数の言語でいくつかの存在概念および名前付きエンティティー定義の情報を提供し、そして可能性のあるリンクが名前付きエンティティーの外国語ラベルに直接アクセスを可能にするため、翻訳がさらに容易になる。

Go to the table of contents.8.9.2 実装

テキスト解析データカテゴリーは、グローバル規則、または個々の要素でローカルに表現することができる。継承はない。

注:

この仕様は、ローカルにXMLおよびHTMLでテキスト分析情報を表す標準的な方法を定義する。しかし、他の形式、たとえばJSONテキスト分析情報を表すこともできる。Internationalization Tag Set Interest Groupは、そのような代替シリアライズの説明を保持する。この仕様の読者は、その説明が読者のニーズを満たすかどうかを評価しITS IGメーリングリスト(公開アーカイブ)にコメントすることを勧める。

グローバル:textAnalysisRule要素は、次む含む:

例については、例54を参照のこと。

ローカル:テキスト分析データカテゴリーに対して次のローカルマークアップは利用可能である:

指定されるtaConfidence属性をもつテキスト分析データカテゴリーで選択される任意のノードは、テキスト分析データカテゴリーに指定されるannotatorsRefをもつ(またはHTML its-annotators-refで)要素に含まれなければならない。詳細については、5.7節:ITSツール注釈を参照のこと。

例52:TaClassRef、およびHTMLにおけるtaIdentRefの使用法の混合されるローカル。
<!DOCTYPE html>
<html lang="en" its-annotators-ref="text-analysis|http://enrycher.ijs.si">
  <head>
    <meta charset="utf-8" />
    <title>Text analysis: Local Test</title>
  </head>      
  <body>
    <p><span 
          its-ta-confidence="0.7"
          its-ta-class-ref="http://nerd.eurecom.fr/ontology#Location"  
          its-ta-ident-ref="http://dbpedia.org/resource/Dublin">Dublin</span> 
      is the <span 
          its-ta-source="Wordnet3.0" 
          its-ta-ident="301467919" 
          its-ta-confidence="0.5"
          >capital</span> of Ireland.</p>
  </body>
</html>

[Source file: examples/html5/EX-text-analysis-html5-local-1.html]

注:

エンティティー型/概念クラス情報を表現するために、実装者は、名前付きエンティティー認識および曖昧さ回避[NERD]オントロジーのようなエンティティー型の既存のリポジトリーを使用することが勧められる。もちろんこれは、リポジトリーがテキスト解析データカテゴリーによって課せられる制約を満たす必要がある(たとえば、IRIの使用)。

エンティティー型/概念クラスを介して様々なターゲット型を表現することができる:エンティティーの種類、語彙概念の種類、またはオントロジー概念。これらのタイプ間の関係は存在するかもしれないが、この仕様は別のものから1つのターゲット型を自動的に推論する方法を規定しない。

注:

テキスト解析は、主にテキストコンテンツを対象とする。それにもかかわらず、データカテゴリーはマルチメディアコンテキストでも使用することができる。例:画像上のオブジェクトは、DBpedia IRIに注釈付けされる。

テキスト分析データカテゴリマークアップをシリアル化するものがHTMLでマークアップする場合、マークアップをシリアル化する方法の1つはRDFa LiteまたはMicrodataである。このシリアル化は、これらの形式を使用することができる既存の検索とクロールインフラストラクチャーに起因する。(たとえば、後の用語管理プロセスに供給するテキスト注釈を追加するなどの)その他の使用シナリオの場合、ネイティブITSテキスト解析データカテゴリーのマークアップの使用が適する。この方法で、後でマークアップを簡単に取り除くことができる。

例53:HTML+RDFa Liteで、taClassRefPointertaIdentRefPointerのローカルの混合された使用法。

マッピングデータを伴う付随文書については、例54を参照のこと。

<!DOCTYPE html>
<html lang=en>
  <head>
    <meta charset=utf-8>
      <link href=EX-text-analysis-html5-rdfa.xml rel=its-rules>
        <title>Entity: Local Test</title>
  </head>
  <body>
    <p><span property="http://xmlns.com/foaf/0.1/name"
      about="http://dbpedia.org/resource/Dublin"
      typeof="http:/nerd.eurecom.fr/ontology#Location">Dublin</span> is 
      the capital of Ireland.</p>
  </body>
</html>

[Source file: examples/html5/EX-text-analysis-html5-rdfa.html]

例54:例53のマッピングデータを持つ、関連文書。
<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
  <its:textAnalysisRule selector="//*[@typeof and @about]" 
    taClassRefPointer="@typeof" taIdentRefPointer="@about"/>
</its:rules>

[Source file: examples/html5/EX-text-analysis-html5-rdfa.xml]

Go to the table of contents.8.10 ロケールフィルター

Go to the table of contents.8.10.1 定義

ロケールフィルターデータカテゴリーは、ノードが特定のロケールにのみ適用可能であることを指定する。

このデータカテゴリーは、次を含むがこれに限定されない、さまざまな用途に使用することができる:

  • 特定地域のロケールにのみ法的通知を含める。

  • ローカライズされたすべての出力から編集ノートを削除する。

ロケールフィルターデータカテゴリーは、選択された各ノードを[BCP47]に準拠するフィルタータイプおよび拡張言語範囲のリストに関連付ける。

リストはコンマで区切られ、ワイルドカード拡張言語範囲"*"を含めることができる。リストは空にすることもできる。言語範囲を囲む空白は無視される。

型は、値"include"または"exclude"を取ることができる:

  • 型"include"をもつワイルドカード"*"は、選択したコンテンツがすべてのロケールに適用されることを示す。

  • 型"exclude"をもつワイルドカード"*"は、選択したコンテンツがロケールに適用されないことを示す。

  • 型"include"をもつ空文字列は、選択したコンテンツがロケールに適用されないことを示す。

  • 型"exclude"をもつ空文字列は、選択したコンテンツがすべてのロケールに適用されることを示す。

  • それ以外の場合、型"include"では、[BCP47]で定義される拡張フィルタリングアルゴリズムを使用する場合、選択されたコンテンツは、言語タグがリスト内で一致するロケールに適用される。

  • 代わりに、型が"exclude"である場合、[BCP47]で定義される拡張フィルタリングアルゴリズムを使用するとき、選択されたコンテンツは、言語タグがリスト内で一致しないロケールに適用される。

Go to the table of contents.8.10.2 実装

ロケールフィルターデータカテゴリーは、グローバル規則、または個々の要素でローカルに表現することができる。要素の場合、データカテゴリー情報は、子要素を含む要素および属性のテキストコンテンツに継承する。デフォルトは言語範囲が"*"で、型が"include"である。

グローバル:localeFilterRule要素は、次の要素を含む:

  • 必須のselector属性。この規則を適用するノードを選択する絶対セレクターが含まれる。

  • 拡張言語範囲のカンマで区切りリスト、または空の文字列値をもつ必須のlocaleFilterList属性。

  • 値"include"または"exclude"をもつオプションのlocaleFilterType属性。

例55:グローバルに表現されるロケールフィルタデータカテゴリー

この文書は、3つのlocaleFilterRule要素が含まれる:最初の要素は、"Canada"に設定されるroleをもつ要素legalnoticeがカナダのロケールにのみ適用されることを示す。2つ目は、"nonCanada"に設定されるroleをもつ要素legalnoticeがカナダ以外のすべてのロケールに適用されることを指定する。3つ目の要素は、いずれのロケールにも該当しないremark要素を指定する。

<book xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
  <info>
    <its:rules version="2.0">
      <its:localeFilterRule selector="//legalnotice[@role='Canada']"
        localeFilterList="*-CA"/>
      <its:localeFilterRule selector="//legalnotice[@role='nonCanada']"
        localeFilterList="*-CA" localeFilterType="exclude"/>
      <its:localeFilterRule selector="//remark"
        localeFilterList=""/>
    </its:rules>
    <legalnotice role="Canada">
      <para>This notice is only for Canadian locales.</para>
    </legalnotice>
    <legalnotice role="nonCanada">
      <para>This notice is for locales that are non-Canadian locales.</para>
    </legalnotice>
    <remark>Note: This section will be written later.</remark>
  </info>
</book>

[Source file: examples/xml/EX-locale-filter-selector-1.xml]

ローカル:次のローカルマークアップはロケールフィルターデータカテゴリに対して使用することができる:

  • 拡張言語範囲のカンマ区切りリスト、または空文字列値をもつlocaleFilterList属性。

  • 値"include"または"exclude"をもつオプションのlocaleFilterType属性。

例56:HTMLでローカルに表現されるロケールフィルターデータカテゴリー

この例で、ロケールフィルターデータカテゴリーは、ロケールがカナダのものかどうかによって異なるセクションを選択するために使用される。

<!DOCTYPE html>
<html>
 <head>
  <meta charset=utf-8> 
  <title>Locale filter</title>
 </head>  
 <body> 
  <div its-locale-filter-list="*-ca">
   <p>Text for Canadian locales.</p>
  </div>
  <div its-locale-filter-list="*-ca" its-locale-filter-type="exclude">
   <p>Text for non-Canadian locales.</p>
  </div>
 </body>
</html>

[Source file: examples/html5/EX-locale-filter-local-html5-1.html]

例57:XMLでローカルに表現されるロケールフィルターデータカテゴリー
<book xmlns:its="http://www.w3.org/2005/11/its">
  <info>
    <legalnotice its:localeFilterList="en-CA, fr-CA">
      <para>This legal notice is only for English and French Canadian locales.</para>
    </legalnotice>
  </info>
</book>

[Source file: examples/xml/EX-locale-filter-attribute-1.xml]

Go to the table of contents.8.11 起源

Go to the table of contents.8.11.1 定義

起源データカテゴリーは、コンテンツの翻訳または翻訳されたコンテンツの改訂に関与したエージェントの身元を伝えるために使用される。これは、ポストエディター、翻訳品質レビュワー、またはローカリゼーションワークフローマネージャーなどの翻訳および翻訳リビジョンのコンシューマーに、これらのエージェントのパフォーマンスが翻訳の品質にどのような影響を与えるかを評価することを可能にする。翻訳および翻訳改訂エージェントは、選択されたコンテンツをもたらす翻訳を提供することに関与した人物、ソフトウェアまたは組織として特定することができる。

このデータカテゴリーは、3種類の情報を提示する。第1に、翻訳エージェントの識別を可能にする。第2に、改訂エージェントの識別を可能にする。第3に、翻訳プロセス(たとえば、複数の改訂サイクル)に関する時間的または順序情報を含む起源情報が必要とする、またはより広い範囲の活動をサポートするエージェントを必要とする場合、データカテゴリーは外部起源情報を参照するメカニズムを提供する。

注:

この仕様は、外部起源情報のフォーマットを定義しないが、公開されている起源または変更ログフォーマット、たとえばW3C provenance data model [PROV-DM]などを使用することを推奨する。

機械翻訳エンジンやコンピューター支援翻訳ツールなどの翻訳または翻訳改訂ツールは、この情報を作成する簡易な方法を提供する。翻訳ツールは、この情報をポストエディターまたは翻訳ワークフローマネージャーに提示することができる。ウェブアプリケーションは、そのような情報を翻訳された文書のコンシューマーに提示してもよい。

データカテゴリーは、7つの情報を定義する:

情報説明
人間の起源情報人間の翻訳エージェントの識別文字列またはIRI(Ref属性のみ)
組織起源情報翻訳エージェントとして機能する組織の識別文字列またはIRI(Ref属性のみ)
ツール関連の起源情報選択されたコンテンツの翻訳に使用されたソフトウェアツールの識別文字列またはIRI(Ref属性のみ)
人間の改訂起源情報翻訳者改訂エージェントの識別文字列またはIRI(Ref属性のみ)
組織改訂の起源情報翻訳改訂エージェントとして機能する組織の識別文字列またはIRI(Ref属性のみ)
ツール関連の起源情報選択したコンテンツの翻訳に使用されたソフトウェアツールの識別文字列またはIRI(Ref属性のみ)
外部起源情報への参照外部起源情報への参照スペース(U+0020)で区切られたIRIのリスト

注:

ツール関連の起源およびツール関連の改訂起源情報は、ITS注釈そのものを作成するために使用されるツールに関する情報を表現するものではない。この目的のために、ITS 2.0は別のメカニズムを提供する。詳細については、5.7節:ITSツール注釈、特にannotatorsRef使用シナリオに関する注を参照のこと。

Go to the table of contents.8.11.2 実装

起源データカテゴリーは、グローバル規則で、または個々の要素にローカルで表現することができる。要素の場合、データカテゴリー情報は、子要素を含む要素および属性のテキストコンテンツに継承する

グローバル:provRule要素は次を含む:

  • 必須のselector属性。この規則を適用するノードを選択する絶対セレクターが含まれる。

  • 起源レコードのリストを含むノードを指す相対セレクターを含むprovenanceRecordsRefPointer属性。これはselector属性で選択されたコンテンツに関連する。

例58:孤立起源記録でグローバルに使用されるプロバンスデータカテゴリー。

この例は、provenanceRecords要素を使用して孤立方式で起源情報を表す。provRule要素は、ref属性が出所情報がリストされる、関連するprovenanceRecords要素への参照を保持する、ref属性をもつ任意の要素に対するものを指定する。legalnotice要素は2回改訂された。したがって、関連するprovenanceRecords要素は、2つのprovenanceRecord子要素が含まれる。

<text xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
  <dc:creator>John Doe</dc:creator>
  <its:provenanceRecords xml:id="pr1">
    <its:provenanceRecord
      toolRef="http://www.example.onlinemtex.com/2012/7/25/wsdl/"
      org="acme-CAT-v2.3"
      revToolRef="http://www.mycat.com/v1.0/download"
      revOrg="acme-CAT-v2.3"
      provRef="http://www.examplelsp.com/excontent987/production/prov/e6354"/>
  </its:provenanceRecords>
  <its:provenanceRecords xml:id="pr2">
    <its:provenanceRecord
      person="John Doe"
      orgRef="http://www.legaltrans-ex.com"
      revPerson="Tommy Atkins"
      revOrgRef="http://www.example.myorg.com"
      provRef="http://www.example.myorg.com/job-12-7-15-X31/reviewed/prov/re8573469"/>
    <its:provenanceRecord
      revPerson="John Smith"
      revOrgRef="http://john-smith.qa.example.com"/>
  </its:provenanceRecords>
  <its:rules version="2.0">
    <its:provRule selector="//*[@ref]" provenanceRecordsRefPointer="@ref"/>
  </its:rules>
  <title>Translation Revision Provenance Agent: Global Test in XML</title>
  <body>
    <par ref="#pr1"> This paragraph was translated from the machine.</par>
    <legalnotice postediting-by="http://www.example.myorg.com" ref="#pr2">This text was
      translated directly by a person.</legalnotice>
  </body>
</text>

[Source file: examples/xml/EX-provenance-global-1.xml]

ローカル:データカテゴリーをローカルに表示するためにインラインマークアップを使用することは、特定のコンテンツに対して単一の存在に限定される(たとえば、最も内側のものが他のものを上書きするため、同じテキストのスパンに適用される異なるtoolRef属性を持つことができない)。そのような場合、ローカル孤立マークアップが提供される。

次のローカルマークアップは、起源データカテゴリーはに使用可能である:

  • (インラインマークアップ):次の属性の少なくとも1つ:

  • または(孤立マークアップ):

    注:

    理想的には、provenanceRecords要素内のprovenanceRecord要素の順序は、最も最近に追加されるリスト化される最初のものとともに、それらが文書に追加された順序を反映する。

    属性personpersonReforgorgReftooltoolRefrevPersonrevPersonRefrevOrgrevOrgRefrevToolrevToolRefおよびprovRefが孤立方式で使用される場合、それらが保持する情報は、孤立アノテーションを参照する要素のコンテンツに関してであって、それらを参照する要素で宣言される要素のprovenanceRecordの内容ではない。

    HTMLで、孤立マークアップは、同じHTML文書内のscript要素内に格納されるか、孤立内部にある任意のprovenanceRecordsRefから外部XMLまたはHTMLファイルにリンクされるかのいずれかでなければならない。孤立がscript要素の中にある場合、その要素は値application/its+xmlをもつtype属性を持たなければならない。そのid属性は、それに含まれるprovenanceRecords要素のxml:id属性と同じ値に設定されなければならない

例59:ローカルインラインマークアップとともにXMLで起源情報に注釈付けする

parおよびlegalnotice要素の起源関連属性は、起源情報をこれらの要素のコンテンツと直接関連付けるために使用される。

<text xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
  <title>Translation Revision Provenance Agent: Local Test in XML</title>
  <body>
    <par its:toolRef="http://www.onlinemtex.com/2012/7/25/wsdl/"
      its:org="acme-CAT-v2.3"
      its:revToolRef="http://www.mycat.com/v1.0/download"
      its:revOrg="acme-CAT-v2.3"
      its:provRef="http://www.example.lsp1.com/prov/e6354 http://www.example.lsp2.com/prov/e7738"
      >This paragraph was translated from the machine.</par>
    <legalnotice its:person="John Doe"
      its:orgRef="http://www.legaltrans-ex.com/"
      its:provRef="http://www.examplelsp.com/excontent987/legal/prov/e6354"
      its:revPerson="Tommy Atkins"
      its:revOrgRef="http://www.example.myorg.com"
      >This text was translated directly by a person.</legalnotice>
  </body>
</text>

[Source file: examples/xml/EX-provenance-local-1.xml]

例60:ローカルインラインマークアップを使用してHTML内の起源情報に注釈付けする

この例では、コンテンツの複数の範囲が出所情報に関連付けられる。

<!DOCTYPE html>
<html lang=en>
  <head>
    <meta charset=utf-8>
    <title>Provenance Agent: Local Test in HTML5</title>
  </head>
  <body>
    <p its-tool-ref="http://www.onlinemtex.com/2012/7/25/wsdl/"
      its-org="acme-CAT-v2.3"
      its-prov-ref="http://www.examplelsp.com/excontent987/production/prov/e6354"
      its-rev-org="acme-CAT-v2.3"
      >This paragraph was translated from the machine.</p>
    <p class="legal-notice"
     its-person="John Doe"
     its-org-ref="http://www.legaltrans-ex.com/"
     its-prov-ref="http://www.examplelsp.com/excontent987/legal/prov/e6354"
     its-rev-person="Tommy Atkins" its-rev-org-ref="http://www.example.myorg.com"
     >This text was translated directly by a person.</p>
  </body>
</html>

[Source file: examples/html5/EX-provenance-html5-local-1.html]

例61:ローカル孤立マークアップを使用してHTMLに起源情報を注釈付けする

次の例は、ローカル孤立マークアップを使用して起源情報をエンコードする文書を示す。p要素は、マークアップするコンテンツを区切る。それらは、script要素の内部の孤立情報を指すits-provenance-records-ref属性を保持する。

<!DOCTYPE html>
<html>
  <head>
    <meta charset=utf-8>
    <title>Test</title>
    <script id=pr1 type=application/its+xml>
      <its:provenanceRecords xml:id="pr1" xmlns:its="http://www.w3.org/2005/11/its">
        <its:provenanceRecord
         toolRef="http://www.onlinemtex.com/2012/7/25/wsdl/" 
         org="acme-CAT-v2.3"
         provRef="http://www.examplelsp.com/excontent987/production/prov/e6354"
         revToolRef="http://www.mycat.com/v1.0/download" 
         revOrg="acme-CAT-v2.3" />
      </its:provenanceRecords>       
    </script>
    <script id=pr2 type=application/its+xml>
      <its:provenanceRecords xml:id="pr2" xmlns:its="http://www.w3.org/2005/11/its">
        <its:provenanceRecord
         person="John Doe"
         orgRef="http://www.legaltrans-ex.com/"
         provRef="http://www.examplelsp.com/excontent987/legal/prov/e6354"
         revPerson="Tommy Atkins" 
         revOrgRef="http://www.example.myorg.com" />
        <its:provenanceRecord
         revPerson="John Smith" 
         revOrgRef="http://john-smith.qa.example.com" />
        </its:provenanceRecords>
      </script>
  </head>
  <body>
    <p its-provenance-records-ref="#pr1">This paragraph was translated from the machine.</p>
    <p its-provenance-records-ref="#pr2">This text was translated directly by a person.</p>
  </body>
</html>

[Source file: examples/html5/EX-provenance-html5-local-2.html]

Go to the table of contents.8.12 外部リソース

Go to the table of contents.8.12.1 定義

外部リソースデータカテゴリーは、ノードが文書の外部のリソース内で潜在的に翻訳可能なデータを表現または参照することを示す。そのようなリソースの例は、外部の画像およびオーディオまたはビデオのファイルである。

Go to the table of contents.8.12.2 実装

外部リソースデータカテゴリーは、グローバル規則のみで表現することができる。継承はない。デフォルトに存在しない。

グローバル:externalResourceRefRule要素は次を含む:

  • 必須のselector属性。この規則を適用するノードを選択する絶対セレクターが含まれる。

  • 外部リソースのIRIを提供するノードを指す相対セレクターを含む必須のexternalResourceRefPointer属性。

例62:externalResourceRefRule要素

externalResourceRefRule要素は、imagedataaudiodata、およびvideodata要素が外部リソースへの参照を含むことを表す。これらの参照は、fileref属性によって表現される。 externalResourceRefPointer属性は、その属性を指す。

<doc xmlns:its="http://www.w3.org/2005/11/its"
  xmlns:db="http://docbook.org/ns/docbook">
  <its:rules version="2.0">
    <its:externalResourceRefRule
      selector="//db:imagedata | //db:audiodata |  //db:videodata"
      externalResourceRefPointer="@fileref"/>
  </its:rules>
  <db:mediaobject>
    <db:videoobject>
      <db:videodata fileref="movie.avi"/>
    </db:videoobject>
    <db:imageobject>
      <db:imagedata fileref="movie-frame.gif"/>
    </db:imageobject>
    <db:textobject>
      <db:para>This video illustrates the proper way to assemble an inverting
        time distortion device. </db:para>
      <db:warning>
        <db:para> It is imperative that the primary and secondary temporal
          couplings not be mounted in the wrong order. Temporal catastrophe is
          the likely result. The future you destroy may be your own. </db:para>
      </db:warning>
    </db:textobject>
  </db:mediaobject>
</doc>

[Source file: examples/xml/EX-externalresource-1.xml]

例63:HTML video要素に関連付けられる外部リソースに使用される2つのexternalResourceRefRule要素

2つのexternalResourceRefRule要素は、HTML video要素でsrc属性とposter属性を選択します。 これらの属性は、異なる外部リソースを識別し、同時にこれらのリソースへの参照を含む。このため、externalResourceRefPointer属性はsrcおよびposterの値をそれぞれ指す。 基礎となるHTML文書は、例64に示される。

<its:rules version="2.0" xmlns:its="http://www.w3.org/2005/11/its"
  xmlns:html="http://www.w3.org/1999/xhtml">
  <its:externalResourceRefRule selector="//html:video/@src"
    externalResourceRefPointer="."/>
  <its:externalResourceRefRule selector="//html:video/@poster"
    externalResourceRefPointer="."/>
</its:rules>

[Source file: examples/xml/EX-externalresource-2.xml]

例64:例63で使用することができるHTML文書
<!DOCTYPE html>
<html lang=en>
  <head>
    <meta charset=utf-8>
    <title>Video element example</title>
  </head>
  <body>
    <video
      height=360
      poster=http://www.example.com/video-image.png
      src=http://www.example.com/video/v2.mp
      width=640>
      <p>If your browser doesn't support 
        the <code>video</code> element, you can 
        <a href=http://www.example.com/video/v2.mp>download the video</a> instead.</p>
    </video>
  </body>
</html>

[Source file: examples/html5/EX-externalresource-html5-1.html]

Go to the table of contents.8.13 ターゲットポインター

Go to the table of contents.8.13.1 定義

ローカライゼーションや多言語リソース用に設計されたものなど、一部の形式は、単一の文書内部に異なる言語で同じコンテンツを保持する。ターゲットポインターデータカテゴリーは、与えられたソースコンテンツ(すなわち、翻訳されるコンテンツ)のノードと、対応するターゲットコンテンツ(すなわち、与えられたターゲット言語に翻訳されたソースコンテンツ)のノードとを関連付けるために使用される。

この仕様は、ターゲットノードまたはそのコンテンツの存在に関する規定はない。ターゲットノードは存在する場合と存在しない場合、コンテンツがある場合とない場合がある。

このデータカテゴリーは、次を含むがこれに限定されない、さまざまな用途に使用することができる:

  • 翻訳するソースコンテンツを抽出して、適切な場所に翻訳を置き戻す。

  • 品質確認のためにソースとターゲットの内容を比較する。

  • 既存の文書の新しいバージョンをローカライズするときに、既存の翻訳を再利用する。

  • 記憶を構築するため、または機械翻訳エンジンを訓練するために、アラインされた二言語のコンテンツにアクセスする。

注:

一般に、非常に特定の使用例を除いて、同一コンテンツが異なる言語で同じ文書に格納されるような、フォーマットの開発を避けることが推奨される。詳細なガイダンスについては、[XML i18n BP]のベストプラクティス“Working with multilingual documents”を参照のこと。

Go to the table of contents.8.13.2 実装

ターゲットポインタデータカテゴリーは、グローバル規則でのみ表現することができる。継承はない。デフォルトに存在しない。

グローバル:targetPointerRule要素は、次を含む:

  • 必須のselector属性。この規則を適用するノードを選択する絶対セレクターが含まれる。

  • 必須のtargetPointer属性。これは、選択されたソースノードに対応するターゲットコンテンツのノードを指す相対セレクターを含む。

注:

ソースノードとターゲットノードは異なる種類であってもよいが、ターゲットノードはソースノードと同じコンテンツを含む必要がある(たとえば、属性ノードは、子をもつ要素であるソースノードのターゲットノードとすることはできない)。

例65:targetPointerRule要素とともにソースコンテンツのターゲットの場所を定義する
<file>
  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
    <its:translateRule selector="/file" translate="no"/>
    <its:translateRule selector="//source" translate="yes"/>
    <its:targetPointerRule selector="//source" targetPointer="../target"/>
  </its:rules>
  <entry id="one">
    <source>Remember last folder</source>
    <target/>
  </entry>
  <entry id="two">
    <source>Custom file filter:</source>
    <target/>
  </entry>
</file>

[Source file: examples/xml/EX-target-pointer-global-1.xml]

Go to the table of contents.8.14 ID値

Go to the table of contents.8.14.1 定義

ID値データカテゴリーは、コンテンツの特定の部分に対する一意の識別子として使用することができる値を示す。

一意の識別子を指定するために推奨される方法は、HTMLでxml:id [XML ID]またはidを使用することである([XML i18n BP]のベストプラクティス“Defining markup for unique identifiers”を参照のこと)。idValueRule要素は、一意の識別子が別の構造で利用可能な文書のフォールバックメカニズムとしてのみ意図される。

元の文書で維持される一意の識別子を提供することは、たとえば次のような複数の目的に役立てることができる:

  • ソースドキュメントの異なるバージョン間、またはソースドキュメントと翻訳ドキュメント間の自動アライメントを可能にする。

  • 完全一致のためのレバレッジド・トランスレーションの信頼性を向上させる。

  • テストまたはデバッグ時に、表示されるテキストとソース素材間にバックトラッキング情報を提供する。

注:

  • ID値データカテゴリーは、グローバルレベルで表現される規則のみを提供する。ローカルでは、ユーザーはHTMLにおいて(XMLにより定義される)xml:idまたはid、もしくは(例68のように)問題の形式に固有な属性を使用できる。

  • これらの属性は識別子を指定するための推奨方法であるので、ID値データカテゴリーを(XMLで)xml:idまたは(HTMLで)id属性にグローバル規則に適用する必要はない。

Go to the table of contents.8.14.2 実装

ID値データカテゴリーは、グローバル規則でのみ表現することができる。継承はない。デフォルトに存在しない。

グローバル:idValueRule要素は、次を含む:

  • 必須のselector属性。この規則を適用するノードを選択する絶対セレクターが含まれる。

  • 必須のidValue属性。これは任意のXPath式を含む。XPath式の評価のコンテキストは、相対セレクターの場合と同じである。XPath式の評価は、この規則が適用するノードの識別子に対応する文字列を構成する。識別子は、少なくとも文書内で一意でなければならない。選択されたノードで属性xml:idが存在する場合、またはHTMLのidである場合、HTMLにおけるxml:id属性またはidの値は、idValue値よりも優先しなければならない

例66:idValueRule要素をもつID値を指す

idValueRule要素は、各<text>要素の一意の識別子がその親要素の属性nameの値であることを示す。

<?xml version="1.0"?>
<resources>
  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
    <its:translateRule translate="no" selector="/resources"/>
    <its:translateRule translate="yes" selector="//text"/>
    <its:idValueRule selector="//text" idValue="../@name"/>
  </its:rules>
  <entry name="btn.OK">
    <text>OK</text>
    <pos>1, 1</pos>
    <trig>sendOK</trig>
  </entry>
  <entry name="btn.CANCEL">
    <text>Cancel</text>
    <pos>2, 1</pos>
    <trig>cancelAll</trig>
  </entry>
</resources>

[Source file: examples/xml/EX-idvalue-element-1.xml]

例67:idValueRule要素を使用してID値を作成する

idValue属性は、異なる属性、要素、さらにハードコードされたテキストに基づいて合成値を構築することを可能にする。XPathによって提供される任意のString関数を使用することができる。以下の文書において、2つの要素<text>および<desc>は翻訳可能であるが、対応する親要素におけるname属性を1つしか持たない。

識別子が<text>のコンテンツと<desc>のコンテンツの両方で一意であることを確認するために、XPath式concat(../@name, '_t')は、<text>のコンテンツの識別子"settingsMissing_t"を与え、かつ式concat(../@name, '_d')は、<desc>のコンテンツの識別子"settingsMissing_d"を与える。

<?xml version="1.0"?>
<doc>
  <its:rules version="2.0" xmlns:its="http://www.w3.org/2005/11/its">
    <its:idValueRule selector="//text" idValue="concat(../@name, '_t')"/>
    <its:idValueRule selector="//desc" idValue="concat(../@name, '_d')"/>
  </its:rules>
  <msg name="settingsMissing">
    <text>Can't find settings file.</text>
    <desc>The module cannot find the default settings file. You need to
      re-initialize the system.</desc>
  </msg>
</doc>

[Source file: examples/xml/EX-idvalue-element-2.xml]

例68:xml:idおよびidValueRuleの使用

xml:id属性がidValueRule要素によって選択されるノードに存在する場合、xml:idの値はidValueRule要素によって定義された値よりも優先される。 以下の例で、使用する一意のIDは、最初の<res>要素の場合は“btnAgain”であり、2番目の<res>要素の場合は“retryTip”である。

<?xml version="1.0"?>
<file>
  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
    <its:idValueRule selector="//res" idValue="@name"/>
  </its:rules>
  <res name="retryBtn" xml:id="btnAgain">Try Again</res>
  <res name="retryTip">click this to re-run the process with the current
    settings.</res>
</file>

[Source file: examples/xml/EX-idvalue-attribute-1.xml]

Go to the table of contents.8.15 空白保持

Go to the table of contents.8.15.1 定義

空白保持データカテゴリーは、空白をコンテンツ内でどのように処理するかを示す。 このデータカテゴリーに可能な値は、 "default"および"preserve"であり、かつxml:space属性の対応する値と同じ意味を持っている。 デフォルト値は "default"である。空白保持データカテゴリーは、HTML構文のHTML文書には適用されない。

Go to the table of contents.8.15.2 実装

空白保持データカテゴリーは、グローバル規則で、またはxml:space属性を使用するローカルで表現することができる。要素の場合、データカテゴリーの情報は、子要素および属性を含む、要素のテキストコンテンツを継承する

注:

xml:space(かつ拡張空白保持で)はtext/htmlとして解析される文書には影響しないため、空白保持データカテゴリーは、HTML構文でHTML文書には適用されない。しかし、データカテゴリーはXHTML構文におけるHTMLで使用することができる。

グローバル:preserveSpaceRule要素は、次の要素を含む:

  • 必須のselector属性。この規則を適用するノードを選択する絶対セレクターが含まれる。

  • 値"default"または"preserve"をもつ必須のspace属性。

例69:世界全体で表現される空白保持データカテゴリー

preserveSpaceRule要素は、すべてのverse要素の空白文字をリテラルに扱うことを指定する。

<book>
 <info>
  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
   <its:preserveSpaceRule selector="//verse" space="preserve"/>
  </its:rules>
 </info>
 <verse>
’Twas brillig, and the slithy toves
 Did gyre and gimble in the wabe;
All mimsy were the borogoves,
 And the mome raths outgrabe.
 </verse>
</book>

[Source file: examples/xml/EX-preservespace-global-1.xml]

ローカル:[XML 1.0]の2.10節で定義される、xml:space属性は、空白保持データカテゴリーに厳密に対応する。

例70:ローカルに表現される空白保持るデータカテゴリー

標準のxml:space属性は、verse要素の空白文字をリテラルに扱うことを指定する。

<book>
 <verse xml:space="preserve">
'Twas brillig, and the slithy toves
 Did gyre and gimble in the wabe;
All mimsy were the borogoves,
 And the mome raths outgrabe.
</verse>
</book>

[Source file: examples/xml/EX-preservespace-local-1.xml]

Go to the table of contents.8.16 ローカリゼーション品質問題

Go to the table of contents.8.16.1 定義

ローカリゼーション品質問題データカテゴリーは、ローカリゼーション品質評価タスクに関連する情報を表現するために使用される。 そのようなタスクは、ある種のソースコンテンツ(テキストや画像など)をターゲット言語に変換すること、またはその品質がローカリゼーションプロセスに影響を与えるソースコンテンツ自身に処理することができる。

注:

自動または手動品質評価は、翻訳とローカリゼーションの品質管理の1つの領域である。既存の品質評価の例は、(たとえば、ソフトウェアの言語受入れテストの一部としてなどの)国内レビューである。品質評価の重要な部分は、使用されている問題型のリストである。非常に多くの場合、「正しい/間違った」または「好き/嫌い」のような単純な問題カテゴリーは不十分である。代わりに、「用語」や「文法」などのより具体的なものは、品質問題の具体的な理由を特定し、品質レベルのより客観的な実態を得るために役立つ。

この節で使用されるローカライズ品質に関連する非規範的用語は、付録H:ローカリゼーション品質ガイダンスで提供される。

このデータカテゴリーは、次のシナリオの例を含むさまざまな方法で使用することができる。

  • ウェブベースのツールで作業する人間の査読者は、レビュープロセスの一環としてローカライズされたコンテンツに、コメントや提案を含む、テキストエディターで手動で高品質のマークアップを追加する。後続のプロセスは、変更が行われたことを確認するためにこのマークアップを調べる。

  • 完全自動自動品質チェックツールは、XMLまたはHTMLファイルで潜在的な品質問題にフラグを立て、ITS 2.0マークアップを使用してそのフラグをマークする。その後、人間の査読者はこのマークアップを調べるために別のツールを使用し、ファイルがさらに広範なレビューを受ける必要があるかどうか、またはそれ以上の手作業によるレビュー段階なしで処理を続ける必要があるかどうかを決定する。

  • 品質評価プロセスは、多数の問題を特定し、この問題を強調するCSSスタイリングとともに、ITSマークアップをXMLファイルのレンダリングされたHTMLプレビューに追加する。結果として得られたHTMLファイルは、改訂作業を支援するために翻訳者に送り返される。

注:

品質評価作業で考慮すべき事項は、プロジェクトの性質と使用するツールに依存する。詳細なガイダンスはこの仕様の範囲を超えるが、実装者は付録H:ローカリゼーション品質ガイダンスで引用される参考文献を参照のこと。

データカテゴリーは5つの情報を定義する:

情報説明
類似の問題をカテゴリーに分類する分類子(たとえば、スペルエラーを文法エラーと区別する)。型の値のリストで定義された値の1つ。この型を使用するITS 2.0準拠ツールは、内部値をこの型にマップしなければならない。問題の型がuncategorizedに設定される場合、コメントも同様に指定しなければならない
コメント品質問題の特定のインスタンスの人間可能な記述。テキストコメントは、問題を説明するために、または問題に対処するためのガイダンスを提供するために使用することができる。 たとえば、用語の問題に関する注記は、どの用語を使用すべきかを指定するかもしれない。
重大度問題の深刻さを表す分類子。 深刻さは、適用されている品質モデルに依存する。品質モデルは、プロファイル参照によって明確にすべきである。区間0以上100以下における有理数。 この値は、minInclusiveが0に設定され、maxInclusiveが100に設定される制約ファセットをもつXMLスキーマdoubleデータ型に従う。より高い値は、より大きな重大度を表す。ITS 2.0で許容される値を独自システムのスケールにマップするかどうかはツール次第である。必要に応じて、元の値をXMLのカスタム名前空間またはHTMLのdata-属性を使用して渡すことができる。
プロフィール参照問題に使用される品質評価モデルの説明(すなわち関連するモデルの特定のプロファイル(カスタマイズ/インスタンス化))への参照。参照文書を指し示すIRI。解決可能なIRIの使用は、人間の評価者が使用中の品質問題についてより知る方法を提供するため、強く推奨される。
有効問題が有効かどうかを示すフラグ。yesまたはnoの値。デフォルト値はyesこのフラグは、問題の有効化または無効化に使用される。有効化または無効化された問題に関連する規定の動作はない。使用法の1つの例は、文書が再チェックされるたびに再度表示されないようにするような、ユーザーが誤検出を無効にするツールである。

Go to the table of contents.8.16.2 実装

ローカリゼーション品質問題データカテゴリーは、グローバル規則、または個々の要素でローカルに表現することができる。要素に対して、データカテゴリー情報は、子要素を含むが属性を除く、要素のテキストコンテンツを継承する

グローバル:locQualityIssueRule要素は、次を含む:

  • 必須のselector属性。この規則を適用するノードを選択する絶対セレクターが含まれる。

  • ローカルインラインマークアップと並行して)

  • または(孤立マークアップ)次のいずれかの厳密に1つ:

    • locQualityIssuesRef属性。その値は、このコンテンツに関連する問題のリストを含むlocQualityIssues要素を指し示すIRIである。

    • locQualityIssuesRefと全く同じセマンティックスをもつノードを指す相対セレクターを含むlocQualityIssuesRefPointer属性。

注:

属性locQualityIssuesRefPointerは、HTMLの直接アノテーションにローカルマークアップが提供されるため、HTMLには適用されない。

例71:locQualityIssueRule要素でXMLの問題に注釈付けする

locQualityIssueRule要素は、問題情報をtext属性の値と関連付ける。

<?xml version="1.0"?>
<doc>
  <header>
    <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
      <its:locQualityIssueRule selector="//image[@id='i1']/@text"
        locQualityIssueType="typographical"
        locQualityIssueComment="Sentence without capitalization"
        locQualityIssueSeverity="50"/>
    </its:rules>
  </header>
  <para>Click the button <image id="i1" src="button.png"
                          text="start button"/>.</para>
</doc>

[Source file: examples/xml/EX-locQualityIssue-global-1.xml]

例72:ローカル孤立マークアップとグローバル規則を使用してXMLの問題に注釈付けする

次の例は、複数の問題をエンコードするためにローカル孤立マークアップを使用する文書を示す。しかし、この場合、mrk要素は別の名前空間の属性を許可しないため、locQualityIssuesRefを直接使用することはできない。代わりに、グローバル規則は、locQualityIssuesRefの関数をITS以外の構造にマップするために使用される。ここでは、属性typeが"x-itslq"に設定されるmrk要素のref属性となる。

<?xml version="1.0"?>
<doc xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
  <file>
    <header>
      <its:rules version="2.0">
        <its:locQualityIssueRule selector="//mrk[@type='x-itslq']"
          locQualityIssuesRefPointer="@ref"/>
      </its:rules>
    </header>
    <unit id="1">
      <segment>
        <source>This is the content</source>
        <target><mrk type="x-itslq" ref="#lq1">c'es</mrk> le contenu</target>
      </segment>
      <its:locQualityIssues xml:id="lq1">
        <its:locQualityIssue locQualityIssueType="misspelling"
          locQualityIssueComment="'c'es' is unknown. Could be 'c'est'"
          locQualityIssueSeverity="50"/>
        <its:locQualityIssue locQualityIssueType="typographical"
          locQualityIssueComment="Sentence without capitalization"
          locQualityIssueSeverity="30"/>
      </its:locQualityIssues>
    </unit>
  </file>
</doc>

[Source file: examples/xml/EX-locQualityIssue-global-2.xml]

ローカル:データカテゴリーをローカルに表示するためにインラインマークアップを使用することは、特定のコンテンツに対して単一の存在に限定される(たとえば、最も内側のものが他のものを上書きするため、同じテキストのスパンに適用される異なるlocQualityIssueType属性を持つことができない)。そのような場合、ローカル孤立マークアップが提供される。

ローカリゼーション品質評価データカテゴリーは、次のローカルマークアップを使用できる。

  • (インラインマークアップ):

  • または(孤立マークアップ):

    • locQualityIssuesRef属性。その値は、このコンテンツに関連する問題のリストを含むlocQualityIssues要素を指し示すIRIである。

    • locQualityIssuesRef属性で指定された識別子に設定されたxml:id属性をもつlocQualityIssues要素。locQualityIssues要素は次のものを含む:

      • 1つ以上の要素locQualityIssue。各要素は次のものを含む:

    注:

    理想的には、locQualityIssues要素内のlocQualityIssue要素の順序は、文書に追加された順序を反映する。最も最近追加された順序が最初にリストされる。

    属性locQualityIssueTypelocQualityIssueCommentlocQualityIssueSeveritylocQualityIssueProfileRefおよびlocQualityIssueEnabledが孤立方式で使用される場合、それらが保持する情報は、孤立注釈を参照する要素のコンテンツに関連し、宣言される要素locQualityIssueのコンテンツには関係しない。

    HTMLでは、孤立マークアップは、同じHTML文書でscript要素内に格納するか、孤立を内部にもつ任意のlocQualityIssuesRefから外部XMLまたはHTMLファイルにリンクすることができるかのいずれかでなければならない。孤立がscript要素内部にある場合、その要素は値application/its+xmlをもつtype属性を持たなければならない。そのid属性は、それに含まれるlocQualityIssues要素のxml:id属性と同じ値に設定されなければならない

例73:ローカルインラインマークアップを使用してXMLで問題を注釈付けする

locQualityIssueTypelocQualityIssueCommentおよびlocQualityIssueSeverity属性は、問題情報を選択された範囲のコンテンツと直接関連付けるために使用される。

<?xml version="1.0"?>
<doc xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
  <para><span its:locQualityIssueType="typographical"
      its:locQualityIssueComment="Sentence without capitalization"
      its:locQualityIssueSeverity="50">this</span> is an example</para>
</doc>

[Source file: examples/xml/EX-locQualityIssue-local-1.xml]

例74:ローカルインラインマークアップを使用したHTMLで注釈付けする

この例では、コンテンツの複数のspanが品質問題に関連付けられる。

<!DOCTYPE html>
<html lang=en>
  <head>
    <meta charset=utf-8>
    <title>Telharmonium 1897</title>
    <style type=text/css>
         [its-loc-quality-issue-type]{
           background-color:yellow;
           margin:2px;
         }
         [its-loc-quality-issue-severity = "100"]{
           border: 2px solid red;
         }
        </style>
  </head>
  <body>
    <h1>Telharmonium (1897)</h1>
    <p>
      <span
        data-mytool-qacode=named_entity_not_found
        its-loc-quality-issue-comment="Should be Thomas Cahill."
        its-loc-quality-issue-profile-ref=http://example.org/qaMovel/v1
        its-loc-quality-issue-severity=100
        its-loc-quality-issue-type=inconsistent-entities>Christian Bale</span>
      (1867–1934) conceived of an instrument that could transmit its sound
      from a power plant for hundreds of miles to listeners over telegraph wiring.
      Beginning in 1889 the sound quality of regular telephone concerts was very poor
      on account of the buzzing generated by carbon-granule microphones. As a result
      Cahill decided to set a new standard in perfection of sound <span
        its-loc-quality-issue-comment="should be 'quality'"
        its-loc-quality-issue-profile-ref=grammar
        its-loc-quality-issue-severity=50
        its-loc-quality-issue-type=misspelling>qulaity</span> with his instrument,
      a standard that would not only satisfy listeners but that
      would overcome all the flaws of traditional instruments.</p>
  </body>
</html>

[Source file: examples/html5/EX-locQualityIssue-html5-local-1.html]

例75:ローカル孤立マークアップを使用してXMLで問題を注釈付けする

次の例は、複数の問題をエンコードするためにローカル孤立マークアップを使用する文書を示す。mrk要素はコンテンツをマークアップに区切り、問題がリストされるlocQualityIssues要素を指すlocQualityIssuesRef属性を保持する。

<?xml version="1.0"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"
  xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
  <file original="example.doc" source-language="en" datatype="plaintext">
    <body>
      <trans-unit id="1">
        <source xml:lang="en">This is the content</source>
        <target xml:lang="fr"><mrk mtype="x-itslq"
            its:locQualityIssuesRef="#lq1">c'es</mrk> le contenu</target>
        <its:locQualityIssues xml:id="lq1">
          <its:locQualityIssue locQualityIssueType="misspelling"
            locQualityIssueComment="'c'es' is unknown. Could be 'c'est'"
            locQualityIssueSeverity="50"/>
          <its:locQualityIssue locQualityIssueType="typographical"
            locQualityIssueComment="Sentence without capitalization"
            locQualityIssueSeverity="30"/>
        </its:locQualityIssues>
      </trans-unit>
    </body>
  </file>
</xliff>

[Source file: examples/xml/EX-locQualityIssue-local-2.xml]

例76:ローカル孤立マークアップを使用してHTMLに問題を注釈付けする

次の例は、複数の問題をエンコードするためにローカル孤立マークアップを使用する文書を示す。span要素はコンテンツをマークアップで区切り、loc-quality-issues-ref属性を保持する。この属性は、他の特別なspan要素のセット内に問題がリストされている特別なspan要素を指す。

<!DOCTYPE html>
<html>
  <head>
    <meta charset=utf-8>
    <title>Test</title>
    <script src=qaissues.js type=text/javascript></script>
    <script type=application/its+xml id=lq1>
      <its:locQualityIssues xml:id="lq1" xmlns:its="http://www.w3.org/2005/11/its">
        <its:locQualityIssue
          locQualityIssueType="misspelling"
          locQualityIssueComment="'c'es' is unknown. Could be 'c'est'"
          locQualityIssueSeverity="50"/>
        <its:locQualityIssue
          locQualityIssueType="typographical"
          locQualityIssueComment="Sentence without capitalization"
          locQualityIssueSeverity="30"/>
      </its:locQualityIssues>
    </script>
    <style type=text/css>.qaissue { background-color: yellow; } </style>
  </head>
  <body onload=addqaissueattrs()>
    <p>
      <span its-loc-quality-issues-ref=#lq1>c'es</span> le contenu</p>
  </body>
</html>

[Source file: examples/html5/EX-locQualityIssue-html5-local-2.html]

Go to the table of contents.8.17 ローカリゼーション品質評価

Go to the table of contents.8.17.1 定義

ローカリゼーション品質評価データカテゴリーは、文書または文書内のアイテムのローカライズ品質の全体的な測定値を表すために使用される。

このデータカテゴリーは、特定の項目または文書の品質スコアまたは投票結果を指定したり、合格スコアまたは投票を構成するものを示したりすることを可能にする。また、スコアリングや投票に使用される品質評価モデルを記述するプロファイルを指すことも可能にする。

Go to the table of contents.8.17.2 実装

ローカリゼーション品質評価データカテゴリーは、個々の要素に対してのみローカルに表現される。データカテゴリー情報は、子要素を含むが属性を除く、要素のテキストコンテンツを継承する

ローカル:ローカリゼーション品質評価データカテゴリーは、次のローカルマークアップを使用できる:

  • 厳密に、次のいずれか:

    • locQualityRatingScore属性。その値は、区間0以上100以下における有理数となる。値は、制約ファセット0に設定するminInclusiveおよび100に設定するmaxInclusiveをもつXMLスキーマdoubleデータ型に従う。より高い値は、よりよい品質を表す。

    • locQualityRatingVote属性。その値は、より良い投票を示すより高い値を持つ符号付き整数である。

  • locQualityRatingScoreを使用する場合:

    • 使用されるプロファイルで合格スコアを構成する最低スコアを示すオプションのlocQualityRatingScoreThreshold属性。その値は、区間0以上100以下における有理数となる。値は、制約ファセット0に設定するminInclusiveおよび100に設定するmaxInclusiveをもつXMLスキーマdoubleデータ型に従う。

  • locQualityRatingVoteを使用する場合:

    • 使用されるプロファイルで合格投票を構成する最小値を示すオプションのlocQualityRatingVoteThreshold属性。その値は符号付き整数である。

  • オプションのlocQualityRatingProfileRef属性。その値は、スコアリングに使用される品質評価モデルを説明する参考資料を指し示すIRIである。

例77:XMLでローカルに表現されるローカリゼーション品質評価データカテゴリー

locQualityRatingScorelocQualityRatingThresholdおよびlocQualityRatingProfileRefは、文書の品質をスコアリングするために使用される。

<?xml version="1.0"?>
<doc xml:lang='nl'
  xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0"
  its:locQualityRatingScore="100"
  its:locQualityRatingScoreThreshold="95"
  its:locQualityRatingProfileRef="http://example.org/qaModel/v13">
  <title>De lotgevallen van Tom Sawyer</title>
  <para>Hij kwam vrij laat te huis, en toen hij voorzichtig het raam insprong,
   viel hij in eene hinderlaag, in de persoon van zijne tante, bij wie, toen zij
   den staat zag, waarin zijne kleederen verkeerden, het besluit om zijn vrijen
   Zaterdag in een gevangenschap met dwangarbeid te veranderen, onherroepelijk
   vaststond.</para>
</doc>

[Source file: examples/xml/EX-locQualityRating-local-1.xml]

例78:HTMLでローカルに表現されるローカリゼーション品質評価データカテゴリー

its-loc-quality-rating-scoreits-loc-quality-rating-score-thresholdおよびits-loc-quality-rating-profile-refは、文書の品質をスコアリングするために使用される。

<!DOCTYPE html>
<html lang=fr
  its-loc-quality-rating-profile-ref=http://example.org/qaModel/v13
  its-loc-quality-rating-score=90
  its-loc-quality-rating-score-threshold=80
  >
 <head>
  <meta charset=utf-8>
  <title>Rikki-tikki-tavi</title>
 </head>
 <body>
  <p>C'est l'histoire de la grande guerre que Rikki-Tikki-Tavi a combattu tout seul, 
   à travers les salles de bain du grand bungalow au cantonnement Segowlee. Darzee,
   le tailbird, l'a aidé, et Chuchundra, le rat musqué, qui ne sort jamais jusqu'au
   milieu du plancher, mais se glisse toujours contre la paroi, lui donnait des
   conseils, mais Rikki-Tikki-Tavi fait le véritable combat.</p>
 </body>
</html>

[Source file: examples/html5/EX-locQualityRating-html5-local.html]

Go to the table of contents.8.18 MT信頼

Go to the table of contents.8.18.1 定義

MT信頼データカテゴリーは、機械翻訳エンジンから得た信頼スコアを、エンジンが提供した翻訳の正確さに伝達するために使用される。これは、機械翻訳エンジンとプラットフォームとの間で同等なスコアを提供するためのものではない。このデータカテゴリーは、信頼スコアとMT有用性の人間の評価、または編集後の認知努力のいずれかとの間に何らかの相関関係を確立することを目的としない。ハーモナイゼーションのために、MT信頼は0以上1以下の範囲で有理数として提供される。

注:

実装者は、浮動小数点数を解釈し、10進数2桁までのパーセント(0-100%)やフォントまたは背景の色分けなどの、都合の良い形式で人間および他の消費者に提示することが期待される。

注:

MT信頼データカテゴリーによって提供される値は、1) MTエンジンによって生成された翻訳の品質スコア、または2) MTシステムの内部特性および追加の外部特性を使用する品質推定スコアである。この理由から、MT信頼がMTエンジンに関する追加情報を(annotatorsRef属性またはHTMLのits-annotators-ref属性を使用して)提供することが重要である。そうでなければ、それ自身のスコアは解釈しかつ再利用するのが難しい。2)の場合、MT信頼はスコアを導出する際に使用されたすべての追加のツールに関する情報を潜在的に伝える。

このデータカテゴリーは、次を含むがこれに限定されない、さまざまな用途に使用することができる:

  • 経験的に設定されるしきい値に基づいてさらに処理する生の機械翻訳テキストの自動優先順位付け。

  • 機械翻訳テキストの読者、翻訳者、後編集者、校閲者、校正者に自己報告の相対精度予測を提供する。

たとえば、簡単なウェブベースの翻訳エディター上でまたはコンピューター支援翻訳(CAT)ツールによって、MT信頼スコアを表示することができる。

Go to the table of contents.8.18.2 実装

MT信頼データカテゴリーは、グローバル規則で、または個々の要素にローカルで表現することができる。要素に対して、データカテゴリー情報は、子要素を含むが属性を除く、要素のテキストコンテンツによって継承される

MT信頼データカテゴリーによって選択された任意のノードは、MT信頼データカテゴリーに指定されたannotatorsRef(またはHTMLでits-annotators-ref)属性をもつ要素に含まれなければならない。詳細については、5.7節:ITSツール注釈を参照のこと。

グローバル:mtConfidenceRule要素は、次を含む:

例79:2つのimg要素のtitle属性の英語への翻訳の信頼スコアを指定するためのHTML文書におけるmtConfidenceRuleをグローバルな使用法。
<!DOCTYPE html>
<html lang=en>
 <head>
  <meta charset=utf-8>
  <link href=EX-mtconfidence-global-html5-1-external-rules.xml rel=its-rules>
   <title>Machine translated title attributes of img elements give MT 
           confidence scores using global rules</title>
  </head>
  <body its-annotators-ref="mt-confidence|file:///tools.xml#T1">
   <p>     
    <img src="http://upload.wikimedia.org/wikipedia/commons/9/93/Trinity_College.jpg" 
         title="Front gate of Trinity College Dublin"
         alt="alternative description"/>
   <img src="http://upload.wikimedia.org/wikipedia/commons/c/cc/Molly_alone.jpg" 
        title="A tart with a cart"
        alt="alternative description"/>
  </p>  
 </body>
</html>

[Source file: examples/html5/EX-mtConfidence-global-html5-1.html]

外部ITSルールファイルが示される場所は次のとおり:

例80:HTMLファイルからの外部ルール参照をもつXMLファイル
<?xml version="1.0" encoding="UTF-8"?>
<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0"
    xmlns:h="http://www.w3.org/1999/xhtml">
    <its:mtConfidenceRule mtConfidence="0.785" 
      selector="//h:img[@title='Front gate of Trinity College Dublin']/@title"/>        
    <its:mtConfidenceRule mtConfidence="0.805" 
      selector="//h:img[@title='A tart with a cart']/@title"/>        
</its:rules>

[Source file: examples/html5/EX-mtconfidence-global-html5-1-external-rules.xml]

ローカル:次のローカルマークアップはMT信頼データカテゴリーに使用できる:

例81:XML文書内のspanのコンテンツに対してローカルに表現されるMT信頼データカテゴリー。
<text xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0"
  its:annotatorsRef="mt-confidence|file:///tools.xml#T1">
  <body>
    <p>
      <span its:mtConfidence="0.8982">Dublin is the capital city of
        Ireland.</span>
    </p>
  </body>
</text>

[Source file: examples/xml/EX-mtConfidence-local-1.xml]

例82:HTML文書内の2つの個別spanのコンテンツに対してローカルに表現されるMT信頼データカテゴリー。
<!DOCTYPE html>
<html lang=en >
   <head>
      <meta charset=utf-8>
      <title>Sentences about Dublin and Prague 
         machine translated from Czech with mtConfidence locally.</title>
   </head>
    <body its-annotators-ref="mt-confidence|file:///tools.xml#T1">
       <p>     
         <span its-mt-confidence=0.8982>Dublin is the capital of Ireland.</span>
         <span its-mt-confidence=0.8536 >The capital of the Czech Republic is Prague.</span>
      </p>  
   </body>
</html>

[Source file: examples/html5/EX-mtConfidence-html5-local-1.html]

Go to the table of contents.8.19 許容文字

Go to the table of contents.8.19.1 定義

許容文字データカテゴリーは、特定のコンテンツの一部分で許可される文字を指定するために使用される。

このデータカテゴリーは、次の例を含むさまざまな目的で使用することができる:

  • フォント制限のためにゲームのUIで使用される文字を制限する。

  • ファイルまたはディレクトリ名を表すテキストコンテンツとして不正な文字が入力されないようにする。

  • コンテンツ内のログイン名の例を翻訳する際に使用することができる文字を制御する。

注:

許容文字データカテゴリーは、HTMLマークアップを禁止するためのものではない。この目的は、コンテンツをURLまたはファイル名の生成に使用する場合など、コンテンツをさまざまな文字に制限することである。ほとんどのコンテンツ管理システムにおいて、コンテンツは複数のフィールドに分割され、そのうちのいくつかはプレーンテキストに制限される一方で、他のフィールドはHTMLフラグメントが許可されるかもしれない。そのような制限を実施することは、このデータカテゴリーの範囲外である。

許可される文字のセットは、正規表現を使用して指定される。つまり、選択されたコンテンツの各文字は、正規表現で指定されたセットに含まれなければならない

正規表現は、次のように定義される文字クラス構造charClassである:

  • [1] charClass ::= singleCharEsc | charClassExpr | wildcardEsc

  • [2] singleCharEsc ::= '\' [nrt\|.?*+(){}#x2D#x5B#x5D#x5E]

  • [3] charClassExpr ::= '[' charGroup ']'

  • [4] charGroup ::= posCharGroup | negCharGroup

  • [5] posCharGroup ::= ( charRange | singleCharEsc )+

  • [6] charRange ::= seRange | xmlCharIncDash

  • [7] seRange ::= charOrEsc '-' charOrEsc

  • [8] charOrEsc ::= xmlChar | singleCharEsc

  • [9] xmlChar ::= [^\#x2D#x5B#x5D]

  • [10] xmlCharIncDash ::= [^\#x5B#x5D]

  • [11] negCharGroup ::= '^' posCharGroup

  • [12] wildcardEsc ::= '.'

.メタキャラクターはまた、CARRIAGE RETURN (U+000D)およびLINE FEED (U+000F)にマッチする。 つまり、ドットオールオプションが設定される。

この構造体は、XML Schema [XML Schema Part 2]Character Classes構造のサブセットであり、他のほとんどの正規表現エンジンと互換性がある。

注:

ユーザーは、上記の定義に従っているかどうかを確認するために正規表現を使用したいかもしれない。許可された文字で正規表現が検証される正規表現の例を示す。XML用およびJava用である。

式の例(XMLソースとして表示):

  • "[abc]":文字'a'、'b'および'c'を許可する。

  • "[a-c]":文字'a'、'b'および'c'を許可する。

  • "[a-zA-Z]":文字'a'から'z'までおよび'A'から'Z'までを許可する。

  • "[^abc]":'a'、'b'および'c'以外の任意の文字を許可する。

  • "[^&#x0061;-c]":'a'、'b'および'c'以外の任意の文字を許可する。

  • "[^&lt;>:&quot;\\/|\?*]":Windowsファイル名に有効な文字のみを許可する。

  • ".":任意の文字を許可する。

  • "":一切の文字を許可しない。

Go to the table of contents.8.19.2 実装

許容文字データカテゴリーは、グローバル規則で、または個々の要素にローカルで表現することができる。要素に対して、データカテゴリー情報は、子要素を含むが属性を除く、要素のテキストコンテンツを継承する

グローバル:allowedCharactersRule要素は、次を含む:

  • 必須のselector属性。この規則を適用するノードを選択する絶対セレクターが含まれる。

  • 厳密に、次のいずれか:

    • 許可された文字を示す正規表現を含むallowedCharacters属性。

    • allowedCharactersと厳密に同じセマンティクスをもつノードを指す相対セレクターを含むallowedCharactersPointer属性。

例83:XMLでグローバルに表現される許容文字のデータカテゴリー

allowedCharactersRule要素は、要素contentの翻訳されたコンテンツに文字*および+を含めることができないことを示す。

<?xml version="1.0"?>
<myRes xmlns:its="http://www.w3.org/2005/11/its">
  <head>
    <its:rules version="2.0">
      <its:allowedCharactersRule allowedCharacters="[^*+]" selector="//content"/>
    </its:rules>
  </head>
  <body>
    <content>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
      nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed
      diam voluptua.</content>
  </body>
</myRes>

[Source file: examples/xml/EX-allowedCharacters-global-1.xml]

例84:XMLで許容文字データカテゴリーをマッピングする

属性allowedCharactersPointerは、この文書で非ITS属性setにデータカテゴリーをマップするために使用される。属性は、allowedCharactersと同じセマンティクスを持つ。

<?xml version="1.0"?>
<res xmlns:its="http://www.w3.org/2005/11/its">
  <head>
    <its:rules version="2.0">
      <its:allowedCharactersRule selector="//record" allowedCharactersPointer="@set"/>
    </its:rules>
  </head>
  <record id="a1" set="[ &#xFF01;–&#xFF5E;]">FULL WIDTH ONLY</record>
</res>

[Source file: examples/xml/EX-allowedCharacters-global-2.xml]

ローカル:次のローカルマークアップは許容文字データカテゴリに対して使用することができる:

  • 許可された文字を示す正規表現を含むallowedCharacters属性。

例85:XMLでローカルに表現される許容文字データカテゴリー

ローカルallowedCharacters属性は、要素panelmsgの翻訳されたコンテンツがU+0020とU+00FEの間のUnicode文字のみを含めることが許可されることを指定する。

<?xml version="1.0"?>
<messages xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
  <msg num="123">Click the <panelmsg its:allowedCharacters="[&#x0020;-&#x00FE;]"
      >CONTINUE</panelmsg> Button on the printer panel</msg>
</messages>

[Source file: examples/xml/EX-allowedCharacters-local-1.xml]

例86:HTMLでローカルに表現される許容文字データカテゴリー

ローカルits-allowed-characters属性は、要素codeの翻訳された内容が、いずれの場合にも'a'から'z'以外の文字およびアンダースコアとマイナスの文字を含むことができないことを指定する。

<!DOCTYPE html>
<html lang=en>
  <head>
    <meta charset=utf-8>
    <title>Example</title>
  </head>
  <body>
    <p>Login names can only use letters from A to Z (upper or lowercase)
    and the character underscore (_) and minus (-).
    For example: <code its-allowed-characters=[a-zA-Z_\-]>Huck_Finn</code>.</p>
  </body>
</html>

[Source file: examples/html5/EX-allowedCharacters-html5-local-1.html]

Go to the table of contents.8.20 ストレージサイズ

Go to the table of contents.8.20.1 定義

ストレージサイズデータカテゴリーは、特定コンテンツの最大ストレージサイズを指定するために使用される。

このデータカテゴリーは、次の例を含むさまざまな目的で使用することができる:

  • 文字列が固定サイズのデータベースフィールドに収まるかどうかを変換中に確認する。

  • 実行時に固定長メモリーバッファーに格納される文字列のサイズを制御する。

ストレージサイズは常にバイトで表され、先頭のバイトオーダーマーカーは除外される。これは、コンテンツの格納時に、使用される文字エンコーディングおよび改行タイプとともに提供される。エンコーディング形式がバイトを単位として使用しない場合(たとえば、UTF-16が16ビットコード単位を使用する場合)、ストレージサイズはバイト単位で指定しなければならない(たとえば、UTF-16の場合:16ビットコード単位あたり2バイト)。

特定コンテンツのストレージサイズを検証するアプリケーションは、次の手順を実行することが期待される:

  • 検証するコンテンツのすべてのLINE FEED (U+000A)文字は改行タイプで指定された文字に置換される。

  • 結果の文字列は、指定されたエンコーディングの文字エンコーダーを使用してバイトの配列に変換される。指定されたエンコーディングで文字を表現することができない場合、エラーが生成される。

  • 先頭のバイトがバイトオーダーマークを表す場合、そのバイトはその配列から除去される。

  • 結果の配列の長さは、提供されたストレージサイズと比較される。長さがストレージサイズより大きい場合、コンテンツは長すぎる。

注:

ストレージサイズの大きさはテキストの表示長さに直接関係せず、したがって表示長さの制約の仕組みとして意図されない。

Go to the table of contents.8.20.2 実装

ストレージサイズデータカテゴリーは、グローバル規則で、または個々の要素にローカルで表現することができる。継承はない。文字エンコーディングのデフォルト値は"UTF-8"であり、改行のデフォルト値は"lf"(LINE FEED (U+000A))である。

グローバル:storageSizeRule要素は、次を含む:

  • 必須のselector属性。この規則を適用するノードを選択する絶対セレクターが含まれる。

  • 厳密に、次のいずれか:

    • storageSize属性。これは、選択されたノードのテキストがストレージ内で許可される最大バイト数を含む。

    • storageSizeと厳密に同じセマンティクスを持つノードを指す相対セレクターを含むstorageSizePointer属性。

  • いずれでもないまたは次のうちどれか厳密に1つ:

    • storageEncoding属性。これは、選択されたテキストのバイト数を計算するために使用される文字エンコーディングの名前を含む。名前は、IANA Character Sets registry [IANA Character Sets]にリストされる名前またはエイリアスの1つでなければならない。デフォルト値は、文字列"UTF-8"である。

    • storageEncodingと厳密に同じセマンティクスを持つノードを指す相対セレクターを含むstorageEncodingPointer属性。

  • オプションのlineBreakType属性。これはストレージが使用する改行のタイプを示す。可能な値は、CARRIAGE RETURN (U+000D)の場合"cr"、LINE FEED (U+000A)の場合"lf"、CARRIAGE RETURN (U+000D)に続くLINE FEED (U+000A)の場合"crlf"である 。デフォルト値は、"lf"である。

例87:XMLでグローバルに表現されるストレージサイズデータカテゴリー

storageSizeRule要素は、ISO-8859-1でエンコードされる場合、country要素のコンテンツが25バイトを超えないように指定するために使用される。名前"Papouasie-Nouvelle-Guinée"は25文字長であり、ISO-8859-1のすべての文字が1バイトとしてエンコードされるため適合する。

<?xml version="1.0"?>
<db>
  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
    <its:storageSizeRule selector="//country" storageSize="25"
      storageEncoding="ISO-8859-1"/>
  </its:rules>
  <data>
    <country id="123">Papouasie-Nouvelle-Guinée</country>
    <country id="139">République Dominicaine</country>
  </data>
</db>

[Source file: examples/xml/EX-storageSize-global-1.xml]

例88:XMLでストレージサイズデータカテゴリーをマッピングする

storageSizePointer属性は、非ITS属性maxstorageSizeと同じ機能にマッピングするために使用される。文字エンコーディングが指定されないため、デフォルトのUTF-8が使用される。名前"Papouasie-Nouvelle-Guinée"は25文字長であるが、文字'é'はUTF-8で2バイトにエンコードされることに注意する。したがって、この名前は1バイト長すぎてその格納先に収まらない。

<?xml version="1.0"?>
<fields>
  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
    <its:storageSizeRule selector="//field" storageSizePointer="@max"/>
  </its:rules>
  <field type="country" id="123" max="25">Papouasie-Nouvelle-Guinée</field>
  <field type="country" id="139" max="25">République Dominicaine</field>
</fields>

[Source file: examples/xml/EX-storageSize-global-2.xml]

ローカル:次のローカルマークアップはストレージサイズデータカテゴリに対して使用することができる:

  • storageSize属性。これは、選択されたノードのテキストがストレージ内で許可される最大バイト数を含む。

  • オプションのstorageEncoding属性。これは、選択されたテキストのバイト数を計算するために使用される文字エンコーディングの名前を含む。名前は、IANA Character Sets registry [IANA Character Sets]にリストされる名前またはエイリアスの1つでなければならない。デフォルト値は、文字列"UTF-8"である。

  • オプションのlineBreakType属性。これはストレージが使用する改行のタイプを示す。可能な値は、CARRIAGE RETURN (U+000D)の場合"cr"、LINE FEED (U+000A)の場合"lf"、CARRIAGE RETURN (U+000D)に続くLINE FEED (U+000A)の場合"crlf"である 。デフォルト値は、"lf"である。

例89:XMLでグローバルに表現されるストレージサイズデータカテゴリー

storageSize属性は、ドキュメント全体で異なる最大ストレージサイズを指定できます。文字列CONTINUEは、指定された8バイトの制限に適合しないことに注意する。そのような文字列をUTF-16に格納するための最低限のバイト数は16である。

<?xml version="1.0"?>
<messages xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
  <var num="panelA1_Continue" its:storageSize="8" its:storageEncoding="UTF-16">CONTINUE</var>
  <var num="panelA1_Stop" its:storageSize="8" its:storageEncoding="UTF-16">STOP</var>
  <var num="panelB5_Cancel" its:storageSize="12" its:storageEncoding="UTF-16">CANCEL</var>
</messages>

[Source file: examples/xml/EX-storageSize-local-1.xml]

例90:HTMLでグローバルに表現されるストレージサイズデータカテゴリー

its-storage-sizeは、2つの編集可能な文字列がUTF-8で持つことができる最大バイト数を指定するためにここで使用される。

<!DOCTYPE html>
<html lang=en>
  <head>
    <meta charset=utf-8>
    <title>Example</title>
  </head>
  <body>
    <p>String to translate:</p>
    <p contenteditable=true id=123 its-storage-size=25>Papua New-Guinea</p>
      <p contenteditable=true id=139 its-storage-size=25>Dominican Republic</p>
  </body>
</html>

[Source file: examples/html5/EX-storageSize-html5-local-1.html]

Go to the table of contents.A 参考文献

この章は規範である。

BCP47
Addison Phillips, Mark Davis. Tags for Identifying Languages, September 2009. Available at http://www.rfc-editor.org/rfc/bcp/bcp47.txt.
HTML 4.01
Dave Raggett et al. HTML 4.01. W3C Recommendation 24 December 1999. Available at http://www.w3.org/TR/1999/REC-html401-19991224/. The latest version of HTML 4.01 is available at http://www.w3.org/TR/html401.
HTML5
Robin Berjon et al. HTML5. W3C Candidate Recommendation 06 August 2013. Available at http://www.w3.org/TR/2013/CR-html5-20130806/. The latest version of HTML5 is available at http://www.w3.org/TR/html5/.
IANA Character Sets
Character Sets Available at http://www.iana.org/assignments/character-sets.
QAFRAMEWORK
Karl Dubost, Lynne Rosental, Dominique Hazaël-Massieux, Lofton Henderson. QA Framework: Specification Guidelines. W3C Recommendation 17 August 2005. Available at http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/. The latest version of QAFRAMEWORK is available at http://www.w3.org/TR/qaframe-spec/.
RELAX NG
Information technology – Document Schema Definition Language (DSDL) – Part 2: Regular-grammar-based validation – RELAX NG. International Organization for Standardization (ISO) ISO/IEC 19757-2:2003.
RFC 2119
S. Bradner. Key Words for use in RFCs to Indicate Requirement Levels. IETF RFC 2119, March 1997. Available at http://www.ietf.org/rfc/rfc2119.txt.
RFC 3987
Martin Dürst, Michel Suignard. Internationalized Resource Identifiers (IRIs). RFC 3987, January 2005. See http://www.ietf.org/rfc/rfc3987.txt.
Selectors Level 3
Tantek Çelik, Elika J. Etemad, Daniel Glazman, Ian Hickson, Peter Linss, John Williams Selectors Level 3. W3C Recommendation 29 September 2011. Available at http://www.w3.org/TR/2011/REC-css3-selectors-20110929/. The latest version of Selectors Level 3 is available at http://www.w3.org/TR/css3-selectors/.
Unicode
The Unicode Consortium. The Unicode Standard, Version 6.2.0, , ISBN 978-1-936213-07-8, as updated from time to time by the publication of new versions. (See http://www.unicode.org/unicode/standard/versions for the latest version and additional information on versions of the standard and of the Unicode Character Database).
XLink 1.1
Steve DeRose, Eve Maler, David Orchard, Norman Walsh. XML Linking Language 1.1. W3C Recommendation 6 May 2010. Available at http://www.w3.org/TR/2010/REC-xlink11-20100506/. The latest version of XLink 1.1 is available at http://www.w3.org/TR/xlink11/.
XML 1.0
Tim Bray, Jean Paoli, C.M. Sperberg-McQueen, et al., editors. Extensible Markup Language (XML) 1.0 (Fifth Edition), W3C Recommendation 26 November 2008. Available at http://www.w3.org/TR/2008/REC-xml-20081126//. The latest version of XML 1.0 is available at http://www.w3.org/TR/xml/.
XML ID
Jonathan Marsh, Daniel Veillard, Norman Walsh. xml:id Version 1.0. W3C Recommendation 9 September 2005. Available at http://www.w3.org/TR/2005/REC-xml-id-20050909/. The latest version of xml:id Version 1.0 is available at http://www.w3.org/TR/xml-id/.
XML Infoset
John Cowan, Richard Tobin. XML Information Set (Second Edition). W3C Recommendation 4 February 2004. Available at http://www.w3.org/TR/2004/REC-xml-infoset-20040204/. The latest version of XML Infoset is available at http://www.w3.org/TR/xml-infoset/.
XML Names
Tim Bray, Dave Hollander, Andrew Layman, Richard Tobin. Namespaces in XML (Second Edition). W3C Recommendation 16 August 2006. Available at http://www.w3.org/TR/2006/REC-xml-names-20060816/. The latest version of XML Names is available at http://www.w3.org/TR/REC-xml-names/.
XML Schema
Henry S. Thompson, David Beech, Murray Maloney, Noah Mendelsohn. XML Schema Part 1: Structures Second Edition. W3C Recommendation 28 October 2004. Available at http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/. The latest version of XML Schema is available at http://www.w3.org/TR/xmlschema-1/.
XML Schema Part 2
Paul V. Biron, Ashok Malhotra. XML Schema Part 2: Datatypes Second Edition. W3C Recommendation 28 October 2004. Available at http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/. The latest version of XML Schema is available at http://www.w3.org/TR/xmlschema-2/.
XPath 1.0
James Clark. XML Path Language (XPath) Version 1.0. W3C Recommendation 16 November 1999. Available at http://www.w3.org/TR/1999/REC-xpath-19991116/. The latest version of XPath 1.0 is available at http://www.w3.org/TR/xpath/ .

Go to the table of contents.B Internationalization Tag Set (ITS) MIMEタイプ

この章は規範である。

このセクションは、Internationalization Tag Set (ITS)文書のMIMEタイプを定義する。ITS 1.0とITS 2.0の両方を対象とする。

タイプ名:アプリケーション

サブタイプ名:its+xml

必須パラメータ:なし

任意パラメータ:charset

このパラメータは、IETF RFC3023で指定される"application/xml"メディアタイプのcharsetパラメーターと同じセマンティクスを持つ。

エンコーディングの考慮事項:ITS文書に適用される、IETF RFC 3023の3.2節で説明される"application/xml"のものと同一である。

セキュリティーの考慮事項:ITS 1.0またはITS 2.0の文書は、its:rules要素の@xlink:href属性によって、任意のURIまたはIRIが参照解除されることがある。したがって、[RFC 3987] 8章のセキュリティー問題を考慮すべきである。さらに、file:URIによって識別されるリソースのコンテンツは、場合によってはアクセスされ、結果として処理されて返されることがある。ITSグローバル規則の実装は、XPath 1.0またはその後継のサポートが必要である。したがって、グローバル規則の処理は、XPath式の計算中にURIまたはIRIの逆参照を含むかもしれない。任意の大きなメモリー使用量のように、任意の再帰が可能であり、実装はCPUとメモリーの使用量に制限を設け、システム定義関数へのアクセスを制限してもよい。ITS 1.0およびITS 2.0は、拡張を許可する。したがって、application/its+xmlはここに記述される内容を超えてセキュリティーの影響を持つコンテンツを記述することがある。

相互運用性の考慮:相互運用性に関する既知の問題は存在しない。

公開仕様: http://www.w3.org/TR/2007/REC-its-20070403/およびhttp://www.w3.org/TR/its20/

ITS 1.0 "its:rules"要素を含むXML文書http://www.w3.org/TR/its/#selection-globalにapplication/its+xmlというラベルを付けることができる。http://www.w3.org/TR/its/EX-link-external-rules-2.xml ITS 1.0およびITS 2.0の "rules"をもつファイルにリンクする文書の例を示す。リンク目標はhttp://www.w3.org/TR/its/EX-link-external-rules-1.xmlである。リンク目標がルート要素として"its:rules"を持つ必要はない。セマンティクスの処理は、規則が文書順で集められることである。

このメディアタイプを使用するアプリケーション:この新しいメディアタイプは、ITS 1.0およびITS 2.0をWorld Wide Web上に、例えばローカリゼーションツールによって展開できるように登録されている。

追加情報:

より詳しい情報について連絡する人物および電子メールアドレス: World Wide Web Consortium <web-human at w3.org>

想定される利用法:COMMON

利用法の制限:なし

著者/変更コントローラー: Internationalization Tag Set (ITS) 1.0および2.0仕様は、World Wide Web Consortium Internationalization Tag Set Working Groupの作業成果物である。W3Cは、この仕様を変更することができる。

Go to the table of contents.C ローカリゼーション品質問題のタイプの値

この章は規範である。

locQualityIssueType属性は、異なるローカリゼーション品質保証ツール間の相互運用性の基本レベルを提供する。全自動および手動のローカライゼーション品質評価でよく見られる高水準の品質問題のタイプのリストを提供する。ツールは、たとえ他のツールが生成ツールによって識別された特定の問題を認識しなくても、識別して適切な処置をとる問題の種類に関する情報を交換するために、ツール内部のタイプをこれらのタイプにマップすることができる。

注:

注:locQualityIssueTypeの値は、QTLaunchPadプロジェクトの多次元品質メトリクス(MQM)フレームワークの初期バージョンから得られたものである。MQMは、LISA QAモデル、SAE J2450、およびさまざまな商用ツールなどの、既存の翻訳品質評価ツールおよびモデルの慎重な分析に基づく。値は、これらのモデルに共通する問題タイプを表し、モデル間の相互運用性を提供するように設計されている。細分性と問題タイプの違いは、完全な相互運用性が妨げるかもしれないが、共有値を使用することは、可能な限り相互運用性を最大化する。

次表の範囲の列は、問題タイプがソースコンテンツ(“S”)、ターゲットコンテンツ(“T”)、またはその両方(“SまたはT”)に適用されるかどうかを示す。

次の表に示す値がlocQualityIssueTypeに許可される。理想的に、データカテゴリーを実装するツールは、この表で提供される値の1つと一致する属性に対して生成する値であり、可能な限りセマンティックに正確である。たとえば、grammarの問題ではなく、terminologyの問題としてフレーズ“These man is”に印付けすることは、セマンティックに不正確である。ツールは、内部値をこれらのタイプにマップすることを勧める。値otherは、マッピングできない値のために完全に予約されている。

注:

ITS 2.0ローカライゼーション品質問題マークアップを生成するツールについて、複数のITS 2.0問題タイプとして1つの内部問題タイプを分類することができる場合、次の表から最初に該当するものを使用すべきである。リストは、より具体的なタイプのものから順に並べられている。たとえば、用語データベースが、「USBペンドライブ」の代わりに用語「USBメモリスティック」を使用すべきだが、翻訳されたコンテンツに「使用可能なUSBポートにUSBペンドライブを挿入する」と指定する場合、terminologyはリストの早いほうにあり、かつ(一般的な)mistranslationよりも具体的であるため、terminologymistranslationの代わりに使用される。単一のスパンに複数の別々の問題をマークしなければならない(たとえばmistranslationgrammarの両方の問題がある)場合、実装者は、例75および例76に示すように、孤立アノテーションを使用してもよい。

注:

ITS Interest Groupは、参考となるツール固有の品質問題タイプおよびITS 2.0ローカライゼーション品質タイプのマッピングを維持する。ITS IG Wikiは、そのリストを更新する方法に関する情報を提供する。このマッピングの目的は、ツールの内部情報がITS 2.0品質タイプとどのように関連しているかを文書化することにある。相互運用性を促進するために、実装者はネイティヴにITS 2.0品質タイプを実装することを強く薦める。

説明範囲
terminology 不適切な用語または間違ったドメインの用語が使用された、または用語が一貫して使用されない。
  • 「USBスティック」を使用することを指定した企業の用語の場合、ローカライゼーションに「ペンドライブ」があった。

  • ローカライズされたテキストが、一貫性なく"Start"と"Begin"を使用した。

  • テキストは、ハンガリー語の用語recsegőhidを(リテラルな翻訳として)英語で“buzzer bridge”と表現するが、英語で使用される用語は、翻訳者に提供された用語リストに指定されるように、“wedge block”である。

SまたはTこの値は、定義された用語に関連しない単純な誤植または単語の選択を意図したものではない。たとえば、“pin”を“pen”と誤入力したり、(一般に混乱している2つの単語を間違えて)“infer”の代わりに“imply”を使用したりすると、専門用語としては扱われず、問題の本質次第で、スペルミスまたは誤訳のいずれかに分類される。 用語は、(ドメインで定義される正式または一般のいずれかの)用語に関する誤った選択が関係する場合に対してのみを指す。
mistranslation ターゲットのコンテンツがソースのコンテンツを誤訳する。
  • 英語のソースは、 "An ape succeeded in grasping a banana lying outside its cage with the help of a stick"(猿は杖の助けでかごの外に横たわるバナナをつかんで成功した)と読めるが、イタリア語の翻訳は "l'aperiuscìprendere la la banana posta tuori dall sua gabbia aiutandosi con un bastone"("蜂は..成功した")と読める。

Tドメインまたはタスク固有の言語に関する特定の用語の翻訳に関連する問題は、terminologyの問題として分類される。
omission 必要なテキストは、ローカリゼーションまたはソースから省略されている。
  • 翻訳対象となったソースで見られる1つ以上のセグメントがターゲットに存在しない。

  • アライメントの後、検証ツールは、不正確なセグメント化または何らかのアライメントの問題のために、ターゲットが対応するソースを持たない場所でアライメントされたセグメントのペアにフラグを立てる。そのような場合、'omission'タイプはソースエントリーに適用されてもよい。

SまたはTこの値は空白またはフォーマットコードの欠落に使用するのではなく、むしろ言語的なコンテンツのために予約する必要がある。
untranslated 翻訳を意図したコンテンツが翻訳されずに残される。
  • ソースセグメントは"The Professor said to Smith that he would hear from his lawyer"と読めるが、ハンガリーの現地語は"A professzor azt mondta Smithnek, hogy he would hear from his lawyer."と読める。

T omissionuntranslatedよりも優先される。untranslatedは翻訳されていないソースからテキストが運ばれた場合に対処するが、省略はテキストは存在しない場合に対処する点で区別できる。
addition 翻訳されたテキストが不適切な追加を含む。
  • 翻訳されたテキストは、翻訳者から自分へ単語を検索するためのメモを含む。ノートは削除されるべきであったが、そうではなかった。

T
duplication コンテンツが不適切に複製される。
  • コピーアンドペーストの操作で、対象テキストの一部が不注意で2回コピーされた。

T
inconsistency テキストが自身と矛盾している、または矛盾して翻訳される(注:用語の不一致で使用されない)。
  • テキストは、事件が1912年にある場所で起こったと述べているが、別のテキストでは1812年に起こったと述べている。

  • 翻訳されたテキストは、一連のマニュアルの複数の場所に存在する単一の規制上の注意の複数のインスタンスに対して異なる言い回しを使用する。

SまたはT
grammar テキストは(構文と語形の誤りを含む)文法上の誤りを含む。
  • テキストは、"The guidelines says that users should use a static grounding strap."と読める。

SまたはT
legal テキストは法的に問題がある(たとえば、不適切な法的システムに特有である)。
  • ローカライズされたテキストはタイでの使用を意図するが、米国の規制に関する注意事項を含む。

  • ドイツ語に翻訳されたテキストは、ドイツの法律で認められない比較広告主張を含む。

SまたはT
register テキストは、テキストに不適切なスラングまたは他の言語の異形を使用する誤った言語学的レジスタに書き込まれる。
  • アメリカ英語の金融テキストはドルを"bucks"と呼ぶ。

SまたはT
locale-specific-content ローカリゼーションは、準備されたロケールには適用されないコンテンツを含む。
  • 日本市場向けに翻訳されたテキストは、アメリカでのみ利用可能な特別オファーを参照する、テキサス州のコールセンター番号を含む。

SまたはT法的に不適切な資料は、legalとして分類される。
locale-violation テキストは、意図したロケールの規範に違反する。
  • ドイツ語にローカライズされたテキストの日付は、DD.MM.YYYYの代わりにmm/dd/yyyyの形式になる。

  • アイルランド市場向けのテキストは、センチメートルの代わりにアメリカ式のフットアンドインチ寸法を使用する。

  • アメリカの聴衆を対象としたテキストは、“centre”や“colour”などのイギリス英語を使用する。

SまたはTこの値は、ロケールの期待に特に関連する場合にのみスペルミスに使用することができる(たとえば、アメリカ向けのテキストにはアメリカ英語の代わりにイギリス英語を一貫して使用する)。このエラーが体系的でない場合(たとえば、テキストがアメリカ英語を使用するが、“centre”の単一のインスタンスを持つ場合)、代わりにスペルミスとしてカウントされる。
style テキストは文法上の誤りを含む。
  • 会社風のガイドラインは、すべての人がファミリーネームとともにMr.またはMs.で呼ばれるが、本文は“Jack Smith”と呼ぶ。

SまたはT
characters テキストは、文字化けしたまたは正しくない、またはコンテンツが表示される言語で使用されない文字を含む。
  • テキストは'•'を持つべきであるが、代わりに'¥'記号を持つ。

  • ドイツ語のテキストは、適切な'ü'、'ö'、'ä'の代わりにû、ô、âを誤って使用している。

  • 日本語のテキストが文字化けして、デーヴァナーガリー文字で表示される。

SまたはT文字は、文字化けや不適切な文字の体系的な使用の場合に使用するべきであり、個々の文字が間違った文字に置き換えられるスペルの問題ではない。
misspelling テキストはスペルミスを含む。
  • ドイツ語のテキストは、単語"Zustellung"を"Zustlelung"とスペルミスをする。

SまたはT
typographical テキストは、たとえば省略されたまたは誤った句読記号、誤った大文字などの誤字がある。
  • 英語のテキスト"The man whom, we saw, was in the Military and carried it's insignias"という文がある。

SまたはT
formatting テキストは不正確に書式設定される。
  • テキストの警告は斜体で設定されるはずだが、代わりに太字で表示される。

  • テキストの余白が指定よりも狭い。

SまたはT
inconsistent-entities ソーステキストとターゲットテキストには、異なる名前のエンティティー(日付、時刻、場所名、個人名など)を含む。
  • 名前"Thaddeus Cahill"は英語のソースに表示されるが、チェコ版では"TamašCahill"と表示される。

  • 日付"February 9, 2007"がソースで出現するが、翻訳されたテキストには"2. September 2007"がある。

SまたはT
numbers 数字がソースとターゲットの間に矛盾している。
  • ソーステキストはオブジェクトの長さが120cmと言及するが、ターゲットテキストは129cmと書かれている。

SまたはT一部のツールは、誤検出を減らすために測定単位の違いを訂正することがある(たとえばツールは、異なると思われるが実際には同等の数のフラグを立てることを避けるために、インチとセンチメートルの間の値の差異を調整するかもしれない。)
markup ソースとターゲットの間のマークアップに関連する問題またはマークアップの不一致がある。
  • ソースセグメントは5つのマークアップタグを持つが、ターゲットは2つのみ持つ。

  • テキストで開始タグが終了タグを見落とす。

SまたはT
pattern-problem テキストが、許容可能なコンテンツを定義するパターン(または許容可能でないコンテンツを定義するパターン)と一致しない。
  • このツールは正規表現パターン ['"”’][\.,]を許可しないが、翻訳されたテキストは"A leading “expert”, a political hack, claimed otherwise."を含む。

  • ツールは要素のコンテンツがIRIであることを確認するために正規表現を使用し、不正なIRIと思われるものにフラグを立てる。

SまたはT何が許容パターンであるか、または許容されないパターンであるかの定義は、処理アプリケーションによって異なり、この仕様の範囲外である。問題の原因となったパターンを特定するためにComment属性を使用することがベストプラクティスである。
whitespace ソースコンテンツとターゲットコンテンツとの間の空白に不一致がある、またはテキストが空白の使用に関連する特定の規則に違反している。
  • ソースセグメントは6つのスペース文字で始まるが、対応するターゲットセグメントには開始時に2つのノーブレークスペースがある。

  • テキストは、テーブル内の数字を整列するために、タブ文字の代わりに連続する12個の空白文字を使用する。

  • 1つのスペースしか使用されない場合でも、ピリオドの後に2つのスペース文字が表示される。

SまたはT
internationalization コンテンツの国際化に関連する問題がある。
  • プログラミングコードの行に、言語固有の文字列が埋め込まれている。

  • ユーザーインターフェイス要素にテキスト展開の余地がない。

  • フォームは米国式の郵便番号のみを許可し、5桁の米国郵便番号を求める。

SまたはT国際化の問題には多くの種類がある。したがって、この値は参照可能なものでは非常に異質である。
length ソースとターゲットの長さに大きな違いがある。
  • セグメントの翻訳はソースの5倍の長さとなる。

SまたはT「有意な」長さの違いは、 locQualityIssueProfileRef で参照されるモデルによって決定される。
non-conformance コンテンツは、参照コーパスに対する統計的適合性が低いとみなされる。重大度が高いほど適合性が劣る。文「プリンターに接続されている港がビジー状態であるか正しく設定されていない」は適合性に乏しい。SまたはT不適合は、既知の良好なコンテンツのコーパスに対する類似性の複数の統計的尺度の使用によって決定される。たとえば、分類技法を使用するシステムにおいて、不十分な適合は、誤った用語、誤ったスペルおよび間違った文法、またはシステムによって決定される他の特徴との組み合わせの関数であるかもしれない。
uncategorized 問題は分類されていない、または分類できない。
  • 新しいバージョンのツールは、以前にチェックされておらず、まだ分類されていない問題に関する情報を返す。

  • 不明な起源の意味が分からない文字化けしたテキストの出現(たとえば、翻訳が理解できない結果を示す、および/または原資料とは無関係と思われるなど)のような、テキストは分類に反する方法で欠陥がある。

SまたはTこの値は、次の用途がある:
  1. 他のツールからの問題が分類されない場合(たとえば、ローカリゼーション品質保証ツールとサードパーティの文法チェッカーとのインターフェイスなど)、ツールは、別のツールからの品質データを渡すために使用することができる。

  2. ツールの問題はまだ値に割り当てられておらず、更新された割り当てが行われるまで、それらはuncategorizedとしてリストされてもよい。この場合、uncategorizedは相互運用性を促進しないため、問題を可能な限り早く適切な値に割り当てることが推奨される。

  3. uncategorizedは、分類できないことを示すために、元のシステムまたは他のITSローカリゼーション品質マークアップのいずれかの値への割り当てを拒否する手段としてテキストの一部に欠陥がある場合に使用することができる。

other 上記の任意の値に割り当てることができないすべての問題。SまたはT
  • この値は、前述の値に含まれないすべての問題を含めることを可能にする。上記の値にマップすることができるツールまたはモデル固有の問題にこの値を使用しないことを勧める。

  • また、uncategorizedの問題が別の正確な値に割り当てられることがあるが、その他の問題は割り当てられないという点で、この値はuncategorizedと同義ではない。

  • システムが"miscellaneous"または"other"の値を持つ場合、たとえ問題の特定のインスタンスが別の値にマップされるとしても、この値にマップする方がよりよい。

注:

uncategorizedは、(まだ)より具体的な値に分類されない問題に使用される。たとえば、自動プロセスは注意を要する問題にフラグを立てるかもしれないが、詳細やカテゴリーを指定しないかもしれない。そのような問題はITS 2.0においてuncategorizedとしてリストされる。また、問題の正確な性質が不明であり、かつ結果として分類できない(たとえば、テキストがひどく文字化けし、その原因が不明である)場合にも使用してもよい。対照的に、他のものは、問題の性質が明確だが、ITS 2.0カテゴリーの1つ(またはモデルまたはツールが自身の“other”カテゴリーを持つ場合)に分類することができない。たとえば、字幕の翻訳において、ITS 2.0カテゴリーに対応しておらず、その環境に高度に特有である“respeaking”エラーカテゴリーがある。respeakingエラーは、ITS 2.0でotherと分類される。

Go to the table of contents.D ITSのスキーマ

この章は参考情報である。

注:

スキーマは単なる参考情報であり、いつでも更新されうる。スキーマの更新版は、 ITS 2.0テストスイートにある。

次のスキーマは、ITS要素および属性を定義し、ITSマークアップを独自のXML語彙に統合する際に、ビルディングブロックとして使用することができる。このような統合の例は XML国際化のベストプラクティスにある。

外来要素は、rulesの中でのみ使用することができる。外来属性は、ITSで定義される任意の要素で使用することができる。

次の4つのスキーマが提供される:

1. NVDL文書:次の[NVDL]文書は、ホスト語彙に追加されたITSマークアップの検証を可能にする。ITS要素および属性のみがチェックされる。このNVDL文書/スキーマに対する検証中に、ホスト言語の要素と属性は無視される。

例91:ITS用のNVDLスキーマ
<?xml version="1.0" encoding="UTF-8"?>
<rules xmlns="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0">
  <namespace ns="http://www.w3.org/2005/11/its">
    <validate schema="its20-elements.rng"/>   
  </namespace>
  <namespace ns="http://www.w3.org/2005/11/its" match="attributes">
    <validate schema="its20-attributes.rng"/>
  </namespace>
  <anyNamespace>
    <allow/>
  </anyNamespace>
</rules>

[Source file: schemas/its20.nvdl]

2. 要素および属性のRELAX NGスキーマ:NVDLスキーマは、ITS要素のRELAX NGスキーマと、すべてのITSローカル属性のRELAX NGスキーマの2つのスキーマに依存する。

例92:ITS要素のRELAX NGスキーマ
<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
  <include href="its20.rng"/>
  <start>
    <choice>
      <ref name="its-rules"/>
      <ref name="its-span"/>
      <ref name="its-standoff"/>
    </choice>
  </start>
</grammar>

[Source file: schemas/its20-elements.rng]

スキーマのRELAX NGコンパクト構文バージョン

例93:すべてのITSローカル属性のRELAX NGスキーマ
<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
  <include href="its20.rng"/>
  <start>
    <group>
      <optional>
        <ref name="its-local.attributes"/>
      </optional>
      <optional>
        <ref name="its-attribute.version"/>
      </optional>
    </group>
  </start>
</grammar>

[Source file: schemas/its20-attributes.rng]

スキーマのRELAX NGコンパクト構文バージョン

3. ITSの基本RELAX NGスキーマ:以前の2つのスキーマで参照されるすべてのITS要素および属性は、ITSの基本RELAX NGスキーマで定義される。

例94:ITSの基本RELAX NGスキーマ
<?xml version="1.0" encoding="UTF-8"?>
<grammar ns="http://www.w3.org/2005/11/its" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:its="http://www.w3.org/2005/11/its" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  <include href="its20-types.rng"/>
  <define name="its-attribute.translate">
    <attribute name="its:translate">
      <ref name="its-translate.type"/>
    </attribute>
  </define>
  <define name="its-attribute.translate.nons">
    <attribute name="translate">
      <ref name="its-translate.type"/>
    </attribute>
  </define>
  <define name="its-attribute.dir">
    <attribute name="its:dir">
      <ref name="its-dir.type"/>
    </attribute>
  </define>
  <define name="its-attribute.dir.nons">
    <attribute name="dir">
      <ref name="its-dir.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locNote">
    <attribute name="its:locNote">
      <ref name="its-locNote.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locNote.nons">
    <attribute name="locNote">
      <ref name="its-locNote.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locNoteType">
    <attribute name="its:locNoteType">
      <ref name="its-locNoteType.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locNoteType.nons">
    <attribute name="locNoteType">
      <ref name="its-locNoteType.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locNoteRef">
    <attribute name="its:locNoteRef">
      <ref name="its-locNoteRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locNoteRef.nons">
    <attribute name="locNoteRef">
      <ref name="its-locNoteRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.termInfoRef">
    <attribute name="its:termInfoRef">
      <ref name="its-termInfoRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.termInfoRef.nons">
    <attribute name="termInfoRef">
      <ref name="its-termInfoRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.term">
    <attribute name="its:term">
      <ref name="its-term.type"/>
    </attribute>
  </define>
  <define name="its-attribute.term.nons">
    <attribute name="term">
      <ref name="its-term.type"/>
    </attribute>
  </define>
  <define name="its-attribute.termConfidence">
    <attribute name="its:termConfidence">
      <ref name="its-termConfidence.type"/>
    </attribute>
  </define>
  <define name="its-attribute.termConfidence.nons">
    <attribute name="termConfidence">
      <ref name="its-termConfidence.type"/>
    </attribute>
  </define>
  <define name="its-attribute.withinText">
    <attribute name="its:withinText">
      <ref name="its-withinText.type"/>
    </attribute>
  </define>
  <define name="its-attribute.withinText.nons">
    <attribute name="withinText">
      <ref name="its-withinText.type"/>
    </attribute>
  </define>
  <define name="its-attribute.domainMapping">
    <attribute name="its:domainMapping">
      <ref name="its-domainMapping.type"/>
    </attribute>
  </define>
  <define name="its-attribute.domainMapping.nons">
    <attribute name="domainMapping">
      <ref name="its-domainMapping.type"/>
    </attribute>
  </define>
  <define name="its-attribute.taConfidence">
    <attribute name="its:taConfidence">
      <ref name="its-taConfidence.type"/>
    </attribute>
  </define>
  <define name="its-attribute.taConfidence.nons">
    <attribute name="taConfidence">
      <ref name="its-taConfidence.type"/>
    </attribute>
  </define>
  <define name="its-attribute.taClassRef">
    <attribute name="its:taClassRef">
      <ref name="its-taClassRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.taClassRef.nons">
    <attribute name="taClassRef">
      <ref name="its-taClassRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.taIdent">
    <attribute name="its:taIdent">
      <ref name="its-taIdent.type"/>
    </attribute>
  </define>
  <define name="its-attribute.taIdent.nons">
    <attribute name="taIdent">
      <ref name="its-taIdent.type"/>
    </attribute>
  </define>
  <define name="its-attribute.taIdentRef">
    <attribute name="its:taIdentRef">
      <ref name="its-taIdentRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.taIdentRef.nons">
    <attribute name="taIdentRef">
      <ref name="its-taIdentRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.taSource">
    <attribute name="its:taSource">
      <ref name="its-taSource.type"/>
    </attribute>
  </define>
  <define name="its-attribute.taSource.nons">
    <attribute name="taSource">
      <ref name="its-taSource.type"/>
    </attribute>
  </define>
  <define name="its-attribute.localeFilterList">
    <attribute name="its:localeFilterList">
      <ref name="its-localeFilterList.type"/>
    </attribute>
  </define>
  <define name="its-attribute.localeFilterList.nons">
    <attribute name="localeFilterList">
      <ref name="its-localeFilterList.type"/>
    </attribute>
  </define>
  <define name="its-attribute.localeFilterType">
    <attribute name="its:localeFilterType">
      <ref name="its-localeFilterType.type"/>
    </attribute>
  </define>
  <define name="its-attribute.localeFilterType.nons">
    <attribute name="localeFilterType">
      <ref name="its-localeFilterType.type"/>
    </attribute>
  </define>
  <define name="its-attribute.person">
    <attribute name="its:person">
      <ref name="its-person.type"/>
    </attribute>
  </define>
  <define name="its-attribute.person.nons">
    <attribute name="person">
      <ref name="its-person.type"/>
    </attribute>
  </define>
  <define name="its-attribute.personRef">
    <attribute name="its:personRef">
      <ref name="its-personRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.personRef.nons">
    <attribute name="personRef">
      <ref name="its-personRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.org">
    <attribute name="its:org">
      <ref name="its-org.type"/>
    </attribute>
  </define>
  <define name="its-attribute.org.nons">
    <attribute name="org">
      <ref name="its-org.type"/>
    </attribute>
  </define>
  <define name="its-attribute.orgRef">
    <attribute name="its:orgRef">
      <ref name="its-orgRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.orgRef.nons">
    <attribute name="orgRef">
      <ref name="its-orgRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.tool">
    <attribute name="its:tool">
      <ref name="its-tool.type"/>
    </attribute>
  </define>
  <define name="its-attribute.tool.nons">
    <attribute name="tool">
      <ref name="its-tool.type"/>
    </attribute>
  </define>
  <define name="its-attribute.toolRef">
    <attribute name="its:toolRef">
      <ref name="its-toolRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.toolRef.nons">
    <attribute name="toolRef">
      <ref name="its-toolRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.revPerson">
    <attribute name="its:revPerson">
      <ref name="its-revPerson.type"/>
    </attribute>
  </define>
  <define name="its-attribute.revPerson.nons">
    <attribute name="revPerson">
      <ref name="its-revPerson.type"/>
    </attribute>
  </define>
  <define name="its-attribute.revPersonRef">
    <attribute name="its:revPersonRef">
      <ref name="its-revPersonRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.revPersonRef.nons">
    <attribute name="revPersonRef">
      <ref name="its-revPersonRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.revOrg">
    <attribute name="its:revOrg">
      <ref name="its-revOrg.type"/>
    </attribute>
  </define>
  <define name="its-attribute.revOrg.nons">
    <attribute name="revOrg">
      <ref name="its-revOrg.type"/>
    </attribute>
  </define>
  <define name="its-attribute.revOrgRef">
    <attribute name="its:revOrgRef">
      <ref name="its-revOrgRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.revOrgRef.nons">
    <attribute name="revOrgRef">
      <ref name="its-revOrgRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.revTool">
    <attribute name="its:revTool">
      <ref name="its-revTool.type"/>
    </attribute>
  </define>
  <define name="its-attribute.revTool.nons">
    <attribute name="revTool">
      <ref name="its-revTool.type"/>
    </attribute>
  </define>
  <define name="its-attribute.revToolRef">
    <attribute name="its:revToolRef">
      <ref name="its-revToolRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.revToolRef.nons">
    <attribute name="revToolRef">
      <ref name="its-revToolRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.provRef">
    <attribute name="its:provRef">
      <ref name="its-provRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.provRef.nons">
    <attribute name="provRef">
      <ref name="its-provRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.provenanceRecordsRef">
    <attribute name="its:provenanceRecordsRef">
      <ref name="its-provenanceRecordsRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.provenanceRecordsRef.nons">
    <attribute name="provenanceRecordsRef">
      <ref name="its-provenanceRecordsRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityIssuesRef">
    <attribute name="its:locQualityIssuesRef">
      <ref name="its-locQualityIssuesRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityIssuesRef.nons">
    <attribute name="locQualityIssuesRef">
      <ref name="its-locQualityIssuesRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityIssueType">
    <attribute name="its:locQualityIssueType">
      <ref name="its-locQualityIssueType.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityIssueType.nons">
    <attribute name="locQualityIssueType">
      <ref name="its-locQualityIssueType.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityIssueComment">
    <attribute name="its:locQualityIssueComment">
      <ref name="its-locQualityIssueComment.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityIssueComment.nons">
    <attribute name="locQualityIssueComment">
      <ref name="its-locQualityIssueComment.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityIssueSeverity">
    <attribute name="its:locQualityIssueSeverity">
      <ref name="its-locQualityIssueSeverity.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityIssueSeverity.nons">
    <attribute name="locQualityIssueSeverity">
      <ref name="its-locQualityIssueSeverity.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityIssueProfileRef">
    <attribute name="its:locQualityIssueProfileRef">
      <ref name="its-locQualityIssueProfileRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityIssueProfileRef.nons">
    <attribute name="locQualityIssueProfileRef">
      <ref name="its-locQualityIssueProfileRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityIssueEnabled">
    <attribute name="its:locQualityIssueEnabled">
      <ref name="its-locQualityIssueEnabled.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityIssueEnabled.nons">
    <attribute name="locQualityIssueEnabled">
      <ref name="its-locQualityIssueEnabled.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityRatingScore">
    <attribute name="its:locQualityRatingScore">
      <ref name="its-locQualityRatingScore.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityRatingScore.nons">
    <attribute name="locQualityRatingScore">
      <ref name="its-locQualityRatingScore.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityRatingVote">
    <attribute name="its:locQualityRatingVote">
      <ref name="its-locQualityRatingVote.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityRatingVote.nons">
    <attribute name="locQualityRatingVote">
      <ref name="its-locQualityRatingVote.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityRatingScoreThreshold">
    <attribute name="its:locQualityRatingScoreThreshold">
      <ref name="its-locQualityRatingScoreThreshold.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityRatingScoreThreshold.nons">
    <attribute name="locQualityRatingScoreThreshold">
      <ref name="its-locQualityRatingScoreThreshold.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityRatingVoteThreshold">
    <attribute name="its:locQualityRatingVoteThreshold">
      <ref name="its-locQualityRatingVoteThreshold.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityRatingVoteThreshold.nons">
    <attribute name="locQualityRatingVoteThreshold">
      <ref name="its-locQualityRatingVoteThreshold.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityRatingProfileRef">
    <attribute name="its:locQualityRatingProfileRef">
      <ref name="its-locQualityRatingProfileRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locQualityRatingProfileRef.nons">
    <attribute name="locQualityRatingProfileRef">
      <ref name="its-locQualityRatingProfileRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.mtConfidence">
    <attribute name="its:mtConfidence">
      <ref name="its-mtConfidence.type"/>
    </attribute>
  </define>
  <define name="its-attribute.mtConfidence.nons">
    <attribute name="mtConfidence">
      <ref name="its-mtConfidence.type"/>
    </attribute>
  </define>
  <define name="its-attribute.allowedCharacters">
    <attribute name="its:allowedCharacters">
      <ref name="its-allowedCharacters.type"/>
    </attribute>
  </define>
  <define name="its-attribute.allowedCharacters.nons">
    <attribute name="allowedCharacters">
      <ref name="its-allowedCharacters.type"/>
    </attribute>
  </define>
  <define name="its-attribute.storageSize">
    <attribute name="its:storageSize">
      <ref name="its-storageSize.type"/>
    </attribute>
  </define>
  <define name="its-attribute.storageSize.nons">
    <attribute name="storageSize">
      <ref name="its-storageSize.type"/>
    </attribute>
  </define>
  <define name="its-attribute.storageEncoding">
    <attribute name="its:storageEncoding">
      <ref name="its-storageEncoding.type"/>
    </attribute>
  </define>
  <define name="its-attribute.storageEncoding.nons">
    <attribute name="storageEncoding">
      <ref name="its-storageEncoding.type"/>
    </attribute>
  </define>
  <define name="its-attribute.lineBreakType">
    <attribute name="its:lineBreakType">
      <ref name="its-lineBreakType.type"/>
    </attribute>
  </define>
  <define name="its-attribute.lineBreakType.nons">
    <attribute name="lineBreakType">
      <ref name="its-lineBreakType.type"/>
    </attribute>
  </define>
  <define name="its-attribute.annotatorsRef">
    <attribute name="its:annotatorsRef">
      <ref name="its-annotatorsRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.annotatorsRef.nons">
    <attribute name="annotatorsRef">
      <ref name="its-annotatorsRef.type"/>
    </attribute>
  </define>
  <define name="its-attribute.version">
    <attribute name="its:version">
      <a:documentation>Version of ITS</a:documentation>
      <ref name="its-version.type"/>
    </attribute>
  </define>
  <define name="its-attribute.version.nons">
    <attribute name="version">
      <a:documentation>Version of ITS</a:documentation>
      <ref name="its-version.type"/>
    </attribute>
  </define>
  <define name="its-attribute.queryLanguage">
    <attribute name="its:queryLanguage">
      <ref name="its-queryLanguage.type"/>
    </attribute>
  </define>
  <define name="its-attribute.queryLanguage.nons">
    <attribute name="queryLanguage">
      <ref name="its-queryLanguage.type"/>
    </attribute>
  </define>
  <define name="its-attribute.xlink.href">
    <attribute name="xlink:href">
      <data type="anyURI"/>
    </attribute>
  </define>
  <define name="its-attribute.xlink.type">
    <attribute name="xlink:type">
      <value>simple</value>
    </attribute>
  </define>
  <define name="its-attribute.selector">
    <attribute name="selector">
      <ref name="its-absolute-selector.type"/>
    </attribute>
  </define>
  <define name="its-foreign-attribute">
    <attribute>
      <anyName>
        <except>
          <nsName ns=""/>
        </except>
      </anyName>
    </attribute>
  </define>
  <define name="its-foreign-no-xml-id-attribute">
    <attribute>
      <anyName>
        <except>
          <nsName ns=""/>
          <name>xml:id</name>
        </except>
      </anyName>
    </attribute>
  </define>
  <define name="its-foreign-no-xlink-attribute">
    <attribute>
      <anyName>
        <except>
          <nsName ns=""/>
          <nsName ns="http://www.w3.org/1999/xlink"/>
        </except>
      </anyName>
    </attribute>
  </define>
  <define name="its-any-attribute">
    <attribute>
      <anyName/>
    </attribute>
  </define>
  <define name="its-any-element">
    <element>
      <anyName/>
      <zeroOrMore>
        <choice>
          <zeroOrMore>
            <ref name="its-any-attribute"/>
          </zeroOrMore>
          <text/>
          <ref name="its-any-element"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <define name="its-foreign-element">
    <element>
      <anyName>
        <except>
          <nsName/>
        </except>
      </anyName>
      <zeroOrMore>
        <choice>
          <zeroOrMore>
            <ref name="its-any-attribute"/>
          </zeroOrMore>
          <text/>
          <ref name="its-foreign-element"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <define name="its-rules">
    <element name="rules">
      <a:documentation>Container for global rules</a:documentation>
      <ref name="its-rules.content"/>
      <ref name="its-rules.attributes"/>
    </element>
  </define>
  <define name="its-rules.content">
    <zeroOrMore>
      <ref name="its-param"/>
    </zeroOrMore>
    <zeroOrMore>
      <choice>
        <ref name="its-translateRule"/>
        <ref name="its-locNoteRule"/>
        <ref name="its-termRule"/>
        <ref name="its-dirRule"/>
        <ref name="its-langRule"/>
        <ref name="its-withinTextRule"/>
        <ref name="its-domainRule"/>
        <ref name="its-textAnalysisRule"/>
        <ref name="its-localeFilterRule"/>
        <ref name="its-provRule"/>
        <ref name="its-locQualityIssueRule"/>
        <ref name="its-mtConfidenceRule"/>
        <ref name="its-externalResourceRefRule"/>
        <ref name="its-targetPointerRule"/>
        <ref name="its-idValueRule"/>
        <ref name="its-preserveSpaceRule"/>
        <ref name="its-allowedCharactersRule"/>
        <ref name="its-storageSizeRule"/>
        <ref name="its-foreign-element"/>
      </choice>
    </zeroOrMore>
  </define>
  <define name="its-rules.attributes">
    <ref name="its-attribute.version.nons"/>
    <optional>
      <ref name="its-attribute.xlink.href"/>
      <optional>
        <ref name="its-attribute.xlink.type"/>
      </optional>
    </optional>
    <optional>
      <ref name="its-attribute.queryLanguage.nons"/>
    </optional>
    <zeroOrMore>
      <ref name="its-foreign-no-xlink-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-param">
    <element name="param">
      <a:documentation>Declaration of variable used in selectors</a:documentation>
      <ref name="its-param.content"/>
      <ref name="its-param.attributes"/>
    </element>
  </define>
  <define name="its-param.content">
    <text/>
  </define>
  <define name="its-param.attributes">
    <attribute name="name">
      <data type="string"/>
    </attribute>
    <zeroOrMore>
      <ref name="its-foreign-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-local.attributes">
    <interleave>
      <optional>
        <ref name="its-attribute.translate"/>
      </optional>
      <optional>
        <ref name="its-attribute.dir"/>
      </optional>
      <optional>
        <choice>
          <ref name="its-attribute.locNote"/>
          <ref name="its-attribute.locNoteRef"/>
        </choice>
        <optional>
          <ref name="its-attribute.locNoteType"/>
        </optional>
      </optional>
      <optional>
        <ref name="its-attribute.term"/>
        <optional>
          <ref name="its-attribute.termInfoRef"/>
        </optional>
        <optional>
          <ref name="its-attribute.termConfidence"/>
        </optional>
      </optional>
      <optional>
        <ref name="its-attribute.withinText"/>
      </optional>
      <optional>
        <interleave>
          <optional>
            <ref name="its-attribute.taConfidence"/>
          </optional>
          <interleave>
            <optional>
              <ref name="its-attribute.taClassRef"/>
            </optional>
            <optional>
              <choice>
                <group>
                  <ref name="its-attribute.taSource"/>
                  <ref name="its-attribute.taIdent"/>
                </group>
                <ref name="its-attribute.taIdentRef"/>
              </choice>
            </optional>
          </interleave>
        </interleave>
      </optional>
      <optional>
        <ref name="its-attribute.localeFilterList"/>
        <optional>
          <ref name="its-attribute.localeFilterType"/>
        </optional>
      </optional>
      <optional>
        <choice>
          <interleave>
            <optional>
              <choice>
                <ref name="its-attribute.person"/>
                <ref name="its-attribute.personRef"/>
              </choice>
            </optional>
            <optional>
              <choice>
                <ref name="its-attribute.org"/>
                <ref name="its-attribute.orgRef"/>
              </choice>
            </optional>
            <optional>
              <choice>
                <ref name="its-attribute.tool"/>
                <ref name="its-attribute.toolRef"/>
              </choice>
            </optional>
            <optional>
              <choice>
                <ref name="its-attribute.revPerson"/>
                <ref name="its-attribute.revPersonRef"/>
              </choice>
            </optional>
            <optional>
              <choice>
                <ref name="its-attribute.revOrg"/>
                <ref name="its-attribute.revOrgRef"/>
              </choice>
            </optional>
            <optional>
              <choice>
                <ref name="its-attribute.revTool"/>
                <ref name="its-attribute.revToolRef"/>
              </choice>
            </optional>
            <optional>
              <ref name="its-attribute.provRef"/>
            </optional>
          </interleave>
          <ref name="its-attribute.provenanceRecordsRef"/>
        </choice>
      </optional>
      <optional>
        <choice>
          <ref name="its-attribute.locQualityIssuesRef"/>
          <interleave>
            <interleave>
              <optional>
                <ref name="its-attribute.locQualityIssueType"/>
              </optional>
              <optional>
                <ref name="its-attribute.locQualityIssueComment"/>
              </optional>
            </interleave>
            <optional>
              <ref name="its-attribute.locQualityIssueSeverity"/>
            </optional>
            <optional>
              <ref name="its-attribute.locQualityIssueProfileRef"/>
            </optional>
            <optional>
              <ref name="its-attribute.locQualityIssueEnabled"/>
            </optional>
          </interleave>
        </choice>
      </optional>
      <optional>
        <choice>
          <group>
            <ref name="its-attribute.locQualityRatingScore"/>
            <optional>
              <ref name="its-attribute.locQualityRatingScoreThreshold"/>
            </optional>
          </group>
          <group>
            <ref name="its-attribute.locQualityRatingVote"/>
            <optional>
              <ref name="its-attribute.locQualityRatingVoteThreshold"/>
            </optional>
          </group>
        </choice>
        <optional>
          <ref name="its-attribute.locQualityRatingProfileRef"/>
        </optional>
      </optional>
      <optional>
        <ref name="its-attribute.mtConfidence"/>
      </optional>
      <optional>
        <ref name="its-attribute.allowedCharacters"/>
      </optional>
      <optional>
        <ref name="its-attribute.storageSize"/>
        <optional>
          <ref name="its-attribute.storageEncoding"/>
        </optional>
        <optional>
          <ref name="its-attribute.lineBreakType"/>
        </optional>
      </optional>
      <optional>
        <ref name="its-attribute.annotatorsRef"/>
      </optional>
    </interleave>
  </define>
  <define name="its-local.nons.attributes">
    <interleave>
      <optional>
        <ref name="its-attribute.translate.nons"/>
      </optional>
      <optional>
        <ref name="its-attribute.dir.nons"/>
      </optional>
      <optional>
        <choice>
          <ref name="its-attribute.locNote.nons"/>
          <ref name="its-attribute.locNoteRef.nons"/>
        </choice>
        <optional>
          <ref name="its-attribute.locNoteType.nons"/>
        </optional>
      </optional>
      <optional>
        <ref name="its-attribute.term.nons"/>
        <optional>
          <ref name="its-attribute.termInfoRef.nons"/>
        </optional>
        <optional>
          <ref name="its-attribute.termConfidence.nons"/>
        </optional>
      </optional>
      <optional>
        <ref name="its-attribute.withinText.nons"/>
      </optional>
      <optional>
        <interleave>
          <optional>
            <ref name="its-attribute.taConfidence.nons"/>
          </optional>
          <interleave>
            <optional>
              <ref name="its-attribute.taClassRef.nons"/>
            </optional>
            <optional>
              <choice>
                <group>
                  <ref name="its-attribute.taSource.nons"/>
                  <ref name="its-attribute.taIdent.nons"/>
                </group>
                <ref name="its-attribute.taIdentRef.nons"/>
              </choice>
            </optional>
          </interleave>
        </interleave>
      </optional>
      <optional>
        <ref name="its-attribute.localeFilterList.nons"/>
        <optional>
          <ref name="its-attribute.localeFilterType.nons"/>
        </optional>
      </optional>
      <optional>
        <choice>
          <interleave>
            <optional>
              <choice>
                <ref name="its-attribute.person.nons"/>
                <ref name="its-attribute.personRef.nons"/>
              </choice>
            </optional>
            <optional>
              <choice>
                <ref name="its-attribute.org.nons"/>
                <ref name="its-attribute.orgRef.nons"/>
              </choice>
            </optional>
            <optional>
              <choice>
                <ref name="its-attribute.tool.nons"/>
                <ref name="its-attribute.toolRef.nons"/>
              </choice>
            </optional>
            <optional>
              <choice>
                <ref name="its-attribute.revPerson.nons"/>
                <ref name="its-attribute.revPersonRef.nons"/>
              </choice>
            </optional>
            <optional>
              <choice>
                <ref name="its-attribute.revOrg.nons"/>
                <ref name="its-attribute.revOrgRef.nons"/>
              </choice>
            </optional>
            <optional>
              <choice>
                <ref name="its-attribute.revTool.nons"/>
                <ref name="its-attribute.revToolRef.nons"/>
              </choice>
            </optional>
            <optional>
              <ref name="its-attribute.provRef.nons"/>
            </optional>
          </interleave>
          <ref name="its-attribute.provenanceRecordsRef.nons"/>
        </choice>
      </optional>
      <optional>
        <choice>
          <ref name="its-attribute.locQualityIssuesRef.nons"/>
          <interleave>
            <interleave>
              <optional>
                <ref name="its-attribute.locQualityIssueType.nons"/>
              </optional>
              <optional>
                <ref name="its-attribute.locQualityIssueComment.nons"/>
              </optional>
            </interleave>
            <optional>
              <ref name="its-attribute.locQualityIssueSeverity.nons"/>
            </optional>
            <optional>
              <ref name="its-attribute.locQualityIssueProfileRef.nons"/>
            </optional>
            <optional>
              <ref name="its-attribute.locQualityIssueEnabled.nons"/>
            </optional>
          </interleave>
        </choice>
      </optional>
      <optional>
        <choice>
          <group>
            <ref name="its-attribute.locQualityRatingScore.nons"/>
            <optional>
              <ref name="its-attribute.locQualityRatingScoreThreshold.nons"/>
            </optional>
          </group>
          <group>
            <ref name="its-attribute.locQualityRatingVote.nons"/>
            <optional>
              <ref name="its-attribute.locQualityRatingVoteThreshold.nons"/>
            </optional>
          </group>
        </choice>
        <optional>
          <ref name="its-attribute.locQualityRatingProfileRef.nons"/>
        </optional>
      </optional>
      <optional>
        <ref name="its-attribute.mtConfidence.nons"/>
      </optional>
      <optional>
        <ref name="its-attribute.allowedCharacters.nons"/>
      </optional>
      <optional>
        <ref name="its-attribute.storageSize.nons"/>
        <optional>
          <ref name="its-attribute.storageEncoding.nons"/>
        </optional>
        <optional>
          <ref name="its-attribute.lineBreakType.nons"/>
        </optional>
      </optional>
      <optional>
        <ref name="its-attribute.annotatorsRef.nons"/>
      </optional>
    </interleave>
  </define>
  <define name="its-span">
    <element name="span">
      <a:documentation>Inline element to contain ITS information</a:documentation>
      <ref name="its-span.content"/>
      <ref name="its-span.attributes"/>
    </element>
  </define>
  <define name="its-span.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="its-span"/>
      </choice>
    </zeroOrMore>
  </define>
  <define name="its-span.attributes">
    <interleave>
      <ref name="its-local.nons.attributes"/>
      <zeroOrMore>
        <ref name="its-foreign-attribute"/>
      </zeroOrMore>
    </interleave>
  </define>
  <define name="its-translateRule">
    <element name="translateRule">
      <a:documentation>Rule about the Translate data category</a:documentation>
      <ref name="its-translateRule.content"/>
      <ref name="its-translateRule.attributes"/>
    </element>
  </define>
  <define name="its-translateRule.content">
    <empty/>
  </define>
  <define name="its-translateRule.attributes">
    <ref name="its-attribute.selector"/>
    <ref name="its-attribute.translate.nons"/>
    <zeroOrMore>
      <ref name="its-foreign-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-locNoteRule">
    <element name="locNoteRule">
      <a:documentation>Rule about the Localization Note data category</a:documentation>
      <ref name="its-attribute.selector"/>
      <ref name="its-attribute.locNoteType.nons"/>
      <choice>
        <ref name="its-locNote"/>
        <ref name="its-attribute.locNotePointer.nons"/>
        <ref name="its-attribute.locNoteRef.nons"/>
        <ref name="its-attribute.locNoteRefPointer.nons"/>
      </choice>
      <zeroOrMore>
        <ref name="its-foreign-attribute"/>
      </zeroOrMore>
    </element>
  </define>
  <define name="its-attribute.locNotePointer.nons">
    <attribute name="locNotePointer">
      <ref name="its-relative-selector.type"/>
    </attribute>
  </define>
  <define name="its-attribute.locNoteRefPointer.nons">
    <attribute name="locNoteRefPointer">
      <ref name="its-relative-selector.type"/>
    </attribute>
  </define>
  <define name="its-locNote">
    <element name="locNote">
      <a:documentation>Localization note</a:documentation>
      <ref name="its-locNote.content"/>
      <ref name="its-locNote.attributes"/>
    </element>
  </define>
  <define name="its-locNote.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="its-span"/>
      </choice>
    </zeroOrMore>
  </define>
  <define name="its-locNote.attributes">
    <ref name="its-local.nons.attributes"/>
    <zeroOrMore>
      <ref name="its-foreign-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-termRule">
    <element name="termRule">
      <a:documentation>Rule about the Terminology data category</a:documentation>
      <ref name="its-termRule.content"/>
      <ref name="its-termRule.attributes"/>
    </element>
  </define>
  <define name="its-termRule.content">
    <empty/>
  </define>
  <define name="its-termRule.attributes">
    <ref name="its-attribute.selector"/>
    <ref name="its-attribute.term.nons"/>
    <optional>
      <choice>
        <ref name="its-attribute.termInfoPointer.nons"/>
        <ref name="its-attribute.termInfoRef.nons"/>
        <ref name="its-attribute.termInfoRefPointer.nons"/>
      </choice>
    </optional>
    <zeroOrMore>
      <ref name="its-foreign-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-attribute.termInfoPointer.nons">
    <attribute name="termInfoPointer">
      <ref name="its-relative-selector.type"/>
    </attribute>
  </define>
  <define name="its-attribute.termInfoRefPointer.nons">
    <attribute name="termInfoRefPointer">
      <ref name="its-relative-selector.type"/>
    </attribute>
  </define>
  <define name="its-dirRule">
    <element name="dirRule">
      <a:documentation>Rule about the Directionality data category</a:documentation>
      <ref name="its-dirRule.content"/>
      <ref name="its-dirRule.attributes"/>
    </element>
  </define>
  <define name="its-dirRule.content">
    <empty/>
  </define>
  <define name="its-dirRule.attributes">
    <ref name="its-attribute.selector"/>
    <ref name="its-attribute.dir.nons"/>
    <zeroOrMore>
      <ref name="its-foreign-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-langRule">
    <element name="langRule">
      <a:documentation>Rule about the Language Information data category</a:documentation>
      <ref name="its-langRule.content"/>
      <ref name="its-langRule.attributes"/>
    </element>
  </define>
  <define name="its-langRule.content">
    <empty/>
  </define>
  <define name="its-langRule.attributes">
    <ref name="its-attribute.selector"/>
    <ref name="its-attribute.langPointer.nons"/>
    <zeroOrMore>
      <ref name="its-foreign-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-attribute.langPointer.nons">
    <attribute name="langPointer">
      <ref name="its-relative-selector.type"/>
    </attribute>
  </define>
  <define name="its-withinTextRule">
    <element name="withinTextRule">
      <a:documentation>Rule about the Elements Within Text data category</a:documentation>
      <ref name="its-withinTextRule.content"/>
      <ref name="its-withinTextRule.attributes"/>
    </element>
  </define>
  <define name="its-withinTextRule.content">
    <empty/>
  </define>
  <define name="its-withinTextRule.attributes">
    <ref name="its-attribute.selector"/>
    <ref name="its-attribute.withinText.nons"/>
    <zeroOrMore>
      <ref name="its-foreign-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-domainRule">
    <element name="domainRule">
      <a:documentation>Rule about the Domain data category</a:documentation>
      <ref name="its-domainRule.content"/>
      <ref name="its-domainRule.attributes"/>
    </element>
  </define>
  <define name="its-domainRule.content">
    <empty/>
  </define>
  <define name="its-domainRule.attributes">
    <ref name="its-attribute.selector"/>
    <ref name="its-attribute.domainPointer.nons"/>
    <optional>
      <ref name="its-attribute.domainMapping.nons"/>
    </optional>
    <zeroOrMore>
      <ref name="its-foreign-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-attribute.domainPointer.nons">
    <attribute name="domainPointer">
      <ref name="its-relative-selector.type"/>
    </attribute>
  </define>
  <define name="its-textAnalysisRule">
    <element name="textAnalysisRule">
      <a:documentation>Rule about the Disambiguation data category</a:documentation>
      <ref name="its-textAnalysisRule.content"/>
      <ref name="its-textAnalysisRule.attributes"/>
    </element>
  </define>
  <define name="its-textAnalysisRule.content">
    <empty/>
  </define>
  <define name="its-textAnalysisRule.attributes">
    <ref name="its-attribute.selector"/>
    <optional>
      <ref name="its-attribute.taClassRefPointer.nons"/>
    </optional>
    <optional>
      <choice>
        <group>
          <ref name="its-attribute.taSourcePointer.nons"/>
          <ref name="its-attribute.taIdentPointer.nons"/>
        </group>
        <ref name="its-attribute.taIdentRefPointer.nons"/>
      </choice>
    </optional>
    <zeroOrMore>
      <ref name="its-foreign-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-attribute.taClassRefPointer.nons">
    <attribute name="taClassRefPointer">
      <ref name="its-taClassRefPointer.type"/>
    </attribute>
  </define>
  <define name="its-attribute.taIdentPointer.nons">
    <attribute name="taIdentPointer">
      <ref name="its-taIdentPointer.type"/>
    </attribute>
  </define>
  <define name="its-attribute.taSourcePointer.nons">
    <attribute name="taSourcePointer">
      <ref name="its-taSourcePointer.type"/>
    </attribute>
  </define>
  <define name="its-attribute.taIdentRefPointer.nons">
    <attribute name="taIdentRefPointer">
      <ref name="its-taIdentRefPointer.type"/>
    </attribute>
  </define>
  <define name="its-localeFilterRule">
    <element name="localeFilterRule">
      <a:documentation>Rule about the LocaleFilter data category</a:documentation>
      <ref name="its-localeFilterRule.content"/>
      <ref name="its-localeFilterRule.attributes"/>
    </element>
  </define>
  <define name="its-localeFilterRule.content">
    <empty/>
  </define>
  <define name="its-localeFilterRule.attributes">
    <ref name="its-attribute.selector"/>
    <ref name="its-attribute.localeFilterList.nons"/>
    <optional>
      <ref name="its-attribute.localeFilterType.nons"/>
    </optional>
    <zeroOrMore>
      <ref name="its-foreign-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-provRule">
    <element name="provRule">
      <a:documentation>Rule about the Provenance data category</a:documentation>
      <ref name="its-provRule.content"/>
      <ref name="its-provRule.attributes"/>
    </element>
  </define>
  <define name="its-provRule.content">
    <empty/>
  </define>
  <define name="its-provRule.attributes">
    <ref name="its-attribute.selector"/>
    <ref name="its-attribute.provenanceRecordsRefPointer.nons"/>
    <zeroOrMore>
      <ref name="its-foreign-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-attribute.provenanceRecordsRefPointer.nons">
    <attribute name="provenanceRecordsRefPointer">
      <ref name="its-relative-selector.type"/>
    </attribute>
  </define>
  <define name="its-externalResourceRefRule">
    <element name="externalResourceRefRule">
      <a:documentation>Rule about the External Resource data category</a:documentation>
      <ref name="its-externalResourceRefRule.content"/>
      <ref name="its-externalResourceRefRule.attributes"/>
    </element>
  </define>
  <define name="its-externalResourceRefRule.content">
    <empty/>
  </define>
  <define name="its-externalResourceRefRule.attributes">
    <ref name="its-attribute.selector"/>
    <ref name="its-attribute.externalResourceRefPointer.nons"/>
    <zeroOrMore>
      <ref name="its-foreign-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-attribute.externalResourceRefPointer.nons">
    <attribute name="externalResourceRefPointer">
      <ref name="its-relative-selector.type"/>
    </attribute>
  </define>
  <define name="its-targetPointerRule">
    <element name="targetPointerRule">
      <a:documentation>Rule about the Target Pointer data category</a:documentation>
      <ref name="its-targetPointerRule.content"/>
      <ref name="its-targetPointerRule.attributes"/>
    </element>
  </define>
  <define name="its-targetPointerRule.content">
    <empty/>
  </define>
  <define name="its-targetPointerRule.attributes">
    <ref name="its-attribute.selector"/>
    <ref name="its-attribute.targetPointer.nons"/>
    <zeroOrMore>
      <ref name="its-foreign-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-attribute.targetPointer.nons">
    <attribute name="targetPointer">
      <ref name="its-relative-selector.type"/>
    </attribute>
  </define>
  <define name="its-idValueRule">
    <element name="idValueRule">
      <a:documentation>Rule about the Id Value data category</a:documentation>
      <ref name="its-idValueRule.content"/>
      <ref name="its-idValueRule.attributes"/>
    </element>
  </define>
  <define name="its-idValueRule.content">
    <empty/>
  </define>
  <define name="its-idValueRule.attributes">
    <ref name="its-attribute.selector"/>
    <ref name="its-attribute.idValue.nons"/>
    <zeroOrMore>
      <ref name="its-foreign-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-attribute.idValue.nons">
    <attribute name="idValue">
      <ref name="its-xpath-expression.type"/>
    </attribute>
  </define>
  <define name="its-preserveSpaceRule">
    <element name="preserveSpaceRule">
      <a:documentation>Rule about the Preserve Space data category</a:documentation>
      <ref name="its-preserveSpaceRule.content"/>
      <ref name="its-preserveSpaceRule.attributes"/>
    </element>
  </define>
  <define name="its-preserveSpaceRule.content">
    <empty/>
  </define>
  <define name="its-preserveSpaceRule.attributes">
    <ref name="its-attribute.selector"/>
    <ref name="its-attribute.space.nons"/>
    <zeroOrMore>
      <ref name="its-foreign-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-attribute.space.nons">
    <attribute name="space">
      <choice>
        <value>default</value>
        <value>preserve</value>
      </choice>
    </attribute>
  </define>
  <define name="its-locQualityIssueRule">
    <element name="locQualityIssueRule">
      <a:documentation>Rule about the Localization Quality Issue data category</a:documentation>
      <ref name="its-locQualityIssueRule.content"/>
      <ref name="its-locQualityIssueRule.attributes"/>
    </element>
  </define>
  <define name="its-locQualityIssueRule.content">
    <empty/>
  </define>
  <define name="its-locQualityIssueRule.attributes">
    <ref name="its-attribute.selector"/>
    <choice>
      <choice>
        <ref name="its-attribute.locQualityIssuesRef.nons"/>
        <ref name="its-attribute.locQualityIssuesRefPointer.nons"/>
      </choice>
      <group>
        <oneOrMore>
          <choice>
            <ref name="its-attribute.locQualityIssueType.nons"/>
            <ref name="its-attribute.locQualityIssueComment.nons"/>
          </choice>
        </oneOrMore>
        <optional>
          <ref name="its-attribute.locQualityIssueSeverity.nons"/>
        </optional>
        <optional>
          <ref name="its-attribute.locQualityIssueProfileRef.nons"/>
        </optional>
        <optional>
          <ref name="its-attribute.locQualityIssueEnabled.nons"/>
        </optional>
      </group>
    </choice>
    <zeroOrMore>
      <ref name="its-foreign-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-attribute.locQualityIssuesRefPointer.nons">
    <attribute name="locQualityIssuesRefPointer">
      <ref name="its-relative-selector.type"/>
    </attribute>
  </define>
  <define name="its-mtConfidenceRule">
    <element name="mtConfidenceRule">
      <a:documentation>Rule about the MT Confidence data category</a:documentation>
      <ref name="its-mtConfidenceRule.content"/>
      <ref name="its-mtConfidenceRule.attributes"/>
    </element>
  </define>
  <define name="its-mtConfidenceRule.content">
    <empty/>
  </define>
  <define name="its-mtConfidenceRule.attributes">
    <ref name="its-attribute.selector"/>
    <ref name="its-attribute.mtConfidence.nons"/>
    <zeroOrMore>
      <ref name="its-foreign-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-allowedCharactersRule">
    <element name="allowedCharactersRule">
      <a:documentation>Rule about the Allowed Characters data category</a:documentation>
      <ref name="its-allowedCharactersRule.content"/>
      <ref name="its-allowedCharactersRule.attributes"/>
    </element>
  </define>
  <define name="its-allowedCharactersRule.content">
    <empty/>
  </define>
  <define name="its-allowedCharactersRule.attributes">
    <ref name="its-attribute.selector"/>
    <choice>
      <ref name="its-attribute.allowedCharacters.nons"/>
      <ref name="its-attribute.allowedCharactersPointer.nons"/>
    </choice>
    <zeroOrMore>
      <ref name="its-foreign-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-attribute.allowedCharactersPointer.nons">
    <attribute name="allowedCharactersPointer">
      <ref name="its-relative-selector.type"/>
    </attribute>
  </define>
  <define name="its-storageSizeRule">
    <element name="storageSizeRule">
      <a:documentation>Rule about the Allowed Characters data category</a:documentation>
      <ref name="its-storageSizeRule.content"/>
      <ref name="its-storageSizeRule.attributes"/>
    </element>
  </define>
  <define name="its-storageSizeRule.content">
    <empty/>
  </define>
  <define name="its-storageSizeRule.attributes">
    <ref name="its-attribute.selector"/>
    <choice>
      <ref name="its-attribute.storageSize.nons"/>
      <ref name="its-attribute.storageSizePointer.nons"/>
    </choice>
    <optional>
      <choice>
        <ref name="its-attribute.storageEncoding.nons"/>
        <ref name="its-attribute.storageEncodingPointer.nons"/>
      </choice>
    </optional>
    <optional>
      <ref name="its-attribute.lineBreakType.nons"/>
    </optional>
    <zeroOrMore>
      <ref name="its-foreign-attribute"/>
    </zeroOrMore>
  </define>
  <define name="its-attribute.storageSizePointer.nons">
    <attribute name="storageSizePointer">
      <ref name="its-relative-selector.type"/>
    </attribute>
  </define>
  <define name="its-attribute.storageEncodingPointer.nons">
    <attribute name="storageEncodingPointer">
      <ref name="its-relative-selector.type"/>
    </attribute>
  </define>
  <define name="its-standoff">
    <choice>
      <ref name="its-provenanceRecords"/>
      <ref name="its-locQualityIssues"/>
    </choice>
  </define>
  <define name="its-provenanceRecords">
    <element name="its:provenanceRecords">
      <a:documentation>Standoff markup for Provenance data category</a:documentation>
      <oneOrMore>
        <ref name="its-provenanceRecord"/>
      </oneOrMore>
      <attribute name="xml:id">
        <data type="ID"/>
      </attribute>
      <optional>
        <ref name="its-attribute.version.nons"/>
      </optional>
      <zeroOrMore>
        <ref name="its-foreign-no-xml-id-attribute"/>
      </zeroOrMore>
    </element>
  </define>
  <define name="its-provenanceRecord">
    <element name="its:provenanceRecord">
      <a:documentation>Provenance record used in Provenance standoff markup</a:documentation>
      <ref name="its-provenanceRecord.attributes"/>
    </element>
  </define>
  <define name="its-provenanceRecord.attributes">
    <interleave>
      <optional>
        <choice>
          <ref name="its-attribute.person.nons"/>
          <ref name="its-attribute.personRef.nons"/>
        </choice>
      </optional>
      <optional>
        <choice>
          <ref name="its-attribute.org.nons"/>
          <ref name="its-attribute.orgRef.nons"/>
        </choice>
      </optional>
      <optional>
        <choice>
          <ref name="its-attribute.tool.nons"/>
          <ref name="its-attribute.toolRef.nons"/>
        </choice>
      </optional>
      <optional>
        <choice>
          <ref name="its-attribute.revPerson.nons"/>
          <ref name="its-attribute.revPersonRef.nons"/>
        </choice>
      </optional>
      <optional>
        <choice>
          <ref name="its-attribute.revOrg.nons"/>
          <ref name="its-attribute.revOrgRef.nons"/>
        </choice>
      </optional>
      <optional>
        <choice>
          <ref name="its-attribute.revTool.nons"/>
          <ref name="its-attribute.revToolRef.nons"/>
        </choice>
      </optional>
      <optional>
        <ref name="its-attribute.provRef.nons"/>
      </optional>
      <zeroOrMore>
        <ref name="its-foreign-attribute"/>
      </zeroOrMore>
    </interleave>
  </define>
  <define name="its-locQualityIssues">
    <element name="its:locQualityIssues">
      <a:documentation>Standoff markup for Localization Quality Issue data category</a:documentation>
      <oneOrMore>
        <ref name="its-locQualityIssue"/>
      </oneOrMore>
      <attribute name="xml:id">
        <data type="ID"/>
      </attribute>
      <optional>
        <ref name="its-attribute.version.nons"/>
      </optional>
      <zeroOrMore>
        <ref name="its-foreign-no-xml-id-attribute"/>
      </zeroOrMore>
    </element>
  </define>
  <define name="its-locQualityIssue">
    <element name="its:locQualityIssue">
      <a:documentation>Issue recorded in Localization Quality standoff markup</a:documentation>
      <ref name="its-locQualityIssue.attributes"/>
    </element>
  </define>
  <define name="its-locQualityIssue.attributes">
    <interleave>
      <optional>
        <ref name="its-attribute.locQualityIssueType.nons"/>
      </optional>
      <optional>
        <ref name="its-attribute.locQualityIssueComment.nons"/>
      </optional>
      <optional>
        <ref name="its-attribute.locQualityIssueSeverity.nons"/>
      </optional>
      <optional>
        <ref name="its-attribute.locQualityIssueProfileRef.nons"/>
      </optional>
      <optional>
        <ref name="its-attribute.locQualityIssueEnabled.nons"/>
      </optional>
      <zeroOrMore>
        <ref name="its-foreign-attribute"/>
      </zeroOrMore>
    </interleave>
  </define>
</grammar>

[Source file: schemas/its20.rng]

スキーマのRELAX NGコンパクト構文バージョン

4. データ型定義:基本RELAX NGスキーマで使用されるすべてのデータ型は、次のスキーマで定義される。

例95:ITS用のデータ型を使用したRELAX NGスキーマ
<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  <define name="its-version.type">
    <a:documentation>Version of ITS</a:documentation>
    <data type="string">
      <param name="pattern">[0-9]+\.[0-9]+</param>
    </data>
  </define>
  <define name="its-queryLanguage.type">
    <a:documentation>The query language to be used for processing the rules</a:documentation>
    <choice>
      <value>xpath</value>
      <value>css</value>
      <text/>
    </choice>
  </define>
  <define name="its-absolute-selector.type">
    <data type="string" datatypeLibrary="">
      <a:documentation>Absolute selector</a:documentation>
    </data>
  </define>
  <define name="its-relative-selector.type">
    <data type="string" datatypeLibrary="">
      <a:documentation>Relative selector</a:documentation>
    </data>
  </define>
  <define name="its-xpath-expression.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-confidence.type">
    <data type="double">
      <param name="minInclusive">0</param>
      <param name="maxInclusive">1</param>
    </data>
  </define>
  <define name="its-translate.type">
    <a:documentation>The Translate data category information to be attached to the current node</a:documentation>
    <choice>
      <value>yes</value>
      <a:documentation>The nodes need to be translated</a:documentation>
      <value>no</value>
      <a:documentation>The nodes must not be translated</a:documentation>
    </choice>
  </define>
  <define name="its-locNote.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-locNoteType.type">
    <a:documentation>The type of localization note</a:documentation>
    <choice>
      <value>alert</value>
      <a:documentation>Localization note is an alert</a:documentation>
      <value>description</value>
      <a:documentation>Localization note is a description</a:documentation>
    </choice>
  </define>
  <define name="its-locNoteRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-termInfoRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-term.type">
    <a:documentation>Indicates a term locally</a:documentation>
    <choice>
      <value>yes</value>
      <a:documentation>The value 'yes' means that this is a term</a:documentation>
      <value>no</value>
      <a:documentation>The value 'no' means that this is not a term</a:documentation>
    </choice>
  </define>
  <define name="its-termConfidence.type">
    <ref name="its-confidence.type"/>
  </define>
  <define name="its-dir.type">
    <a:documentation>The text direction for the context</a:documentation>
    <choice>
      <value>ltr</value>
      <a:documentation>Left-to-right text</a:documentation>
      <value>rtl</value>
      <a:documentation>Right-to-left text</a:documentation>
      <value>lro</value>
      <a:documentation>Left-to-right override</a:documentation>
      <value>rlo</value>
      <a:documentation>Right-to-left override</a:documentation>
    </choice>
  </define>
  <define name="its-withinText.type">
    <a:documentation>States whether current context is regarded as "within text"</a:documentation>
    <choice>
      <value>yes</value>
      <a:documentation>The element and its content are part of the flow of its parent element</a:documentation>
      <value>no</value>
      <a:documentation>The element splits the text flow of its parent element and its content is an independent text flow</a:documentation>
      <value>nested</value>
      <a:documentation>The element is part of the flow of its parent element, its content is an independent flow</a:documentation>
    </choice>
  </define>
  <define name="its-domainMapping.type">
    <a:documentation>A comma separated list of mappings between values in the content
and workflow specific values. The values may contain spaces; in
that case they MUST be delimited by quotation marks.</a:documentation>
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-taConfidence.type">
    <ref name="its-confidence.type"/>
  </define>
  <define name="its-taClassPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-taClassRefPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-taClassRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-taIdentRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-taIdent.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-taSource.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-taIdentPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-taIdentRefPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-taSourcePointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-localeFilterList.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-localeFilterType.type">
    <choice>
      <value>include</value>
      <value>exclude</value>
    </choice>
  </define>
  <define name="its-provenanceRecordsRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-person.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-personRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-org.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-orgRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-tool.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-toolRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-revPerson.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-revPersonRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-revOrg.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-revOrgRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-revTool.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-revToolRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-provRef.type">
    <list>
      <oneOrMore>
        <data type="anyURI"/>
      </oneOrMore>
    </list>
  </define>
  <define name="its-externalResourceRefPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-targetPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-idValue.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-space.type">
    <choice>
      <value>default</value>
      <value>preserve</value>
    </choice>
  </define>
  <define name="its-locQualityIssuesRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-locQualityIssuesRefPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-locQualityIssueType.type">
    <choice>
      <value>terminology</value>
      <value>mistranslation</value>
      <value>omission</value>
      <value>untranslated</value>
      <value>addition</value>
      <value>duplication</value>
      <value>inconsistency</value>
      <value>grammar</value>
      <value>legal</value>
      <value>register</value>
      <value>locale-specific-content</value>
      <value>locale-violation</value>
      <value>style</value>
      <value>characters</value>
      <value>misspelling</value>
      <value>typographical</value>
      <value>formatting</value>
      <value>inconsistent-entities</value>
      <value>numbers</value>
      <value>markup</value>
      <value>pattern-problem</value>
      <value>whitespace</value>
      <value>internationalization</value>
      <value>length</value>
      <value>non-conformance</value>
      <value>uncategorized</value>
      <value>other</value>
    </choice>
  </define>
  <define name="its-locQualityIssueTypePointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-locQualityIssueComment.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-locQualityIssueCommentPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-locQualityIssueSeverity.type">
    <data type="double">
      <param name="minInclusive">0</param>
      <param name="maxInclusive">100</param>
    </data>
  </define>
  <define name="its-locQualityIssueSeverityPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-locQualityIssueProfileRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-locQualityIssueProfileRefPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-locQualityIssueEnabled.type">
    <choice>
      <value>yes</value>
      <value>no</value>
    </choice>
  </define>
  <define name="its-locQualityRatingScore.type">
    <data type="double">
      <param name="minInclusive">0</param>
      <param name="maxInclusive">100</param>
    </data>
  </define>
  <define name="its-locQualityRatingVote.type">
    <data type="integer"/>
  </define>
  <define name="its-locQualityRatingScoreThreshold.type">
    <data type="double">
      <param name="minInclusive">0</param>
      <param name="maxInclusive">100</param>
    </data>
  </define>
  <define name="its-locQualityRatingVoteThreshold.type">
    <data type="integer"/>
  </define>
  <define name="its-locQualityRatingProfileRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-mtConfidence.type">
    <ref name="its-confidence.type"/>
  </define>
  <define name="its-allowedCharacters.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-allowedCharactersPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-storageSize.type">
    <data type="nonNegativeInteger"/>
  </define>
  <define name="its-storageSizePointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-storageEncoding.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-storageEncodingPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-lineBreakType.type">
    <choice>
      <value>cr</value>
      <value>lf</value>
      <value>crlf</value>
    </choice>
  </define>
  <define name="its-annotatorsRef.type">
    <data type="string" datatypeLibrary=""/>
  </define>
</grammar>

[Source file: schemas/its20-types.rng]

スキーマのRELAX NGコンパクト構文バージョン

5. Schematronスキーマ:ITSマークアップの複数の制約は、上記のITSスキーマでは検証できない。以下の[Schematron] 文書は、これらの制約の一部の検証を可能にする。

例96:ITSのためのSchematronスキーマ
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2">
  <ns uri="http://www.w3.org/2005/11/its" prefix="its"/>
  <ns uri="http://www.w3.org/1999/xlink" prefix="xlink"/>
  <pattern>
    <title>Indicating the Version of ITS</title>
    <rule context="*[@its:*]">
      <assert test="ancestor-or-self::*/@its:version | //its:rules/@version">
        The version is indicated by the ITS version attribute.
        This attribute is mandatory for the rules element, where it MUST be in no namespace.
        If there is no rules element in an XML document, a prefixed ITS version attribute
        (e.g. its:version) MUST be on the element where the ITS markup is used,
        or on one of its ancestors.</assert>
    </rule>
    <rule context="its:provenanceRecords | its:locQualityIssues">
      <assert test="self::*/@version | ancestor::*/@its:version | //its:rules/@version">
        The version is indicated by the ITS version attribute.
        This attribute is mandatory for the rules element, where it MUST be in no namespace.
        If there is no rules element in an XML document, a prefixed ITS version attribute
        (e.g. its:version) MUST be on the element where the ITS markup is used, or
        on one of its ancestors. For standoff markup unprefixed version attribute is used.</assert>
    </rule>
    <rule context="*[@its:version]">
      <assert test="if (@its:version and //its:rules/@version)
        then //its:rules/@version = @its:version else true()">
        There MUST NOT be two different versions of ITS in the same document.</assert>
      <assert test="every $v in //*/@its:version satisfies $v = @its:version">
        There MUST NOT be two different versions of ITS in the same document.</assert>
    </rule>
    <rule context="its:provenanceRecords | its:locQualityIssues">
      <assert test="if (@version and //its:rules/@version)
        then //its:rules/@version = @version else true()">
        There MUST NOT be two different versions of ITS in the same document.</assert>
      <assert test="every $v in //*/@its:version satisfies $v = @version">
        There MUST NOT be two different versions of ITS in the same document.</assert>
    </rule>
  </pattern>
  <pattern>
    <title>Global, Rule-based Selection</title>
    <rule context="its:rules">
      <assert test="every $rules in //its:rules satisfies $rules/@version = current()/@version">
        If there is more than one rules element in an XML document, the rules from each section are
        to be processed at the same precedence level. The rules sections are to be read in document order,
        and the ITS rules with them processed sequentially.
        The versions of these rules elements MUST NOT be different.</assert>
    </rule>
  </pattern>
  <pattern>
    <title>Link to External Rules</title>
    <rule context="its:rules[@xlink:href]">
      <assert test="count(doc(resolve-uri(@xlink:href, base-uri()))//its:rules) le 1">
        The referenced document must be a valid XML document containing at most one rules element.</assert>
    </rule>
  </pattern>
  <pattern>
    <title>ITS Tools Annotation</title>
    <rule context="*[@its:annotatorsRef]">
      <assert test="every $ref in tokenize(@its:annotatorsRef, '\s+') satisfies
        matches($ref, '
        (translate|localization-note|terminology|directionality|language-information|
        elements-within-text|domain|text-analysis|locale-filter|provenance|external-resource|
        target-pointer|id-value|preserve-space|localization-quality-issue|localization-quality-rating|
        mt-confidence|allowed-characters|storage-size)\|.+')">
        The value of annotatorsRef is a space-separated list of references where
        each reference is composed of two parts: a data category identifier and an IRI.
        These two parts are separated by a character | VERTICAL LINE (U+007C).</assert>
    </rule>
  </pattern>
  <pattern>
    <title>Source of confidence</title>
    <rule context="*[@its:termConfidence]">
      <assert test="ancestor-or-self::*[@its:annotatorsRef]
        [matches(@its:annotatorsRef, '.*\s*terminology\|.+')]">
        Any node selected by the terminology data category with the termConfidence attribute specified
        MUST be contained in an element with the annotatorsRef attribute
        specified for the Terminology data category.</assert>
    </rule>
    <rule context="*[@its:taConfidence]">
      <assert test="ancestor-or-self::*[@its:annotatorsRef]
        [matches(@its:annotatorsRef, '.*\s*text-analysis\|.+')]">
        Any node selected by the Text Analysis data category with the taConfidence attribute specified
        MUST be contained in an element with the annotatorsRef attribute
        specified for the Text Analysis data category.</assert>
    </rule>
    <rule context="*[@its:mtConfidence]">
      <assert test="ancestor-or-self::*[@its:annotatorsRef]
        [matches(@its:annotatorsRef, '.*\s*mt-confidence\|.+')]">
        Any node selected by the MT Confidence data category MUST be
        contained in an element with the annotatorsRef attribute
        specified for the MT Confidence data category.</assert>
    </rule>
  </pattern>
  <pattern>
    <title>Text analysis</title>
    <rule context="its:textAnalysisRule">
      <assert test="@taClassRefPointer | @taSourcePointer | @taIdentPointer | @taIdentRefPointer">
        Text analysis rule must specify at least target type class or target identity.</assert>
    </rule>
  </pattern>
  <pattern>
    <title>Provenance standoff markup</title>
    <rule context="its:provenanceRecord">
      <assert test="@person | @personRef | @org | @orgRef | @tool | @toolRef | @revPerson | @revPersonRef |
        @revOrg | @revOrgRef | @revTool | @revToolRef | @provRef">
        At least one attribute must be specified on the provenanceRecord element.</assert>
    </rule>
  </pattern>
</schema>

[Source file: schemas/its20.sch]

注:

W3C XMLスキーマ言語に基づくスキーマにITSマークアップを容易に統合するために、以下の参考スキーマが用意される:

  • its20.xsd – ITSの基本スキーマ

  • its20-types.xsd – ITSマークアップで使用されるデータ型を定義するスキーマ

W3C XML SchemaはRELAX NGより表現力が低く、一部のコンテンツモデルはより緩い。ITS仕様に準拠しておらず、RELAX NGスキーマによれば妥当ではないが、文書はW3C XMLスキーマに対して検証することができる。

Go to the table of contents.E 参考文献

この章は参考情報である。

Bidi Article
Richard Ishida. What you need to know about the bidi algorithm and inline markup. Article of the W3C Internationalization Activity, June 2005.
Charmod Norm
Yergeau, François, Martin J. Dürst, Richard Ishida, Addison Phillips, Misha Wolf, Tex Texin. Character Model for the World Wide Web 1.0: Normalization. W3C Working Draft 1 May 2012. Available at http://www.w3.org/TR/2012/WD-charmod-norm-20120501/. The latest version of Charmod Norm is available at http://www.w3.org/TR/charmod-norm/ .
CheckMate Quality Check
Okapi Project. CheckMate – Quality Check Configuration. Available at http://www.opentag.com/okapi/wiki/index.php?title=CheckMate_-_Quality_Check_Configuration.
CSS 2.1
Bert Bos, Tantek Çelik, Ian Hickson Håkon Wium Lie. Cascading Style Sheets, level 2 revision 1 CSS 2.1 Specification. W3C Recommendation 7 June 2011. Available at http://www.w3.org/TR/2011/REC-CSS2-20110607/. The latest version of CSS2 is available at http://www.w3.org/TR/CSS21/.
DBpedia
DBpedia. Available at: http://dbpedia.org/OnlineAccess.
DITA 1.0
Michael Priestley, JoAnn Hackos, et. al., editors. OASIS Darwin Information Typing Architecture (DITA) Language Specification v1.0. OASIS Standard 9 May 2005. Available at https://www.oasis-open.org/committees/download.php/15316/dita10.zip.
DocBook
Norman Walsh and Leonard Muellner. DocBook: The Definitive Guide. Available at http://www.docbook.org/.
l10n i18n
Richard Ishida, Susan Miller. Localization vs. Internationalization. Article of the W3C Internationalization Activity, January 2006.
ISO 30042
(International Organization for Standardization). TermBase eXchange (TBX). [Geneva]: International Organization for Standardization, 2008.
ISO/TS 11669:2002
(International Organization for Standardization). Translation projects – General guidance. [Geneva]: International Organization for Standardization, 2012.
ITS 1.0
Christian Lieske and Felix Sasaki. 
Internationalization Tag Set (ITS) Version 1.0
. W3C Recommendation 03 April 2007. Available at http://www.w3.org/TR/2007/REC-its-20070403/. The latest version of ITS 1.0 is available at
 http://www.w3.org/TR/its/.
ITS RDF
ITS RDF Ontology, version May 2013. Available at http://www.w3.org/2005/11/its/rdf# .
ITS REQ
Yves Savourel. Internationalization and Localization Markup Requirements. W3C Working Draft 18 May 2006. Available at http://www.w3.org/TR/2006/WD-itsreq-20060518/. The latest version of ITS REQ is available at http://www.w3.org/TR/itsreq/.
Localizable DTDs
Richard Ishida, Yves Savourel Requirements for Localizable DTD Design. Working Draft 7 July 2003. Available at http://people.w3.org/rishida/localizable-dtds/.
Microdata
Ian Hickson HTML Microdata. W3C Working Draft 25 October 2012. Available at http://www.w3.org/TR/2012/WD-microdata-20121025/.
MLW US IMPL
Christian Lieske (ed.). Metadata for the Multilingual Web - Usage Scenarios and Implementations . W3C Working Draft 7 March 2013. Available at http://www.w3.org/TR/2013/WD-mlw-metadata-us-impl-20130307/. The latest version of MLW Metadata US IMPL is available at http://www.w3.org/TR/mlw-metadata-us-impl/ .
Multidimensional Quality Metrics
Lommel, Arle. Useful Quality Metrics (for Humans, Not Researchers). Presentation at the Workshop on UserCentric Machine Translation & Evaluation, MT Summit 2013.
NERD
Named Entity Recognition and Disambiguation ontology (NERD). available at: http://nerd.eurecom.fr/ontology
NIF
Hellmann, S. et al. (ed.). NIF 2.0 Core Ontology, as of August 2013. Available at http://persistence.uni-leipzig.org/nlp2rdf/ontologies/nif-core# under CC-BY 3.0 license maintained by the NLP2RDF project.
NVDL
Information technology – Document Schema Definition Languages (DSDL) – Part 4: Namespace-based Validation Dispatching Language (NVDL). International Organization for Standardization (ISO) ISO/IEC 19757-4:2003.
OpenDocument
Michael Brauer et al. OASIS Open Document Format for Office Applications (OpenDocument).. Oasis Standard 1 May 2005. Available at https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office. The latest version of OpenDocument is available at https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office.
PROV-DM
Moreau, Luc and Paolo Missier (eds.). Provenance data model. W3C Recommendation 30 April 2013. Available at http://www.w3.org/TR/2013/REC-prov-dm-20130430/. The latest version of The PROV Data Model is available at http://www.w3.org/TR/prov-dm/.
RDFaLite
Manu Sporny (ed.). RDFa Lite 1.1. W3C Recommendation 07 June 2012. Available at http://www.w3.org/TR/2012/REC-rdfa-lite-20120607/.
Schematron
Information technology – Document Schema Definition Languages (DSDL) – Part 3: Rule-based validation – Schematron. International Organization for Standardization (ISO) ISO/IEC 19757-3:2003.
Structured Specifications
(BYU Translation Research Group). Structured Specifications and Translation Parameters. Available at http://www.ttt.org/specs.
TEI
Lou Burnard and Syd Bauman (eds.) Text Encoding Initiative Guidelines development version (P5). TEI Consortium, Charlottesville, Virginia, USA, Text Encoding Initiative.
WordNet
WordNet. Princeton University, 2010. Available at: http://wordnet.princeton.edu.
XHTML 1.0
Steven Pemberton et al. XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition). W3C Recommendation 26 January 2000, revised 1 August 2002. Available at http://www.w3.org/TR/2002/REC-xhtml1-20020801/. The latest version of XHTML 1.0 is available at http://www.w3.org/TR/xhtml1/.
XLIFF 1.2
Savourel, Yves, John Reid, Tony Jewtushenko and Rodolfo M. Raya. XLIFF Version 1.2. OASIS Standard 1 February 2008. Available at http://docs.oasis-open.org/xliff/v1.2/os/xliff-core.html.
XLIFF 2.0
Comerford, Tom, David Filip, Rodolfo M. Raya and Yves Savourel. XLIFF Version 2.0. Committee Specification Draft 01 / Public Review Draft 01. Available at http://docs.oasis-open.org/xliff/xliff-core/v2.0/csprd01/xliff-core-v2.0-csprd01.html. The latest version of XLIFF 2.0 is available at http://docs.oasis-open.org/xliff/xliff-core/v2.0/xliff-core-v2.0.html
XML i18n BP
Yves Savourel, Jirka Kosek, Richard Ishida. Best Practices for XML Internationalization. Available at http://www.w3.org/TR/2008/NOTE-xml-i18n-bp-20080213/. The latest version of xml-i18n-bp is available at http://www.w3.org/TR/xml-i18n-bp/.
XMLSPEC
The XML Spec Schema and Stylesheets. Available at http://www.w3.org/2002/xmlspec/.
XSLT 1.0
James Clark. XSL Transformations (XSLT) Version 1.0. W3C Recommendation 16 November 1999. Available at http://www.w3.org/TR/1999/REC-xslt-19991116. The latest version of XSLT 1.0 is available at http://www.w3.org/TR/xslt.
XUL
exTensible User Interface Language. Available at https://developer.mozilla.org/en-US/docs/XUL.

Go to the table of contents.F NIFへの変換

この章は参考情報である。

この章は、ITSメタデータを含むXML文書またはHTML文書(またはそのDOM表現)を[NIF]に基づくRDF形式に変換する参考アルゴリズムを提供する。この変換はRDFトリプルをもたらす。

注:

このアルゴリズムは、XPath式の一部として、クエリー部分に文字"["および"]"を含むURIを作成する。変換出力(exampleを参照)において、URIは"%5B"および"%5D"としてエスケープされる。読みやすさのために、この章に示すURIはこれらの文字をエスケープしない。

注:

このアルゴリズムは、NLPツールのXML/HTML/DOMからテキストを抽出するためのものである。これは、1) 中間マッピングのサイズを大きくし、2) この空白をテキストとして抽出し、NLPのパフォーマンスを低下させる可能性のある、余分な空白から多数の"ファントム"述語を生成することができる。このようなファントム述語を最小限に抑えるために、入力XML/HTML/DOMの空白を正規化することを強く推奨する。正規化された例を以下に示す。空白の正規化アルゴリズム自身は形式に依存する(たとえば、一般のXMLと比べてHTMLの場合とは異なる)。

注:

以下に示すアルゴリズムの出力は、ITS RDFオントロジー[ITS RDF]およびその名前空間を使用する。
http://www.w3.org/2005/11/its/rdf#
アルゴリズムと同様に、このオントロジーはITS 2.0仕様の規範的な部分でなく、ITS Interest Groupで議論されている。

例97:NIFへの変換の準備として、空白文字の正規化を含むHTML文書の例(ソースコードを参照)。head要素のテキストノードは考慮されないことに注意する。
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
<title>NIF conversion example</title></head>
<body><h2 translate="yes">Welcome to <span 
    its-ta-ident-ref="http://dbpedia.org/resource/Dublin" its-within-text="yes"
    translate="no">Dublin</span> in <b translate="no" its-within-text="yes">Ireland</b>!</h2></body></html>

NIFを生成するための変換アルゴリズムは、7つのステップからなる:

# Turtle example:
@prefix nif: <http://persistence.uni-leipzig.org/nlp2rdf/ontologies/nif-core#> .
@prefix itsrdf: <http://www.w3.org/2005/11/its/rdf#> .
<http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=b0,e0>
 nif:wasConvertedFrom  <http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&xpath=x0>  .
<http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=b1,e1> 
 nif:wasConvertedFrom <http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&xpath=x1>  .
# ...
<http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=bn,en> 
 nif:wasConvertedFrom <http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&xpath=xn> .
<!-- XML Example -->
<mappings>
 <mapping x="xpath(x0)" b="b0" e="e0" />
 <mapping x="xpath(x1)" b="b1" e="e1" />
 <!-- ... --> 
 <mapping x="xpath(xn)" b="bn" e="en" />
</mappings>

ここで

b0 = 0
e0 = b0 + (Number of characters of t0) 
b1 = e0
e1 = b1 + (Number of characters of t1) 
...
bn = e(n-1)
en = bn + (Number of characters of tn) 

例(続き)

# Turtle example:
@prefix nif: <http://persistence.uni-leipzig.org/nlp2rdf/ontologies/nif-core#> .
@prefix itsrdf: <http://www.w3.org/2005/11/its/rdf#> .
# "Welcome to "
<http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=0,11>  
 nif:wasConvertedFrom
 <http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&xpath=/html/body[1]/h2[1]/text()[1]>.
# "Dublin"
<http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=11,17> 
 nif:wasConvertedFrom
 <http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&xpath=/html/body[1]/h2[1]/span[1]/text()[1]>.
# " in "
<http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=17,21>
 nif:wasConvertedFrom
 <http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&xpath=/html/body[1]/h2[1]/text()[2]> .
# "Ireland"
<http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=21,28>
 nif:wasConvertedFrom  
 <http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&xpath=/html/body[1]/h2[1]/b[1]/text()[1]> .
# "!"
<http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=28,29>
 nif:wasConvertedFrom
 <http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&xpath=/html/body[1]/h2[1]/text()[3]> .
# "Welcome to Dublin Ireland!"
<http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=0,29>
 nif:wasConvertedFrom
 <http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&xpath=/html/body[1]/h2[1]/text()> .
<!-- XML Example --> 
<mappings>
 <mapping x="xpath(/html/body[1]/h2[1]/text()[1])" b="0" e="11" />
 <mapping x="xpath(/html/body[1]/h2[1]/span[1]/text()[1])" b="11" e="17" />
 <mapping x="xpath(/html/body[1]/h2[1]/text()[2])" b="17" e="21" />
 <mapping x="xpath(/html/body[1]/h2[1]/b[1]/text()[1])" b="21" e="28" />
 <mapping x="xpath(/html/body[1]/h2[1]/text()[3])" b="28" e="29" />
 <mapping x="xpath(/html/body[1]/h2[1])" b="0" e="29" />
</mappings>
@prefix itsrdf: <http://www.w3.org/2005/11/its/rdf#> .
@prefix nif: <http://persistence.uni-leipzig.org/nlp2rdf/ontologies/nif-core#>
<http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=0,29>
    rdf:type             nif:Context ;
    rdf:type             nif:RFC5147String ;
# concatenate the whole text
    nif:isString         "$(t0+t1+t2+...+tn)" ; 
    nif:beginIndex	 "0" ;
    nif:endIndex	 "29" ;
    itsrdf:translate     "yes";
    nif:sourceUrl      <http://example.com/doc.html> .
<http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=11,17> 
    rdf:type              nif:RFC5147String ;
    nif:beginIndex	 "11" ;
    nif:endIndex	 "17" ;
    itsrdf:translate     "no";
    itsrdf:taIdentRef  <http://dbpedia.org/resource/Dublin> ;
    nif:referenceContext <http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=0,29> .
<http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=21,28> 
    rdf:type              nif:RFC5147String ;
    nif:beginIndex	 "21" ;
    nif:endIndex	 "28" ;
    itsrdf:translate     "no";
    nif:referenceContext <http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=0,29> .

入力文書例97が指定される場合、手順7の後のRDF/XML形式の完全なサンプル出力は、examples/nif/EX-nif-conversion-output.ttlで利用可能である。

注:

NIFへの変換は、たとえば、名前付きエンティティー注釈を作成する自然言語処理(NLP)アプリケーションに実行できる基礎である。この注釈を元の入力文書に統合する非規範的アルゴリズムは、付録G:変換NIF2ITS で与えられる。このアルゴリズムで行われる多くの決定は、使用されている特定のNLPアプリケーションに依存する。

注:

NIFは、StringリソースのURLを、フォームで元の文書の断片であるURIとして参照することを可能にする:
http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=0,11
または
http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&xpath=/html/body[1]/h2[1]/text()[1]
これは、RDF内のNIFリソースを元の文書にリンクするための使いやすいメカニズムを提供する。NIFウェブサービスアクセス仕様は、NIFウェブサービスのパラメーターを定義する。

RDFはURIを不透明なものとして扱い、使用されたフラグメント識別子にセマンティックな制約を課すことはなく、RDFでの使用を一貫性のある方法で可能にする。とはいえ、Linked Dataの場合のように検索アクションが発生した場合、フラグメント識別子は読み出されたMIMEタイプに従って解釈される。charフラグメントは現在text/plainのみに定義されているが、xpathフラグメントはHTML用に定義されていない。したがって、このURLレシピは、XMLとHTMLの両方をサポートするためのITSの要件と、Linked Data原則に準拠したリソースを作成するためのこのマッピングが目的を実現させる。潜在的に魅力的な特徴である一方で、これらのフラグメントタイプの将来の定義および登録は、この仕様の範囲外である。

Go to the table of contents.G 変換NIF2ITS

この章は参考情報である。

次のアルゴリズムは例97に依存する。この例はNIFに変換されており、ITS2NIF変換アルゴリズムの例として出力が導かれているものとする。

この例は、自然言語処理(NLP)ツールの例としてDBpedia Spotlightを使用する。その中で、DBpedia Spotlightは"Ireland"をDBpediaにリンクした:

<http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=21,28> 
 rdf:type nif:RFC5147String;
 itsrdf:taIdentRef <http://dbpedia.org/resource/Ireland> .
<http://dbpedia.org/resource/Ireland> 
 rdf:type <http:/nerd.eurecom.fr/ontology#Country> .

NIFからITSを生成する変換アルゴリズムは、次の2つのステップで構成される:

ステップ2では、3つのケースが発生することがある。

ケース1:NIFで作成されたNLP注釈が、テキストノードと一致する。解決策:注釈をテキストノードの親要素に付属させる。

# Based on:
<http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=21,28>
 nif:wasConvertedFrom
 <http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&xpath=/html/body[1]/h2[1]/b[1]/text()[1]> .
# and:
<http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=21,28> 
 itsrdf:taIdentRef  <http://dbpedia.org/resource/Ireland> .
# we can attach the metadata to the parent node:
<b its-ta-ident-ref="http://dbpedia.org/resource/Ireland" 
   translate="no">Ireland</b>

ケース2:NIFで作成されたNLP注釈がテキストノードの部分文字列である。 解決策:たとえばHTML "span"など、新しい要素を作成する。ケース2は元の入力例に含まれないため、異なる入力例を次に示す。

# Input:
 
<html>
  <body>
     <h2>Welcome to Dublin in Ireland!</h2>
  </body>
</html>
 
# ITS2NIF
 
<http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=0,29>
 nif:wasConvertedFrom
 <http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&xpath=/html/body[1]/h2[1]/text()[1]> .

# DBpedia Spotlight returns:
 
<http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=21,28>
    itsrdf:taIdentRef  <http://dbpedia.org/resource/Ireland> .

# NIF2ITS
 
<html>
  <body>
     <h2>Welcome to Dublin in <span
          its-ta-ident-ref="http://dbpedia.org/resource/Ireland">Ireland</span>!</h2>
  </body>
</html>

ケース3:NIFで作成されたNLP注釈が、ある領域で開始して別の領域で終了する。 解決策:直線マッピングは不可能である。両方の領域が同じ親を持つ場合にマッピングを作成することができる。

Go to the table of contents.H ローカリゼーション品質ガイダンス

この章は参考情報である。

ローカリゼーション品質問題データカテゴリーの説明では、この文書の目的で次に定義する用語を使用する。

翻訳プロジェクト仕様の設定と品質の期待値の決定の詳細については、実装者は[ISO/TS 11669:2002]に含まれる翻訳プロジェクト仕様のISO標準定義を参照することを勧める。翻訳仕様の詳細は、[Structured Specifications]を参照のこと。これらの文書は品質メトリクスの定義に直接言及しない一方で、特定のシナリオでどのローカライゼーション品質の問題値を使用すべきかを決定することに関心のある実装者に有用なガイダンスを提供する。

ローカリゼーション品質問題で定義された問題型は、QTLaunchPadプロジェクトのMultidimensional Quality Metrics (MQM)フレームワークから導出された。このプロジェクトに関する追加ガイダンスは、[Multidimensional Quality Metrics]にある。

ローカリゼーション品質に関する話題は急速に進化しており、ITS 2.0はこの分野の標準化の第一歩を象徴し、基本的な相互運用性ニーズに役立つ。追加の表現能力やカテゴリーが必要な状況では、さらにカスタムマークアップが必要になるかもしれない。

Go to the table of contents.I ITS 2.0グローバル要素とローカル属性のリスト

この章は参考情報である。

次の表は、rules要素内のグローバルITS 2.0要素とXMLおよびHTMLのローカルITS 2.0マークアップを示す。ローカルマークアップの場合、どのローカル属性を一緒に使用できるかというさまざまな制約があることに注意する。ここで、この制約は出現標識(occurrence indicator)オプション"?"、代替"|"、またはグループ"(...)"を介して表される。ローカルマークアップを標準的に定義する8章:データカテゴリーの説明の関連する節を確認のこと。

以下のマークアップに加えて、ITS 2.0はマークアップを生成するために使用されるツールを参照する手段を提供する:XMLの場合annotatorsRef属性、HTMLの場合annotators-ref属性。詳細については、5.7節:ITSツール注釈、特にannotatorsRef使用シナリオに関する注を参照のこと。

データカテゴリーrules要素内のグローバル要素ITS名前空間内のローカルXML属性HTML属性
翻訳 translateRule translate translate
ローカリゼーション注 locNoteRule (locNote | locNoteRef), locNoteType?(its-loc-note | its-loc-note-ref), its-loc-note-type?
用語 termRule term, termInfoRef?, termConfidence? its-term, its-term-info-ref?, its-term-confidence?
方向 dirRule dir dir
言語情報 langRule xml:lang lang
本文内の要素 withinTextRule withinText its-within-text
ドメイン domainRule --
テキスト解析 textAnalysisRule taConfidence?, at least one of (taClassRef, ((taSource, taIdent) | taIdentRef)) its-ta-confidence?, at least one of (its-ta-class-ref, ((its-ta-source, its-ta-ident) | its-ta-ident-ref))
ロケールフィルター localeFilterRule localeFilterList its-locale-filter-list
起源 provRule (at least one of ((person | personRef), (org | orgRef), (tool | toolRef), (revPerson | revPersonRef), (revOrg | revOrgRef), (revTool | revToolRef), provRef)) | provenanceRecordsRef (at least one of ((its-person | its-person-ref), (its-org | its-org-ref), (its-tool | its-tool-ref), (its-rev-person | its-rev-person-ref), (its-rev-org | its-rev-org-ref), (its-rev-tool | its-rev-tool-ref), its-prov-ref)) | its-provenance-records-ref
外部リソース externalResourceRefRule --
ターゲットポインター targetPointerRule --
ID値 idValueRule xml:id id
空白保持 preserveSpaceRule xml:space -
ローカリゼーション品質問題 locQualityIssueRule (at least one of (locQualityIssueType, locQualityIssueComment), locQualityIssueSeverity?, locQualityIssueProfileRef?, locQualityIssueEnabled?) | locQualityIssuesRef (at least one of (its-loc-quality-issue-type, its-loc-quality-issue-comment), its-loc-quality-issue-severity?, its-loc-quality-issue-profile-ref?, its-loc-quality-issue-enabled?) | its-loc-quality-issues-ref
ローカリゼーション品質評価 -(locQualityRatingScore, locQualityRatingScoreThreshold?) | (locQualityRatingVote, locQualityRatingVoteThreshold?), locQualityRatingProfileRef?(its-loc-quality-rating-score, its-loc-quality-rating-score-threshold?) | (its-loc-quality-rating-vote, its-loc-quality-rating-vote-threshold?), its-loc-quality-rating-profile-ref?
MT信頼 mtConfidenceRule mtConfidence its-mt-confidence
許容文字 allowedCharactersRule allowedCharacters its-allowed-characters
ストレージサイズ storageSizeRule storageSize, storageEncoding?, lineBreakType? its-storage-size, its-storage-encoding?, its-line-break-type?

Go to the table of contents.J 改訂ログ

この章は参考情報である。

次のログは、2013年9月24日付けのITS 2.0 Proposed Recommendation以降にこの文書に加えられた主な変更点が記録されている:

  1. In response to Working Group discussion and AC review, fixed an error in Appendix D: Schemas for ITS and made the section informative.

  2. Added an informative reference to [Multidimensional Quality Metrics] and reformatting of a few references.

  3. Editorial fixes, see related mail.

Go to the table of contents.K 謝辞

この文書は、MultilingualWeb-LT Working Groupと協力者の貢献を得て開発された:Mihael Arcan (DERI Galway at the National University of Ireland, Galway, Ireland), Pablo Badía (Linguaserve), Aaron Beaton (Opera Software), Renat Bikmatov (Logrus Plus LLC), Aljoscha Burchardt (German Research Center for Artificial Intelligence (DFKI GmbH)), Nicoletta Calzolari (CNR--Consiglio Nazionale delle Ricerche), Somnath Chandra (Department of Information Technology, Government of India), John Colosi (Verisign, Inc.), Mauricio del Olmo (Linguaserve), Giuseppe Deriard (Linguaserve), Pedro Luis Díez Orzas (Linguaserve), David Filip (University of Limerick), Leroy Finn (Trinity College Dublin), Karl Fritsche (Cocomore AG), Serge Gladkoff (Logrus Plus LLC), Tatiana Gornostay (Tilde), Daniel Grasmick (Lucy Software and Services GmbH), Declan Groves (Centre for Next Generation Localisation), Manuel Honegger (University of Limerick), Dominic Jones (Trinity College Dublin), Matthias Kandora (]init[), Milan Karásek (Moravia Worldwide), Jirka Kosek (University of Economics, Prague), Michael Kruppa (Cocomore AG), Alejandro Leiva (Cocomore AG), Swaran Lata (Department of Information Technology, Government of India), David Lewis (Trinity College Dublin), Fredrik Liden (ENLASO Corporation), Christian Lieske (SAP AG), Qun Liu (Centre for Next Generation Localisation), Arle Lommel (German Research Center for Artificial Intelligence (DFKI GmbH)), Priyanka Malik (Department of Information Technology, Government of India), Shaun McCance ((public) Invited expert), Sean Mooney (University of Limerick), Jan Nelson (Microsoft Corporation), Pablo Nieto Caride (Linguaserve), Pēteris Ņikiforovs (Tilde), Naoto Nishio (University of Limerick), Philip O'Duffy (University of Limerick), Des Oates (Adobe Systems Inc.), Georgios Petasis (Institute of Informatics & Telecommunications (IIT), NCSR), Mārcis Pinnis (Tilde), Prashant Verma Prashant (Department of Information Technology, Government of India), Georg Rehm (German Research Center for Artificial Intelligence (DFKI GmbH)), Phil Ritchie (VistaTEC), Thomas Rüdesheim (Lucy Software and Services GmbH), Nieves Sande (German Research Center for Artificial Intelligence (DFKI GmbH)), Felix Sasaki (DFKI / W3C Fellow), Yves Savourel (ENLASO Corporation), Jörg Schütz (W3C Invited Experts), Sebastian Sklarß (]init[), Ankit Srivastava (Centre for Next Generation Localisation), Tadej Štajner (Jozef Stefan Institute), Olaf-Michael Stefanov ((public) Invited expert), Najib Tounsi (Ecole Mohammadia d'Ingenieurs Rabat (EMI)), Naitik Tyagi Tyagi (Department of Information Technology, Government of India), Stephan Walter (Cocomore AG), Clemens Weins (Cocomore AG).

次の人に心から感謝する: