IssuesAndProposedFeatures

From ITS
Revision as of 09:27, 29 August 2011 by Clieske (Talk | contribs)

Jump to: navigation, search

Issues and Proposed Features

Proposal: targetPointer

This feature would complement the global rule for the Translate data category.

Rational

There is no way in the 1.0 translateRule element to handle multilingual document designed to have a source and one or more target text. XML format such as XLIFF, TMX, TS and others have such capability but cannot be processed without some kind of pre-processing by an ITS-aware tool.

The proposed additional attribute to the translateRule would simply provide a way to point to the node where the translation of the selected node should go or could be found.

Proposed Text

GLOBAL: The translateRule element contains the following:

  • A required selector attribute. It contains an XPath expression which selects the nodes to which this rule applies.
  • A required translate attribute with the value "yes" or "no".
  • An optional targetPointer attribute. It contains the relative XPath expression which selects the node where the translation of the node to which this rule applies should be located.

For example:

<file>
 <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0"
  xmlns:itsx="http://www.w3.org/2008/12/its-extensions">
  <its:translateRule translate="no" selector="//file"/>
  <its:translateRule translate="yes" selector="//source"
   itsx:targetPointer="../target"/>
 </its:rules>
 <entry xml:id="one">

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


Text one of the source
  <target>Text one of the target</target>
 </entry>
 <entry xml:id="two">

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


Text two of the source
  <target></target>
 </entry>
</file>


Proposal: idValue

This feature would complement the global rule for the Translate data category.

Rational

There is no way in the 1.0 translateRule element to associate content with an identifier. Using identifiers with content is a very common activity in localization and follows the best practices for internationalization (See http://www.w3.org/TR/xml-i18n-bp/#DevUniqueID). For example unique IDs can be used to leverage the same translation from one version of the document to another.

The attribute xml:id is the standard way of representing an identifier in ITS (See http://www.w3.org/TR/xml-i18n-bp/#AuthUniqueID. However, in some case the document may be using other attributes.

Having a mechanism in place to associate a given identifier value for a selected node would be a significant improvement of the ITS capabilities.

The proposed additional attribute to the translateRule would simply provide a way to construct an identifier value based on the context of the selected node that should be identified.

Proposed Text

GLOBAL: The translateRule element contains the following:

  • A required selector attribute. It contains an XPath expression which selects the nodes to which this rule applies.
  • A required translate attribute with the value "yes" or "no".
  • An optional idValue attribute. It contains an XPath expression which constructs a string corresponding to the identifier of the node to which this rule applies should be located. If the attribute xml:id is present for the selected node the value of the xml:id attribute takes precedence over the idValue value.

For example:

<file>
 <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0"
  xmlns:itsx="http://www.w3.org/2008/12/its-extensions">
  <its:translateRule translate="no" selector="//file"/>
  <its:translateRule translate="yes" selector="//source"
   itsx:idPointer="../@name"/>
 </its:rules>
 <entry name="one">

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


Text one of the source
 </entry>
 <entry name="two">

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


Text two of the source
 </entry>
</file>

The idValue attribute allows to build build 'complex' values based on different attributes, element or event hard-coded text. Any of the String functions offered by XPath can be used.

For example, in the document below, the two elements <text> and <desc> are translatable, but they have only one corresponding identifier, the name attribute in their parent element. To make sure you have a unique identifier for both the content of <text> and the content of <desc>, you can use the rules set in the example. The XPath expression concat(../@name, '_t') will give the identifier "id1_t" and the expression concat(../@name, '_d') will give the identifier "id1_d".

<doc>
 <its:rules version="1.0" xmlns:its="http://www.w3.org/2005/11/its"
  xmlns:itsx="http://www.w3.org/2008/12/its-extensions">
  <its:translateRule selector="//text" translate="yes" itsx:idValue="concat(../@name, '_t')"/>
  <its:translateRule selector="//desc" translate="yes" itsx:idValue="concat(../@name, '_d')"/>
 </its:rules>
 <msg name="id1">
  <text>Value of text</text>
  <desc>Value of desc</desc>
 </msg>
</doc>

Proposal: Local "Elements within Text"

See original proposal at http://lists.w3.org/Archives/Public/public-i18n-its-ig/2008Oct/0014.html

This would complement the current Gobal rule of the "Elements Within Text" data category.

Rational

There is no local rule for the "Element Within Text" data category. Have a local rule would allow ITS processor without XPath support to still identify element nested or within text from other elements.

Proposed Text

LOCAL: The following local markup is available for the Element Within Text data category:

A withinText attribute with the value "yes, "no or "nested".

Example: the Element Within Text data category expressed locally.

The itsext:withinText attribute indicates that the <bold> element should be treated as part of the flow of the <par> element content.

<text
 xmlns:its="http://www.w3.org/2005/11/its"
 xmlns:itsx="http://www.w3.org/2008/12/its-extensions"
 its:version="1.0">
 <body>
  <par>Text with <bold itsx:withinText='yes'>bold</bold>.</par>
 </body>
</text>

Proposal: whiteSpaces

This feature would complement the global rule for the Translate data category.

Rational

There is no way in the 1.0 translateRule element to indicate that the whitespaces of a content must be preserved. The xml:space attribute provided for this by XML is seldom used and its absence causes lost of information in many situation.

Having a mechanism in place to associate whietspace handling information for a selected node would be a significant improvement of the ITS capabilities.

Proposed Text

GLOBAL: The translateRule element contains the following:

  • A required selector attribute. It contains an XPath expression which selects the nodes to which this rule applies.
  • A required translate attribute with the value "yes" or "no".
  • An optional whiteSpaces attribute with a value "preserve" or "default". If the attribute xml:space is present for the selected node the value of the xml:space attribute takes precedence over the whiteSpaces value.

For example:

<file>
 <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0"
  xmlns:itsx="http://www.w3.org/2008/12/its-extensions">
  <its:translateRule translate="yes" selector="//source"
   itsx:whiteSpaces="preserve"/>
 </its:rules>
 <entry name="one">

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


Line one.
 Line 2.
 Line 3.
</file>

Proposal: "Context" data category

See original proposal at http://lists.w3.org/Archives/Public/public-i18n-its-ig/2008Oct/0015.html, thread at http://lists.w3.org/Archives/Public/public-i18n-its-ig/2008Nov/0002.html and thoughts in http://lists.w3.org/Archives/Public/public-i18n-its-ig/2010Sep/0003.html

Rationale

"Context" is an important concept for globalization-related processes such as human translation (actually to any communicative act). Unfortunately, the notion of "context" is not defined clearly. Sample definitions are the following:

  • The "Content Category" in which an expression appears; examples: the User Interface of a software program, the owner's manual for a device
  • The "Semantic Class" to which an expression belongs; example: a quotation - marked with a "cite" element - in an (X)HTML page
  • The "Structural Class" to which an expression belongs; example: a heading in an (X)HTML page
  • The "Presentational Class" to which an expression belongs; example: a string marked up with the "i" element in an (X)HTML page
  • The "Textual Environment" (sometimes referred to as "co-text"); examples: the paragraphs preceding or following an expression, the words preceding or following an expression
  • The "Locale-related Considerations" for an expression; example: considerations for choosing the correct wording (eg. in terms of honorifics) for Japanese
  • The "Production environment considerations" for an expression; example: company-specific standards and guidelines to which a text has to adhere
  • The "Related Objects" belonging to an expression (this is similar to the "Textual Environment"); example: all menu entries for a particular menu on a User Interface
  • ...

Given this ambiguity for the concept of "context", "context" in ITS is clearly defined. The definition includes a a set of categories for contexts. Examples:

  • string category (as possible incarnation of for example "Semantic Class" or "Structural Class"); examples: button, label, caption (see [a] in http://lists.w3.org/Archives/Public/public-i18n-its-ig/2008Oct/0015.html)
  • grouping category (as possible incarnation of for example "Textual Environment" or "Related Objects"); examples: the "alt" text for an "img" element, all menu entries for a particular menu on a User Interface
  • ...


Note: The examples above show that a single string may be related to several "context" (e.g. be classified as both "alt" and as "belonging to img X").

Proposed Text

ITS implements "context" based on ideas from RDFa 1.1

Example:

<file>
 <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
  xmlns:itsx="http://www.w3.org/2008/12/its-extensions" its:prefix="dc:http://purl.org/dc/terms">
  <itsx:contextRule category="semantic" property="dc:title" selector="//source" />
 </its:rules>
 <entry name="one">

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


Veni vidi vici
</file>

In this example, all "source" elements are categorized is "title". This is done by relating the "title" elements to a data category from Dublin Core.

Proposal: localeSpecificContent

Add a data category for indicating that certain content is only relevant for a specific locale.

Rationale

In some contexts, a single content container (e.g. a file) "hosts" content for several locales/countries.

Example:

<c>
 <item id="1">The German law ...</item>
 <item id="2">The French law ...</item>
 <item id="3">The Italian law ...</item>
</c>

In this example, the content of the individual "item" elements is meant to be relevant for only one single locale/country: for Germany, France and Italy respectively. Accordingly, there may be a need to make localization-related processes "sensitive" to this information. Content that for example is only relevant for Italy may not have to be considered for a translation in to French.

Currently, ITS does not include a data category for capturing "this is locale-specific". This type of data category can, however, help to improve localization processes. It can for example descrease translation efforts and costs (since for example "Italy only" content may not need to be translated into French).

Note: The proposed data category is different from xml:lang. xml:lang is used to identify the natural or formal language in which the content is written. The proposed ITS data category will identify if specific content pertains only to a certain locale/country.

Proposed Text

GLOBAL: The localeSpecificContentRule element contains the following:

  • A required selector attribute. It contains an XPath expression which selects the nodes to which this rule applies. The selector identifies content that pertains only to a certain locale/country.

For example:

<c>
 <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0"
  <its:localeSpecificContentRule selector="//*[@id='1']" locale="de-DE"/>
 </its:rules>
 <item id="1">The German law ...</item>
 <item id="2">The French law ...</item>
 <item id="3">The Italian law ...</item>
</c>

LOCAL:

Proposal: data category for automated language processing

This data category captures information that it is acceptable to create target language content purely based on automated language processing (such as automated transliteration, or machine translation).

Rationale

Some content types, or content consumption scenarios lend themselves to fully automated language processing. Currently, the corresponding information cannot be captured.

Proposed Text

GLOBAL: The autoLanguageProcessingRule element contains the following:

A required "selector" attribute. It contains an XPath expression which selects the nodes to which this rule applies. A required "process" attribute with the values "transliteration" or "machineTranslation".

For example:

<file>
<its:rules xmlns:its="http://www.w3.org/200x/yy/its" version="2.0">
 <its:autoLanguageProcessingRule process="transliteration" selector="//name"/>
</its:rules>
       <credit type="author">
          <name>Shaun</name>
          <email>shaun@example.org</name>
       </credit>
</file> 

LOCAL: The following local markup is available:

A "autoLanguageProcessing" attribute with the values "transliteration" or "machineTranslation".

For example:

<file>
       <credit type="author">
          <name its:autoLanguageProcessing="transliteration">Shaun</name>
          <email>shaun@example.org</name>
       </credit>
</file>