この文書は「Internationalization Tag Set (ITS) Version 2.0(W3C Recommendation 2013-10-29)」の日本語訳)です。日本語訳は参考情報であって、公式な文書ではありません。また、翻訳に誤りがありえます。
訳者への連絡先、他の仕様の翻訳等については、Wikiを参照ください。
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.
Copyright © 2013 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved. W3C liability, trademark and document use rules apply.
この“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章に従い情報を開示する必要がある。
この章は参考情報である。
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は文書の特定の部分が翻訳に意図されないことを示すことができるかという、疑問に関連する一連の例をここで示す。
この文書で、翻訳を意図する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は、メカニズムが最も適した使用シナリオ/ユーザー型の面で他のものとの間で異なる、複数のメカニズムを提案する。
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]
ITS 1.0の基本は単純である:
国際化に関連するプロセスを支援するためのメタデータを提供する(たとえば「翻訳しない」)
メタデータを関連付ける特定のXMLノード(たとえば、名前uitext
と名付けられるすべて要素)またはXMLノード自身(いわゆるローカルアプローチ)メタデータを連続して置くXPath(いわゆるグローバルなアプローチ)を使用する
メタデータカテゴリーまたは値の明確に定義されたセットを操作する(たとえば特定のデータカテゴリーに"yes"と"no"のみの値)
既存のメタデータの活用(たとえば、dt
のようなHTMLマークアップで既にマークアップされている用語)
この簡潔さはITS 1.0の現実世界の展開を容易にする。展開は、国際化に関連するプロセスに対する追加のメタデータカテゴリーを識別する助けになる。たとえばITS Interest Groupは、追加のデータカテゴリーのリストをコンパイルした(この関連する要約を参照)。その結果これらの一部は、ITS 2.0で定義された:ID値、ローカルのテキスト内要素、保存容量、およびロケールフィルター。他のものは、可能性のあるITSの将来バージョンの要件として論議される:
“コンテキスト” = どのような特定の関連情報が役立つ可能性があるか?
“自動言語” = このコンテンツは自動処理に役立つか?
現実世界の展開はまた、Open Web Platformへの理解の助けとなる―XMLへのITS 1.0の制限がかなりの数の環境の障害であった。欠けていたものは、たとえば、次のものである:
一般にHTMLのようなフォーマット、特にHTML5へのITSの適用
さまざまなウェブ公開(多言語)自然言語処理コンテキストにおけるITSの容易な使用。
コンピューターのサポートする言語品質保証
コンテンツの管理および翻訳プラットフォーム
クロス言語シナリオ
コンテンツの充実
W3C起源のサポート[PROV-DM]、「エンティティー、活動、データやフォームについてその品質信頼性、信頼性評価に使用することができますもの一部生産に関わる人々の情報」
セマンティックWeb/Linked Open Dataシナリオにおける拡張展開の規定
ITS 2.0は、グローバル用途のコンテンツに関与する関係者の連携によって作成された。したがって、ITS 2.0は次のものを視野に入れて開発された:
多言語の生産チェーンで効率的なコンテンツの更新のために簡単に統合したいコンテンツ管理および機械翻訳ソリューションのプロバイダー
人間の翻訳を容易にするため(たとえば、用語候補生成、エンティティー認識または曖昧さ回避を介してなどの)コンテンツを自動的に豊かにしたい言語技術プロバイダー
情報共有やロスレスのローカリゼーションワークフロー内のメタデータに興味を持つ、オープン標準の努力(たとえば、[XLIFF 1.2]、[XLIFF 2.0]および[NIF]など)
相乗効果を生じる結果の一例は、ITSツール注釈メカニズムである。これは、手がかりを残すことをITSプロセッサに許可することで起源関連要件を処理する:ITSプロセッサーは基本的に「それは私の情報のこのビットを生成」を言うことができる。別の例は、ITS 2.0の詳細に関連する[NIF]であり、これは、セマンティックウェブの概念と自然言語処理をつなぐ非規範的アプローチを提供する。
[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ツールの注釈で反映される。
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要素および属性に関連する適合句が追加された。
一般的なガイダンスとして、ITS 2.0の実装は正規化トランスコーダーを使用することを勧める。これは、レガシーエンコーディングからUnicodeエンコーディング形式へ変換し、結果がUnicode正規形Cであることを保証する。Unicode正規化のトピックに関する詳細については、[Charmod Norm]で提供される。
この章は参考情報である。
この章の目的は、どのようにITS 2.0が機能するかに関する基本的な知識を提供することにある。(正式な定義を含む)詳細な情報は、後の節で与えられる。
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との間のハイレベルな変更点にまとめられている。
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つの例は、例として翻訳データカテゴリーを使用して、ローカルとグローバルアプローチとの間の区別について詳しく説明する。
例3において文書は、コンテンツ著者がauthor
要素内のすべてのコンテンツが翻訳を意図しない(すなわち、翻訳しないままにする必要のある)ことを示すためにITS translate
属性を使用することができる方法を示す。属性の意味の認識する翻訳ツールは、翻訳されてから関連するコンテンツを保護することができる(コンテキスト情報として保護されたコンテンツを翻訳者に参照することをおそらく依然として可能にする)。
<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
要素のみが「翻訳しない」としてマークされるが、その子孫(personname
、firstname
、surname
)が同様に暗黙的にマークされると見なされる。翻訳のためにこのコンテンツを処理するツールは、予想される継承を実装する必要がある。
XMLコンテンツの場合、ローカルアプローチは特定の属性に適用することができない。ITSが特定の属性に適用される必要がある場合、グローバルアプローチを使用する必要がある。ローカルアプローチは、8.1章:位置、既定、継承、データカテゴリーの上書きで説明するように現在の要素とそのすべての継承されたノードのコンテンツに適用される。[HTML5]で使用する翻訳データカテゴリーの場合、これは異なる。HTML5の翻訳の定義の説明を参照のこと。
例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]から取得される。
<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"の値を保持する
ITS選択メカニズムの力は対価を得る:上書き/優先順位および継承に関連するルールを確立する必要がある。
例5で文書は、どのように継承および上書きが翻訳データカテゴリーに動作するかを示す:
ITSの規定は、すべての要素が翻訳可能である。
ヘッダーで宣言されたtranslateRule
要素は、本文内のhead
要素とそのすべての子のデフォルトを上書きする。
グローバル規則title
要素は実際に翻訳可能であるので、ローカルits:translate="yes"
で上書きする必要がある。
文書の本文で既定を適用し、its:translate="no"
が非翻訳可能として"faux pas"(不作法)を設定するために使用される。
<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マークアップを参照のこと)。
データカテゴリーは、情報を追加したり、選択したノードの情報を指したりすることができる。たとえば、ローカリゼーション注記データカテゴリーは、(locNote
要素を使用する)選択したノードに情報を追加する、または(locNotePointer
属性を使用する)文書の他の場所の既存の情報を指すことができる。
8.1節:位置、既定、継承、およびデータカテゴリーの上書きにおける、データカテゴリー概要テーブルは、データカテゴリーが情報の追加を許可し、既存の情報を指すことができる概要を提供する。
情報を追加して既存の情報を指すことは、相互に排他的である。属性を追加するための属性と同じ情報を指すための属性は、同じルールの要素に出現することが許可されない。
ITS 2.0 データカテゴリーをHTMLに適用する場合、5つの側面が重要となる:
HTML5におけるグローバルアプローチ
ローカルアプローチ
ITS 2.0カウンター パートをもつHTMLマークアップ
HTML5における孤立したマークアップ
HTMLのバージョン
次節でこれらの側面について簡単に説明する。
HTMLにおいていわゆるグローバルアプローチを考慮するために、この仕様は次を定義する(を参照してください6.2節:グローバル規則を参照):
link
要素からグローバル規則をもつ外部ファイルを参照するためのリンクの種類。
HTML script
要素のインライングローバル規則を使用するアプローチ。
HTML文書でインライングローバル規則を使用するのではなく、link
要素を介してリンクされる外部のグローバル規則を使用することが望ましい。この利点は、多くの文書の同じ規則ファイルを再利用できることになり、インライン規則もscript
要素の補助的な解析を必要とする。
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]
例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]
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]
HTMLにおいて、ITS 2.0ローカルデータカテゴリーはプレフィックスits-
で実現される。HTMLカウンターパートへのXMLベースITS 2.0属性の一般的なマッピングは、6.1節:HTMLへのローカルデータカテゴリーのマッピングで定義されている。付録I:ITS 2.0グローバル要素およびローカル属性のリストにおける参考情報のテーブルは、すべてのデータカテゴリーのマッピングの概要を示す。
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"
として解釈される。フレージングコンテンツ要素iframe
、noscript
、script
およびtextarea
は、withinText="nested"
として解釈される。
翻訳データカテゴリーは、[HTML5]で直接対応する、すなわち[HTML5] translate
属性を持つ。ITS 2.0は、[HTML5] translate
に独自の動作を定義しないが、単にHTML5の定義を参照する。その定義は、グローバル規則を介して選択されたノードにも適用される。つまり、<its:translateRule selector="//h:img" translate="yes"/>
のようなTranslateRule
は、img
要素とalt
のようなITS翻訳可能属性を"yes"に設定する。
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文書を参照のこと。
起源およびローカリゼーション品質問題データカテゴリーは、いわゆる孤立マークアップを使用することを可能にする。XML例 58を参照のこと。HTMLにおいて、そのような孤立マークアップは、script
要素に配置される。これが行われる場合、HTMLにおける起源孤立マークアップおよびHTMLにおけるローカリゼーション品質問題マークアップの制約は考慮する必要がある。2つのデータカテゴリーに対するHTMLにおける孤立マークアップの例は、例61および例76である。
ITSツール注釈メカニズムは、データカテゴリアノテーション自身(テキスト分析に関連するエンティティーの種類など)から独立して、文書内の個々のデータカテゴリーに関連するプロセッサー情報を可能にする。メカニズムは、annotatorsRef
属性(または[HTML5]でannotators-ref)を介してデータカテゴリーにツールの識別子を関連付け、MT自信データカテゴリーに対して必須である。用語およびテキスト分析データカテゴリに対して、データカテゴリが自信情報を提供する場合は、ITSツール注釈は必須である。それにもかかわらず、すべてのデータカテゴリにITS ツール アノテーションを使用することができる。例23は、複数のデータカテゴリーのコンテキストにおける使用方法を示す。
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を参照のこと。
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内で定義されている。
ITS 2.0を実装するとは、どういう意味か?この仕様は、標準的な回答として複数の適合性条項を提供する( 4章:適合性を参照のこと)。条項は実装の異なる種類を対象とする:
4.1節:適合性の種類1:ITSマークアップ宣言における適合性条項は、マークアップ語彙開発者にITS 2.0マークアップ宣言をスキーマに追加する方法を示す。
4.2節:適合性の種類2:ITSマークアップに対する処理期待における適合性条項は、実装者にITS 2.0データカテゴリーに従ってXMLコンテンツを処理する方法を示す。
4.3節:適合性の種類3:HTMLにおけるITSマークアップに対する処理期待における適合性条項は、実装者に[HTML5]コンテンツを処理する方法を示す。
4.4節:適合性の種類4:HTML5+ITS文書に対するマークアップ適合性における適合性条項は、実装者に[HTML5]にITS 2.0マークアップを統合する方法を示す。
適合性条項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]を参照のこと)。
この章は規範である。
この文書の規範部分においてキーワード“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
[定義:ITSは、XMLスキーマおよび文書の国際化およびローカリゼーションに対する情報の特定の種類のための抽象的な概念としてデータカテゴリーを定義する。] データカテゴリーの概念は、XMLおよびHTML環境における実装から独立する(たとえば、要素または属性を使用する)。
データカテゴリーごとに、ITSは次のものを区別する:
本文の解説。8章:データカテゴリーの説明を参照のこと
スキーマ言語独立定式化。8章:データカテゴリーの説明の「実装」の節を参照のこと
スキーマ言語固有の実装。付録D:ITSのスキーマを参照のこと
[定義:選択は、XMLまたはHTML文書のどの部分にITSデータカテゴリーおよびその値を適用するかを指定するためのメカニズムをもたらす。] 選択の詳細については5章:ITS情報の処理で議論される。選択は、グローバルに適用することができる。5.2.1節:グローバルな規則に基づく選択、およびローカルでは5.2.2節:XML文書内のローカルな選択を参照のこと。グローバルな選択に関しては、ITS情報は、選択したノードに追加することができる、または選択したノードに関連する既存の情報を指すことができる。
注:
ITSデータカテゴリーの選択は、要素または属性ノード内に含まれるテキストの値に適用される。いくつかの場合にこのノードは、他のリソースへのポインターを形成する。よく知られている例は、HTMLにおいてimg
要素のsrc
属性である。ITS翻訳データカテゴリーは、オブジェクトではなく、ポインター自身のテキストに適用される。よって次の例で、 translateRule
要素経由で指定された翻訳情報は、ファイル名"instructions.jpg"に適用され、グラフィックを開き、そこに言葉を変更する命令ではない。
<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]
[定義:ITSローカル属性は、ローカル マークアップとして8章:データカテゴリーの説明で定義されるすべての属性である。]
[定義:規則要素は、グローバル規則に対する要素として8章:データカテゴリーの説明で定義されるすべての要素である。]
付録D:ITSのスキーマにおける規範RELAX NGスキーマ内の型anyURI
を持つすべての属性は、国際アプリケーションのシナリオでITSの導入を容易にするために国際化資源識別子(IRI、[RFC 3987]またはその後継)の使用を許可しなければならない。
この仕様は、HTML構文におけるHTML5またはその後続を参照するために用語HTML
を使用する[HTML5]。
この仕様は、単語「セレクター」の一般的な使用による混乱を防ぐために[Selectors Level 3]で指定されるとおりにSelectors
の意味で用語CSS セレクター
を使用する。
この章は規範である。
この章における用語適合性条項の使用法は、[QAFRAMEWORK]に従う。
この仕様は、4種類の適合性を定義する:1) ITSマークアップ宣言の適合性、2) ITSマークアップの処理期待の適合性、 3) HTMLにおけるITSマークアップの処理期待の適合性、4) HTML5 + ITS文書のマークアップ適合性。適合性の種類4は、HTML5文書、HTML5 + ITSにおけるITSマークアップを使用するために定義される。これは、[HTML5]の拡張セクションで指定される意味で該当する仕様として機能します。これらの適合型およびクラスは、互いを補足する。この仕様の実装は、個別にまたは一緒にそれらを使用してもよい。
説明: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]。
説明:プロセッサーは、XML文書内のノードに関連するITS情報を計算する必要がある。ITS処理期待は、どのように計算が実施されるかを定義する。正しい計算は、選択メカニズム、デフォルト/継承/上書き特性、および優先順位のサポートを伴う。マークアップは、4.1節:適合性の種類1:ITSマークアップ宣言の条項に適合するスキーマに対して妥当であってもよい。
この適合性タイプに関連する定義:ITSマークアップの処理期待は、5章:ITS処理情報で定義される選択メカニズムを使用させる。8章:データカテゴリーの説明で定義される個々のデータカテゴリーは、デフォルト/継承/上書き特性を持ち、様々な位置(グローバルおよびローカル)においてITSマークアップの使用を可能にする。
この適合性タイプを使用する人:国際化またはローカライズに対してデータカテゴリーによってキャプチャーされるノードを処理する必要があるアプリケーション。このタイプのアプリケーションの例:ローカリゼーションプロセスへの入力として翻訳可能なテキストをフィルターするためにITSマークアップを使用させるITSマークアップ対応エディター、または翻訳ツール。
注:
翻訳データカテゴリーに基づく翻訳可能なコンテンツの自動化されたフィルタリングのような、アプリケーション固有の処理(すなわちノードに対するITS情報の計算を超える処理)は、下記の適合性の条項によって取り扱われない。
適合性条項:
2-1:プロセッサは、少なくとも1つのデータカテゴリーを実装しなければならない。データカテゴリー実装ごとに、次のものを考慮に入れなければならない:
2-1-2:データカテゴリーに対するデフォルトの選択。
2-1-3:処理の選択の種類について、5.5節:選択間の優先順位で定義される選択に対する優先順位の定義。
2-2:アプリケーションがグローバル選択メカニズムに対してITSマークアップを処理することを主張する場合、そのアプリケーションは、rules
要素で見つけられるXLink href
属性を処理しなければならない。
2-3:アプリケーションが適合性条項2-2および2-3を実装するITSマークアップを処理することを主張する場合、そのアプリケーションソフトは、XML文書でそのマークアップを処理しなければならない。
2 4:ITS要素で見つけられる非ITS要素および属性は、無視されてもよい。
この適合性タイプに関連する文は、その文が実装するすべてのデータカテゴリーを列挙しなければならず、かつ各データカテゴリーに対して、サポートする選択の種類について、XMLの処理をサポートするかどうかを列挙しなければならない。
説明:プロセッサーは、HTML文書内のノードに関連するITS情報を計算する必要がある。ITS処理期待は、どのように計算が実施されるかを定義する。正しい計算は、選択メカニズム、デフォルト/継承/上書き特性、および優先順位のサポートを伴う。
この適合性タイプに関連する定義:ITSマークアップの処理期待は、5章:ITS処理情報で定義される選択メカニズムを使用させる。8章:データカテゴリーの説明で定義される個々のデータカテゴリーは、デフォルト/継承/上書き特性を持ち、様々な位置(ローカルおよび外部グローバル、インライングローバル)においてITSマークアップの使用を可能にする。
この適合性タイプを使用する人:国際化またはローカライズに対してデータカテゴリーによってキャプチャーされるノードを処理する必要があるアプリケーション。このタイプのアプリケーションの例は、ローカリゼーションプロセスへの入力として翻訳可能なテキストをフィルターするためにITSマークアップを使用させるITSマークアップ対応エディターまたは翻訳ツールである。
注:
翻訳データカテゴリーに基づく翻訳可能なコンテンツの自動化されたフィルタリングのようなアプリケーション固有の処理(すなわちノードに対するITS情報の計算を超える処理)は、下記の適合性の条項によって取り扱われない。
適合性条項:
3-1:プロセッサは、少なくとも1つのデータカテゴリーを実装しなければならない。データカテゴリー実装ごとに、次のものを考慮に入れなければならない:
3-1-2:データカテゴリーに対するデフォルトの選択。
3-1-3:処理の選択の種類について、6.4節:選択間の優先順位で定義される選択に対する優先順位の定義。
3-2:アプリケーションがグローバル選択メカニズムに対してITSマークアップを処理することを主張する場合、そのアプリケーションは、値its-rules
をともなうrel
属性を持つlink
要素 で見つけられるhref
属性を処理しなければならない。
3-3:アプリケーションが適合性条項2-2および2-3を実装するITSマークアップを処理することを主張する場合、そのアプリケーションソフトは、HTML文書でそのマークアップを処理しなければならない。
この適合性タイプに関連する文は、その文が実装するすべてのデータカテゴリーを列挙しなければならず、かつ各データカテゴリーに対して、サポートする選択の種類について列挙しなければならない。
HTML5+ITS文書に適合するものは、次の例外とともに[HTML5]で定義されるように文書のすべての適合性基準に従うものである。
適合性条項4-1:すべてのHTML要素で使用することができるグローバル属性は、6.1節: HTMLへのローカルデータカテゴリーのマッピングで定義されるようにローカルデータ カテゴリーに対する属性によって拡張される。
この章は規範である。
注:
HTMLの処理に関する追加の定義は、6章:HTMLで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 つの異なるバージョンが存在してはならない。
外部のリンクされた規則は、内部規則と異なるバージョンを持つことができる。
ITSデータカテゴリーは、2つの場所で出現することができる:
グローバル規則:rules
要素内で選択を実現する。この規則は、各データカテゴリの規則要素が含まれる。各規則要素は、selector
属性および可能性のあるその他の属性を持つ。selector
属性は、5.3節:セレクターのクエリー言語で定義される絶対セレクターが含まれる。
局所的文書内:要素ノード、またはspan
要素に接続される、ITSローカル属性を使用して選択を実現する。追加のselector
属性は存在しない。各データカテゴリーのデフォルトの選択は、選択が属性および子要素を扱うかどうかを定義する。8.1節:位置、デフォルト、継承、データカテゴリの上書きを参照のこと。
2 つの場所は、以下で詳しく説明される。
グローバルな、規則ベースの選択は、rules
要素を使用して実装される。rules
要素は、0個以上の規則要素が含まれる。各規則要素は、必須のselector
属性を持つ。この属性および規則要素の他のすべての使用可能な属性は、空の名前空間にあり、接頭辞なしで使用される。
XML文書で1つ以上のrules
要素が存在する場合、各セクションからの規則は同じ優先順位レベルで処理される。rules
セクションは、文書順に読めるようにされ、順番に処理されるセクションをもつITS規則である。これらのrules
要素のバージョンは、異ってはならない。
データカテゴリーおよびその使用法に応じて、選択したノードに情報を追加する、または文書内の既存の情報を指すための追加属性が存在する。たとえば、選択したノードに注を追加する、または文書内の既存の注を指すため、ローカリゼーション注データカテゴリーを使用することができる。前者の目的に対して、locNote
要素を使用することができる。後者の目的に対して、locNotePointer
属性を使用することができる。
8.1節:位置、デフォルト、継承、データカテゴリーの上書きにおける、データカテゴリー概要テーブルは、どのデータカテゴリーが既存の情報を指す、または情報を追加することを可能にするかの概要を提供する。
情報を追加するおよび既存の情報を指すものの機能は、相互に排他的である。つまり、同じ情報の指して追加するためのマークアップは、同じ規則要素で出現してはならない。
グローバル規則は、適用されるXML文書、または個別のXML文書に出現することができる。処理の優先順位は、これらのバリエーションによって異なる。5.5章:選択間の優先順位も参照のこと。
XML文書におけるローカル選択は、ITSローカル属性またはspan
要素で実現される。span
は、ITSローカル属性に対するキャリアとしてのみ機能する。
データカテゴリーは、何が選択されているかを決定する。必要なデータカテゴリーの特定のデフォルトは、8.1節:位置、デフォルト、継承、データカテゴリーの上書きで説明される。
デフォルトで、文書におけるすべての要素のコンテンツは翻訳可能である。head
要素における属性its:translate="no"
は、子要素を含む、この要素のコンテンツが翻訳を意図しないことを意味する。title
要素における属性its:translate="yes"
は、この要素のコンテンツが翻訳されることを意味する(head
のits: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]
規則要素は、絶対および相対セレクターを含む属性を持つ。これらのセレクターの解釈は、実際のクエリー言語に依存する。クエリー言語は、rules
要素のqueryLanguage
属性によって設定される。 queryLanguge
が指定されない場合、XPath 1.0がデフォルトのクエリー言語として使用される。
XPath 1.0は、queryLanguage
属性でxpath
値によって識別される。
絶対セレクターは、"/
"で開始するXPath式でなければならない。つまり、このセレクターは、XPath 1.0で説明されるとおりに AbsoluteLocationPathまたは AbsoluteLocationPathの集合でなければならない。これは、選択が特定の場所に相対でないことを保証する。結果として得られるノードは、要素または属性ノードのいずれかでなければならない。
XPath式の評価のコンテキストは次のとおり:
コンテキストノードは、ルートノードに設定される。
コンテキストの位置とコンテキストサイズの両者は、1である。
param
要素で定義されるすべての変数はバインドである。
XPathコア関数ライブラリーで定義されるすべての関数は利用可能である。式が任意の他の関数の呼び出しを含むことはエラーである。
名前空間宣言の集合は、式が存在する属性を持つ要素の範囲内のものである。これは、 XML Namespaces勧告によって要求されるな接頭辞xml
の暗黙の宣言をが含む。(xmlns
によって宣言されるような)デフォルトの名前空間は、この集合の一部ではない。
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]
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]
相対セレクターは、 XPath 1.0で説明されるようにRelativeLocationPathまたは、 AbsoluteLocationPathを使用しなければならない。XPath式は、セレクター属性によって選択されるノードを基準にして評価される。
次の属性は、既存の情報を指す:allowedCharactersPointer
、taClassRefPointer
、taIdentPointer
、taIdentRefPointer
、taSourcePointer
、domainPointer
、externalResourceRefPointer
、langPointer
、locNotePointer
、locNoteRefPointer
、locQualityIssuesRefPointer
、provenanceRecordsRefPointer
、storageEncodingPointer
、storageSizePointer
、targetPointer
、termInfoPointer
、termInfoRefPointer
。
XPath式の評価のコンテキストは、次の変更をともなう絶対セレクターと同じである:
セレクター
属性で式によって選択されるノードは、現在のノードリストを形成する。
コンテキストノードは、現在のノードリストに由来する。
コンテキスト位置は、現在のノードリストにおける現在のノードの位置に由来する。最初の位置は1である。
コンテキストサイズは、現在のノードリストのサイズを形成する。
注:
仕様のいたるところで、単語「セレクター」の一般的な使用による混乱を防ぐために[Selectors Level 3]で指定されるとおりにSelectors
の意味で用語CSS セレクター
を使用する。用語CSSセレクターを参照のこと。
注:
ワーキンググループは、CSS セレクターベースの実装を提供しない。そうは言うものの、XPathにCSS セレクターを翻訳することができる複数の既存のライブラリーが存在するので、XPathセレクターベースの実装を使用することができる。
注:
CSSセレクターは、属性を指す能力がない。
CSSセレクターは、queryLanguage
属性で値css
によって識別される。
絶対セレクターは、[Selectors Level 3]で定義されるようにセレクターとして解釈されなければならない。単純セレクターとセレクターのグループの両方を使用することができる。
相対セレクターは、[Selectors Level 3]で定義されるようにセレクターとして解釈されなければならない。セレクターは、selector
属性でセレクターによって選択されるノードをルートとしてサブツリーに対してのみ評価されるが、完全なドキュメントツリーに対して評価されない。
ITSプロセッサーは、追加のクエリー言語をサポートしてもよい。追加のクエリー言語ごとに、プロセッサーは以下を定義しなければならない:
queryLanguage
で使用されるクエリー言語の識別子
ノードのコレクションへの絶対セレクターを評価するための規則
ノードのコレクションへの相対セレクターを評価するための規則
この仕様の将来のバージョンは追加のクエリー言語を定義する可能性があるため、次のクエリー言語識別子は予約されている:xpath
、css
、xpath2
、xpath3
、xquery
、xquery3
、xslt2
、xslt3
。
1つ(または複数)のparam
要素は、規則で使用されるさまざまなセレクターで用いられる変数のデフォルト値を定義するためにrules
要素の最初の子要素として配置することができる。
実装は、その実装がサポートするすべてのクエリー言語のparam
要素をサポートしなければならず、変数がセレクター式の評価に対してバインドされる方法を同時に定義する。実装は、param
要素のデフォルト値を変更する手段も提供すべきである。そのような手段は、実装固有である。
Param
要素は、必須のname
属性を持つ。name
属性の値はQNameである。[XML Names]を参照のこと。要素のコンテンツは、対応する変数のデフォルト値として使用される文字列である。
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パラメーターを区別するためにパラメーター名の値をもつ接頭辞を使用することができる。
文書と外部ITS規則のセットを関連付ける1 つの方法は、rules
要素で省略可能なXLink [XLink 1.1] href
属性を使用することである。参照される文書は、多くて1つのrules
要素を含む妥当なXML文書でなければならない。そのrules
要素は、ルート要素であるまたは文書ツリー内にある任意の場所に置くことができる(たとえば、文書はXMLスキーマであるかもしれない)。
参照される文書に含まれる規則は、あたかもXLink href
属性をもつrules
要素の先頭にあったかのように処理されなければならない。
この例は、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]
<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つの文書の処理の結果は、次の文書の処理と同じである。
<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]
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を参照)。
次の優先順位が様々な位置でITS情報の選択に定義される(リストの最初の項目は、最高の優先順位を持つ):
文書における明示的な(すなわち、継承されない)ローカルITSマークアップを介した選択(特定の要素のITSローカル属性)
(rules
要素を使用する)文書におけるグローバル選択
各rules
要素の内部の優先順位は次のとおり:
rules要素内の任意の規則
XLink href
属性を介してリンクされる任意の規則
注:
ITSは、(規則にリンクするための指示を処理するような)非ITSメカニズムに基づいて定義されるまたはリンクされる規則に関連する優先順位を定義しない。
継承された値を介した選択。これは、要素ノードのみに適用される。継承規則は専用のデータカテゴリーの概要表で説明される:列"要素ノードの継承"を参照のこと。継承を介した選択は、デフォルト値よりも優先される。以下の項目を参照のこと。
データカテゴリーに対するデフォルトを介した選択。8.1:位置、デフォルト、継承、データカテゴリーの上書きを参照のこと
複数のrules要素を介するグローバルな選択間の競合または同じ名前をもつ複数のparam
要素間の競合の場合、最後の規則または最後のparam
要素が優先順位が高い。
注:
優先順位は、[XSLT 1.0]の組み込みテンプレート規則として同じ目的を果たす。セマンティクスの上書きは、常に完全である。すなわち、より低い優先順位経由で提供されるすべての情報は、より高い優先順位によって上書きされる。たとえば、デフォルトは継承された値によって上書きされ、これらは、ローカルマークアップによって順番に上書きされる、グローバル規則を介して選択されたノードによって上書きされる。
この文書の2つの要素title
とauthor
は、prolog
要素の内部の場合に独立したコンテンツであるが、親要素のコンテンツの一部として他のコンテキストを目的とする。この区別をするために2つのwithinTextRule
要素を使用する:
最初の規則は、一般にtitle
とauthor
が本文内の要素として扱われることを指定する。これは、デフォルトを上書きする。
2 番目の規則は、title
またはauthor
がprolog
要素で見られるときに、コンテンツが、別々に扱われることを示す。これは、通常デフォルトであるが、規則は、最初の規則を上書きする必要がある。
<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]
一部のマークアップスキーマは、ITSデータカテゴリーを表現するために使用できるマークアップを提供する。ITSデータカテゴリーは、5.2.1節:グローバルな規則に基づく選択で説明されるグローバルな選択メカニズムを使用して、そのような既存のマークアップを関連付けることができる。
ホストマークアップの処理期待がITSのものと同じかより大きい場合にのみ、既存のマークアップとITSデータカテゴリーとの関連付けを行うことができる。たとえば、[DITA 1.0]形式は、ITS 2.0ローカル選択メカニズムの範囲を超える、“トランスクルードされた”コンテンツに適用するが、それを矛盾なく適用する翻訳属性を使用することができる。
この例において、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文書に関連付けることができる:
いくつかの場合、データカテゴリーのインスタンスがそれらを生成したプロセッサーに関する情報に関連するため重要であるかもしれない。たとえば、(mtConfidence
属性によって提供される)MT自信データカテゴリーのスコアは、スコアが同じMTエンジンから翻訳の相対的な信頼性を提供するが、確実にMTエンジン間で比較することができるスコアを提供しないので、情報の消費者もどのMTエンジン製作したかを知る場合にのみ意味がある。taConfidence
属性経由で信用情報を提供するテキストの分析データカテゴリー、またはtermConfidence
属性経由で信用情報を提供する専門用語データカテゴリーに提供される信用にも同じことが当てはまる。
ITS 2.0は、データカテゴリー注釈自身から独立して、文書で個々のデータカテゴリーの使用にそのようなプロセッサー情報を関連付けるためのメカニズムを提供する。
AnnotatorsRef
属性は、要素内の特定のデータカテゴリーのすべての注釈とそれらのデータカテゴリー注釈を生成したプロセッサーに関する情報と関連付ける方法を提供する。
注:
ツール情報を提供する3つのケースが期待されうる:
テキストコンテンツの作成または変更に使用するツールに関する情報
1)を行うだけでなく、ITS注釈を作成するツールに関する情報は、付録I:ITS 2.0のグローバル要素およびローカル属性のリストを参照
コンテンツを変更または作成しないが、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つである。
この例において、テキストは、指定されたノードの計算ツールの参照情報を示す。参照がアルファベット順に並べられ、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]
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]
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]
この章は規範である。
注:
用語HTML
は、HTML構文[HTML5]におけるHTML5またはその後継を指すことに注意されたい。
8章:データカテゴリーの説明で定義されるすべてのデータカテゴリーおよびローカルを実装もつものは、翻訳、方向および言語情報データカテゴリーを除いてHTMLで使用してもよい。
注:
HTMLはネイティブマークアップを持つので、上記のデータカテゴリーは除外される。
HTMLでデータカテゴリーは、属性として実装される。HTML属性の名前は、次の規則を使用することでローカル実装で定義される属性の名前から派生した:
属性名は接頭辞its-
をもつ。
各属性名の大文字は、-
(U+002D)に続いて文字の小文字のバリアントで置き換えられる。
例48は、ローカルXML属性withinText
をもつテキスト内要素データカテゴリーを示す。例 49はHTMLにおけるカウンターパート、すなわち、ローカル属性its-within-text
を示す。
定義済みの値の集合とデータカテゴリーに対応する、属性の値は、ASCII大文字・小文字不区別で一致しなければならない。
注:
属性名の大文字小文字も、HTML構文の性質を考えると無関係となる。よって、HTMLにおいて用語データカテゴリーは、its-term
、ITS-TERM
、its-Term
などとして格納することができる。これらの属性のすべては、等価として扱われ、DOMの構築時に正規化される。
XMLスキーマdoubleデータ型を使用するデータカテゴリーに対応する属性の値は、[HTML5]で定義される妥当な浮動小数点数でなければならない 。
一般にグローバル規則、外部のグローバル規則、またはインライングローバル規則のさまざまな側面を考慮する必要がある。グローバル規則を使用する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 つ以上のルール
要素が含まれています。
注:
ドキュメントに埋め込まれているグローバル ルールよりリンク
要素を使用してリンクされている外部のグローバル規則を使用することが好ましい。
HTMLにおける出所孤立マークアップおよびHTMLにおけるのローカリゼーション品質問題マークアップの制限は下記でなければならない。
次の優先順位がHTML文書の様々な位置でITS情報の選択に定義される(リストの最初の項目は、最高の優先順位を持つ):
文書における暗黙のローカル選択(特定の要素のITSローカル属性)
文書順で処理される(外部グローバル規則またはインライングローバル規則のメカニズムを使用する)文書におけるグローバル選択。詳細については5.2.1節:グローバルな規則に基づく選択を参照のこと。
注:
ITSは、(規則にリンクするための指示を処理するような)非ITSメカニズムに基づいて定義されるまたはリンクされる規則に関連する優先順位を定義しない。継承を介する選択は、デフォルト値よりも優先される(下記参照)。
継承された値を介した選択。これは、要素ノードのみに適用される。継承規則は、専用のデータカテゴリー概要表にで説明される(列"要素ノードの継承を参照)。継承を介する選択は、デフォルト値よりも優先される(下記参照)。"
データカテゴリーに対するデフォルトを介した選択。8.1:位置、デフォルト、継承、データカテゴリーの上書きを参照のこと。
複数のrules要素を介するグローバルな選択間の競合または同じ名前をもつ複数のparam
要素間の競合の場合、最後の規則または最後のparam
要素が優先順位が高い。
前述の例6は優先順位を示す:yesに設定されるtranslate
属性をもつcode
要素は、翻訳不可能としてすべてのcode
要素を設定するグローバル規則に優先する。
この章は規範である。
XHTML構文におけるHTML5文書を含む、ウェブブラウザーによって公共の消費を目的としたXHTML文書は、DOM一貫性HTMLデザイン原則に忠実であるために6章:HTMLでITSマークアップを使用するで説明した構文を使用すべきである 。
この例は、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構文を使用することを勧める。
この章は規範である。
次の表は、どの選択、デフォルト値、継承および上書き動作が適用されるかをデータカテゴリーごとにまとめるものである。表はまた、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
の完全なコンテンツを使用することは自由である。たとえば、翻訳者に提示するなど。
データカテゴリー(識別子 ) | ローカルの使用法 | グローバルな規則ベースの選択 | グローバル情報の追加 | 既存の情報へのグローバルポインティング | デフォルト値 | 要素ノードの継承 | 例 |
翻訳(translate ) | Yes | Yes | Yes | No | XMLの場合:属性に対してtranslate ="yes" 要素とtranslate="no" 。[HTML5]の場合:HTLM5翻訳処理を参照。 | XMLの場合:子要素のコンテンツを含むが属性を除く、要素のテキストコンテンツ。 [HTML5]の場合:HTLM5翻訳処理を参照。 | ローカル、グローバル |
ローカリゼーション注(localization-note ) | Yes | Yes | Yes | Yes | None | 子要素のコンテンツを含むが属性を除く、要素のテキストコンテンツ | ローカル、グローバル |
用語(terminology ) | Yes | Yes | Yes | Yes |
term="no"
| None | ローカル、グローバル |
方向(directionality ) | Yes | Yes | Yes | No |
dir="ltr"
| 属性および子要素を含む、要素のテキストコンテンツ | ローカル、グローバル |
言語情報(language-information ) | No | Yes | No | Yes | None | 属性および子要素を含む、要素のテキストコンテンツ | グローバル |
テキスト内要素(elements-within-text ) | Yes | Yes | Yes | No | XMLコンテンツの場合:withinText="no" 。[HTML5]の場合:HTLM5翻訳処理を参照。 | None | ローカル、グローバル |
ドメイン(domain ) | No | Yes | Yes | Yes | None | 属性および子要素を含む、要素のテキストコンテンツ | グローバル |
テキスト解析(text-analysis ) | Yes | Yes | Yes | Yes | None | None | ローカル、グローバル |
ロケールフィルター(locale-filter ) | Yes | Yes | Yes | No |
localeFilterList="*" ,
localeFilterType="include"
| 属性および子要素を含む、要素のテキストコンテンツ | ローカル、グローバル |
出所(provenance ) | Yes | Yes | No | Yes | None | 子要素および属性を含む、要素のテキストコンテンツ | ローカル、グローバル |
外部リソース(external-resource ) | No | Yes | No | Yes | None | None | グローバル |
ターゲットポインター (target-pointer ) | No | Yes | No | Yes | None | None | グローバル |
ID値(id-value ) | No | Yes | No | Yes | None | None | グローバル |
スペースを保持(preserve-space ) | Yes | Yes | Yes | No |
default
| 属性および子要素を含む、要素のテキストコンテンツ | ローカル、グローバル |
ローカリゼーション品質問題(localization-quality-issue ) | Yes | Yes | Yes | Yes | None | 子要素を含むが属性を除く、要素のテキストコンテンツ | ローカル、グローバル |
ローカリゼーション品質評価(localization-quality-rating ) | Yes | No | No | No | None | 子要素を含むが属性を除く、要素のテキストコンテンツ | local |
MT信頼(mt-confidence ) | Yes | Yes | Yes | No | None | 子要素を含むが属性を除く、要素のテキストコンテンツ | ローカル、グローバル |
許容文字(allowed-characters ) | Yes | Yes | Yes | Yes | None | 子要素を含むが属性を除く、要素のテキストコンテンツ | ローカル、グローバル |
記憶域サイズ(storage-size ) | Yes | Yes | Yes | Yes | None | None | ローカル、グローバル |
この例において、要素で翻訳データカテゴリーのデフォルトは"yes"であり、属性で"no"であり、かつその値のいずれも上書きされないので、すべてのdata
要素のコンテンツは翻訳可能であり、かついずれの属性も翻訳可能でない。最初のtranslateRule
は、ローカルits:translate="no"
属性によって上書きされる。revision
、profile
、reviser
、locNote
要素のコンテンツは、翻訳可能ではない。これは、これらの要素が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]
注:
データカテゴリーは、デフォルトに関して異なる。この違いは、既存の標準および慣例によるものである。たとえば、翻訳に関する情報は、要素のテキストコンテンツをのみ参照するのが一般的な方法である。したがって、翻訳データカテゴリーのデフォルトの選択は、テキストコンテンツである。
翻訳データカテゴリーは、要素または属性のコンテンツがを翻訳対象であるかどうかに関する情報を表現する。このデータカテゴリーの値は、"yes"(翻訳可能)または"no"(翻訳可能でない)である。
翻訳データカテゴリーは、グローバル規則、または個々の要素のローカルで表現することができる。継承および要素と属性との間の相互作用の処理は、[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
属性。
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にこの制限は適用されないことに注意する。
ローカル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]
ローカル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]
ローカリゼーション注データカテゴリーは、コンテンツの特定の項目に関するローカライザーにノートを通信するために使用される。
このデータカテゴリーは、次を含むがこれに限定されない、さまざまな用途に使用することができる:
コンテンツの一部を翻訳する方法を翻訳者に教える
どの変数が言及するか、または文字列がユーザーインターフェイスで使用方法など、特定要素の意味または文脈上の使用法をを説明する
あいまいさを明らかにし、正確な翻訳を許可するのに十分な項目間の関係を示す(たとえば、多くの言語で性別、数字、およびものを指す場合を知らずに分離して単語を"有効に"翻訳することは不可能である。)
テキストの一部を強調する理由を示す(重大さ、皮肉など)
2種類の有益なノートが必要とされる:
アラートは、翻訳者がテキストを翻訳する前に読む必要がある情報を含む。例:ソース言語でテキストの一部を残すことを翻訳者に指示。
説明は、翻訳者が望む場合にのみ参照する有用な背景情報を提供する。例:ソーステキストにおける曖昧さの明確化。
編集ツールは、この種類の情報を作成する簡単な方法を提供するかもしれない。翻訳ツールは、これら2つのタイプののローカリゼーション注の間の違いを認識させることができ、翻訳者にさまざまな方法で情報を提示することができる。
ローカリゼーション注データカテゴリーは、グローバル規則、または個々の要素でローカルに表現することができる。要素に対して、データカテゴリー情報は、子要素を含むが属性を除く、要素のテキストコンテンツを継承する。
グローバル:locNoteRule
要素は、次を含む:
必須のselector
属性。この規則を適用するノードを選択する絶対セレクターが含まれる。
値"description"または"alert"をもつ必須のlocNoteType
属性。
厳密に、次のいずれか:
ノート自体を含んでローカルITSマークアップを許可するlocNote
要素。
ローカリゼーション注を保持するノードを指す相対セレクターを含むlocNotePointer
属性。
ローカリゼーションノートの場所を参照するIRIを含むlocNoteRef
属性。
ローカリゼーションノートの場所を参照するIRIを保持するノードを指す相対セレクターを含むlocNoteRefPointer
属性。
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]
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]
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]
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"と見なされる。
<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]
<!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]
注:
この特定の場合に、テキストを格納するために属性を使用することを避けることを推奨する。しかし、ホスト文書の構造を妨げることなくノートを提供する必要は、属性を使用しての欠点を上回る。
用語データカテゴリーは、用語をマークし、定義などの情報を必要に応じて関連付けるために使用される。これは、文書のさまざまな部分にわたり一貫性の向上に役立つ。また、翻訳に有用である。
注:
[ISO 30042]のような既存の用語規格とその派生形式は、ITS用語データカテゴリーは、XML文書内の用語を識別し、必要に応じて対応する情報を指すことを容易にしつつ、専門用語データをコーディングすることを意味する。
用語データカテゴリーは、グローバル規則、または個々の要素でローカルに表現することができる。継承はない。デフォルトは、要素も属性が用語ではない。
グローバル:termRule
要素は、次を含む:
必須のselector
属性。この規則を適用するノードを選択する絶対セレクターが含まれる。
値"yes"または"no"をもつ必須のterm
属性。
次の0または1つ:
<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]
<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]
<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ツール注釈を参照のこと。
<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]
<!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]
注:
執筆時点で、拡張は、特に方向が周囲のコンテンツから分離する必要がある場所でコンテンツをサポートする、方向をマークアップすることへのアプローチを変更することが期待されるHTML5のコンテキストで議論されている。しかし、この拡張はまだ確定されていない。この節はしたがって、[HTML 4.01]における方向マークアップを反映する。HTML5における拡張は、将来の改訂で反映される。
方向データカテゴリーは、ブロック、埋め込みおよび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]で提供される。
方向データカテゴリーは、グローバル規則または個々の要素でローカルに表現することができる。要素の場合、データカテゴリー情報は、子要素を含む要素および属性のテキストコンテンツに継承する。デフォルト値は、要素と属性の両方が左から右への方向を持つ。
グローバル:dirRule
要素は、次を含む:
必須のselector
属性。この規則を適用するノードを選択する絶対セレクターが含まれる。
値"ltr"、"rtl"、"lro"または"rlo"をもつ必須のdir
属性。
この文書で、右から左の方向は、値"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]
属性が右から左へ上書きコンテンツを持つ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
要素を代わりに使用する。
最初の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]
<!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]
langRule
要素は、コンテンツの特定の部分の言語を表現するために使用される。langPointer
属性は、セレクター属性によって選択されるテキストの言語を表すマークアップを指す。このマークアップは、[BCP47]に適合する値を使用しなければならない。言語の同定を指定するために推奨される方法は、XMLでxml:lang
、およびHTMLでlang
を使用することである。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
は、言語識別の必須手段である。
テキスト内要素データカテゴリーは、テキストコンテンツが言語学の立場から動作する方法について要素が影響を与える場合にどのように影響を与えるかを明らかにする。この情報は、メモリシステム翻訳などのツールに基本的なテキストセグメンテーションのヒントを提供することに関連する例である。このデータカテゴリーに関連付けられる値は次のとおり:
"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>
テキスト内要素データカテゴリは、グローバル規則、または個々の要素でローカルに表現することができる。継承はない。
XMLの場合:デフォルトは要素がテキスト内にない。
HTMLの場合:デフォルトは、次の例外とともに、要素がテキスト内にない。
HTML5フレージングコンテンツの一部である要素の場合、デフォルトは次の例外をもつwithinText="yes"
である:
iframe
、noscript
、script
およびtextarea
要素の場合、デフォルトはwithinText="nested"
である。
この文書でテキストの異なるフローは次のとおり(インラインまたはネストされた要素を示す角かっこ):
- "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
属性。
<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
属性。
<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]
<!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]
ドメインデータカテゴリーは、コンテンツの主題またはトピックを識別するために使用される。そのような情報は、様々なプロセスの中により関連性の高い言語に関する選択肢を可能にする。
使用法の例が次になる:
コンテンツを翻訳するための最も適切なエンジンおよび規則を選択する機械翻訳システムを可能にする。
どのような用語集が翻訳者による用途に最も適しているかの一般的な指標を提供する。
このデータカテゴリーは様々な課題に対処する:
ドメインデータカテゴリーは、グローバル規則でのみ表現することができる。要素の場合、データカテゴリー情報は、子要素を含む要素および属性のテキストコンテンツに継承する。デフォルトに存在しない。
このデータカテゴリーによって提供される情報は、次のアルゴリズムを適用することによって得られる、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を使用する"ような)プロセスまたはワークフローをエンコードしない。代わりに、ワークフロー内で使用することができる情報をエンコードする。
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]
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"を含むことはない。このような場合に適切な行動についてのガイドラインは、この仕様の範囲を超える。
テキスト分析データカテゴリーは、コンテキストの曖昧さ回避のための語彙または概念の情報とともにコンテンツを注釈付けするために使用される。この情報は、名前付きエンティティー認識機能、語彙概念曖昧性解消などのいわゆるテキスト解析ソフトウェアエージェントによって提供することができ、文字列値または使用可能なリソースの記述への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などの一部の外部リソースは、複数の言語でいくつかの存在概念および名前付きエンティティー定義の情報を提供し、そして可能性のあるリンクが名前付きエンティティーの外国語ラベルに直接アクセスを可能にするため、翻訳がさらに容易になる。
テキスト解析データカテゴリーは、グローバル規則、または個々の要素でローカルに表現することができる。継承はない。
注:
この仕様は、ローカルにXMLおよびHTMLでテキスト分析情報を表す標準的な方法を定義する。しかし、他の形式、たとえばJSONでテキスト分析情報を表すこともできる。Internationalization Tag Set Interest Groupは、そのような代替シリアライズの説明を保持する。この仕様の読者は、その説明が読者のニーズを満たすかどうかを評価しITS IGメーリングリスト(公開アーカイブ)にコメントすることを勧める。
グローバル:textAnalysisRule
要素は、次む含む:
この規則を適用するノードを選択する絶対セレクターを含む必須のセレクター
属性。
次の少なくともいずれか:
エンティティーの種類/概念クラス情報を実装する、IRIを保持するノードを指す相対セレクターを含むTaClassRefPointer
属性。
厳密に、次のいずれか:
識別モード1を使用する場合:コレクションソースの識別子を保持するノードに相対セレクターを含むtaSourcePointer
属性。コレクションにおけるコンセプトの識別子を保持する相対セレクターを含むtaIdentPointer
属性ノード。
識別モード2を使用する場合:テキスト分析ターゲットの識別子を保持するIRIを保持するノードを指す相対セレクターを含むtaIdentRefPointer
属性。
例については、例54を参照のこと。
ローカル:テキスト分析データカテゴリーに対して次のローカルマークアップは利用可能である:
テキスト分析の信頼を実装するオプションのtaConfidence
属性。
次の少なくともいずれか:
エンティティーの種類/概念クラス情報を実装する、IRIを保持するTaClassRef
属性。
厳密に、次のいずれか:
識別モード1を使用する場合:コレクションソースの識別子を保持するtaSource
属性、およびコレクションにおけるコンセプトの識別子を保持するtaIdent
属性。
識別モード2を使用する場合:テキスト分析ターゲットの識別子を保持するtaIdentRef
属性。
指定されるtaConfidence
属性をもつテキスト分析データカテゴリーで選択される任意のノードは、テキスト分析データカテゴリーに指定されるannotatorsRef
をもつ(またはHTML its-annotators-ref
で)要素に含まれなければならない。詳細については、5.7節:ITSツール注釈を参照のこと。
<!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テキスト解析データカテゴリーのマークアップの使用が適する。この方法で、後でマークアップを簡単に取り除くことができる。
マッピングデータを伴う付随文書については、例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]
<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]
ロケールフィルターデータカテゴリーは、ノードが特定のロケールにのみ適用可能であることを指定する。
このデータカテゴリーは、次を含むがこれに限定されない、さまざまな用途に使用することができる:
特定地域のロケールにのみ法的通知を含める。
ローカライズされたすべての出力から編集ノートを削除する。
ロケールフィルターデータカテゴリーは、選択された各ノードを[BCP47]に準拠するフィルタータイプおよび拡張言語範囲のリストに関連付ける。
リストはコンマで区切られ、ワイルドカード拡張言語範囲"*"を含めることができる。リストは空にすることもできる。言語範囲を囲む空白は無視される。
型は、値"include"または"exclude"を取ることができる:
型"include"をもつワイルドカード"*"は、選択したコンテンツがすべてのロケールに適用されることを示す。
型"exclude"をもつワイルドカード"*"は、選択したコンテンツがロケールに適用されないことを示す。
型"include"をもつ空文字列は、選択したコンテンツがロケールに適用されないことを示す。
型"exclude"をもつ空文字列は、選択したコンテンツがすべてのロケールに適用されることを示す。
それ以外の場合、型"include"では、[BCP47]で定義される拡張フィルタリングアルゴリズムを使用する場合、選択されたコンテンツは、言語タグがリスト内で一致するロケールに適用される。
代わりに、型が"exclude"である場合、[BCP47]で定義される拡張フィルタリングアルゴリズムを使用するとき、選択されたコンテンツは、言語タグがリスト内で一致しないロケールに適用される。
ロケールフィルターデータカテゴリーは、グローバル規則、または個々の要素でローカルに表現することができる。要素の場合、データカテゴリー情報は、子要素を含む要素および属性のテキストコンテンツに継承する。デフォルトは言語範囲が"*"で、型が"include"である。
グローバル:localeFilterRule
要素は、次の要素を含む:
必須のselector
属性。この規則を適用するノードを選択する絶対セレクターが含まれる。
拡張言語範囲のカンマで区切りリスト、または空の文字列値をもつ必須のlocaleFilterList
属性。
値"include"または"exclude"をもつオプションのlocaleFilterType
属性。
この文書は、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
属性。
この例で、ロケールフィルターデータカテゴリーは、ロケールがカナダのものかどうかによって異なるセクションを選択するために使用される。
<!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]
<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]
起源データカテゴリーは、コンテンツの翻訳または翻訳されたコンテンツの改訂に関与したエージェントの身元を伝えるために使用される。これは、ポストエディター、翻訳品質レビュワー、またはローカリゼーションワークフローマネージャーなどの翻訳および翻訳リビジョンのコンシューマーに、これらのエージェントのパフォーマンスが翻訳の品質にどのような影響を与えるかを評価することを可能にする。翻訳および翻訳改訂エージェントは、選択されたコンテンツをもたらす翻訳を提供することに関与した人物、ソフトウェアまたは組織として特定することができる。
このデータカテゴリーは、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使用シナリオに関する注を参照のこと。
起源データカテゴリーは、グローバル規則で、または個々の要素にローカルで表現することができる。要素の場合、データカテゴリー情報は、子要素を含む要素および属性のテキストコンテンツに継承する。
グローバル:provRule
要素は次を含む:
必須のselector
属性。この規則を適用するノードを選択する絶対セレクターが含まれる。
起源レコードのリストを含むノードを指す相対セレクターを含むprovenanceRecordsRefPointer
属性。これはselector
属性で選択されたコンテンツに関連する。
この例は、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つ:
人間の起源情報を実装するperson
またはpersonRef
属性。
組織の起源情報を実装するorg
またはorgRef
属性。
ツール関連の起源情報を実装するtool
またはtoolRef
属性。
人間改訂起源情報を実装するrevPerson
またはrevPersonRef
属性。
組織改訂起源情報を実装するrevOrg
またはrevOrgRef
属性。
ツール関連の改訂情報を実装するrevTool
またはrevToolRef
属性。
外部起源記述への参照を実装するprovRef
属性。
または(孤立マークアップ):
provenanceRecordsRef
属性。その値は、このコンテンツに関連する起源レコードのリストを含むprovenanceRecords
要素を指し示すIRIである。
要素provenanceRecords
は次を含む:
1つ以上の要素provenanceRecord
。それぞれ次の属性の少なくとも1つを含む:
人間の起源情報を実装するperson
またはpersonRef
属性。
組織の起源情報を実装するorg
またはorgRef
属性。
ツール関連の起源情報を実装するtool
またはtoolRef
属性。
人間改訂起源情報を実装するrevPerson
またはrevPersonRef
属性。
組織改訂起源情報を実装するrevOrg
またはrevOrgRef
属性。
ツール関連の改訂情報を実装するrevTool
またはrevToolRef
属性。
外部起源記述への参照を実装するprovRef
属性。
注:
理想的には、provenanceRecords
要素内のprovenanceRecord
要素の順序は、最も最近に追加されるリスト化される最初のものとともに、それらが文書に追加された順序を反映する。
属性person
、personRef
、org
、orgRef
、tool
、toolRef
、revPerson
、revPersonRef
、revOrg
、revOrgRef
、revTool
、revToolRef
およびprovRef
が孤立方式で使用される場合、それらが保持する情報は、孤立アノテーションを参照する要素のコンテンツに関してであって、それらを参照する要素で宣言される要素のprovenanceRecord
の内容ではない。
HTMLで、孤立マークアップは、同じHTML文書内のscript
要素内に格納されるか、孤立内部にある任意のprovenanceRecordsRef
から外部XMLまたはHTMLファイルにリンクされるかのいずれかでなければならない。孤立がscript
要素の中にある場合、その要素は値application/its+xml
をもつtype
属性を持たなければならない。そのid
属性は、それに含まれるprovenanceRecords
要素のxml:id
属性と同じ値に設定されなければならない。
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]
この例では、コンテンツの複数の範囲が出所情報に関連付けられる。
<!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]
次の例は、ローカル孤立マークアップを使用して起源情報をエンコードする文書を示す。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]
外部リソースデータカテゴリーは、ノードが文書の外部のリソース内で潜在的に翻訳可能なデータを表現または参照することを示す。そのようなリソースの例は、外部の画像およびオーディオまたはビデオのファイルである。
外部リソースデータカテゴリーは、グローバル規則のみで表現することができる。継承はない。デフォルトに存在しない。
グローバル:externalResourceRefRule
要素は次を含む:
必須のselector
属性。この規則を適用するノードを選択する絶対セレクターが含まれる。
外部リソースのIRIを提供するノードを指す相対セレクターを含む必須のexternalResourceRefPointer
属性。
externalResourceRefRule
要素は、imagedata
、audiodata
、および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]
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]
<!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]
ローカライゼーションや多言語リソース用に設計されたものなど、一部の形式は、単一の文書内部に異なる言語で同じコンテンツを保持する。ターゲットポインターデータカテゴリーは、与えられたソースコンテンツ(すなわち、翻訳されるコンテンツ)のノードと、対応するターゲットコンテンツ(すなわち、与えられたターゲット言語に翻訳されたソースコンテンツ)のノードとを関連付けるために使用される。
この仕様は、ターゲットノードまたはそのコンテンツの存在に関する規定はない。ターゲットノードは存在する場合と存在しない場合、コンテンツがある場合とない場合がある。
このデータカテゴリーは、次を含むがこれに限定されない、さまざまな用途に使用することができる:
翻訳するソースコンテンツを抽出して、適切な場所に翻訳を置き戻す。
品質確認のためにソースとターゲットの内容を比較する。
既存の文書の新しいバージョンをローカライズするときに、既存の翻訳を再利用する。
記憶を構築するため、または機械翻訳エンジンを訓練するために、アラインされた二言語のコンテンツにアクセスする。
注:
一般に、非常に特定の使用例を除いて、同一コンテンツが異なる言語で同じ文書に格納されるような、フォーマットの開発を避けることが推奨される。詳細なガイダンスについては、[XML i18n BP]のベストプラクティス“Working with multilingual documents”を参照のこと。
ターゲットポインタデータカテゴリーは、グローバル規則でのみ表現することができる。継承はない。デフォルトに存在しない。
グローバル:targetPointerRule
要素は、次を含む:
必須のselector
属性。この規則を適用するノードを選択する絶対セレクターが含まれる。
必須のtargetPointer
属性。これは、選択されたソースノードに対応するターゲットコンテンツのノードを指す相対セレクターを含む。
注:
ソースノードとターゲットノードは異なる種類であってもよいが、ターゲットノードはソースノードと同じコンテンツを含む必要がある(たとえば、属性ノードは、子をもつ要素であるソースノードのターゲットノードとすることはできない)。
<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]
ID値データカテゴリーは、コンテンツの特定の部分に対する一意の識別子として使用することができる値を示す。
一意の識別子を指定するために推奨される方法は、HTMLでxml:id
[XML ID]またはid
を使用することである([XML i18n BP]のベストプラクティス“Defining markup for unique identifiers”を参照のこと)。idValueRule
要素は、一意の識別子が別の構造で利用可能な文書のフォールバックメカニズムとしてのみ意図される。
元の文書で維持される一意の識別子を提供することは、たとえば次のような複数の目的に役立てることができる:
ソースドキュメントの異なるバージョン間、またはソースドキュメントと翻訳ドキュメント間の自動アライメントを可能にする。
完全一致のためのレバレッジド・トランスレーションの信頼性を向上させる。
テストまたはデバッグ時に、表示されるテキストとソース素材間にバックトラッキング情報を提供する。
ID値データカテゴリーは、グローバル規則でのみ表現することができる。継承はない。デフォルトに存在しない。
グローバル:idValueRule
要素は、次を含む:
必須のselector
属性。この規則を適用するノードを選択する絶対セレクターが含まれる。
必須のidValue
属性。これは任意のXPath式を含む。XPath式の評価のコンテキストは、相対セレクターの場合と同じである。XPath式の評価は、この規則が適用するノードの識別子に対応する文字列を構成する。識別子は、少なくとも文書内で一意でなければならない。選択されたノードで属性xml:id
が存在する場合、またはHTMLのid
である場合、HTMLにおけるxml:id
属性またはid
の値は、idValue
値よりも優先しなければならない。
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]
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]
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]
空白保持データカテゴリーは、空白をコンテンツ内でどのように処理するかを示す。 このデータカテゴリーに可能な値は、 "default"および"preserve"であり、かつxml:space属性の対応する値と同じ意味を持っている。 デフォルト値は "default"である。空白保持データカテゴリーは、HTML構文のHTML文書には適用されない。
空白保持データカテゴリーは、グローバル規則で、またはxml:space
属性を使用するローカルで表現することができる。要素の場合、データカテゴリーの情報は、子要素および属性を含む、要素のテキストコンテンツを継承する。
注:
xml:space
(かつ拡張空白保持で)はtext/htmlとして解析される文書には影響しないため、空白保持データカテゴリーは、HTML構文でHTML文書には適用されない。しかし、データカテゴリーはXHTML構文におけるHTMLで使用することができる。
グローバル:preserveSpaceRule
要素は、次の要素を含む:
必須のselector
属性。この規則を適用するノードを選択する絶対セレクターが含まれる。
値"default"または"preserve"をもつ必須のspace
属性。
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
属性は、空白保持データカテゴリーに厳密に対応する。
標準の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]
ローカリゼーション品質問題データカテゴリーは、ローカリゼーション品質評価タスクに関連する情報を表現するために使用される。 そのようなタスクは、ある種のソースコンテンツ(テキストや画像など)をターゲット言語に変換すること、またはその品質がローカリゼーションプロセスに影響を与えるソースコンテンツ自身に処理することができる。
注:
自動または手動品質評価は、翻訳とローカリゼーションの品質管理の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つの例は、文書が再チェックされるたびに再度表示されないようにするような、ユーザーが誤検出を無効にするツールである。 |
ローカリゼーション品質問題データカテゴリーは、グローバル規則、または個々の要素でローカルに表現することができる。要素に対して、データカテゴリー情報は、子要素を含むが属性を除く、要素のテキストコンテンツを継承する。
グローバル:locQualityIssueRule
要素は、次を含む:
必須のselector
属性。この規則を適用するノードを選択する絶対セレクターが含まれる。
(ローカルインラインマークアップと並行して)
次の属性の少なくとも1つ:
重大度情報を実装するオプションのlocQualityIssueSeverity
属性。
プロファイル参照情報を実装するオプションのlocQualityIssueProfileRef
属性。
有効な情報を実装するオプションのlocQualityIssueEnabled
属性。
または(孤立マークアップ)次のいずれかの厳密に1つ:
注:
属性locQualityIssuesRefPointer
は、HTMLの直接アノテーションにローカルマークアップが提供されるため、HTMLには適用されない。
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]
次の例は、複数の問題をエンコードするためにローカル孤立マークアップを使用する文書を示す。しかし、この場合、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
属性を持つことができない)。そのような場合、ローカル孤立マークアップが提供される。
ローカリゼーション品質評価データカテゴリーは、次のローカルマークアップを使用できる。
(インラインマークアップ):
次の属性の少なくとも1つ:
重大度情報を実装するオプションのlocQualityIssueSeverity
属性。
プロファイル参照情報を実装するオプションのlocQualityIssueProfileRef
属性。
有効な情報を実装するオプションのlocQualityIssueEnabled
属性。
または(孤立マークアップ):
locQualityIssuesRef
属性。その値は、このコンテンツに関連する問題のリストを含むlocQualityIssues
要素を指し示すIRIである。
locQualityIssuesRef
属性で指定された識別子に設定されたxml:id
属性をもつlocQualityIssues
要素。locQualityIssues
要素は次のものを含む:
1つ以上の要素locQualityIssue
。各要素は次のものを含む:
次の属性の少なくとも1つ:
重大度情報を実装するオプションのlocQualityIssueSeverity
属性。
プロファイル参照情報を実装するオプションのlocQualityIssueProfileRef
属性。
有効な情報を実装するオプションのlocQualityIssueEnabled
属性。
注:
理想的には、locQualityIssues
要素内のlocQualityIssue
要素の順序は、文書に追加された順序を反映する。最も最近追加された順序が最初にリストされる。
属性locQualityIssueType
、locQualityIssueComment
、locQualityIssueSeverity
、locQualityIssueProfileRef
およびlocQualityIssueEnabled
が孤立方式で使用される場合、それらが保持する情報は、孤立注釈を参照する要素のコンテンツに関連し、宣言される要素locQualityIssue
のコンテンツには関係しない。
HTMLでは、孤立マークアップは、同じHTML文書でscript
要素内に格納するか、孤立を内部にもつ任意のlocQualityIssuesRef
から外部XMLまたはHTMLファイルにリンクすることができるかのいずれかでなければならない。孤立がscript
要素内部にある場合、その要素は値application/its+xml
をもつtype
属性を持たなければならない。そのid
属性は、それに含まれるlocQualityIssues
要素のxml:id
属性と同じ値に設定されなければならない。
locQualityIssueType
、locQualityIssueComment
および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]
この例では、コンテンツの複数の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]
次の例は、複数の問題をエンコードするためにローカル孤立マークアップを使用する文書を示す。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]
次の例は、複数の問題をエンコードするためにローカル孤立マークアップを使用する文書を示す。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]
ローカリゼーション品質評価データカテゴリーは、文書または文書内のアイテムのローカライズ品質の全体的な測定値を表すために使用される。
このデータカテゴリーは、特定の項目または文書の品質スコアまたは投票結果を指定したり、合格スコアまたは投票を構成するものを示したりすることを可能にする。また、スコアリングや投票に使用される品質評価モデルを記述するプロファイルを指すことも可能にする。
ローカリゼーション品質評価データカテゴリーは、個々の要素に対してのみローカルに表現される。データカテゴリー情報は、子要素を含むが属性を除く、要素のテキストコンテンツを継承する。
ローカル:ローカリゼーション品質評価データカテゴリーは、次のローカルマークアップを使用できる:
厳密に、次のいずれか:
locQualityRatingScore
属性。その値は、区間0以上100以下における有理数となる。値は、制約ファセット0に設定するminInclusiveおよび100に設定するmaxInclusiveをもつXMLスキーマdoubleデータ型に従う。より高い値は、よりよい品質を表す。
locQualityRatingVote
属性。その値は、より良い投票を示すより高い値を持つ符号付き整数である。
locQualityRatingScore
を使用する場合:
使用されるプロファイルで合格スコアを構成する最低スコアを示すオプションのlocQualityRatingScoreThreshold
属性。その値は、区間0以上100以下における有理数となる。値は、制約ファセット0に設定するminInclusiveおよび100に設定するmaxInclusiveをもつXMLスキーマdoubleデータ型に従う。
locQualityRatingVote
を使用する場合:
使用されるプロファイルで合格投票を構成する最小値を示すオプションのlocQualityRatingVoteThreshold属性
。その値は符号付き整数である。
オプションのlocQualityRatingProfileRef属性
。その値は、スコアリングに使用される品質評価モデルを説明する参考資料を指し示すIRIである。
locQualityRatingScore
、locQualityRatingThreshold
および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]
its-loc-quality-rating-score
、its-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]
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信頼スコアを表示することができる。
MT信頼データカテゴリーは、グローバル規則で、または個々の要素にローカルで表現することができる。要素に対して、データカテゴリー情報は、子要素を含むが属性を除く、要素のテキストコンテンツによって継承される。
MT信頼データカテゴリーによって選択された任意のノードは、MT信頼データカテゴリーに指定されたannotatorsRef
(またはHTMLでits-annotators-ref
)属性をもつ要素に含まれなければならない。詳細については、5.7節:ITSツール注釈を参照のこと。
グローバル:mtConfidenceRule
要素は、次を含む:
必須のselector
属性。この規則を適用するノードを選択する絶対セレクターが含まれる。
区間0以上1以下の有理数として変換信頼スコアを表す値をもつ必須のmtConfidence
属性。値は、制約ファセット0に設定するminInclusiveおよび1に設定するmaxInclusiveをもつXMLスキーマdoubleデータ型に従う。
<!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ルールファイルが示される場所は次のとおり:
<?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信頼データカテゴリーに使用できる:
区間0以上1以下の有理数として変換信頼スコアを表す値をもつmtConfidence
属性。値は、制約ファセット0に設定するminInclusiveおよび1に設定するmaxInclusiveをもつXMLスキーマdoubleデータ型に従う。
<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]
<!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]
許容文字データカテゴリーは、特定のコンテンツの一部分で許可される文字を指定するために使用される。
このデータカテゴリーは、次の例を含むさまざまな目的で使用することができる:
フォント制限のためにゲームの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ソースとして表示):
"[abc]"
:文字'a'、'b'および'c'を許可する。
"[a-c]"
:文字'a'、'b'および'c'を許可する。
"[a-zA-Z]"
:文字'a'から'z'までおよび'A'から'Z'までを許可する。
"[^abc]"
:'a'、'b'および'c'以外の任意の文字を許可する。
"[^a-c]"
:'a'、'b'および'c'以外の任意の文字を許可する。
"[^<>:"\\/|\?*]"
:Windowsファイル名に有効な文字のみを許可する。
"."
:任意の文字を許可する。
""
:一切の文字を許可しない。
許容文字データカテゴリーは、グローバル規則で、または個々の要素にローカルで表現することができる。要素に対して、データカテゴリー情報は、子要素を含むが属性を除く、要素のテキストコンテンツを継承する。
グローバル:allowedCharactersRule
要素は、次を含む:
必須のselector
属性。この規則を適用するノードを選択する絶対セレクターが含まれる。
厳密に、次のいずれか:
許可された文字を示す正規表現を含むallowedCharacters
属性。
allowedCharacters
と厳密に同じセマンティクスをもつノードを指す相対セレクターを含むallowedCharactersPointer
属性。
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]
属性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="[ !–~]">FULL WIDTH ONLY</record> </res>
[Source file: examples/xml/EX-allowedCharacters-global-2.xml]
ローカル:次のローカルマークアップは許容文字データカテゴリに対して使用することができる:
許可された文字を示す正規表現を含むallowedCharacters
属性。
ローカル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="[ -þ]" >CONTINUE</panelmsg> Button on the printer panel</msg> </messages>
[Source file: examples/xml/EX-allowedCharacters-local-1.xml]
ローカル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]
ストレージサイズデータカテゴリーは、特定コンテンツの最大ストレージサイズを指定するために使用される。
このデータカテゴリーは、次の例を含むさまざまな目的で使用することができる:
文字列が固定サイズのデータベースフィールドに収まるかどうかを変換中に確認する。
実行時に固定長メモリーバッファーに格納される文字列のサイズを制御する。
ストレージサイズは常にバイトで表され、先頭のバイトオーダーマーカーは除外される。これは、コンテンツの格納時に、使用される文字エンコーディングおよび改行タイプとともに提供される。エンコーディング形式がバイトを単位として使用しない場合(たとえば、UTF-16が16ビットコード単位を使用する場合)、ストレージサイズはバイト単位で指定しなければならない(たとえば、UTF-16の場合:16ビットコード単位あたり2バイト)。
特定コンテンツのストレージサイズを検証するアプリケーションは、次の手順を実行することが期待される:
検証するコンテンツのすべてのLINE FEED (U+000A)文字は改行タイプで指定された文字に置換される。
結果の文字列は、指定されたエンコーディングの文字エンコーダーを使用してバイトの配列に変換される。指定されたエンコーディングで文字を表現することができない場合、エラーが生成される。
先頭のバイトがバイトオーダーマークを表す場合、そのバイトはその配列から除去される。
結果の配列の長さは、提供されたストレージサイズと比較される。長さがストレージサイズより大きい場合、コンテンツは長すぎる。
注:
ストレージサイズの大きさはテキストの表示長さに直接関係せず、したがって表示長さの制約の仕組みとして意図されない。
ストレージサイズデータカテゴリーは、グローバル規則で、または個々の要素にローカルで表現することができる。継承はない。文字エンコーディングのデフォルト値は"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"である。
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]
storageSizePointer
属性は、非ITS属性max
をstorageSize
と同じ機能にマッピングするために使用される。文字エンコーディングが指定されないため、デフォルトの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"である。
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]
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]
この章は規範である。
この章は規範である。
このセクションは、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上に、例えばローカリゼーションツールによって展開できるように登録されている。
追加情報:
マジックナンバー:なし
ファイル拡張子:.its
Macintoshファイルタイプコード:TEXT
より詳しい情報について連絡する人物および電子メールアドレス: 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は、この仕様を変更することができる。
この章は規範である。
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
よりも具体的であるため、terminology
はmistranslation
の代わりに使用される。単一のスパンに複数の別々の問題をマークしなければならない(たとえばmistranslation
とgrammar
の両方の問題がある)場合、実装者は、例75および例76に示すように、孤立アノテーションを使用してもよい。
注:
ITS Interest Groupは、参考となるツール固有の品質問題タイプおよびITS 2.0ローカライゼーション品質タイプのマッピングを維持する。ITS IG Wikiは、そのリストを更新する方法に関する情報を提供する。このマッピングの目的は、ツールの内部情報がITS 2.0品質タイプとどのように関連しているかを文書化することにある。相互運用性を促進するために、実装者はネイティヴにITS 2.0品質タイプを実装することを強く薦める。
値 | 説明 | 例 | 範囲 | 注 |
terminology
| 不適切な用語または間違ったドメインの用語が使用された、または用語が一貫して使用されない。 |
| SまたはT | この値は、定義された用語に関連しない単純な誤植または単語の選択を意図したものではない。たとえば、“pin”を“pen”と誤入力したり、(一般に混乱している2つの単語を間違えて)“infer”の代わりに“imply”を使用したりすると、専門用語としては扱われず、問題の本質次第で、スペルミスまたは誤訳のいずれかに分類される。 用語は、(ドメインで定義される正式または一般のいずれかの)用語に関する誤った選択が関係する場合に対してのみを指す。 |
mistranslation
| ターゲットのコンテンツがソースのコンテンツを誤訳する。 |
| T | ドメインまたはタスク固有の言語に関する特定の用語の翻訳に関連する問題は、terminology の問題として分類される。 |
omission
| 必要なテキストは、ローカリゼーションまたはソースから省略されている。 |
| SまたはT | この値は空白またはフォーマットコードの欠落に使用するのではなく、むしろ言語的なコンテンツのために予約する必要がある。 |
untranslated
| 翻訳を意図したコンテンツが翻訳されずに残される。 |
| T |
omission はuntranslated よりも優先される。untranslated は翻訳されていないソースからテキストが運ばれた場合に対処するが、省略はテキストは存在しない場合に対処する点で区別できる。 |
addition
| 翻訳されたテキストが不適切な追加を含む。 |
| T | |
duplication
| コンテンツが不適切に複製される。 |
| T | |
inconsistency
| テキストが自身と矛盾している、または矛盾して翻訳される(注:用語の不一致で使用されない)。 |
| SまたはT | |
grammar
| テキストは(構文と語形の誤りを含む)文法上の誤りを含む。 |
| SまたはT | |
legal
| テキストは法的に問題がある(たとえば、不適切な法的システムに特有である)。 |
| SまたはT | |
register
| テキストは、テキストに不適切なスラングまたは他の言語の異形を使用する誤った言語学的レジスタに書き込まれる。 |
| SまたはT | |
locale-specific-content
| ローカリゼーションは、準備されたロケールには適用されないコンテンツを含む。 |
| SまたはT | 法的に不適切な資料は、legal として分類される。 |
locale-violation
| テキストは、意図したロケールの規範に違反する。 |
| SまたはT | この値は、ロケールの期待に特に関連する場合にのみスペルミスに使用することができる(たとえば、アメリカ向けのテキストにはアメリカ英語の代わりにイギリス英語を一貫して使用する)。このエラーが体系的でない場合(たとえば、テキストがアメリカ英語を使用するが、“centre”の単一のインスタンスを持つ場合)、代わりにスペルミスとしてカウントされる。 |
style
| テキストは文法上の誤りを含む。 |
| SまたはT | |
characters
| テキストは、文字化けしたまたは正しくない、またはコンテンツが表示される言語で使用されない文字を含む。 |
| SまたはT | 文字は、文字化けや不適切な文字の体系的な使用の場合に使用するべきであり、個々の文字が間違った文字に置き換えられるスペルの問題ではない。 |
misspelling
| テキストはスペルミスを含む。 |
| SまたはT | |
typographical
| テキストは、たとえば省略されたまたは誤った句読記号、誤った大文字などの誤字がある。 |
| SまたはT | |
formatting
| テキストは不正確に書式設定される。 |
| SまたはT | |
inconsistent-entities
| ソーステキストとターゲットテキストには、異なる名前のエンティティー(日付、時刻、場所名、個人名など)を含む。 |
| SまたはT | |
numbers
| 数字がソースとターゲットの間に矛盾している。 |
| SまたはT | 一部のツールは、誤検出を減らすために測定単位の違いを訂正することがある(たとえばツールは、異なると思われるが実際には同等の数のフラグを立てることを避けるために、インチとセンチメートルの間の値の差異を調整するかもしれない。) |
markup
| ソースとターゲットの間のマークアップに関連する問題またはマークアップの不一致がある。 |
| SまたはT | |
pattern-problem
| テキストが、許容可能なコンテンツを定義するパターン(または許容可能でないコンテンツを定義するパターン)と一致しない。 |
| SまたはT | 何が許容パターンであるか、または許容されないパターンであるかの定義は、処理アプリケーションによって異なり、この仕様の範囲外である。問題の原因となったパターンを特定するためにComment属性を使用することがベストプラクティスである。 |
whitespace
| ソースコンテンツとターゲットコンテンツとの間の空白に不一致がある、またはテキストが空白の使用に関連する特定の規則に違反している。 |
| SまたはT | |
internationalization
| コンテンツの国際化に関連する問題がある。 |
| SまたはT | 国際化の問題には多くの種類がある。したがって、この値は参照可能なものでは非常に異質である。 |
length
| ソースとターゲットの長さに大きな違いがある。 |
| SまたはT | 「有意な」長さの違いは、 locQualityIssueProfileRef で参照されるモデルによって決定される。 |
non-conformance
| コンテンツは、参照コーパスに対する統計的適合性が低いとみなされる。重大度が高いほど適合性が劣る。 | 文「プリンターに接続されている港がビジー状態であるか正しく設定されていない」は適合性に乏しい。 | SまたはT | 不適合は、既知の良好なコンテンツのコーパスに対する類似性の複数の統計的尺度の使用によって決定される。たとえば、分類技法を使用するシステムにおいて、不十分な適合は、誤った用語、誤ったスペルおよび間違った文法、またはシステムによって決定される他の特徴との組み合わせの関数であるかもしれない。 |
uncategorized
| 問題は分類されていない、または分類できない。 |
| SまたはT | この値は、次の用途がある:
|
other
| 上記の任意の値に割り当てることができないすべての問題。 | SまたはT |
|
注:
値uncategorized
は、(まだ)より具体的な値に分類されない問題に使用される。たとえば、自動プロセスは注意を要する問題にフラグを立てるかもしれないが、詳細やカテゴリーを指定しないかもしれない。そのような問題はITS 2.0においてuncategorized
としてリストされる。また、問題の正確な性質が不明であり、かつ結果として分類できない(たとえば、テキストがひどく文字化けし、その原因が不明である)場合にも使用してもよい。対照的に、他のものは、問題の性質が明確だが、ITS 2.0カテゴリーの1つ(またはモデルまたはツールが自身の“other”カテゴリーを持つ場合)に分類することができない。たとえば、字幕の翻訳において、ITS 2.0カテゴリーに対応しておらず、その環境に高度に特有である“respeaking”エラーカテゴリーがある。respeakingエラーは、ITS 2.0でother
と分類される。
この章は参考情報である。
注:
スキーマは単なる参考情報であり、いつでも更新されうる。スキーマの更新版は、 ITS 2.0テストスイートにある。
次のスキーマは、ITS要素および属性を定義し、ITSマークアップを独自のXML語彙に統合する際に、ビルディングブロックとして使用することができる。このような統合の例は XML国際化のベストプラクティスにある。
外来要素は、rules
の中でのみ使用することができる。外来属性は、ITSで定義される任意の要素で使用することができる。
次の4つのスキーマが提供される:
1. NVDL文書:次の[NVDL]文書は、ホスト語彙に追加されたITSマークアップの検証を可能にする。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つのスキーマに依存する。
<?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]
<?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]
3. ITSの基本RELAX NGスキーマ:以前の2つのスキーマで参照されるすべてのITS要素および属性は、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]
4. データ型定義:基本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]
5. Schematronスキーマ:ITSマークアップの複数の制約は、上記の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スキーマに対して検証することができる。
この章は参考情報である。
この章は参考情報である。
この章は、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で議論されている。
<!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つのステップからなる:
ステップ1:文書のすべてのテキストノードの順序付きリストを取得する。
ステップ2:すべてのリーフ要素の空でないテキストノードごとにXPath式を生成し、それらを記憶する。
ステップ3:各テキストノードのテキストを取得し、対応するXPath式(X,T)のタプルを作成する。テキストノードはある順序を持つので、順序付きタプル ((x0,t0), (x1,t1), ..., (xn,tn))のリストを持つ。
ステップ4(オプション):XMLまたはRDFとしてシリアル化する。XPathからテキストへのマッピングのリストは、メモリー内に保持することもできる。シリアライゼーションの例を以下に示す。上部はRDF Turtle構文で、下部はXML形式である(mappings
要素)。
# 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>
ステップ5:コンテキストURIを作成し、文書の連結テキスト$(t0+t1+t2+...+tn)
全体を参照として添付する。
ステップ6:ITSメタデータ注釈をXML/HTML/DOM入力からそれぞれのNIF URIに添付する。
ステップ7:注釈を持たないすべてのURIを省略する(データの肥大化を避けるため)。
@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原則に準拠したリソースを作成するためのこのマッピングが目的を実現させる。潜在的に魅力的な特徴である一方で、これらのフラグメントタイプの将来の定義および登録は、この仕様の範囲外である。
この章は参考情報である。
次のアルゴリズムは例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つのステップで構成される:
ステップ1:NIFウェブサービスは、2種類の入力を受け入れる。直接抽出されたテキスト(nif:isString
プロパティのオブジェクト)またはNIF RDFのいずれかにNLPツールに送ることができる。つまり、テキストはnif:Context
ノードとして送信され、nif:isString
として含まれる。いずれにしても、ウェブサービスの出力はNIF表現になる。
テキストを受け入れることは、NIFウェブサービスの最小要件になる。理想的には、直接RDFとしてisStringをもつnif:Context
ノードを直接送信できる。このノードは、NLPツールで他のすべての注釈を使用することができるという利点がある:
<http://example.com/myitsservice?informat=html&intype=url&input=http://example.com/doc.html&char=0,29> rdf:type nif:RFC5147String ; rdf:type nif:Context ; nif:beginIndex "0" ; nif:endIndex "29" ; nif:isString "Welcome to Dublin in Ireland!" .
ステップ2:(ITS2NIFアルゴリズムのステップ7の後に利用可能な)ITS2NIFからのマッピングを使用して、元のITS注釈付き文書の注釈を再統合する。
ステップ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注釈が、ある領域で開始して別の領域で終了する。 解決策:直線マッピングは不可能である。両方の領域が同じ親を持つ場合にマッピングを作成することができる。
この章は参考情報である。
ローカリゼーション品質問題データカテゴリーの説明では、この文書の目的で次に定義する用語を使用する。
品質評価。品質を判定して値を割り当てるために、翻訳されたコンテンツの品質を評価するタスク。ローカリゼーション品質評価は、翻訳されたコンテンツで問題の特定、分類、およびカウントによって一般に実施される。
問題。品質の問題は、コンテンツで検出される潜在的なエラーである。問題は、(たとえば、文法チェッカーまたは翻訳固有のツールを使用することで)自動的に検出されてもよく、または手動で人間がコンテンツをチェックすることによって検出されてもよい。問題はエラーである場合もあれば、エラーでない場合もある(たとえば、一部の文脈で、明白な誤訳が意図的で適切な場合がある)。レビューによって確認すべきである。
メトリック。メトリックは、問題を特定し、評価し、品質を判断するために、品質評価タスクで使用される正式なシステムである。メトリックは、(メトリックを使用しない主観的な品質評価とは対照的に)問題を分類するための特定の参照点を提供し、問題の重みを含むかもしれない。
モデル。モデルは、メトリックの基礎となるシステムの根本的な説明である。(たとえば、一部のモデルは、さまざまな問題型に変数の重みを割り当てることを可能にする。その場合、タスクに使用される特定のメトリックは、モデルが定義しないにもかかわらず、これらの重みが定義される)。
プロファイル。品質プロファイルは、モデルを特定の要件に適合させるものである。モデルを使用するために特定の条件を指定する。使用される実際のメトリックに含まれない指示書やガイドラインを含むかもしれない。モデルがカスタマイズ可能でない場合、モデルと同一の単一のプロファイルを持つ。カスタマイズが可能である場合、各カスタマイズは異なるプロファイルとなる。
レビュー。そこに発生した問題を特定するためのテキストを調べるタスク。レビューは、問題を修正するタスクに関連していてもよく、タスクは一般にリビジョンとして参照される。
仕様。仕様(翻訳概要とも呼ばれる)は、翻訳タスクのさまざまな期待と要件の説明である。これは、予想される翻訳の種類、使用される用語の指針、読者に関する情報などに関する記述を含む場合がある。翻訳仕様の詳細は、ISO/TS-11669に記載される。
ツール。ここで使用されるように、ツールはローカライズ品質マークアップを生成するソフトウェアである。ツールは完全に自動化されてもよい(たとえば、用語や文法の潜在的な問題を識別し、人間の介入なしにマークするツール)、または人間の入力が必要としてもよい(たとえば、テキストのスパンを強調して適切な問題をマークできるシステム)。
翻訳プロジェクト仕様の設定と品質の期待値の決定の詳細については、実装者は[ISO/TS 11669:2002]に含まれる翻訳プロジェクト仕様のISO標準定義を参照することを勧める。翻訳仕様の詳細は、[Structured Specifications]を参照のこと。これらの文書は品質メトリクスの定義に直接言及しない一方で、特定のシナリオでどのローカライゼーション品質の問題値を使用すべきかを決定することに関心のある実装者に有用なガイダンスを提供する。
ローカリゼーション品質問題で定義された問題型は、QTLaunchPadプロジェクトのMultidimensional Quality Metrics (MQM)フレームワークから導出された。このプロジェクトに関する追加ガイダンスは、[Multidimensional Quality Metrics]にある。
ローカリゼーション品質に関する話題は急速に進化しており、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 ? |
この章は参考情報である。
次のログは、2013年9月24日付けのITS 2.0 Proposed Recommendation以降にこの文書に加えられた主な変更点が記録されている:
In response to Working Group discussion and AC review, fixed an error in Appendix D: Schemas for ITS and made the section informative.
Added an informative reference to [Multidimensional Quality Metrics] and reformatting of a few references.
Editorial fixes, see related mail.
この文書は、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).
次の人に心から感謝する:
我々を[NIF]に紹介し、ITS 2.0オントロジーとNIFテストの作成に貢献したSebastian Hellmann。
LanguageToolを紹介し、言語ツールでローカリゼーション品質問題タイプの機能を実装したDaniel Naber。