- From: Sebastian Rahtz <sebastian.rahtz@oucs.ox.ac.uk>
- Date: Tue, 14 Feb 2006 14:33:29 +0000
- To: Felix Sasaki <fsasaki@w3.org>
- CC: public-i18n-its@w3.org
I have rewritten many sentence in the ITS draft, and removed all uses of "dislocated" and all but two of "in situ". I have simply reworded things to avoid such words, usually, or used phrases like "rule-based". Since we have no element-level selectors any more, the dislocated/in-situ distinction really isn't so important. I append a patch, if you can read it, and have send Felix a revised .odd file. I have also replaced all occurrences of (eg) "p" with <gi>p</gi>, so that it can be rendered better. excessive use of quotes is EVIL. I'd like to do more rewriting of the English (you'll see other occasions where I have simplified a sentence) but its time to hand control back to Felix :-} Sebastian *** itstagset.odd.2 2006-02-14 12:14:04.000000000 +0000 --- itstagset.odd 2006-02-14 14:25:54.000000000 +0000 *************** *** 152,158 **** opportunities in the domain of XML internationalization and localization. In the following examples the <hi rend="localizable">text in bold face</hi> shows the parts that need to be localized. </p> <exemplum> <head>Document with localizable content</head> ! <p>Without localization-specific information it is difficult for tools to detect that <code>PhaseCode</code> should not be translated, or that the <code>title</code> attribute sometimes does and sometimes does not.</p> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<Manual> <Info> <PhaseCode>Review Level</PhaseCode> --- 152,158 ---- opportunities in the domain of XML internationalization and localization. In the following examples the <hi rend="localizable">text in bold face</hi> shows the parts that need to be localized. </p> <exemplum> <head>Document with localizable content</head> ! <p>Without localization-specific information it is difficult for tools to detect that <gi>PhaseCode</gi> should not be translated, or that the <code>title</code> attribute sometimes does and sometimes does not.</p> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<Manual> <Info> <PhaseCode>Review Level</PhaseCode> *************** *** 245,279 **** same schema, a specification of defaults for translatability and exceptions ! from the defaults is of ! importance (e.g. all ! <code>p</code> elements should be translated, but not ! <code>p</code> elements inside ! of an <code>index</code> element). This specification ! responds to these conflicting requirements by introducing ! mechanisms for selecting ITS information in XML documents or schemas, see <ptr type="specref" ! target="#selection"/>. The ! methodology also provides a ! means for selecting ITS ! information in attributes (a task for which no standard means exists yet). The ITS mechanisms for selection need to consider the following:</p> <list type="unordered"> ! <item>viable for both XML schemas and XML instances</item> ! <item>viable in situ (at the XML node to which it pertains) or dislocated (not at the XML node to which it pertains)</item> </list> <p><emph>Extensibility</emph>: It may be useful or necessary to extend the set of information available for internationalization or localization purposes beyond what is provided by ITS. This specification does not define a general extension mechanism, since ordinary XML mechanisms (e.g. XML Namespaces <ptr target="#xmlns" type="bibref"/>) may be used.</p> ! <p><emph>Easy of integration</emph>:</p> <list type="unordered"> <item> ITS follows the example from <ref target="http://www.w3.org/TR/xlink11/#att-method">section 4</ref> of <ptr type="bibref" target="#xlink11"/>, by providing mostly global attributes for the implementation of ITS data categories. Avoiding elements for ITS purposes as much as ! possible ensures easy of integration into existing markup schemes, see <ref target="http://www.w3.org/TR/itsreq/#impact">section 3.14</ref> in <ptr type="bibref" target="#itsreq"/>. Only for some requirements additional child elements have to be used, see for example <ptr type="specref" target="#ruby-sec"/>.</item> <item>ITS has no dependency on technologies which are yet to be developed</item> <item>ITS fits with existing work in the W3C architecture (e.g. use of --- 245,285 ---- same schema, a specification of defaults for translatability and exceptions ! from the defaults is ! important (e.g. all ! <gi>p</gi> elements should be translated, but not ! <gi>p</gi> elements inside ! of an <gi>index</gi> element). This specification ! responds to these requirements by introducing ! mechanisms for specifying ITS information in XML documents or schemas, see <ptr type="specref" ! target="#selection"/>. This ! method also provides a ! means for specifying ITS ! information for attributes (a ! task for which no standard ! means yet exists). The ITS mechanisms for selection are:</p> <list type="unordered"> ! <item>useable for both XML schemas and XML instances</item> ! <item>useable <emph>in situ</emph> (at the XML node to which it pertains) or globally (not at the XML node to which it pertains)</item> </list> <p><emph>Extensibility</emph>: It may be useful or necessary to extend the set of information available for internationalization or localization purposes beyond what is provided by ITS. This specification does not define a general extension mechanism, since ordinary XML mechanisms (e.g. XML Namespaces <ptr target="#xmlns" type="bibref"/>) may be used.</p> ! <p><emph>Ease of integration</emph>:</p> <list type="unordered"> <item> ITS follows the example from <ref target="http://www.w3.org/TR/xlink11/#att-method">section 4</ref> of <ptr type="bibref" target="#xlink11"/>, by providing mostly global attributes for the implementation of ITS data categories. Avoiding elements for ITS purposes as much as ! possible ensures ease of integration into existing ! markup schemes, see <ref ! target="http://www.w3.org/TR/itsreq/#impact">section ! 3.14</ref> in <ptr type="bibref" ! target="#itsreq"/>. Only for some requirements do additional child elements have to be used, see for example <ptr type="specref" target="#ruby-sec"/>.</item> <item>ITS has no dependency on technologies which are yet to be developed</item> <item>ITS fits with existing work in the W3C architecture (e.g. use of *************** *** 359,365 **** </list> <exemplum> <head>A data category and its implementation</head> ! <p>The data category <ref target="#translate">translatability</ref> conveys mainly information whether a piece of content should be translated or not. The simplest formalization of this prose description on a schema language independent level is a <code>translate</code> attribute with two possible values: <code>yes</code> and <code>no</code>. An implementation on a schema language specific level would be the declaration of the <code>translate</code> attribute in e.g. an XML DTD, an XML Schema document or an RELAX NG document.</p> <p> An alternative formalization on a schema language independent level is a <ref target="#schemaRule">schemaRule</ref> element which conveys via a <code>translate</code> attribute information about translatability. An implementation on a schema language specific level is the declaration of the <ref target="#schemaRule">schemaRule</ref> element.</p> </exemplum> </div> --- 365,373 ---- </list> <exemplum> <head>A data category and its implementation</head> ! <p>The data category ! <ref ! target="#translate">translatability</ref> conveys information as to whether a piece of content should be translated or not. The simplest formalization of this prose description on a schema language independent level is a <code>translate</code> attribute with two possible values: <code>yes</code> and <code>no</code>. An implementation on a schema language specific level would be the declaration of the <code>translate</code> attribute in e.g. an XML DTD, an XML Schema document or an RELAX NG document.</p> <p> An alternative formalization on a schema language independent level is a <ref target="#schemaRule">schemaRule</ref> element which conveys via a <code>translate</code> attribute information about translatability. An implementation on a schema language specific level is the declaration of the <ref target="#schemaRule">schemaRule</ref> element.</p> </exemplum> </div> *************** *** 382,398 **** <p> <emph>This section is informative.</emph> </p> ! <p>Information (e.g. "translate this") captured by ITS markup (e.g. "its:translate='yes') always pertains to one or more XML nodes (mainly element and attribute nodes). ITS markup explicitly or implicitly "selects" these XML node(s). ITS destinguishes two ways of selecting XML nodes: in situ, and dislocated.</p> ! <p>The mechanisms defined for ITS selection resemble those defined in CSS. in situ ITS information can be compared to the style attribute in CSS, an the dislocated ITS information is similar to the style element in CSS. In contrast to CSS, ITS uses XPath. <list> ! <item>the inSitu approach puts ITS markup in the relevant element of the host vocabulary (e.g. the "author" element in DocBook)</item> ! <item>the dislocated approach put the ITS markup appears in elements defined by ITS itself (e.g. the "documentRule" element)</item> </list> </p> <p>ITS markup can be used with XML instances (e.g. a DocBook article), or schemas (e.g. an XSD for a proprietary document format). Since each usage defines some specific requirements, ITS markup in XML instances may look slightly different than ITS markup in schemas.</p> ! <p>The following three examples sketch the destinction between inSitu and dislocated, and the difference between ITS in XML instances and schemas.</p> <exemplum> ! <head>ITS markup inSitu in an XML instance</head> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[ <article xmlns="http://docbook.org/ns/docbook" xmlns:its="http://www.w3.org/2005/11/its" --- 390,430 ---- <p> <emph>This section is informative.</emph> </p> ! <p>Information ! (e.g. "translate this") ! captured by ITS markup ! (e.g. "its:translate='yes') ! always pertains to one or more ! XML nodes (mainly element and ! attribute nodes). ITS markup ! explicitly or implicitly ! selects these XML ! node(s). ITS distinguishes two ! ways of selecting XML nodes: ! locally, and via global rules.</p> ! <p>The mechanisms defined for ! ITS selection resemble those ! defined in CSS. Element-specific ITS ! information can be compared to ! the style attribute in CSS, ! and ITS information in global ! rules is similar to the style ! element in CSS. In contrast to ! CSS, ITS uses XPath for ! identifying nodes. <list> ! <item>the <emph>in situ </emph>approach puts ITS markup in the relevant element of the host vocabulary (e.g. the <gi>author</gi> element in DocBook)</item> ! <item>the rule-based approach puts the ITS markup in elements defined by ITS itself (i.e.. the <eg><gi>documentRule</gi></eg> element)</item> </list> </p> <p>ITS markup can be used with XML instances (e.g. a DocBook article), or schemas (e.g. an XSD for a proprietary document format). Since each usage defines some specific requirements, ITS markup in XML instances may look slightly different than ITS markup in schemas.</p> ! <p>The following three ! examples sketch the ! destinction between the local ! and global approaches, and the difference between ITS in XML instances and schemas.</p> <exemplum> ! <head>ITS markup on ! elements in an XML instance</head> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[ <article xmlns="http://docbook.org/ns/docbook" xmlns:its="http://www.w3.org/2005/11/its" *************** *** 411,417 **** ]]></egXML> </exemplum> <exemplum> ! <head>ITS markup dislocated in an XML instance</head> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[ <dita:topic xmlns:dita="http://dita.oasis-open.org/architecture/2005/" xmlns:its="http://www.w3.org/2005/11/its" --- 443,449 ---- ]]></egXML> </exemplum> <exemplum> ! <head>ITS global markup in an XML instance</head> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[ <dita:topic xmlns:dita="http://dita.oasis-open.org/architecture/2005/" xmlns:its="http://www.w3.org/2005/11/its" *************** *** 428,434 **** ]]></egXML> </exemplum> <exemplum> ! <head>ITS markup inSitu in an XML Schema</head> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[ <xs:schema> <xs:element name="term"> --- 460,467 ---- ]]></egXML> </exemplum> <exemplum> ! <head>ITS markup on ! elements in an XML Schema</head> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[ <xs:schema> <xs:element name="term"> *************** *** 444,468 **** <p>The commonality in all of the examples above is the markup "its:translate='no'". This piece of ITS markup can be interpreted as follows: <list> ! <item>it pertains to the data category "translatability"</item> <item>the ITS data category attribute "its:translate" holds a value of "no"</item> </list> </p> ! <p>The examples with dislocated and in situ usage of ITS markup show that ITS data category attributes in some cases appear in elements defined by ITS itself: "documentRule" (embedded within a "documentRules" element, "schemaRule". It should come as no surprise that one difference between these two elements is where there are used: <list> <item>documentRule: may appear in XML instances and schemas</item> <item>schemaRule: may only appear in schemas</item> </list> ! A less obvious, but important difference between "documentRule" and "schemaRule" is the following: in addition one or more ITS data category attributes, "documentRule" contains a corresponding set of so-called "ITS selector attributes" (in the example "its:translateSelector"). As their name suggests, they "select" (or designate) one or more XML nodes (namely those to which a corresponding ITS data category attribute pertains). The value of ITS selector attributes are XPath absolute location paths. Information for to the handling of namespaces in these path expression is contained in the ITS element "ns" which may appear as a child to "documentRules". </p> <p>ITS selector attributes are very powerful. They allow: <list> ! <item>ITS data category attributes to appear dislocated (even outside of an XML instance or schema)</item> ! <item>that ITS data categories attributes pertain to sets of XML nodes (for example all "p" elements in an XML instance)</item> <item>ITS markup to pertain to attributes</item> ! <item>ITS markup to map to markup of the host markup scheme (for example the "term" element in DITA)</item> </list> </p> ! <p>The power of ITS selector attributes comes at a price: rules related to overwriting/precedence, and inheritance have to be established. </p> <exemplum> <head>Overwriting and Inheritance</head> --- 477,510 ---- <p>The commonality in all of the examples above is the markup "its:translate='no'". This piece of ITS markup can be interpreted as follows: <list> ! <item>it ! pertains to ! the data ! category "translatability"</item> <item>the ITS data category attribute "its:translate" holds a value of "no"</item> </list> </p> ! <p>The examples with global and local usage of ITS markup show that ITS data category attributes in some cases appear in elements defined by ITS itself: <gi>documentRule</gi> (embedded within a <gi>documentRules</gi> element, <gi>schemaRule</gi>. It should come as no surprise that one difference between these two elements is where they are used: <list> <item>documentRule: may appear in XML instances and schemas</item> <item>schemaRule: may only appear in schemas</item> </list> ! A less obvious, but important difference between <gi>documentRule</gi> and <gi>schemaRule</gi> is the following: in addition one or more ITS data category attributes, <gi>documentRule</gi> contains a corresponding set of ITS selector attributes (in the example "its:translateSelector"). As their name suggests, they select (or designate) one or more XML nodes (namely those to which a corresponding ITS data category attribute pertains). The value of ITS selector attributes are XPath absolute location paths. Information for to the handling of namespaces in these path expression is contained in the ITS element <gi>ns</gi> which is a child of <gi>documentRules</gi>. </p> <p>ITS selector attributes are very powerful. They allow: <list> ! <item>ITS data ! category ! attributes to ! appear in ! global rules (even outside of an XML instance or schema)</item> ! <item>ITS data ! categories ! attributes to pertain to sets of XML nodes (for example all <gi>p</gi> elements in an XML instance)</item> <item>ITS markup to pertain to attributes</item> ! <item>ITS markup to map to markup of the host markup scheme (for example the <gi>term</gi> element in DITA)</item> </list> </p> ! <p>The power of ITS selector attributes comes at a price: rules related to overwriting/precedence, and inheritance, have to be established. </p> <exemplum> <head>Overwriting and Inheritance</head> *************** *** 480,486 **** ]]></egXML> </exemplum> <p> ! In this example, the ITS data category attribute "its:translate" appears twice: dislocated in a "documentRule" and inSitu in a particular "p" element. Since the ITS selector attribute in the "documentRule" selects all "p" elements, the question arises what the value for the "translate" data category of the "p" element which has inSitu markup is. ITS provides precedence and inheritance rules which answer questions like this. In the example, the value is "no" (that is the content of the "p" element should not be translated). </p> </div> <div xml:id="selection"> --- 522,528 ---- ]]></egXML> </exemplum> <p> ! In this example, the ITS data category attribute "its:translate" appears twice: in a <gi>documentRule</gi>, and on particular <gi>p</gi> element. Since the ITS selector attribute in the <gi>documentRule</gi> selects all <gi>p</gi> elements, the question arises what the value for the "translate" data category of the <gi>p</gi> element which has local markup is. ITS provides precedence and inheritance rules which answer questions like this. In the example, the value is "no" (that is the content of the <gi>p</gi> element should not be translated). </p> </div> <div xml:id="selection"> *************** *** 504,510 **** data categories are expressed as schema annotation, and the selection is the element or attribute declaration which is being annotated</item> <item> <ref ! target="#selection-dislocated">dislocated</ref>: the selection is realized as a <ref target="#att.selector">selector attribute</ref>, --- 546,552 ---- data categories are expressed as schema annotation, and the selection is the element or attribute declaration which is being annotated</item> <item> <ref ! target="#selection-dislocated">global rules</ref>: the selection is realized as a <ref target="#att.selector">selector attribute</ref>, *************** *** 544,551 **** <termStruct xml:id="def-xsd-element-selector" term="selectoin of elements in XML Schema"> <term>selection of elements in XML Schema</term> is expressed via an ! <code>xs:appinfo</code> element which is a direct child of the ! <code>xs:element</code> element and which contains a <ref target="#schemaRule">schemaRule</ref> element, --- 586,593 ---- <termStruct xml:id="def-xsd-element-selector" term="selectoin of elements in XML Schema"> <term>selection of elements in XML Schema</term> is expressed via an ! <gi>xs:appinfo</gi> element which is a direct child of the ! <gi>xs:element</gi> element and which contains a <ref target="#schemaRule">schemaRule</ref> element, *************** *** 575,582 **** <term>selection of attributes in XML Schema</term> is expressed via an ! <code>xs:appinfo</code> element which is a direct child of the ! <code>xs:attribute</code> element and which contains a <ref target="#schemaRule">schemaRule</ref> --- 617,624 ---- <term>selection of attributes in XML Schema</term> is expressed via an ! <gi>xs:appinfo</gi> element which is a direct child of the ! <gi>xs:attribute</gi> element and which contains a <ref target="#schemaRule">schemaRule</ref> *************** *** 605,611 **** of elements in RELAX NG</term> is expressed via a <ref target="#schemaRule">schemaRule</ref> element which is a direct child of the ! <code>rng:element</code> element, and which has one or more <ref --- 647,653 ---- of elements in RELAX NG</term> is expressed via a <ref target="#schemaRule">schemaRule</ref> element which is a direct child of the ! <gi>rng:element</gi> element, and which has one or more <ref *************** *** 628,634 **** <term>selection of attributes in RELAX NG</term> is expressed via a <ref target="#schemaRule">schemaRule</ref> element which is a direct child of the ! <code>rng:attribute</code> element, and which has one or more <ref target="#att.datacats.attributes">datacategory --- 670,676 ---- <term>selection of attributes in RELAX NG</term> is expressed via a <ref target="#schemaRule">schemaRule</ref> element which is a direct child of the ! <gi>rng:attribute</gi> element, and which has one or more <ref target="#att.datacats.attributes">datacategory *************** *** 661,669 **** </exemplum> </div> <div xml:id="selection-dislocated"> ! <head>Dislocated Selection</head> ! <p>Dislocated ! selection is realized via a <ref target="#documentRules">documentRules</ref> element. It contains one or more <ref target="#documentRule">documentRule</ref> elements. Each <ref target="#documentRule">documentRule</ref> element has one or more <ref target="#att.datacats.attributes">data category attributes</ref>, and for each data category attribute an <ref --- 703,711 ---- </exemplum> </div> <div xml:id="selection-dislocated"> ! <head>Rule-based Selection</head> ! <p>Rule-based ! selection is realized via the <ref target="#documentRules"><gi>documentRules</gi></ref> element. It contains one or more <ref target="#documentRule"><gi>documentRule</gi></ref> elements. Each <ref target="#documentRule"><gi>documentRule</gi></ref> element has one or more <ref target="#att.datacats.attributes">data category attributes</ref>, and for each data category attribute an <ref *************** *** 672,690 **** <p>The naming convention for the <ref target="#att.selector">selector attributes</ref> is <emph>datacategory</emph> + <code>Selector</code>, e.g. <ref ! target="#att.selector.attribute.translateSelector">translateSelector</ref>. As ! for dislocated selections, the value of the attribute <ref target="#rfc-conf">must</ref> be an XPath ! expression which starts with "<code>/</code>", that is, it must be an <ref target="http://www.w3.org/TR/xpath#NT-AbsoluteLocationPath">AbsoluteLocationPath</ref> as described in <ptr target="#xpath10" type="bibref"/>. Only in this way it is assured that the selection can be applied in a dislocated way.</p> <p>If namespaces <ptr type="bibref" target="#xmlns"/> are used in these XPath expressions, the following rules <ref target="#rfc-conf">must</ref> be applied while processing XPath:</p> <list type="ordered"> ! <item>For each prefix, there <ref target="#rfc-conf">must</ref> be an <ref target="#ns">ns</ref> element as a child of the <ref target="#documentRules">documentRules</ref> element. The <ref target="#ns">ns</ref> element has two attributes <ref target="#att.nsident.attribute.prefix">prefix</ref> (for the namespace prefix) and <ref target="#att.nsident.attribute.uri">uri</ref> (for the namespace uri).</item> <item>Element and attribute names without a prefix are interpreted as having no namespace.</item> <item>To avoid a conflict with rule 2., default namespaces <ref target="#rfc-conf">must not</ref> be used in the XPath expressions.</item> </list> <exemplum> <head>XPath expressions with namespaces and without namespaces</head> ! <p>The <code>term</code> element from the TEI is in a namespace <code>http://www.tei-c.org/ns/1.0</code>. The <code>qterm</code> element from DocBook is in no namespace.</p> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<documentRules xmlns="http://www.w3.org/2005/11/its"> <its:ns its:prefix="tei" its:uri="http://www.tei-c.org/ns/1.0"/> <documentRule its:translate="no" its:translateSelector="//tei:term"/> --- 714,733 ---- <p>The naming convention for the <ref target="#att.selector">selector attributes</ref> is <emph>datacategory</emph> + <code>Selector</code>, e.g. <ref ! target="#att.selector.attribute.translateSelector">translateSelector</ref>. In ITS rules selections, the value of the attribute <ref target="#rfc-conf">must</ref> be an XPath ! expression which starts with "<code>/</code>", that ! is, it must be an <ref ! target="http://www.w3.org/TR/xpath#NT-AbsoluteLocationPath">AbsoluteLocationPath</ref> as described in <ptr target="#xpath10" type="bibref"/>. This ensures that the selection is not relative to a particular location.</p> <p>If namespaces <ptr type="bibref" target="#xmlns"/> are used in these XPath expressions, the following rules <ref target="#rfc-conf">must</ref> be applied while processing XPath:</p> <list type="ordered"> ! <item>For each prefix, there <ref target="#rfc-conf">must</ref> be an <ref target="#ns">ns</ref> element as a child of the <ref target="#documentRules"><gi>documentRules</gi></ref> element. The <ref target="#ns">ns</ref> element has two attributes <ref target="#att.nsident.attribute.prefix">prefix</ref> (for the namespace prefix) and <ref target="#att.nsident.attribute.uri">uri</ref> (for the namespace uri).</item> <item>Element and attribute names without a prefix are interpreted as having no namespace.</item> <item>To avoid a conflict with rule 2., default namespaces <ref target="#rfc-conf">must not</ref> be used in the XPath expressions.</item> </list> <exemplum> <head>XPath expressions with namespaces and without namespaces</head> ! <p>The <gi>term</gi> element from the TEI is in a namespace <code>http://www.tei-c.org/ns/1.0</code>. The <gi>qterm</gi> element from DocBook is in no namespace.</p> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<documentRules xmlns="http://www.w3.org/2005/11/its"> <its:ns its:prefix="tei" its:uri="http://www.tei-c.org/ns/1.0"/> <documentRule its:translate="no" its:translateSelector="//tei:term"/> *************** *** 692,712 **** </its:documentRules>]]></egXML> </exemplum> <note xml:id="ns-tag-finding"><p>The usage of the <ref target="#ns">ns</ref> element is motivated by <ptr type="bibref" target="#schematron"/> and compliant to the requirements on <ref target="http://www.w3.org/2001/tag/doc/qnameids.html#bindings">namespace bindings</ref> described in <ptr target="#tag-ns-finding" type="bibref"/>.</p></note> ! <p>Dislocated selection can appear in a schema (e.g. as content of the ! <code>xs:appinfo</code> element), in an instance file or in a separate XML document. The precedence of the processing of the selection information depends on these variations. See also <ptr type="specref" target="#selection-precedence"/>.</p> <note xml:id="schemaRule-vs-documentRule"> ! <p>The difference between <ref target="#schemaRule">schemaRule</ref> and <ref target="#documentRule">documentRule</ref> is that <ref target="#schemaRule">schemaRule</ref> has no <ref target="#att.selector">selector attributes</ref>, e.g. no <ref target="#att.selector.attribute.translateSelector">translateSelector</ref> attribute. The reason is that <ref target="#schemaRule">schemaRule</ref> always refers to the element or attribute declaration of which it is part of. In contrast, <ref ! target="#documentRule">documentRule</ref> can be used everywhere in a schema to express ! dislocated selection information. It is possible to use <ref target="#schemaRule">schemaRule</ref> and <ref target="#documentRule">documentRule</ref> together in a schema.</p> <exemplum> ! <head>Example for using <ref target="#schemaRule">schemaRule</ref> and <ref target="#documentRule">documentRules</ref> together in a schema.</head> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<xs:schema> <xs:annotation> <xs:appinfo> --- 735,755 ---- </its:documentRules>]]></egXML> </exemplum> <note xml:id="ns-tag-finding"><p>The usage of the <ref target="#ns">ns</ref> element is motivated by <ptr type="bibref" target="#schematron"/> and compliant to the requirements on <ref target="http://www.w3.org/2001/tag/doc/qnameids.html#bindings">namespace bindings</ref> described in <ptr target="#tag-ns-finding" type="bibref"/>.</p></note> ! <p>Selection can appear in a schema (e.g. as content of the ! <gi>xs:appinfo</gi> element), in an instance file or in a separate XML document. The precedence of the processing of the selection information depends on these variations. See also <ptr type="specref" target="#selection-precedence"/>.</p> <note xml:id="schemaRule-vs-documentRule"> ! <p>The difference between <ref target="#schemaRule">schemaRule</ref> and <ref target="#documentRule"><gi>documentRule</gi></ref> is that <ref target="#schemaRule">schemaRule</ref> has no <ref target="#att.selector">selector attributes</ref>, e.g. no <ref target="#att.selector.attribute.translateSelector">translateSelector</ref> attribute. The reason is that <ref target="#schemaRule">schemaRule</ref> always refers to the element or attribute declaration of which it is part of. In contrast, <ref ! target="#documentRule"><gi>documentRule</gi></ref> can be used everywhere in a schema to express ! selection information. It is possible to use <ref target="#schemaRule">schemaRule</ref> and <ref target="#documentRule"><gi>documentRule</gi></ref> together in a schema.</p> <exemplum> ! <head>Example for using <ref target="#schemaRule">schemaRule</ref> and <ref target="#documentRule"><gi>documentRules</gi></ref> together in a schema.</head> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<xs:schema> <xs:annotation> <xs:appinfo> *************** *** 736,743 **** realized only with <ref target="#att.datacats.attributes">data category</ref> attributes. It depends on the data category what is being selected. The necessary data category specific defaults are described in <ptr target="#selection-defaults-etc" type="specref"/>.</p> <exemplum> <head>Defaults for various data categories</head> ! <p><code>its:translate="no"</code> at the <code>head </code> element means that the textual content of this element, including child elements and attributes, should not be translated. <code>its:translate="yes"</code> at the <code>body</code> element means that the textual content of this element, including child elements, but excluding attributes should be translated.</p> ! <p><code>its:dir="ltr"</code> at the <code>body</code> element means that the directionality of the textual content of this element, including child elements and attributes, is "left-to-right".</p> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<text> <head its:translate="no"> ... </head> --- 779,786 ---- realized only with <ref target="#att.datacats.attributes">data category</ref> attributes. It depends on the data category what is being selected. The necessary data category specific defaults are described in <ptr target="#selection-defaults-etc" type="specref"/>.</p> <exemplum> <head>Defaults for various data categories</head> ! <p><code>its:translate="no"</code> at the <gi>head</gi> element means that the textual content of this element, including child elements and attributes, should not be translated. <code>its:translate="yes"</code> at the <gi>body</gi> element means that the textual content of this element, including child elements, but excluding attributes should be translated.</p> ! <p><code>its:dir="ltr"</code> at the <gi>body</gi> element means that the directionality of the textual content of this element, including child elements and attributes, is "left-to-right".</p> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<text> <head its:translate="no"> ... </head> *************** *** 747,772 **** </div> </div> <div xml:id="selection-precedence"> <head>Precedence between Selections</head> <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> ! <list type="ordered"> ! <item>Selections in instance documents (in situ, realized with the default selector rules described in <ptr type="specref" target="#selection-defaults-etc"/>)</item> ! <item>Selections in instance documents (dislocated, using <ref target="#documentRules">documentRules</ref>)</item> ! <item>Selections in an external file (using <ref target="#documentRules">documentRules</ref>)</item> ! <item>In a ! schema, ! dislocated ! selections expressed via a <ref ! target="#documentRules">documentRules</ref> element</item> <item>Selections expressed via <ref --- 790,821 ---- </div> </div> + <div xml:id="selection-precedence"> <head>Precedence between Selections</head> <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> ! <list type="ordered"> ! <item>Implicit ! selection in ! instance ! documents ! (datacategory ! attributes on ! a specific element)</item> ! <item>Selections in instance documents (using <ref target="#documentRules"><gi>documentRules</gi></ref>)</item> ! <item>Selections in an external file (using <ref target="#documentRules"><gi>documentRules</gi></ref>)</item> ! <item>In a ! schema, ! selections expressed via a <ref ! target="#documentRules"><gi>documentRules</gi></ref> element</item> <item>Selections expressed via <ref *************** *** 788,794 **** selections of ITS information which are resolved via the precedence order</head> <p>Due to the rules described above, the ! translatability information via the <ref target="#att.selector.attribute.translateSelector">translate</ref> attribute at the <code>p</code> element has precedence over the translatability information at the <ref target="#documentRule">documentRule</ref> element.</p> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<text> <head> <its:documentRules> --- 837,843 ---- selections of ITS information which are resolved via the precedence order</head> <p>Due to the rules described above, the ! translatability information via the <ref target="#att.selector.attribute.translateSelector">translate</ref> attribute at the <gi>p</gi> element has precedence over the translatability information at the <ref target="#documentRule"><gi>documentRule</gi></ref> element.</p> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<text> <head> <its:documentRules> *************** *** 806,812 **** <head>Mapping of ITS Data Categories to Existing Markup</head> <p>Some markup schemes provide markup which can be used to express ITS datacategories. ITS data categories can be ! mapped to such existing markup, using the dislocated selection mechanism described in <ptr type="specref" target="#selection-dislocated"/>. In this way, there is no need to integrate ITS markup into documents.</p> --- 855,861 ---- <head>Mapping of ITS Data Categories to Existing Markup</head> <p>Some markup schemes provide markup which can be used to express ITS datacategories. ITS data categories can be ! mapped to such existing markup, using the selection mechanism described in <ptr type="specref" target="#selection-dislocated"/>. In this way, there is no need to integrate ITS markup into documents.</p> *************** *** 835,846 **** concept for a particular type of information for internationalization and localization of XML schemas and documents.</dd> </dlentry>[...] ! <p>As for the implementation of ITS: just apply the rules in the order:</p> <ul> <li>Default</li> <li>Rules in the schema</li> ! <li>Dislocated rules</li> ! <li>in situ rules</li> </ul> <p><ph ]]><hi rend="localizable"><![CDATA[translate="no"]]></hi><![CDATA[ xml:lang="fr">Et voila !</ph> The last rule wins</p> --- 884,895 ---- concept for a particular type of information for internationalization and localization of XML schemas and documents.</dd> </dlentry>[...] ! <p>For the implementation of ITS, apply the rules in the order:</p> <ul> <li>Default</li> <li>Rules in the schema</li> ! <li>Rules in the instance document</li> ! <li>Local attributes</li> </ul> <p><ph ]]><hi rend="localizable"><![CDATA[translate="no"]]></hi><![CDATA[ xml:lang="fr">Et voila !</ph> The last rule wins</p> *************** *** 864,870 **** <row role="head"> <cell>Data category</cell> <cell>Applicable in schema</cell> ! <cell>dislocated selection applicable</cell> <cell>default selection in instance document</cell> </row> <row> --- 913,919 ---- <row role="head"> <cell>Data category</cell> <cell>Applicable in schema</cell> ! <cell>Rule selection applicable</cell> <cell>default selection in instance document</cell> </row> <row> *************** *** 953,959 **** </div> <div xml:id="translate-selector"> <head>Implementation</head> ! <p>Translatability can be expressed in a schema, dislocated or in an instance document.</p> <p>In a schema, translatability is expressed via a <ref target="#schemaRule">schemaRule</ref> element with a <ref target="#att.datacats.attribute.translate">translate</ref> attribute. The attribute has the values <code>yes</code> or <code>no</code>.</p> <exemplum> --- 1002,1012 ---- </div> <div xml:id="translate-selector"> <head>Implementation</head> ! <p>Translatability can ! be expressed in a ! schema, in a set of ! rules, or on an ! individual elements.</p> <p>In a schema, translatability is expressed via a <ref target="#schemaRule">schemaRule</ref> element with a <ref target="#att.datacats.attribute.translate">translate</ref> attribute. The attribute has the values <code>yes</code> or <code>no</code>.</p> <exemplum> *************** *** 966,975 **** </xs:annotation> ... </xs:element>]]></egXML> </exemplum> ! <p>Dislocated, translatability is expressed via a <ref target="#documentRule">documentRule</ref> element with a <ref target="#att.datacats.attribute.translate">translate</ref> attribute. The attribute has the values <code>yes</code> or <code>no</code>. In addition, a <ref target="#att.selector.attribute.translateSelector">translateSelector</ref> attribute is required.</p> <exemplum> ! <head>Translatability expressed dislocated</head> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<its:documentRules> <its:documentRule its:translate="yes" its:translateSelector="//p"/> <!-- All p elements should be translated--> --- 1019,1028 ---- </xs:annotation> ... </xs:element>]]></egXML> </exemplum> ! <p>Translatability is expressed via a <ref target="#documentRule"><gi>documentRule</gi></ref> element with a <ref target="#att.datacats.attribute.translate">translate</ref> attribute. The attribute has the values <code>yes</code> or <code>no</code>. In addition, a <ref target="#att.selector.attribute.translateSelector">translateSelector</ref> attribute is required.</p> <exemplum> ! <head>Translatability expressed in document rules</head> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<its:documentRules> <its:documentRule its:translate="yes" its:translateSelector="//p"/> <!-- All p elements should be translated--> *************** *** 980,986 **** elements, but <emph>excluding</emph> attributes.</p> <exemplum> <head>Translatability expressed in an instance document</head> ! <p>In the <code>body</code> element, its textual content and the content of all elements should be translated. The content of the specified quote element, however, must not be translated.</p> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<book> <head>...</head> <body its:translate="yes"> ... --- 1033,1039 ---- elements, but <emph>excluding</emph> attributes.</p> <exemplum> <head>Translatability expressed in an instance document</head> ! <p>In the <gi>body</gi> element, its textual content and the content of all elements should be translated. The content of the specified quote element, however, must not be translated.</p> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<book> <head>...</head> <body its:translate="yes"> ... *************** *** 1023,1030 **** </div> <div xml:id="locInfo-selector"> <head>Implementation</head> ! <p>Localization information can be expressed in a schema, dislocated or in an instance ! document.</p> <p>In a schema, localization information is expressed via a <ref target="#schemaRule">schemaRule</ref> element with a <ref target="#att.datacats.attribute.locInfo">locInfo</ref> attribute. The type of the localization information is expressed via a <ref target="#att.datacats.attribute.locInfoType">locInfoType</ref> attribute with the values <code>alert</code> or <code>description</code>.</p> --- 1076,1087 ---- </div> <div xml:id="locInfo-selector"> <head>Implementation</head> ! <p>Localization ! information can be ! expressed in a schema, ! in rules, or on ! individual elements. ! </p> <p>In a schema, localization information is expressed via a <ref target="#schemaRule">schemaRule</ref> element with a <ref target="#att.datacats.attribute.locInfo">locInfo</ref> attribute. The type of the localization information is expressed via a <ref target="#att.datacats.attribute.locInfoType">locInfoType</ref> attribute with the values <code>alert</code> or <code>description</code>.</p> *************** *** 1039,1047 **** </xs:annotation> ... </xs:element>]]></egXML> </exemplum> ! <p>Dislocated, localization information is expressed via a <ref target="#documentRule">documentRule</ref> element with the attributes <ref target="#att.datacats.attribute.locInfo">locInfo</ref> and <ref target="#att.datacats.attribute.locInfoType">locInfoType</ref>. In addition, a <ref target="#att.selector.attribute.locInfoSelector">locInfoSelector</ref> attribute is required.</p> <exemplum> ! <head>Localization information expressed dislocated</head> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<its:documentRules> <its:documentRule its:locInfo="This p element has to be handled carefully" its:locInfoType="alert" its:locInfoSelector="/body/p[1]"/> --- 1096,1104 ---- </xs:annotation> ... </xs:element>]]></egXML> </exemplum> ! <p>Localization information is expressed via a <ref target="#documentRule"><gi>documentRule</gi></ref> element with the attributes <ref target="#att.datacats.attribute.locInfo">locInfo</ref> and <ref target="#att.datacats.attribute.locInfoType">locInfoType</ref>. In addition, a <ref target="#att.selector.attribute.locInfoSelector">locInfoSelector</ref> attribute is required.</p> <exemplum> ! <head>Localization information expressed in rules</head> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<its:documentRules> <its:documentRule its:locInfo="This p element has to be handled carefully" its:locInfoType="alert" its:locInfoSelector="/body/p[1]"/> *************** *** 1073,1080 **** </div> <div xml:id="terms-selector"> <head>Implementation</head> ! <p>The terminology data category can be expressed in a schema, dislocated or in an ! instance document.</p> <p>In a schema, the terminology data category is expressed via a <ref target="#schemaRule">schemaRule</ref> element with a <ref target="#att.datacats.attribute.term">term</ref> attribute, which has the value <code>yes</code>.</p> <exemplum> --- 1130,1140 ---- </div> <div xml:id="terms-selector"> <head>Implementation</head> ! <p>The terminology ! data category can be ! expressed in a schema, ! in rules or on ! individual elements.</p> <p>In a schema, the terminology data category is expressed via a <ref target="#schemaRule">schemaRule</ref> element with a <ref target="#att.datacats.attribute.term">term</ref> attribute, which has the value <code>yes</code>.</p> <exemplum> *************** *** 1088,1099 **** </xs:annotation> ... </xs:element>]]></egXML> </exemplum> ! <p>Dislocated, the terminology data category is expressed via a <ref target="#documentRule">documentRule</ref> element with the <ref target="#att.datacats.attribute.term">term</ref> attribute, which has the value <code>yes</code>. A <ref target="#att.selector.attribute.termSelector">termSelector</ref> attribute is required. In addition, an optional <ref target="#att.datacats.attribute.termRef">termRef</ref> attribute can be used to refer to external information about the term. The datatype of <ref target="#att.datacats.attribute.termRef">termRef</ref> is <code>xs:anyURI</code>.</p> <exemplum> ! <head>The terminology data category expressed dislocated</head> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<its:documentRules> <its:documentRule its:term="yes" its:termSelector="/body/p[1]/span" its:termRef="http://example.com/termdatabase/#x142539"/> --- 1148,1162 ---- </xs:annotation> ... </xs:element>]]></egXML> </exemplum> ! <p>The terminology data category is expressed via a <ref target="#documentRule"><gi>documentRule</gi></ref> element with the <ref target="#att.datacats.attribute.term">term</ref> attribute, which has the value <code>yes</code>. A <ref target="#att.selector.attribute.termSelector">termSelector</ref> attribute is required. In addition, an optional <ref target="#att.datacats.attribute.termRef">termRef</ref> attribute can be used to refer to external information about the term. The datatype of <ref target="#att.datacats.attribute.termRef">termRef</ref> is <code>xs:anyURI</code>.</p> <exemplum> ! <head>The ! terminology ! data category ! expressed in rules</head> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<its:documentRules> <its:documentRule its:term="yes" its:termSelector="/body/p[1]/span" its:termRef="http://example.com/termdatabase/#x142539"/> *************** *** 1118,1136 **** <div> <head>Definition</head> <p>This data category expresses the directionality of a piece of text. Its values are ! <code>ltr</code>, <code>rtl</code>, <code>lro</code> or <code>rlo</code>. This definition is compliant with the <ref target="http://www.w3.org/TR/xhtml2/mod-bidi.html#s_bidimodule">dir</ref> attribute in <ptr type="bibref" target="#xhtml2"/>, except that <ptr type="bibref" target="#xhtml2"/> does not allow for dislocated selection.</p> </div> <div xml:id="dir-selector"> <head>Implementation</head> <p>The <ref target="#att.datacats.attribute.dir">dir</ref> attribute is used for the implementation of the directionality data category. It has the four values <code>ltr</code>, <code>rtl</code>, <code>lro</code> or <code>rlo</code>.</p> ! <p>Directionality can be expressed dislocated or in an instance document.</p> ! <p>Dislocated, directionality is expressed via a <ref target="#documentRule">documentRule</ref> element with the <ref target="#att.datacats.attribute.dir">dir</ref> attribute. In addition, a <ref target="#att.selector.attribute.dirSelector">dirSelector</ref> attribute is required.</p> <exemplum> ! <head>Directionality expressed dislocated</head> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<its:documentRules> <its:documentRule its:dir="rtl" its:dirSelector="/body/p[1]/quote[xml:lang='he']"/> <!-- Some Hebrew quotation --> --- 1181,1208 ---- <div> <head>Definition</head> <p>This data category expresses the directionality of a piece of text. Its values are ! <code>ltr</code>, <code>rtl</code>, <code>lro</code> ! or ! <code>rlo</code>. This ! definition is ! compliant with the ! <ref ! target="http://www.w3.org/TR/xhtml2/mod-bidi.html#s_bidimodule">dir</ref> attribute in <ptr type="bibref" target="#xhtml2"/>, except that <ptr type="bibref" target="#xhtml2"/> does not allow for rule-based selection.</p> </div> <div xml:id="dir-selector"> <head>Implementation</head> <p>The <ref target="#att.datacats.attribute.dir">dir</ref> attribute is used for the implementation of the directionality data category. It has the four values <code>ltr</code>, <code>rtl</code>, <code>lro</code> or <code>rlo</code>.</p> ! <p>Directionality can ! be expressed in rules ! or on individual elements.</p> ! <p>Directionality is ! expressed in rules via a <ref target="#documentRule"><gi>documentRule</gi></ref> element with the <ref target="#att.datacats.attribute.dir">dir</ref> attribute. In addition, a <ref target="#att.selector.attribute.dirSelector">dirSelector</ref> attribute is required.</p> <exemplum> ! <head>Directionality expressed in rules</head> <egXML xmlns="http://www.tei-c.org/ns/Examples"><![CDATA[<its:documentRules> <its:documentRule its:dir="rtl" its:dirSelector="/body/p[1]/quote[xml:lang='he']"/> <!-- Some Hebrew quotation --> *************** *** 1220,1227 **** <p>Two topics are covered in this section:</p> <list type="unordered"> <item>How should ITS be integrated in specific markup schemes? For example, as for XHTML, ! it is helpful for the interoperability of ITS implementations to specify that the <ref target="#documentRules">documentRules</ref> or <ref target="#documentRule">documentRule</ref> elements will always be part of the content model of the ! <code>head</code> element.</item> <item>How should ITS data categories be related to existing markup declarations in a schema, which fulfill identical or overlapping purposes? For example, <ptr target="#dita10" type="bibref"/> already has an attribute to indicate translatability of text, but without a mechanism for --- 1292,1299 ---- <p>Two topics are covered in this section:</p> <list type="unordered"> <item>How should ITS be integrated in specific markup schemes? For example, as for XHTML, ! it is helpful for the interoperability of ITS implementations to specify that the <ref target="#documentRules"><gi>documentRules</gi></ref> or <ref target="#documentRule"><gi>documentRule</gi></ref> elements will always be part of the content model of the ! <gi>head</gi> element.</item> <item>How should ITS data categories be related to existing markup declarations in a schema, which fulfill identical or overlapping purposes? For example, <ptr target="#dita10" type="bibref"/> already has an attribute to indicate translatability of text, but without a mechanism for *************** *** 1245,1266 **** </div> <div xml:id="xmlspec"> <head>ITS and XML Spec</head> ! <p><ptr type="bibref" target="#xmlspecbib"/> is intended for W3C working drafts, notes, recommendations, and all other document types that fall under the category of "technical reports." XML Spec is available in the formats of XML DTD, XML Schema and RELAX NG.</p> <div> <head>Integration of ITS into XML Spec</head> <p>ITS has been integrated into <ref target="http://www.w3.org/International/xmlspec/002/xmlspec-i18n.dtd">xmlspec-i18n.dtd</ref>. This is a version of the <ref target="http://www.w3.org/2002/xmlspec/#spec29">XML DTD version 2.9 of XML Spec</ref> which already supplies various internationalization and localization related features. For example, there is an attribute <code>translate</code> in xmlspec-i18n.dtd, which can be used for the same purposes as the ITS <ref target="#att.datacats.attribute.translate">translate</ref> attribute. To be able to separate them from original XML Spec declarations, all additions are stored in two separate files <ref target="http://www.w3.org/International/xmlspec/002/i18n-extensions.mod">i18n-extensions.mod</ref> and <ref target="http://www.w3.org/International/xmlspec/002/i18n-elements.mod">i18n-elements.mod</ref>. Xmlspec-i18n.dtd is used within the <ref target="http://www.w3.org/International/Activity">W3C Internationalization Activity</ref> for the creation of technical reports.</p> <p>For the integration of ITS, the following modifications to the xmlspec-i18n.dtd have been made:</p> <list type="ordered"> ! <item>A new entity <code><!ENTITY % its SYSTEM "its.dtd"></code> and the entity call <code>%its;</code> have been added to xmlspec-i18n.dtd.</item> <item>The existing XML Spec entity <code>common.att</code> has been modified . The ITS entities <code>att.datacats.attributes</code> and <code>att.selector.attributes</code> have been added to <code>common.att</code>. In this way, the <ref target="#att.datacats.attributes">data category attributes</ref> and the <ref target="#att.selector.attributes">selector attributes</ref> can be used at any element defined in the XML Spec DTD.</item> ! <item>The XML Spec entity <code>header.mdl</code> contains the content model of the <code>header</code> element. The ITS element <ref target="#documentRules">documentRules</ref> has been added as the last element to this content model. In this way, <ref target="#documentRules">documentRules</ref> can be used inside an XML Spec instance. The <code>header</code> element of the XML Spec DTD has been choosen as the place for <ref target="#documentRules">documentRules</ref>, to avoid the impact of ITS markup on XML Spec markup.</item> <item>The ITS element <ref target="#ruby">ruby</ref> has been added to the XML Spec entity <code>p.pcd.mix</code>. In this way it is possible to use <ref target="#ruby">ruby</ref> as an inline element.<!--TODO: change of the content models of rubyText and rubyBase?--></item> </list> </div> <div><head>Relating ITS to Existing Markup in XML Spec</head> ! <p>As mentioned before, xmlspec-i18n.dtd has its own existing markup declarations for various internationalization and localization related purposes. In the original XML Spec 2.9 DTD, there is a <code>term</code> element which fulfills the same purpose as the ITS <ref target="#att.datacats.attribute.term">term</ref> attribute.</p> ! <p>To relate such existing XML Spec and xmlspec-i18n.dtd related markup to ITS markup (see <ptr type="specref" target="#purpose-mapping"/>), the following <ref target="#documentRules">documentRules</ref> has been created. <note type="ed">This is not an exhaustive list of mappings yet, but only a first attempt</note>.</p> <exemplum> <head>Mapping ITS markup to XML Spec and xmlspec-i18n.dtd markup</head> --- 1317,1346 ---- </div> <div xml:id="xmlspec"> <head>ITS and XML Spec</head> ! <p><ptr type="bibref" ! target="#xmlspecbib"/> is ! intended for W3C working ! drafts, notes, ! recommendations, and all other ! document types that fall under ! the category of technical reports. XML Spec is available in the formats of XML DTD, XML Schema and RELAX NG.</p> <div> <head>Integration of ITS into XML Spec</head> <p>ITS has been integrated into <ref target="http://www.w3.org/International/xmlspec/002/xmlspec-i18n.dtd">xmlspec-i18n.dtd</ref>. This is a version of the <ref target="http://www.w3.org/2002/xmlspec/#spec29">XML DTD version 2.9 of XML Spec</ref> which already supplies various internationalization and localization related features. For example, there is an attribute <code>translate</code> in xmlspec-i18n.dtd, which can be used for the same purposes as the ITS <ref target="#att.datacats.attribute.translate">translate</ref> attribute. To be able to separate them from original XML Spec declarations, all additions are stored in two separate files <ref target="http://www.w3.org/International/xmlspec/002/i18n-extensions.mod">i18n-extensions.mod</ref> and <ref target="http://www.w3.org/International/xmlspec/002/i18n-elements.mod">i18n-elements.mod</ref>. Xmlspec-i18n.dtd is used within the <ref target="http://www.w3.org/International/Activity">W3C Internationalization Activity</ref> for the creation of technical reports.</p> <p>For the integration of ITS, the following modifications to the xmlspec-i18n.dtd have been made:</p> <list type="ordered"> ! <item>A new entity ! <code><!ENTITY % its SYSTEM ! "its.dtd"></code> and the entity call <code>%its;</code> have been added to xmlspec-i18n.dtd.</item> <item>The existing XML Spec entity <code>common.att</code> has been modified . The ITS entities <code>att.datacats.attributes</code> and <code>att.selector.attributes</code> have been added to <code>common.att</code>. In this way, the <ref target="#att.datacats.attributes">data category attributes</ref> and the <ref target="#att.selector.attributes">selector attributes</ref> can be used at any element defined in the XML Spec DTD.</item> ! <item>The XML Spec entity <code>header.mdl</code> contains the content model of the <gi>header</gi> element. The ITS element <ref target="#documentRules"><gi>documentRules</gi></ref> has been added as the last element to this content model. In this way, <ref target="#documentRules"><gi>documentRules</gi></ref> can be used inside an XML Spec instance. The <gi>header</gi> element of the XML Spec DTD has been choosen as the place for <ref target="#documentRules"><gi>documentRules</gi></ref>, to avoid the impact of ITS markup on XML Spec markup.</item> <item>The ITS element <ref target="#ruby">ruby</ref> has been added to the XML Spec entity <code>p.pcd.mix</code>. In this way it is possible to use <ref target="#ruby">ruby</ref> as an inline element.<!--TODO: change of the content models of rubyText and rubyBase?--></item> </list> </div> <div><head>Relating ITS to Existing Markup in XML Spec</head> ! <p>As mentioned before, xmlspec-i18n.dtd has its own existing markup declarations for various internationalization and localization related purposes. In the original XML Spec 2.9 DTD, there is a <gi>term</gi> element which fulfills the same purpose as the ITS <ref target="#att.datacats.attribute.term">term</ref> attribute.</p> ! <p>To relate such existing XML Spec and xmlspec-i18n.dtd related markup to ITS markup (see <ptr type="specref" target="#purpose-mapping"/>), the following <ref target="#documentRules"><gi>documentRules</gi></ref> has been created. <note type="ed">This is not an exhaustive list of mappings yet, but only a first attempt</note>.</p> <exemplum> <head>Mapping ITS markup to XML Spec and xmlspec-i18n.dtd markup</head> *************** *** 1396,1402 **** </specGrp> <specGrp xml:id="selector-declarations"> <p>The attribute group <ref target="#att.selector">att.selector</ref> ! is used at the <ref target="#documentRule">documentRule</ref> element to express dislocated selection of ITS information. It <ref target="#rfc-conf">must not</ref> be used in other positions, e.g. in an instance documents. It makes use of the data type <ref target="#data.selector">data.selector</ref>.</p> <classSpec ident="att.selector" type="atts"> <attList> <attDef ns="http://www.w3.org/2005/11/its" ident="translateSelector" usage="opt"> --- 1476,1483 ---- </specGrp> <specGrp xml:id="selector-declarations"> <p>The attribute group <ref target="#att.selector">att.selector</ref> ! is used at the <ref ! target="#documentRule"><gi>documentRule</gi></ref> element to express applicability of ITS information. It <ref target="#rfc-conf">must not</ref> be used in other positions, e.g. individual elements. It makes use of the data type <ref target="#data.selector">data.selector</ref>.</p> <classSpec ident="att.selector" type="atts"> <attList> <attDef ns="http://www.w3.org/2005/11/its" ident="translateSelector" usage="opt"> *************** *** 1446,1452 **** </elementSpec> </specGrp> <specGrp xml:id="its-schemaRule"> ! <p>The <code>schemaRule</code> element contains rules for ITS information, to be used as schema annotation. It uses attributes from the <ref target="#att.datacats">ITS data categories</ref>.</p> --- 1527,1533 ---- </elementSpec> </specGrp> <specGrp xml:id="its-schemaRule"> ! <p>The <gi>schemaRule</gi> element contains rules for ITS information, to be used as schema annotation. It uses attributes from the <ref target="#att.datacats">ITS data categories</ref>.</p> *************** *** 1456,1462 **** information about the element declaration to which the ! <code>schemaRule</code> element is attached as schema annotation.</desc> <classes> <memberOf key="att.datacats"/> --- 1537,1543 ---- information about the element declaration to which the ! <gi>schemaRule</gi> element is attached as schema annotation.</desc> <classes> <memberOf key="att.datacats"/> *************** *** 1467,1474 **** </elementSpec> </specGrp> <specGrp xml:id="its-documentRules"> ! <p>The <code>documentRules</code> element contains rules for ITS information, to be used ! as schema annotation. The <code>documentRule</code> element contains attributes from the <ref target="#att.datacats">data category attributes</ref> and the <ref target="#att.selector">selector attributes</ref>.</p> <elementSpec ident="documentRules"> --- 1548,1555 ---- </elementSpec> </specGrp> <specGrp xml:id="its-documentRules"> ! <p>The <gi>documentRules</gi> element contains rules for ITS information, to be used ! as schema annotation. The <gi>documentRule</gi> element contains attributes from the <ref target="#att.datacats">data category attributes</ref> and the <ref target="#att.selector">selector attributes</ref>.</p> <elementSpec ident="documentRules"> *************** *** 1547,1555 **** express ITS information and select parts of a ! document respectively. <code>documentRule</code> ! is to be used in a dislocated ! position.</desc> <classes> <memberOf key="att.selector"/> <memberOf key="att.datacats"/> --- 1628,1636 ---- express ITS information and select parts of a ! document respectively. <gi>documentRule</gi> ! is to be used in a in ! rule context only.</desc> <classes> <memberOf key="att.selector"/> <memberOf key="att.datacats"/> *************** *** 1576,1582 **** <p>Conformance to ITS falls into two categories: conformance to the ITS data categories (cf. <ptr type="specref" target="#datacat-description"/>, including data category specific default selections) and ! conformance to dislocated selection mechanisms (cf. <ptr type="specref" target="#selection"/>).</p> <div xml:id="schema-conformance"> <head>Conformance to the ITS Data Categories and Data Category Specific Default Selection Mechanisms</head> <note type="ed">We still have to add conformance information for ruby, and possibly for directionality.</note> --- 1657,1663 ---- <p>Conformance to ITS falls into two categories: conformance to the ITS data categories (cf. <ptr type="specref" target="#datacat-description"/>, including data category specific default selections) and ! conformance to selection mechanisms (cf. <ptr type="specref" target="#selection"/>).</p> <div xml:id="schema-conformance"> <head>Conformance to the ITS Data Categories and Data Category Specific Default Selection Mechanisms</head> <note type="ed">We still have to add conformance information for ruby, and possibly for directionality.</note> *************** *** 1587,1593 **** is declared in the schema.</item> <item>The interpretation of data category attributes in instance documents <ref target="#rfc-conf">must</ref> be conformant to the data category specific default selections described in <ptr type="specref" target="#selection-defaults-etc"/>.</item> ! <item>The schema <ref target="#rfc-conf">should</ref> allow the usage of the <ref target="#documentRules">documentRules</ref> element at one or more elements in the schema.</item> </list> <p>The <ref target="#schemaRule">schemaRule</ref> element is to be used as schema annotations. It is the responsibility of the schema processor to allow for such annotations.</p> --- 1668,1674 ---- is declared in the schema.</item> <item>The interpretation of data category attributes in instance documents <ref target="#rfc-conf">must</ref> be conformant to the data category specific default selections described in <ptr type="specref" target="#selection-defaults-etc"/>.</item> ! <item>The schema <ref target="#rfc-conf">should</ref> allow the usage of the <ref target="#documentRules"><gi>documentRules</gi></ref> element at one or more elements in the schema.</item> </list> <p>The <ref target="#schemaRule">schemaRule</ref> element is to be used as schema annotations. It is the responsibility of the schema processor to allow for such annotations.</p> *************** *** 1638,1648 **** </exemplum> </div> <div xml:id="selection-conformance"> ! <head>Conformance to Dislocated Selection Mechanisms</head> ! <p>Conformance to Dislocated Selection Mechanisms encompasses <ref target="#schema-conformance">conformance to the ITS data categories and data category specific default selection mechanisms</ref>, with the following changes:</p> <list type="unordered"> ! <item>The schema <ref target="#rfc-conf">must</ref> allow the usage of the <ref target="#documentRules">documentRules</ref> element in at least one element in the schema</item> <item>An application which processes ITS elements and --- 1719,1729 ---- </exemplum> </div> <div xml:id="selection-conformance"> ! <head>Conformance to Selection Mechanisms</head> ! <p>Conformance to Selection Mechanisms encompasses <ref target="#schema-conformance">conformance to the ITS data categories and data category specific default selection mechanisms</ref>, with the following changes:</p> <list type="unordered"> ! <item>The schema <ref target="#rfc-conf">must</ref> allow the usage of the <ref target="#documentRules"><gi>documentRules</gi></ref> element in at least one element in the schema</item> <item>An application which processes ITS elements and *************** *** 1653,1660 **** </item> </list> <p>A mandatory part of this conformance criterion is the usage of XPath. An application ! which processes dislocated ITS information <ref target="#rfc-conf">must</ref> be able to ! process XPath in the version 1.0 or higher. It is not required to support a specific host language of XPath, like for example <ptr type="bibref" target="#xslt10"/>.</p> </div> </div> --- 1734,1741 ---- </item> </list> <p>A mandatory part of this conformance criterion is the usage of XPath. An application ! which processes ITS selection rules <ref target="#rfc-conf">must</ref> be able to ! process XPath in version 1.0 or higher. It is not required to support a specific host language of XPath, like for example <ptr type="bibref" target="#xslt10"/>.</p> </div> </div>
Received on Tuesday, 14 February 2006 14:34:13 UTC