- From: CVS User fsasaki <cvsmail@w3.org>
- Date: Mon, 03 Dec 2012 19:15:45 +0000
- To: public-multilingualweb-lt-commits@w3.org
Update of /w3ccvs/WWW/International/multilingualweb/lt/drafts/its20/TR-version In directory gil:/tmp/cvs-serv18190/TR-version Modified Files: Overview.html Log Message: changes related to annotatorsRef --- /w3ccvs/WWW/International/multilingualweb/lt/drafts/its20/TR-version/Overview.html 2012/11/30 11:30:07 1.70 +++ /w3ccvs/WWW/International/multilingualweb/lt/drafts/its20/TR-version/Overview.html 2012/12/03 19:15:45 1.71 @@ -11,8 +11,12 @@ </dd><dt>Latest version:</dt><dd> <a href="http://www.w3.org/TR/its20/">http://www.w3.org/TR/its20/</a> </dd><dt>Previous version:</dt><dd><a href="http://www.w3.org/TR/2012/WD-its20-20121023/"> - http://www.w3.org/TR/2012/WD-its20-20121023/</a></dd><dt>Editors:</dt><dd>Shaun McCane, Invited Expert</dd><dd>Dave Lewis, TCD</dd><dd>Arle Lommel, DFKI</dd><dd>Jirka Kosek, UEP</dd><dd>Felix Sasaki, DFKI / W3C Fellow</dd><dd>Yves Savourel, ENLASO</dd></dl><p>This document is also available in these non-normative formats: <a href="its20.odd">ODD/XML document</a>, <a href="itstagset20.zip">self-contained zipped archive</a>, <a href="diffs/diff-wd20120626-its10-20070403.html">XHTML Diff markup between publication 2012-06-26 and ITS 1.0 - Recommendation 2007-04-03</a>, <a href="diffs/diff-wd20120731-wd20120626.html">XHTML Diff markup publication 2012-07-31 and publication 2012-06-26</a>, <a href="diffs/diff-wd20120829-wd20120731.html">XHTML Diff markup publication 2012-08-29 and publication 2012-07-31</a>, <a href="diffs/diff-wd20121023-wd20120829.html">XHTML Diff markup publication 2012-10-23 and publication 2012-08-29</a>, and <a href="diffs/diff-wd20121206-wd20121023.html">XHTML Diff markup publication 2012-12-06 and publication 2012-10-23</a>.</p><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2012 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio<a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p></div><hr/><div> + http://www.w3.org/TR/2012/WD-its20-20121023/</a></dd><dt>Editors:</dt><dd>Shaun McCane, Invited Expert</dd><dd>Dave Lewis, TCD</dd><dd>Arle Lommel, DFKI</dd><dd>Jirka Kosek, UEP</dd><dd>Felix Sasaki, DFKI / W3C Fellow</dd><dd>Yves Savourel, ENLASO</dd></dl><p>This document is also available in these non-normative formats: <a href="its20.odd">ODD/XML document</a>, <a href="itstagset20.zip">self-contained zipped archive</a>, <a href="diffs/diff-wd20120626-its10-20070403.html">XHTML Diff markup between publication + 2012-06-26 and ITS 1.0 Recommendation 2007-04-03</a>, <a href="diffs/diff-wd20120731-wd20120626.html">XHTML Diff markup publication 2012-07-31 and + publication 2012-06-26</a>, <a href="diffs/diff-wd20120829-wd20120731.html">XHTML Diff markup publication 2012-08-29 and + publication 2012-07-31</a>, <a href="diffs/diff-wd20121023-wd20120829.html">XHTML Diff markup publication 2012-10-23 and + publication 2012-08-29</a>, and <a href="diffs/diff-wd20121206-wd20121023.html">XHTML Diff markup publication 2012-12-06 and + publication 2012-10-23</a>.</p><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2012 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p></div><hr/><div> <h2><a name="abstract" id="abstract"></a>Abstract</h2><p>This document defines data categories and their implementation as a set of elements and attributes called the <em>Internationalization Tag Set (ITS)</em> 2.0. ITS 2.0 is the successor of <a href="http://www.w3.org/TR/2007/REC-its-20070403/">ITS 1.0</a>; it is @@ -30,13 +34,18 @@ designed to foster the creation of multilingual Web content, focusing on HTML, XML based formats in general, and to leverage localization workflows based on the XML Localization Interchange File Format (XLIFF).</p><p>This document was published by the <a href="http://www.w3.org/International/multilingualweb/lt/">MultilingualWeb-LT Working - Group</a> as a Last Call Working Draft. The Working Group expects to advance this Working - Draft to Recommendation status (see <a href="http://www.w3.org/2004/02/Process-20040205/tr.html#maturity-levels">W3C document - maturity levels</a>). The Last Call period ends 10 January 2013.</p><p>The normative sections of this document (from <a class="section-ref" href="#notation-terminology">Section 3: Notation and Terminology</a> to <a class="section-ref" href="#datacategory-description">Section 8: Description of Data Categories</a> and <a class="section-ref" href="#normative-references">Appendix A: References</a> to <a class="section-ref" href="#its-schemas">Appendix D: Schemas for ITS</a>) are stable. The other, non-normative sections contain only explanatory material and will be updated in a later working draft. Hence, the Working Group especially encourages feedback on the normative sections. The goal is to move out of last call without any substantive changes to these sections.</p><p>To give feedback send your comments to <a href="mailto:public-multilingualweb-lt-comments@w3.org">public-multilingualweb-lt-comments@w3.org</a>. Use "Comment on ITS 2.0 specification + Group</a> as a Last Call Working Draft. The Working Group expects to advance this + Working Draft to Recommendation status (see <a href="http://www.w3.org/2004/02/Process-20040205/tr.html#maturity-levels">W3C document + maturity levels</a>). The Last Call period ends 10 January 2013.</p><p>The normative sections of this document (from <a class="section-ref" href="#notation-terminology">Section 3: Notation and Terminology</a> to + <a class="section-ref" href="#datacategory-description">Section 8: Description of Data Categories</a> and <a class="section-ref" href="#normative-references">Appendix A: References</a> to + <a class="section-ref" href="#its-schemas">Appendix D: Schemas for ITS</a>) are stable. The other, non-normative sections contain only + explanatory material and will be updated in a later working draft. Hence, the Working Group + especially encourages feedback on the normative sections. The goal is to move out of last + call without any substantive changes to these sections.</p><p>To give feedback send your comments to <a href="mailto:public-multilingualweb-lt-comments@w3.org">public-multilingualweb-lt-comments@w3.org</a>. Use "Comment on ITS 2.0 specification WD" in the subject line of your email. The <a href="http://lists.w3.org/Archives/Public/public-multilingualweb-lt-comments/">archives for this list</a> are publicly available. See also <a href="https://www.w3.org/International/multilingualweb/lt/track/issues/">issues discussed - within the Working Group</a> and the <a href="#changelog-since-20121023">list of changes since - the previous publication</a>.</p><p>Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a + within the Working Group</a> and the <a href="#changelog-since-20121023">list of + changes since the previous publication</a>.</p><p>Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.</p><p> This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent Policy</a>. W3C maintains a <a href="http://www.w3.org/2004/01/pp-impl/53116/status">public list of any patent disclosures</a> made in connection with the deliverables of @@ -82,8 +91,8 @@ </div> <div class="toc2">5.3 <a href="#selectors">Query Language of Selectors</a><div class="toc3">5.3.1 <a href="#queryLanguage">Choosing Query Language</a></div> <div class="toc3">5.3.2 <a href="#d0e2071">XPath 1.0</a></div> -<div class="toc3">5.3.3 <a href="#d0e2262">CSS Selectors</a></div> -<div class="toc3">5.3.4 <a href="#d0e2301">Additional query languages</a></div> +<div class="toc3">5.3.3 <a href="#d0e2265">CSS Selectors</a></div> +<div class="toc3">5.3.4 <a href="#d0e2304">Additional query languages</a></div> <div class="toc3">5.3.5 <a href="#its-param">Variables in selectors</a></div> </div> <div class="toc2">5.4 <a href="#link-external-rules">Link to External Rules</a></div> @@ -168,7 +177,7 @@ <div class="toc1">E <a href="#informative-references">References</a> (Non-Normative)</div> <div class="toc1">F <a href="#its-schematron-constraints">Checking ITS Markup Constraints With Schematron</a> (Non-Normative)</div> <div class="toc1">G <a href="#nif-backconversion">Conversion NIF2ITS</a> (Non-Normative)</div> -<div class="toc1">H <a href="#list-of-elements-and-attributes">List of ITS 2.0 Elements and Attributes</a> (Non-Normative)</div> +<div class="toc1">H <a href="#list-of-elements-and-attributes">List of ITS 2.0 Global Elements and Local Attributes</a> (Non-Normative)</div> <div class="toc1">I <a href="#revisionlog">Revision Log</a> (Non-Normative)</div> <div class="toc1">J <a href="#acknowledgements">Acknowledgements</a> (Non-Normative)</div> </div><hr/><div class="body"><div class="div1"> @@ -194,12 +203,13 @@ with the exceptions of <a href="#directionality">Directionality</a> and <a href="#ruby-annotation">Ruby</a>.</p></li><li><p>ITS 2.0 adds a number of new data categories not found in ITS 1.0.</p></li><li><p>While ITS 1.0 addressed only XML, ITS 2.0 specifies implementations of data categories in <em>both</em> XML <em>and</em> HTML.</p></li></ul></div><div class="div3"> <h4><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="new-principles" id="new-principles"></a>1.1.2 New Principles</h4><p>ITS 2.0 also adds the following principles and features not found in ITS 1.0:</p><ul><li><p>ITS 2.0 data categories are intended to be format neutral, with support for XML, - HTML, and NIF: a data category implementation only needs to support a single - content format mapping in order to support a claim of ITS 2.0 conformance.</p></li><li><p>ITS 2.0 provides algorithms to generate NIF out of HTML or XML with ITS 2.0 + HTML, and NIF: a data category implementation only needs to support a single content + format mapping in order to support a claim of ITS 2.0 conformance.</p></li><li><p>ITS 2.0 provides algorithms to generate NIF out of HTML or XML with ITS 2.0 metadata.</p></li><li><p>A global implementation of ITS 2.0 requires at least the XPath version 1.0. Other versions of XPath or other query languages (e.g., CSS selectors) can be expressed via a dedicated <a href="#queryLanguage">queryLanguage</a> - attribute.</p></li></ul><p id="its20-new-data-categories">The new data categories included in ITS 2.0 are:</p><ul><li><p><a href="#domain">Domain</a></p></li><li><p><a href="#Disambiguation">Disambiguation</a></p></li><li><p><a href="#LocaleFilter">Locale Filter</a></p></li><li><p><a href="#provenance">Provenance</a></p></li><li><p><a href="#externalresource">External Resource</a></p></li><li><p><a href="#target-pointer">Target Pointer</a></p></li><li><p><a href="#idvalue">Id Value</a></p></li><li><p><a href="#preservespace">Preserve Space</a></p></li><li><p><a href="#lqissue">Localization Quality Issue</a></p></li><li><p><a href="#lqrating">Localization Quality Rating</a></p></li><li><p><a href="#mtconfidence">MT Confidence</a></p></li><li><p><a href="#allowedchars">Allowed Characters</a></p></li><li><p><a href="#storagesize">Storage Size</a></p></li></ul></div></div><div class="div2"> + attribute.</p></li></ul><p id="its20-new-data-categories">The new data categories included in ITS 2.0 + are:</p><ul><li><p><a href="#domain">Domain</a></p></li><li><p><a href="#Disambiguation">Disambiguation</a></p></li><li><p><a href="#LocaleFilter">Locale Filter</a></p></li><li><p><a href="#provenance">Provenance</a></p></li><li><p><a href="#externalresource">External Resource</a></p></li><li><p><a href="#target-pointer">Target Pointer</a></p></li><li><p><a href="#idvalue">Id Value</a></p></li><li><p><a href="#preservespace">Preserve Space</a></p></li><li><p><a href="#lqissue">Localization Quality Issue</a></p></li><li><p><a href="#lqrating">Localization Quality Rating</a></p></li><li><p><a href="#mtconfidence">MT Confidence</a></p></li><li><p><a href="#allowedchars">Allowed Characters</a></p></li><li><p><a href="#storagesize">Storage Size</a></p></li></ul></div></div><div class="div2"> <h3><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="motivation-its" id="motivation-its"></a>1.2 Motivation for ITS</h3><p>Content or software that is authored in one language (the <span class="new-term">source language</span>) is often made available in additional languages or adapted with regard to other cultural aspects. This is done through a process called <span class="new-term">localization</span>, where the @@ -305,7 +315,13 @@ producers by relating the ITS information to relevant bits of content in a global manner (see <a href="#selection-global">global, rule-based approach</a>). This global work, however, may fall to information architects, rather than the content - producers themselves.</p><p id="cms-plain-text-fields">Content producers often work with content management systems (CMS). In various CMS, some of the CMS fields only allow to store plain text. For these fields, the current ITS 2.0 data categories can only be applied globally and not with local attributes. This issue should be addressed in another way, apart from the ITS 2.0 standard. One way would be to allow HTML in these fields if possible, or using an extra field which allows HTML input and save the plain text of this extra field in the plain text field.</p></div><div class="div4"> + producers themselves.</p><p id="cms-plain-text-fields">Content producers often work with content management + systems (CMS). In various CMS, some of the CMS fields only allow to store plain + text. For these fields, the current ITS 2.0 data categories can only be applied + globally and not with local attributes. This issue should be addressed in another + way, apart from the ITS 2.0 standard. One way would be to allow HTML in these fields + if possible, or using an extra field which allows HTML input and save the plain text + of this extra field in the plain text field.</p></div><div class="div4"> <h5><a name="users_machine-translation" id="users_machine-translation"></a>1.3.1.5Machine Translation Systems</h5><p>This type of service is intended for a broad user community ranging from developers and integrators through translation companies and agencies, freelance translators and post-editors to ordinary translation consumers and other types of MT employment. @@ -348,8 +364,8 @@ by looking at them from the perspectives of certain user types. For the purpose of illustration, we will demonstrate how ITS can indicate that certain parts of content should or should not be translated.</p><ul><li><p>A content author uses an attribute on a particular element to say that the text - in the element should not be translated.</p></li></ul><div class="exampleOuter"><div class="exampleHeader"><a name="EX-ways-to-use-its-1" id="EX-ways-to-use-its-1"></a>Example 3: Use of ITS by content author</div><p>The <code>its:translate="no"</code> attributes indicate that the <code>path</code> and - the <code>cmd</code> elements should not be translated.</p><div class="exampleInner"><pre><strong class="hl-tag" style="color: #000096"><help</strong> <span class="hl-attribute" style="color: #F5844C">xmlns:its</span>=<span class="hl-value" style="color: #993300">"http://www.w3.org/2005/11/its"</span> <span class="hl-attribute" style="color: #F5844C">its:version</span>=<span class="hl-value" style="color: #993300">"2.0"</span><strong class="hl-tag" style="color: #000096">></strong> + in the element should not be translated.</p></li></ul><div class="exampleOuter"><div class="exampleHeader"><a name="EX-ways-to-use-its-1" id="EX-ways-to-use-its-1"></a>Example 3: Use of ITS by content author</div><p>The <code>its:translate="no"</code> attributes indicate that the <code>path</code> + and the <code>cmd</code> elements should not be translated.</p><div class="exampleInner"><pre><strong class="hl-tag" style="color: #000096"><help</strong> <span class="hl-attribute" style="color: #F5844C">xmlns:its</span>=<span class="hl-value" style="color: #993300">"http://www.w3.org/2005/11/its"</span> <span class="hl-attribute" style="color: #F5844C">its:version</span>=<span class="hl-value" style="color: #993300">"2.0"</span><strong class="hl-tag" style="color: #000096">></strong> <strong class="hl-tag" style="color: #000096"><head></strong> <strong class="hl-tag" style="color: #000096"><title></strong>Building the Zebulon Toolkit<strong class="hl-tag" style="color: #000096"></title></strong> <strong class="hl-tag" style="color: #000096"></head></strong> @@ -447,12 +463,11 @@ <strong class="hl-tag" style="color: #000096"></xs:element></strong> <strong class="hl-tag" style="color: #000096"></xs:schema></strong></pre></div><p>[Source file: <a href="examples/xml/EX-ways-to-use-its-5.xsd">examples/xml/EX-ways-to-use-its-5.xsd</a>]</p></div><p>The first two approaches above can be likened to the use of CSS in <a title="XHTML™ 1.0 The Extensible
 HyperText Markup Language (Second Edition)" href="#xhtml10">[XHTML 1.0]</a>. Using a <code>style</code> attribute, an XHTML content author may assign a color to a particular paragraph. That author could also - have used the <code>style</code> element at the top of the page to say that all paragraphs - of a particular class or in a particular context would be colored red.</p></div></div><div class="div2"> + have used the <code>style</code> element at the top of the page to say that all + paragraphs of a particular class or in a particular context would be colored red.</p></div></div><div class="div2"> <h3><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="usage-in-html5" id="usage-in-html5"></a>1.4 Usage in HTML</h3><p>ITS 2.0 adds support for usage in HTML. In HTML, ITS local selection is realized via dedicated, <a href="#html5-local-attributes">data category specific - attributes</a>.</p><span class="editor-note">[Ed. note: Add example of HTML with local attributes for illustration - purposes]</span><p>For the so-called “<a href="#basic-concepts-selection-global">global + attributes</a>.</p><span class="editor-note">[Ed. note: Add example of HTML with local attributes for illustration purposes]</span><p>For the so-called “<a href="#basic-concepts-selection-global">global approach</a>” in HTML, this specification defines a link type for referring to files with global rules in <a class="section-ref" href="#html5-global-rules">Section 6.2: Global rules</a>.</p><div class="exampleOuter"><div class="exampleHeader"><a name="EX-translate-html5-global-1" id="EX-translate-html5-global-1"></a>Example 8: Using ITS global rules in HTML</div><p>The <code>link</code> element points to the rules file <code>EX-translateRule-html5-1.xml</code> The <code>rel</code> attribute identifies @@ -504,8 +519,8 @@ on the other hand, need an efficient way to manage translations of large document sets based on the same schema. These needs could by realized by a specification of defaults for the <a href="#trans-datacat">Translate</a> data category along with exceptions - to those defaults (e.g. all <code>p</code> elements should be translated, but not <code>p</code> - elements inside of an <code>index</code> element).</p><p>To meet these requirements this specification introduces mechanisms that add ITS + to those defaults (e.g. all <code>p</code> elements should be translated, but not + <code>p</code> elements inside of an <code>index</code> element).</p><p>To meet these requirements this specification introduces mechanisms that add ITS information to XML documents, see <a class="section-ref" href="#its-processing">Section 5: Processing of ITS information</a>. These mechanisms also provide a means for specifying ITS information for attributes (a task for which no standard means previously existed).</p><p>The ITS selection mechanisms allows you to provide information about content <a href="#selection-local">locally</a> (specified at the XML or HTML element to which @@ -543,9 +558,9 @@ markup.</p><div class="div3"> <h4><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="basic-concepts-selection-local" id="basic-concepts-selection-local"></a>2.1.1 Local Approach</h4><p>The document in <a href="#EX-basic-concepts-1">Example 10</a> shows how a content author may use the ITS <code class="its-attr-markup">translate</code> attribute to indicate that - all content inside the <code>author</code> element should be protected from translation. - Translation tools that are aware of the meaning of this attribute can then screen the - relevant content from the translation process.</p><div class="exampleOuter"><div class="exampleHeader"><a name="EX-basic-concepts-1" id="EX-basic-concepts-1"></a>Example 10: ITS markup on elements in an XML document (local approach) </div><div class="exampleInner"><pre><strong class="hl-tag" style="color: #000096"><article</strong> <span class="hl-attribute" style="color: #F5844C">xmlns</span>=<span class="hl-value" style="color: #993300">"http://docbook.org/ns /docbook"</span> + all content inside the <code>author</code> element should be protected from + translation. Translation tools that are aware of the meaning of this attribute can + then screen the relevant content from the translation process.</p><div class="exampleOuter"><div class="exampleHeader"><a name="EX-basic-concepts-1" id="EX-basic-concepts-1"></a>Example 10: ITS markup on elements in an XML document (local approach) </div><div class="exampleInner"><pre><strong class="hl-tag" style="color: #000096"><article</strong> <span class="hl-attribute" style="color: #F5844C">xmlns</span>=<span class="hl-value" style="color: #993300">"http://docbook.org/ns /docbook"</span> <span class="hl-attribute" style="color: #F5844C">xmlns:its</span>=<span class="hl-value" style="color: #993300">"http://www.w3.org/2005/11/its"</span> <span class="hl-attribute" style="color: #F5844C">its:version</span>=<span class="hl-value" style="color: #993300">"2.0"</span> <span class="hl-attribute" style="color: #F5844C">version</span>=<span class="hl-value" style="color: #993300">"5.0"</span> <span class="hl-attribute" style="color: #F5844C">xml:lang</span>=<span class="hl-value" style="color: #993300">"en"</span><strong class="hl-tag" style="color: #000096">></strong> <strong class="hl-tag" style="color: #000096"><info></strong> @@ -581,9 +596,9 @@ <a title="Namespaces in XML
 (Second Edition)" href="#xmlns">[XML Names]</a> at the current rule element.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Caveat Related to XSLT-based Processing of ITS Selector Attributes</p><p> The values of ITS <code class="its-attr-markup">selector</code> attributes are XPath absolute location paths. Accordingly, the following is a legitimate value:</p><p>myElement/descendant-or-self::*/@*</p><p>Unfortunately, values like this cause trouble when they are used in XSLT-based processing of ITS where the values of the ITS <code class="its-attr-markup">selector</code> attributes are - used as values of <code>match</code> attributes of XSLT templates. The reason for this - is the following: <code>match</code> attributes may only contain a restriction/subset - of XPath expressions, so-called <a href="http://www.w3.org/TR/xslt#patterns">patterns</a>.</p><p>Basically the following restrictions hold for patterns: </p><ul><li><p>only axes "child" or "attribute" allowed</p></li><li><p>"//" or "/" possible</p></li><li><p>id() or key() function possible</p></li><li><p>predicates possible</p></li></ul><p>Using only XSLT patterns in ITS <code class="its-attr-markup">selector</code> attributes helps to avoid this + used as values of <code>match</code> attributes of XSLT templates. The reason for + this is the following: <code>match</code> attributes may only contain a + restriction/subset of XPath expressions, so-called <a href="http://www.w3.org/TR/xslt#patterns">patterns</a>.</p><p>Basically the following restrictions hold for patterns: </p><ul><li><p>only axes "child" or "attribute" allowed</p></li><li><p>"//" or "/" possible</p></li><li><p>id() or key() function possible</p></li><li><p>predicates possible</p></li></ul><p>Using only XSLT patterns in ITS <code class="its-attr-markup">selector</code> attributes helps to avoid this issue. In many cases, this is possible by using patterns with predicates. The value above may for example be rewritten as follows:</p><p>*[self::myElement]/@* | myElement//*/@*</p></div><div class="exampleOuter"><div class="exampleHeader"><a name="EX-basic-concepts-2" id="EX-basic-concepts-2"></a>Example 11: ITS global markup in an XML document (rule-based approach) </div><div class="exampleInner"><pre><strong class="hl-tag" style="color: #000096"><myTopic</strong> <span class="hl-attribute" style="color: #F5844C">xmlns</span>=<span class="hl-value" style="color: #993300">"http://mynsuri.example.com"</span> <span class="hl-attribute" style="color: #F5844C">id</span>=<span class="hl-value" style="color: #993300">"topic01"</span> <span class="hl-attribute" style="color: #F5844C">xml:lang</span>=<span class="hl-value" style="color: #993300">"en-us"</span><strong class="hl-tag" style="color: #000096">></strong> <strong class="hl-tag" style="color: #000096"><prolog></strong> @@ -611,7 +626,8 @@ associated with sets of nodes (for example all <code>p</code> elements in an XML instance)</p></li><li><p>Changes can be made in a single location, rather than by searching and modifying local markup throughout a document (or documents, if the <code class="its-elem-markup">rules</code> element is - stored as an external entity)</p></li><li><p>ITS data categories can designate attribute values as well as elements.</p></li><li><p>It is possible to associate ITS markup with existing markup (for example the <code>term</code> element in DITA)</p></li></ul><p>The commonality in both examples above is the markup <code>translate='no'</code>. + stored as an external entity)</p></li><li><p>ITS data categories can designate attribute values as well as elements.</p></li><li><p>It is possible to associate ITS markup with existing markup (for example the + <code>term</code> element in DITA)</p></li></ul><p>The commonality in both examples above is the markup <code>translate='no'</code>. This piece of ITS markup can be interpreted as follows:</p><ul><li><p>it pertains to the <a href="#trans-datacat">Translate</a> data category </p></li><li><p>the attribute <code class="its-attr-markup">translate</code> holds a value of "no"</p></li></ul><p>The ITS <code class="its-attr-markup">selector</code> attribute allows:</p><ul><li><p>ITS data category attributes to appear in global rules (even outside of an XML document or schema)</p></li><li><p>ITS data categories attributes to pertain to sets of XML nodes (for example all <code>p</code> elements in an XML document)</p></li><li><p>ITS markup to pertain to attributes</p></li><li><p>ITS markup to <a href="#associating-its-with-existing-markup"> associate @@ -620,13 +636,13 @@ <h3><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="basic-concepts-overinher" id="basic-concepts-overinher"></a>2.2 Overriding and Inheritance</h3><p>The power of the ITS selection mechanisms comes at a price: rules related to <a href="#selection-precedence">overriding/precedence</a>, and <a href="#datacategories-defaults-etc">inheritance</a>, have to be established.</p><p>The document in <a href="#EX-basic-concepts-3">Example 12</a> shows how inheritance and overriding work for the <a href="#trans-datacat">Translate</a> data category. By default elements are translatable. Here, the <code class="its-elem-markup">translateRule</code> element declared - in the header overrides the default for the <code>head</code> element inside <code>text</code> - and for all its children. Because the <code>title</code> element is actually translatable, - the global rule needs to be overridden by a local <code>its:translate="yes"</code>. Note - that the global rule is processed first, regardless of its position inside the document. - In the main body of the document, the default applies, and here it is - <code>its:translate="no"</code> that is used to set “faux pas” as - non-translatable.</p><div class="exampleOuter"><div class="exampleHeader"><a name="EX-basic-concepts-3" id="EX-basic-concepts-3"></a>Example 12: Overriding and Inheritance</div><div class="exampleInner"><pre><strong class="hl-tag" style="color: #000096"><text</strong> <span class="hl-attribute" style="color: #F5844C">xmlns:its</span>=<span class="hl-value" style="color: #993300">"http://www.w3.org/2005/11/its"</span><strong class="hl-tag" style="color: #000096">></strong> + in the header overrides the default for the <code>head</code> element inside + <code>text</code> and for all its children. Because the <code>title</code> element is + actually translatable, the global rule needs to be overridden by a local + <code>its:translate="yes"</code>. Note that the global rule is processed first, + regardless of its position inside the document. In the main body of the document, the + default applies, and here it is <code>its:translate="no"</code> that is used to set + “faux pas” as non-translatable.</p><div class="exampleOuter"><div class="exampleHeader"><a name="EX-basic-concepts-3" id="EX-basic-concepts-3"></a>Example 12: Overriding and Inheritance</div><div class="exampleInner"><pre><strong class="hl-tag" style="color: #000096"><text</strong> <span class="hl-attribute" style="color: #F5844C">xmlns:its</span>=<span class="hl-value" style="color: #993300">"http://www.w3.org/2005/11/its"</span><strong class="hl-tag" style="color: #000096">></strong> <strong class="hl-tag" style="color: #000096"><head></strong> <strong class="hl-tag" style="color: #000096"><revision></strong>Sep-10-2006 v5<strong class="hl-tag" style="color: #000096"></revision></strong> <strong class="hl-tag" style="color: #000096"><author></strong>Ealasaidh McIan<strong class="hl-tag" style="color: #000096"></author></strong> @@ -671,8 +687,8 @@ [<a name="t002" id="t002" title="data category">Definition</a>: ITS defines <span class="new-term">data category</span> as an abstract concept for a particular type of information for internationalization and localization of XML schemas and documents.] The concept of a data - category is independent of its implementation in an XML and HTML environment (e.g. using an - element or attribute).</p><p>For each data category, ITS distinguishes between the following:</p><ul><li><p>the prose description, see <a class="section-ref" href="#datacategory-description">Section 8: Description of Data Categories</a></p></li><li><p>schema language independent formalization, see the "implementation" subsections in + category is independent of its implementation in an XML and HTML environment (e.g. using + an element or attribute).</p><p>For each data category, ITS distinguishes between the following:</p><ul><li><p>the prose description, see <a class="section-ref" href="#datacategory-description">Section 8: Description of Data Categories</a></p></li><li><p>schema language independent formalization, see the "implementation" subsections in <a class="section-ref" href="#datacategory-description">Section 8: Description of Data Categories</a></p></li><li><p>schema language specific implementations, see <a class="section-ref" href="#its-schemas">Appendix D: Schemas for ITS</a></p></li></ul><div class="exampleOuter"><div class="exampleHeader"><a name="d0e1177" id="d0e1177"></a>Example 13: A data category and its implementation</div><p>The <a href="#trans-datacat">Translate</a> data category conveys information as to whether a piece of content should be translated or not.</p><p>The simplest formalization of this prose description on a schema language independent level is a <code class="its-attr-markup">translate</code> attribute with two possible values: @@ -692,12 +708,12 @@ <a href="#def-adding-pointing">point to existing information</a> which is related to selected nodes. </p><div class="note"><p class="prefix"><b>Note:</b></p><p id="note-object-selection">The selection of the ITS data categories applies to textual values contained within element or attribute nodes. In some cases these nodes - form pointers to other resources; a well-known example is the <code>src</code> attribute - on the <code>img</code> element in HTML. The ITS <a href="#trans-datacat">Translate</a> data category applies to the text of the pointer itself, not the - object to which it points. Thus in the following example, the translation information - specified via the <code class="its-elem-markup">translateRule</code> element applies to the filename - "instructions.jpg", and is not an instruction to open the graphic and - change the words therein.</p><div class="exampleOuter"><div class="exampleHeader"><a name="EX-notation-terminology-1" id="EX-notation-terminology-1"></a>Example 14: Selecting the text of a pointer to an external object</div><div class="exampleInner"><pre><strong class="hl-tag" style="color: #000096"><text></strong> + form pointers to other resources; a well-known example is the <code>src</code> + attribute on the <code>img</code> element in HTML. The ITS <a href="#trans-datacat">Translate</a> data category applies to the text of the + pointer itself, not the object to which it points. Thus in the following example, the + translation information specified via the <code class="its-elem-markup">translateRule</code> element applies to + the filename "instructions.jpg", and is not an instruction to open the + graphic and change the words therein.</p><div class="exampleOuter"><div class="exampleHeader"><a name="EX-notation-terminology-1" id="EX-notation-terminology-1"></a>Example 14: Selecting the text of a pointer to an external object</div><div class="exampleInner"><pre><strong class="hl-tag" style="color: #000096"><text></strong> <strong class="hl-tag" style="color: #000096"><its:rules</strong> <span class="hl-attribute" style="color: #F5844C">version</span>=<span class="hl-value" style="color: #993300">"2.0"</span> <span class="hl-attribute" style="color: #F5844C">xmlns:its</span>=<span class="hl-value" style="color: #993300">"http://www.w3.org/2005/11/its"</span><strong class="hl-tag" style="color: #000096">></strong> <strong class="hl-tag" style="color: #000096"><its:translateRule</strong> <span class="hl-attribute" style="color: #F5844C">translate</span>=<span class="hl-value" style="color: #993300">"yes"</span> <span class="hl-attribute" style="color: #F5844C">selector</span>=<span class="hl-value" style="color: #993300">"//p/img/@src"</span><strong class="hl-tag" style="color: #000096">/></strong> @@ -718,11 +734,13 @@ all elements defined in <a class="section-ref" href="#datacategory-description">Section 8: Description of Data Categories</a> as elements for global rules.] </p></div><div class="div2"> -<h3><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="iri-usage" id="iri-usage"></a>3.6 Usage of Internationalized Resource Identifiers in ITS</h3><p>All attributes that have the type <code>anyURI</code> in the normative RELAX NG schema in <a class="section-ref" href="#its-schemas">Appendix D: Schemas for ITS</a> +<h3><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="iri-usage" id="iri-usage"></a>3.6 Usage of Internationalized Resource Identifiers in ITS</h3><p>All attributes that have the type <code>anyURI</code> in the normative RELAX NG schema + in <a class="section-ref" href="#its-schemas">Appendix D: Schemas for ITS</a> <a href="#rfc-keywords">MUST</a> allow the usage of Internationalized Resource Identifiers (IRIs, <a title="Internationalized Resource
 Identifiers (IRIs)" href="#rfc3987">[RFC 3987]</a> or its successor) to ease the adoption of ITS in international application scenarios.</p></div><div class="div2"> -<h3><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="def-html" id="def-html"></a>3.7 The Term HTML</h3><p>This specification uses the term <code>HTML</code> to refer to HTML5 or its successor <a title="HTML5 – A vocabulary and associated APIs for
 HTML and XHTML" href="#html5">[HTML5]</a>.</p></div></div><div class="div1"> +<h3><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="def-html" id="def-html"></a>3.7 The Term HTML</h3><p>This specification uses the term <code>HTML</code> to refer to HTML5 or its successor + <a title="HTML5 – A vocabulary and associated APIs for
 HTML and XHTML" href="#html5">[HTML5]</a>.</p></div></div><div class="div1"> <h2><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="conformance" id="conformance"></a>4 Conformance</h2><p> <em>This section is normative.</em> </p><p>The usage of the term <em>conformance clause</em> in this section is in compliance @@ -765,8 +783,8 @@ existing schemas are given in a separate document <a title="Best
 Practices for XML Internationalization" href="#xml-i18n-bp">[XML i18n BP]</a>.</p></div><div class="div2"> <h3><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="conformance-product-processing-expectations" id="conformance-product-processing-expectations"></a>4.2 Conformance Type 2: The Processing Expectations for ITS Markup</h3><p> <em>Description:</em> Processors need to compute the ITS information that pertains - to a node in an XML document. The ITS processing expectations define how the - computation has to be carried out. Correct computation involves support for <a href="#def-selection">selection mechanism</a>, <a href="#datacategories-defaults-etc">defaults / inheritance / overriding + to a node in an XML document. The ITS processing expectations define how the computation + has to be carried out. Correct computation involves support for <a href="#def-selection">selection mechanism</a>, <a href="#datacategories-defaults-etc">defaults / inheritance / overriding characteristics</a>, and <a href="#selection-precedence">precedence</a>. The markup <a href="#rfc-keywords">MAY</a> be valid against a schema which conforms to the clauses in <a class="section-ref" href="#conformance-product-schema">Section 4.1: Conformance Type 1: ITS Markup Declarations</a>.</p><p> @@ -796,30 +814,31 @@ on a <code class="its-elem-markup">rules</code> elements.</p></li><li><p id="its-conformance-2-3"> <em>2-3:</em> If an application claims to process ITS markup implementing the conformance clauses 2-1, 2-2 and 2-3, it <a href="#rfc-keywords">MUST</a> process that markup with XML - documents.</p></li><li><p id="its-conformance-2-4"> + documents.</p></li><li><p id="its-conformance-2-4"> <em>2-4:</em> After processing ITS information on the basis of conformance clauses <a href="#its-conformance-2-1">2-1</a> and - <a href="#its-conformance-2-2">2-2</a>, an application <a href="#rfc-keywords">MAY</a> convert an XML document to NIF, using the algorithm described in <a class="section-ref" href="#conversion-to-nif">Section 5.7: Conversion to NIF</a>.</p></li></ul><div class="note"><p class="prefix"><b>Note:</b></p><p>The conformance clause <a href="#its-conformance-2-4">2-4</a> essentially + <a href="#its-conformance-2-2">2-2</a>, an application <a href="#rfc-keywords">MAY</a> convert an XML document to NIF, using the + algorithm described in <a class="section-ref" href="#conversion-to-nif">Section 5.7: Conversion to NIF</a>.</p></li></ul><div class="note"><p class="prefix"><b>Note:</b></p><p>The conformance clause <a href="#its-conformance-2-4">2-4</a> essentially means that the conversion to NIF is an optional feature of ITS 2.0, and that the conversion is independent of whether ITS information has been made available via the global or local selection mechanisms, see conformance clause <a href="#its-conformance-2-1-1">2-1-1</a>.</p></div><p id="its-processing-conformance-claims">Statements related to this conformance type <a href="#rfc-keywords">MUST</a> list all <a href="#def-datacat">data categories</a> they implement, and for each <a href="#def-datacat">data category</a> which type of selection they support, whether they support processing - of XML. If the implementation provides the conversion to NIF (see - conformance clause <a href="#its-conformance-2-4">2-4</a>), this <a href="#rfc-keywords">MUST</a> be stated.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The above conformance clauses are directly reflected in the <a href="https://github.com/finnle/ITS-2.0-Testsuite/">ITS 2.0 test - suite</a>. All tests specify which data category is processed (clause 2-1); they - are relevant for (clause 2-1-1) global or local selection, or both; they require the - processing of defaults and precedence of selections (clauses 2-1-2 and 2-1-3); for - each data category there are tests with linked rules (2-2); and all types of tests are - given for XML (clause 2-3). In addition, there are test cases for - conversion to NIF (clause 2-4). Implementors are encouraged to organize their - documentation in a similar way, so that users of ITS 2.0 easily can understand the - processing capabilities available.</p></div></div><div class="div2"> + of XML. If the implementation provides the conversion to NIF (see conformance clause + <a href="#its-conformance-2-4">2-4</a>), this <a href="#rfc-keywords">MUST</a> be stated.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The above conformance clauses are directly reflected in the <a href="https://github.com/finnle/ITS-2.0-Testsuite/">ITS 2.0 test suite</a>. All + tests specify which data category is processed (clause 2-1); they are relevant for + (clause 2-1-1) global or local selection, or both; they require the processing of + defaults and precedence of selections (clauses 2-1-2 and 2-1-3); for each data + category there are tests with linked rules (2-2); and all types of tests are given for + XML (clause 2-3). In addition, there are test cases for conversion to NIF (clause + 2-4). Implementors are encouraged to organize their documentation in a similar way, so + that users of ITS 2.0 easily can understand the processing capabilities + available.</p></div></div><div class="div2"> <h3><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="conformance-product-html-processing-expectations" id="conformance-product-html-processing-expectations"></a>4.3 Conformance Type 3: Processing Expectations for ITS Markup in HTML</h3><p> <em>Description:</em> Processors need to compute the ITS information that pertains - to a node in a HTML document. The ITS processing expectations define how the - computation has to be carried out. Correct computation involves support for <a href="#def-selection">selection mechanism</a>, <a href="#datacategories-defaults-etc">defaults / inheritance / overriding + to a node in a HTML document. The ITS processing expectations define how the computation + has to be carried out. Correct computation involves support for <a href="#def-selection">selection mechanism</a>, <a href="#datacategories-defaults-etc">defaults / inheritance / overriding characteristics</a>, and <a href="#html5-selection-precedence">precedence</a>.</p><p> <em>Definitions related to this conformance type:</em> The processing expectations for ITS markup make use of selection mechanisms defined in <a class="section-ref" href="#its-processing">Section 5: Processing of ITS information</a>. The individual data categories defined in <a class="section-ref" href="#datacategory-description">Section 8: Description of Data Categories</a> have <a href="#datacategories-defaults-etc">defaults / inheritance / overriding @@ -872,7 +891,7 @@ elements</a> for each data category. Each rule element has a <code class="its-attr-markup">selector</code> attribute and possibly other attributes. The <code class="its-attr-markup">selector</code> attribute contains an absolute selector as defined in <a class="section-ref" href="#selectors">Section 5.3: Query Language of Selectors</a>.</p></li><li><p><a href="#selection-local">Locally in a document</a>: the selection is - realized using ITS local attributes, which are attached to an element node, or the <code class="its-elem-markup">span</code> or <code class="its-elem-markup">ruby</code> element. There is no additional <code class="its-attr-markup">selector</code> + realized using ITS local attributes, which are attached to an element node, or the<code class="its-elem-markup">span</code> or <code class="its-elem-markup">ruby</code> element. There is no additional <code class="its-attr-markup">selector</code> attribute. The default selection for each data category defines whether the selection covers attributes and child elements. See <a class="section-ref" href="#datacategories-defaults-etc">Section 8.1: Position, Defaults, Inheritance and Overriding of Data Categories</a>.</p></li></ul><p>The two locations are described in detail below.</p><div class="div3"> <h4><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="selection-global" id="selection-global"></a>5.2.1 Global, Rule-based Selection</h4><p>Global, rule-based selection is implemented using the <code class="its-elem-markup">rules</code> element. It @@ -896,13 +915,13 @@ XML document. The precedence of their processing depends on these variations. See also <a class="section-ref" href="#selection-precedence">Section 5.5: Precedence between Selections</a>.</p></div><div class="div3"> <h4><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="selection-local" id="selection-local"></a>5.2.2 Local Selection in an XML Document</h4><p>Local selection in XML documents is realized with <a href="#local-attributes">ITS - local attributes</a> or the <code class="its-elem-markup">span</code> element. - <code class="its-elem-markup">span</code> serves just as a carrier for the local ITS attributes.</p><p>The data category determines what is being selected. The necessary data category + local attributes</a> or the <code class="its-elem-markup">span</code> element. <code class="its-elem-markup">span</code> serves just as a + carrier for the local ITS attributes.</p><p>The data category determines what is being selected. The necessary data category specific defaults are described in <a class="section-ref" href="#datacategories-defaults-etc">Section 8.1: Position, Defaults, Inheritance and Overriding of Data Categories</a>.</p><div class="exampleOuter"><div class="exampleHeader"><a name="EX-selection-local-1" id="EX-selection-local-1"></a>Example 15: Defaults for various data categories</div><p>By default the content of all elements in a document is translatable. The attribute <code>its:translate="no"</code> in the <code>head</code> element means that the content of this element, including child elements, should not be translated. The - attribute <code>its:translate="yes"</code> in the <code>title</code> element means that - the content of this element, should be translated (overriding the + attribute <code>its:translate="yes"</code> in the <code>title</code> element means + that the content of this element, should be translated (overriding the <code>its:translate="no"</code> in <code>head</code>). Attribute values of the selected elements or their children are not affected by local <code class="its-attr-markup">translate</code> attributes. By default they are not translatable.</p><p>The default directionality of a document is left-to-right. The <code>its:dir="rtl"</code> in the <code>quote</code> element means that the @@ -921,11 +940,10 @@ <strong class="hl-tag" style="color: #000096"></text></strong> </pre></div><p>[Source file: <a href="examples/xml/EX-selection-local-1.xml">examples/xml/EX-selection-local-1.xml</a>]</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The <code class="its-attr-markup">dir</code> and <code class="its-attr-markup">translate</code> attributes are not listed in the ITS attributes to be used in HTML. The reason is that these two attributes are - available in HTML natively, so there is no need to provide them as - <code>its-</code> attributes. The definition of the two attributes in HTML is - compatibly, that is it provides the same values and interpretation, as the - definition for the two data categories <a href="#trans-datacat">Translate</a> - and <a href="#directionality">Directionality</a>.</p></div></div></div><div class="div2"> + available in HTML natively, so there is no need to provide them as <code>its-</code> + attributes. The definition of the two attributes in HTML is compatibly, that is it + provides the same values and interpretation, as the definition for the two data + categories <a href="#trans-datacat">Translate</a> and <a href="#directionality">Directionality</a>.</p></div></div></div><div class="div2"> <h3><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="selectors" id="selectors"></a>5.3 Query Language of Selectors</h3><div class="div3"> <h4><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="queryLanguage" id="queryLanguage"></a>5.3.1 Choosing Query Language</h4><p> <a href="#rule-elements">Rule elements</a> have attributes which contain @@ -959,26 +977,31 @@ </pre></div><p>[Source file: <a href="examples/xml/EX-selection-global-2.xml">examples/xml/EX-selection-global-2.xml</a>]</p></div></div><div class="div4"> <h5><a name="xpath-relative-selector" id="xpath-relative-selector"></a>5.3.2.2Relative selector</h5><p>The relative selector <a href="#rfc-keywords">MUST</a> use a <a href="http://www.w3.org/TR/xpath/#NT-RelativeLocationPath">RelativeLocationPath</a> or an <a href="http://www.w3.org/TR/xpath/#NT-AbsoluteLocationPath">AbsoluteLocationPath</a> as described in <a href="#xpath">XPath 1.0</a>. The XPath expression is evaluated relative to the nodes selected by the selector - attribute.</p><p id="pointer-attributes-list">The following attributes point to existing information: - <code class="its-attr-markup">allowedCharactersPointer</code>, <code class="its-attr-markup">disambigClassPointer</code>, <code class="its-attr-markup">disambigClassRefPointer</code>, <code class="its-attr-markup">disambigIdentPointer</code>, - <code class="its-attr-markup">disambigIdentRefPointer</code>, <code class="its-attr-markup">domainPointer</code>, <code class="its-attr-markup">externalResourceRefPointer</code>, <code class="its-attr-markup">langPointer</code>, <code class="its-attr-markup">locNotePointer</code>, - <code class="its-attr-markup">locNoteRefPointer</code>, <code class="its-attr-markup">locQualityIssuesRefPointer</code>, <code class="its-attr-markup">provenanceRecordsRefPointer</code>, <code class="its-attr-markup">storageEncodingPointer</code>, - <code class="its-attr-markup">storageSizePointer</code>, <code class="its-attr-markup">targetPointer</code>, <code class="its-attr-markup">termInfoPointer</code>, <code class="its-attr-markup">termInfoRefPointer</code>.</p><p>Context for evaluation of the XPath expression is same as for absolute selector + attribute.</p><p id="pointer-attributes-list">The following attributes point to existing + information: <code class="its-attr-markup">allowedCharactersPointer</code>, <code class="its-attr-markup">disambigClassPointer</code>, + <code class="its-attr-markup">disambigClassRefPointer</code>, <code class="its-attr-markup">disambigIdentPointer</code>, + <code class="its-attr-markup">disambigIdentRefPointer</code>, <code class="its-attr-markup">disambigSourcePointer</code>, <code class="its-attr-markup">domainPointer</code>, + <code class="its-attr-markup">externalResourceRefPointer</code>, <code class="its-attr-markup">langPointer</code>, + <code class="its-attr-markup">locNotePointer</code>, <code class="its-attr-markup">locNoteRefPointer</code>, + <code class="its-attr-markup">locQualityIssuesRefPointer</code>, <code class="its-attr-markup">provenanceRecordsRefPointer</code>, + <code class="its-attr-markup">storageEncodingPointer</code>, <code class="its-attr-markup">storageSizePointer</code>, + <code class="its-attr-markup">targetPointer</code>, <code class="its-attr-markup">termInfoPointer</code>, + <code class="its-attr-markup">termInfoRefPointer</code>.</p><p>Context for evaluation of the XPath expression is same as for absolute selector with the following changes:</p><ul><li><p>Nodes selected by the expression in the <code class="its-attr-markup">selector</code> attribute form the current node list.</p></li><li><p>Context node comes from the current node list.</p></li><li><p>The context position comes from the position of the current node in the current node list; the first position is 1.</p></li><li><p>The context size comes from the size of the current node list.</p></li></ul></div></div><div class="div3"> -<h4><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="d0e2262" id="d0e2262"></a>5.3.3 CSS Selectors</h4><div class="note"><p class="prefix"><b>Note:</b></p><p id="css-selectors-feature-at-risk">As of writing the working group has no +<h4><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="d0e2265" id="d0e2265"></a>5.3.3 CSS Selectors</h4><div class="note"><p class="prefix"><b>Note:</b></p><p id="css-selectors-feature-at-risk">As of writing the working group has no implememtation commitment for CSS selectors. If this doesn't change CSS selectors will be marked as feature at risk for the candidate recommendation draft.</p></div><p>CSS Selectors are identified by <code>css</code> value in <code class="its-attr-markup">queryLanguage</code> attribute.</p><div class="div4"> -<h5><a name="d0e2276" id="d0e2276"></a>5.3.3.1Absolute selector</h5><p>Absolute selector <a href="#rfc-keywords">MUST</a> be interpreted as selector +<h5><a name="d0e2279" id="d0e2279"></a>5.3.3.1Absolute selector</h5><p>Absolute selector <a href="#rfc-keywords">MUST</a> be interpreted as selector as defined in <a href="#css3-selectors">Selectors Level 3</a>. Both simple selectors and groups of selectors can be used.</p></div><div class="div4"> -<h5><a name="d0e2287" id="d0e2287"></a>5.3.3.2Relative selector</h5><p>Relative selector <a href="#rfc-keywords">MUST</a> be interpreted as selector +<h5><a name="d0e2290" id="d0e2290"></a>5.3.3.2Relative selector</h5><p>Relative selector <a href="#rfc-keywords">MUST</a> be interpreted as selector as defined in <a href="#css3-selectors">Selectors Level 3</a>. Selector is not evaluated against the complete document tree but only against subtrees rooted at nodes selected by selector in the <code class="its-attr-markup">selector</code> attribute.</p></div></div><div class="div3"> -<h4><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="d0e2301" id="d0e2301"></a>5.3.4 Additional query languages</h4><p>ITS processors <a href="#rfc-keywords">MAY</a> support additional query +<h4><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="d0e2304" id="d0e2304"></a>5.3.4 Additional query languages</h4><p>ITS processors <a href="#rfc-keywords">MAY</a> support additional query languages. For each additional query language processor <a href="#rfc-keywords">MUST</a> define:</p><ul><li><p>identifier of query language used in <code class="its-attr-markup">queryLanguage</code>;</p></li><li><p>rules for evaluating absolute selector to collection of nodes;</p></li><li><p>rules for evaluating relative selector to collection of nodes.</p></li></ul><p>Future versions of this specification <a href="#rfc-keywords">MAY</a> define additional query languages. The following query language identifiers are reserved: <code>xpath</code>, <code>css</code>, <code>xpath2</code>, <code>xpath3</code>, @@ -1060,7 +1083,10 @@ <strong class="hl-tag" style="color: #000096"><p></strong>A <strong class="hl-tag" style="color: #000096"><term></strong>Palouse horse<strong class="hl-tag" style="color: #000096"></term></strong> has a spotted coat.<strong class="hl-tag" style="color: #000096"></p></strong> <strong class="hl-tag" style="color: #000096"></body></strong> <strong class="hl-tag" style="color: #000096"></myDoc></strong> -</pre></div><p>[Source file: <a href="examples/xml/EX-link-external-rules-3.xml">examples/xml/EX-link-external-rules-3.xml</a>]</p></div><div class="exampleOuter"><div class="exampleHeader"><a name="EX-link-external-rules-4" id="EX-link-external-rules-4"></a>Example 22: External rules file with the <code class="its-elem-markup">rules</code> element as the root element</div><p>Like <a href="#EX-link-external-rules-1">Example 19</a>, these rules can be applied e.g. to <a href="#EX-link-external-rules-2">Example 20</a>. The only difference is that in <a href="#EX-link-external-rules-4">Example 22</a>, the <code class="its-elem-markup">rules</code> element is the root element of the external file.</p><div class="exampleInner"><pre><strong class="hl-tag" style="color: #000096"><its:rules</strong> <span class="hl-attribute" style="color: #F5844C">version</span>=<span class="hl-value" style="color: #993300">"2.0"</span> <span class="hl-attribute" style="color: #F5844C">xmlns:its</span>=<span class="hl-value" tyle="color: #993300">"http://www.w3.org/2005/11/its"</span><strong class="hl-tag" style="color: #000096">></strong> +</pre></div><p>[Source file: <a href="examples/xml/EX-link-external-rules-3.xml">examples/xml/EX-link-external-rules-3.xml</a>]</p></div><div class="exampleOuter"><div class="exampleHeader"><a name="EX-link-external-rules-4" id="EX-link-external-rules-4"></a>Example 22: External rules file with the <code class="its-elem-markup">rules</code> element as the root element</div><p>Like <a href="#EX-link-external-rules-1">Example 19</a>, these rules can be + applied e.g. to <a href="#EX-link-external-rules-2">Example 20</a>. The only + difference is that in <a href="#EX-link-external-rules-4">Example 22</a>, the + <code class="its-elem-markup">rules</code> element is the root element of the external file.</p><div class="exampleInner"><pre><strong class="hl-tag" style="color: #000096"><its:rules</strong> <span class="hl-attribute" style="color: #F5844C">version</span>=<span class="hl-value" style="color: #993300">"2.0"</span> <span class="hl-attribute" style="color: #F5844C">xmlns:its</span>=<span class="hl-value" style="color: #993300">"http://www.w3.org/2005/11/its"</span><strong class="hl-tag" style="color: #000096">></strong> <strong class="hl-tag" style="color: #000096"><its:translateRule</strong> <span class="hl-attribute" style="color: #F5844C">selector</span>=<span class="hl-value" style="color: #993300">"//header"</span> <span class="hl-attribute" style="color: #F5844C">translate</span>=<span class="hl-value" style="color: #993300">"no"</span><strong class="hl-tag" style="color: #000096">/></strong> <strong class="hl-tag" style="color: #000096"><its:translateRule</strong> <span class="hl-attribute" style="color: #F5844C">selector</span>=<span class="hl-value" style="color: #993300">"//term"</span> <span class="hl-attribute" style="color: #F5844C">translate</span>=<span class="hl-value" style="color: #993300">"no"</span><strong class="hl-tag" style="color: #000096">/></strong> <strong class="hl-tag" style="color: #000096"><its:termRule</strong> <span class="hl-attribute" style="color: #F5844C">selector</span>=<span class="hl-value" style="color: #993300">"//term"</span> <span class="hl-attribute" style="color: #F5844C">term</span>=<span class="hl-value" style="color: #993300">"yes"</span><strong class="hl-tag" style="color: #000096">/></strong> @@ -1072,7 +1098,9 @@ where the original XLink <code class="its-attr-markup">href</code> attribute is.</p><p>External rules may also have links to other external rules. The linking mechanism is recursive, the deepest rules being overridden by the top-most rules, if any.</p></div><div class="div2"> <h3><a href="#contents"><img src="images/topOfPage.gif" align="right" height="26" width="26" title="Go to the table of contents." alt="Go to the table of contents."/></a><a name="selection-precedence" id="selection-precedence"></a>5.5 Precedence between Selections</h3><p>The following precedence order is defined for selections of ITS information in various - positions (the first item in the list has the highest precedence):</p><ol class="depth1"><li><p>Selection via explicit (that is, not inherited) local ITS markup in documents (<a href="#local-attributes">ITS local attributes</a> on a specific element)</p></li><li><p>Global selections in documents (using a + positions (the first item in the list has the highest precedence):</p><ol class="depth1"><li><p>Selection via explicit (that is, not inherited) local + ITS markup in documents (<a href="#local-attributes">ITS local attributes</a> on + a specific element)</p></li><li><p>Global selections in documents (using a <code class="its-elem-markup">rules</code> element)</p><p>Inside each <code class="its-elem-markup">rules</code> element the precedence order is: </p><ol class="depth2"><li><p>Any rule inside the rules element</p></li><li><p>Any rule linked via the XLink <code class="its-attr-markup">href</code> attribute</p></li></ol><p> </p><div class="note"><p class="prefix"><b>Note:</b></p><p>ITS does not define precedence related to rules defined or linked based on non-ITS mechanisms (such as processing instructions for linking rules).</p></div></li><li><p>Selections via defaults for data categories, see <a class="section-ref" href="#datacategories-defaults-etc">Section 8.1: Position, Defaults, Inheritance and Overriding of Data Categories</a></p></li></ol><p>In case of conflicts between global selections via multiple <a href="#selection-global">rules</a> elements, the last rule has higher @@ -1080,13 +1108,13 @@ all information provided via lower precedence is overriden by the higher precedence. [1643 lines skipped]
Received on Monday, 3 December 2012 19:18:00 UTC