summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaun McCance <shaunm@gnome.org>2013-02-02 14:15:56 -0500
committerShaun McCance <shaunm@gnome.org>2013-02-02 14:15:56 -0500
commita6becc8bbc4ce20217ba6a8bd11016297db2e607 (patch)
tree5c9abc8266b5ad3772beb721f479b741412e5505
parent24811c8cfcbc14cc480a2fbef2288245019f8a7e (diff)
downloaditstool-a6becc8bbc4ce20217ba6a8bd11016297db2e607.tar.gz
Adding the ITS 2.0 test suite, found here:
https://github.com/finnle/ITS-2.0-Testsuite/commits/master
-rwxr-xr-xitstool.in33
-rw-r--r--tests/ITS-2.0-Testsuite/README1
-rw-r--r--tests/ITS-2.0-Testsuite/expected/elementswithintext/html/withintext1htmloutput.txt24
-rw-r--r--tests/ITS-2.0-Testsuite/expected/elementswithintext/html/withintext2htmloutput.txt10
-rw-r--r--tests/ITS-2.0-Testsuite/expected/elementswithintext/html/withintext3htmloutput.txt24
-rw-r--r--tests/ITS-2.0-Testsuite/expected/elementswithintext/html/withintext4htmloutput.txt24
-rw-r--r--tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext1xmloutput.txt17
-rw-r--r--tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext2xmloutput.txt28
-rw-r--r--tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext3xmloutput.txt15
-rw-r--r--tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext4xmloutput.txt15
-rw-r--r--tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext5xmloutput.txt20
-rw-r--r--tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext6xmloutput.txt13
-rw-r--r--tests/ITS-2.0-Testsuite/expected/externalresource/html/externalresource1htmloutput.txt19
-rw-r--r--tests/ITS-2.0-Testsuite/expected/externalresource/html/externalresource2htmloutput.txt21
-rw-r--r--tests/ITS-2.0-Testsuite/expected/externalresource/html/externalresource3htmloutput.txt18
-rw-r--r--tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource1xmloutput.txt17
-rw-r--r--tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource2xmloutput.txt15
-rw-r--r--tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource3xmloutput.txt23
-rw-r--r--tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource4xmloutput.txt19
-rw-r--r--tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource5xmloutput.txt15
-rw-r--r--tests/ITS-2.0-Testsuite/expected/idvalue/html/idvalue1htmloutput.txt15
-rw-r--r--tests/ITS-2.0-Testsuite/expected/idvalue/html/idvalue2htmloutput.txt17
-rw-r--r--tests/ITS-2.0-Testsuite/expected/idvalue/html/idvalue3htmloutput.txt14
-rw-r--r--tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue1xmloutput.txt18
-rw-r--r--tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue2xmloutput.txt6
-rw-r--r--tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue3xmloutput.txt14
-rw-r--r--tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue4xmloutput.txt18
-rw-r--r--tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue5xmloutput.txt22
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localefilter/html/locale1htmloutput.txt12
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localefilter/html/locale2htmloutput.txt10
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localefilter/html/locale3htmloutput.txt12
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localefilter/html/locale4htmloutput.txt11
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale1xmloutput.txt11
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale2xmloutput.txt6
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale3xmloutput.txt9
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale4xmloutput.txt17
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale5xmloutput.txt6
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale6xmloutput.txt15
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale7xmloutput.txt12
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote1htmloutput.txt11
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote2htmloutput.txt17
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote3htmloutput.txt11
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote4htmloutput.txt17
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote5htmloutput.txt21
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote6htmloutput.txt21
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote7htmloutput.txt11
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote8htmloutput.txt21
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote9htmloutput.txt11
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote10xmloutput.txt31
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote11xmloutput.txt19
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote1xmloutput.txt12
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote2xmloutput.txt20
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote3xmloutput.txt11
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote4xmloutput.txt17
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote5xmloutput.txt23
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote6xmloutput.txt29
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote7xmloutput.txt20
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote8xmloutput.txt20
-rw-r--r--tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote9xmloutput.txt11
-rw-r--r--tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace1xmloutput.txt9
-rw-r--r--tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace2xmloutput.txt4
-rw-r--r--tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace3xmloutput.txt7
-rw-r--r--tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace4xmloutput.txt4
-rw-r--r--tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace5xmloutput.txt12
-rw-r--r--tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace6xmloutput.txt8
-rw-r--r--tests/ITS-2.0-Testsuite/expected/translate/html/translate1htmloutput.txt13
-rw-r--r--tests/ITS-2.0-Testsuite/expected/translate/html/translate2htmloutput.txt11
-rw-r--r--tests/ITS-2.0-Testsuite/expected/translate/html/translate3htmloutput.txt15
-rw-r--r--tests/ITS-2.0-Testsuite/expected/translate/html/translate4htmloutput.txt15
-rw-r--r--tests/ITS-2.0-Testsuite/expected/translate/html/translate5htmloutput.txt24
-rw-r--r--tests/ITS-2.0-Testsuite/expected/translate/html/translate6htmloutput.txt24
-rw-r--r--tests/ITS-2.0-Testsuite/expected/translate/html/translate7htmloutput.txt12
-rw-r--r--tests/ITS-2.0-Testsuite/expected/translate/xml/translate10xmloutput.txt17
-rw-r--r--tests/ITS-2.0-Testsuite/expected/translate/xml/translate1xmloutput.txt59
-rw-r--r--tests/ITS-2.0-Testsuite/expected/translate/xml/translate2xmloutput.txt11
-rw-r--r--tests/ITS-2.0-Testsuite/expected/translate/xml/translate3xmloutput.txt17
-rw-r--r--tests/ITS-2.0-Testsuite/expected/translate/xml/translate4xmloutput.txt10
-rw-r--r--tests/ITS-2.0-Testsuite/expected/translate/xml/translate5xmloutput.txt11
-rw-r--r--tests/ITS-2.0-Testsuite/expected/translate/xml/translate6xmloutput.txt22
-rw-r--r--tests/ITS-2.0-Testsuite/expected/translate/xml/translate7xmloutput.txt22
-rw-r--r--tests/ITS-2.0-Testsuite/expected/translate/xml/translate8xmloutput.txt28
-rw-r--r--tests/ITS-2.0-Testsuite/expected/translate/xml/translate9xmloutput.txt23
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext1html.html32
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext1htmlrules.xml6
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext2html.html10
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext3html.html32
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext3htmlrules.xml6
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext4html.html40
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext1xml.xml12
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext2xml.xml25
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext2xmlrules.xml6
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext3xml.xml11
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext4xml.xml12
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext5xml.xml25
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext6xml.xml21
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext6xmlrules.xml5
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource1html.html17
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource1htmlrules.xml4
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource2html.html19
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource2htmlrules.xml4
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource3html.html22
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource1xml.xml24
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource2xml.xml22
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource2xmlrules.xml3
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource3xml.xml28
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource3xmlrules.xml3
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource4xml.xml25
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource5xml.xml20
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource5xmlrules.xml5
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue1html.html16
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue1htmlrules.xml6
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue2html.html17
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue2htmlrules.xml8
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue3html.html22
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue1xml.xml20
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue2xml.xml4
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue3xml.xml13
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue3xmlrules.xml3
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue4xml.xml17
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue4xmlrules.xml4
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue5xml.xml20
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale1html.html14
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale1htmlrules.xml3
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale2html.html12
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale3html.html14
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale3htmlrules.xml4
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale4html.html18
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale1xml.xml12
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale2xml.xml9
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale3xml.xml10
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale3xmlrules.xml3
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale4xml.xml16
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale4xmlrules.xml3
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale5xml.xml8
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale6xml.xml14
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale7xml.xml13
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale7xmlrules.xml4
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote1html.html11
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote1htmlrules.xml7
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote2html.html20
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote2htmlrules.xml4
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote3html.html12
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote3htmlrules.xml3
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote4html.html16
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote4htmlrules.xml3
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote5html.html21
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote5htmlrules.xml15
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote6html.html21
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote6htmlrules.xml15
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote7html.html10
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote8html.html21
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote8htmlrules.xml16
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote9html.html20
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote10xml.xml33
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote11xml.xml18
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote11xmlrules.xml16
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote1xml.xml14
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote2xml.xml19
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote3xml.xml12
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote4xml.xml16
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote5xml.xml15
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote5xmlrules.xml9
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote6xml.xml21
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote7xml.xml20
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote8xml.xml17
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote9xml.xml8
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace1xml.xml13
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace2xml.xml8
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace3xml.xml11
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace3xmlrules.xml3
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace4xml.xml8
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace5xml.xml14
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace6xml.xml9
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace6xmlrules.xml4
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/html/translate1html.html16
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/html/translate1htmlrules.xml4
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/html/translate2html.html17
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/html/translate3html.html23
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/html/translate3htmlrules.xml4
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/html/translate4html.html23
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/html/translate4htmlrules.xml4
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/html/translate5html.html34
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/html/translate5htmlrules.xml4
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/html/translate6html.html34
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/html/translate6htmlrules.xml6
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/html/translate7html.html19
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate10xml.xml7
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate10xmlrules.xml5
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate1xml.xml39
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate2xml.xml10
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate2xmlrules.xml5
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate3xml.xml13
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate3xmlrules.xml6
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate4xml.xml10
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate5xml.xml13
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate6xml.xml19
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate7xml.xml19
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate8xml.xml28
-rw-r--r--tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate9xml.xml11
-rwxr-xr-xtests/ITS-2.0-Testsuite/run_tests.sh63
200 files changed, 3025 insertions, 8 deletions
diff --git a/itstool.in b/itstool.in
index 3aff4ea..b5b24fe 100755
--- a/itstool.in
+++ b/itstool.in
@@ -540,7 +540,7 @@ class Document (object):
if isinstance(idvalue, basestring):
self._its_id_values[node] = idvalue
else:
- for val in idvalues:
+ for val in idvalue:
self._its_id_values[node] = val.content
break
xpath.setContextNode(oldnode)
@@ -1194,19 +1194,36 @@ class Document (object):
node = self._doc.getRootElement()
compval = ''
if category == 'translate':
- compval = 'its:translate="%s"' % self.get_its_translate(node)
+ compval = 'translate="%s"' % self.get_its_translate(node)
elif category == 'withinText':
- compval = 'its:withinText="%s"' % self.get_its_within_text(node)
+ if node.type != 'attribute':
+ compval = 'withinText="%s"' % self.get_its_within_text(node)
elif category == 'localeFilterList':
- compval = 'its:localeFilterList="%s"' % self.get_its_locale_filter(node)
- elif category == 'externalResourceRefPointer':
- compval = 'its:externalResourceRefPointer="%s"' % self._its_externals.get(node, '')
+ compval = 'localeFilterList="%s"' % self.get_its_locale_filter(node)
+ elif category == 'locNote':
+ val = self.get_its_loc_notes(node)
+ if len(val) > 0:
+ compval = 'locNote="%s"' % val[0]
+ elif category == 'externalResourceRef':
+ val = self._its_externals.get(node, '')
+ if val != '':
+ compval = 'externalResourceRef="%s"' % val
elif category == 'idValue':
- compval = 'its:idValue="%s"' % (self.get_its_id_value(node) or '')
+ val = self.get_its_id_value(node)
+ if val is not None:
+ compval = 'idValue="%s"' % val
+ elif category == 'preserveSpace':
+ if self.get_preserve_space(node):
+ compval = 'space="preserve"'
+ else:
+ compval = 'space="default"'
else:
sys.stderr.write('Error: Unrecognized category %s\n' % category)
sys.exit(1)
- out.write('%s\t%s\n' % (xml_get_node_path(node), compval))
+ if compval != '':
+ out.write('%s\t%s\r\n' % (xml_get_node_path(node), compval))
+ else:
+ out.write('%s\r\n' % (xml_get_node_path(node)))
for attr in sorted(xml_attr_iter(node), lambda x, y: cmp(str(x), str(y))):
self.output_test_data(category, out, attr)
for child in xml_child_iter(node):
diff --git a/tests/ITS-2.0-Testsuite/README b/tests/ITS-2.0-Testsuite/README
new file mode 100644
index 0000000..1698dc7
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/README
@@ -0,0 +1 @@
+https://github.com/finnle/ITS-2.0-Testsuite
diff --git a/tests/ITS-2.0-Testsuite/expected/elementswithintext/html/withintext1htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/elementswithintext/html/withintext1htmloutput.txt
new file mode 100644
index 0000000..4436193
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/elementswithintext/html/withintext1htmloutput.txt
@@ -0,0 +1,24 @@
+/html withinText="no"
+/html/head[1] withinText="no"
+/html/head[1]/meta[1] withinText="no"
+/html/head[1]/meta[1]/@charset
+/html/head[1]/link[1] withinText="no"
+/html/head[1]/link[1]/@href
+/html/head[1]/link[1]/@rel
+/html/body[1] withinText="no"
+/html/body[1]/section[1] withinText="no"
+/html/body[1]/section[1]/title[1] withinText="no"
+/html/body[1]/section[1]/span[1] withinText="no"
+/html/body[1]/section[1]/span[1]/@itemref
+/html/body[1]/section[1]/span[2] withinText="no"
+/html/body[1]/section[1]/span[2]/@itemref
+/html/body[1]/p[1] withinText="no"
+/html/body[1]/p[1]/cite[1] withinText="nested"
+/html/body[1]/p[1]/span[1] withinText="yes"
+/html/body[1]/p[1]/span[1]/@itemref
+/html/body[1]/p[2] withinText="no"
+/html/body[1]/p[2]/img[1] withinText="yes"
+/html/body[1]/p[2]/img[1]/@alt
+/html/body[1]/p[2]/img[1]/@src
+/html/body[1]/p[3] withinText="no"
+/html/body[1]/p[3]/em[1] withinText="yes"
diff --git a/tests/ITS-2.0-Testsuite/expected/elementswithintext/html/withintext2htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/elementswithintext/html/withintext2htmloutput.txt
new file mode 100644
index 0000000..e1e535e
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/elementswithintext/html/withintext2htmloutput.txt
@@ -0,0 +1,10 @@
+/html withinText="no"
+/html/@lang
+/html/head[1] withinText="no"
+/html/head[1]/meta[1] withinText="no"
+/html/head[1]/meta[1]/@charset
+/html/head[1]/title[1] withinText="no"
+/html/body[1] withinText="no"
+/html/body[1]/p[1] withinText="no"
+/html/body[1]/p[1]/span[1] withinText="yes"
+/html/body[1]/p[1]/span[1]/@its-within-text
diff --git a/tests/ITS-2.0-Testsuite/expected/elementswithintext/html/withintext3htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/elementswithintext/html/withintext3htmloutput.txt
new file mode 100644
index 0000000..4436193
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/elementswithintext/html/withintext3htmloutput.txt
@@ -0,0 +1,24 @@
+/html withinText="no"
+/html/head[1] withinText="no"
+/html/head[1]/meta[1] withinText="no"
+/html/head[1]/meta[1]/@charset
+/html/head[1]/link[1] withinText="no"
+/html/head[1]/link[1]/@href
+/html/head[1]/link[1]/@rel
+/html/body[1] withinText="no"
+/html/body[1]/section[1] withinText="no"
+/html/body[1]/section[1]/title[1] withinText="no"
+/html/body[1]/section[1]/span[1] withinText="no"
+/html/body[1]/section[1]/span[1]/@itemref
+/html/body[1]/section[1]/span[2] withinText="no"
+/html/body[1]/section[1]/span[2]/@itemref
+/html/body[1]/p[1] withinText="no"
+/html/body[1]/p[1]/cite[1] withinText="nested"
+/html/body[1]/p[1]/span[1] withinText="yes"
+/html/body[1]/p[1]/span[1]/@itemref
+/html/body[1]/p[2] withinText="no"
+/html/body[1]/p[2]/img[1] withinText="yes"
+/html/body[1]/p[2]/img[1]/@alt
+/html/body[1]/p[2]/img[1]/@src
+/html/body[1]/p[3] withinText="no"
+/html/body[1]/p[3]/em[1] withinText="yes"
diff --git a/tests/ITS-2.0-Testsuite/expected/elementswithintext/html/withintext4htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/elementswithintext/html/withintext4htmloutput.txt
new file mode 100644
index 0000000..f060955
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/elementswithintext/html/withintext4htmloutput.txt
@@ -0,0 +1,24 @@
+/html withinText="no"
+/html/head[1] withinText="no"
+/html/head[1]/script[1] withinText="no"
+/html/head[1]/script[1]/@type
+/html/head[1]/meta[1] withinText="no"
+/html/head[1]/meta[1]/@charset
+/html/body[1] withinText="no"
+/html/body[1]/section[1] withinText="no"
+/html/body[1]/section[1]/title[1] withinText="no"
+/html/body[1]/section[1]/span[1] withinText="no"
+/html/body[1]/section[1]/span[1]/@itemref
+/html/body[1]/section[1]/span[2] withinText="no"
+/html/body[1]/section[1]/span[2]/@itemref
+/html/body[1]/p[1] withinText="no"
+/html/body[1]/p[1]/cite[1] withinText="nested"
+/html/body[1]/p[1]/span[1] withinText="yes"
+/html/body[1]/p[1]/span[1]/@itemref
+/html/body[1]/p[2] withinText="no"
+/html/body[1]/p[2]/img[1] withinText="yes"
+/html/body[1]/p[2]/img[1]/@alt
+/html/body[1]/p[2]/img[1]/@src
+/html/body[1]/p[3] withinText="yes"
+/html/body[1]/p[3]/@id
+/html/body[1]/p[3]/em[1] withinText="yes"
diff --git a/tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext1xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext1xmloutput.txt
new file mode 100644
index 0000000..d1531d0
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext1xmloutput.txt
@@ -0,0 +1,17 @@
+/doc withinText="no"
+/doc/head[1] withinText="no"
+/doc/head[1]/its:rules[1] withinText="no"
+/doc/head[1]/its:rules[1]/@version
+/doc/head[1]/its:rules[1]/its:withinTextRule[1] withinText="no"
+/doc/head[1]/its:rules[1]/its:withinTextRule[1]/@selector
+/doc/head[1]/its:rules[1]/its:withinTextRule[1]/@withinText
+/doc/head[1]/its:rules[1]/its:withinTextRule[2] withinText="no"
+/doc/head[1]/its:rules[1]/its:withinTextRule[2]/@selector
+/doc/head[1]/its:rules[1]/its:withinTextRule[2]/@withinText
+/doc/body[1] withinText="no"
+/doc/body[1]/p[1] withinText="no"
+/doc/body[1]/p[1]/b[1] withinText="yes"
+/doc/body[1]/p[1]/i[1] withinText="yes"
+/doc/body[1]/p[1]/u[1] withinText="yes"
+/doc/body[1]/p[2] withinText="no"
+/doc/body[1]/p[2]/fn[1] withinText="nested"
diff --git a/tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext2xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext2xmloutput.txt
new file mode 100644
index 0000000..2b90e8e
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext2xmloutput.txt
@@ -0,0 +1,28 @@
+/myDocument withinText="no"
+/myDocument/@xml:lang
+/myDocument/prolog[1] withinText="no"
+/myDocument/prolog[1]/its:rules[1] withinText="no"
+/myDocument/prolog[1]/its:rules[1]/@version
+/myDocument/prolog[1]/its:rules[1]/@xlink:href
+/myDocument/prolog[1]/its:rules[1]/its:withinTextRule[1] withinText="no"
+/myDocument/prolog[1]/its:rules[1]/its:withinTextRule[1]/@selector
+/myDocument/prolog[1]/its:rules[1]/its:withinTextRule[1]/@withinText
+/myDocument/prolog[1]/author[1] withinText="no"
+/myDocument/prolog[1]/version[1] withinText="no"
+/myDocument/prolog[1]/keywords[1] withinText="no"
+/myDocument/prolog[1]/keywords[1]/kw[1] withinText="no"
+/myDocument/prolog[1]/keywords[1]/kw[2] withinText="no"
+/myDocument/prolog[1]/storageKey[1] withinText="no"
+/myDocument/content[1] withinText="no"
+/myDocument/content[1]/section[1] withinText="no"
+/myDocument/content[1]/section[1]/title[1] withinText="no"
+/myDocument/content[1]/section[1]/p[1] withinText="no"
+/myDocument/content[1]/section[1]/p[1]/fnote[1] withinText="nested"
+/myDocument/content[1]/section[1]/p[1]/kw[1] withinText="yes"
+/myDocument/content[1]/section[1]/p[2] withinText="no"
+/myDocument/content[1]/section[1]/p[2]/img[1] withinText="yes"
+/myDocument/content[1]/section[1]/p[2]/img[1]/@alt
+/myDocument/content[1]/section[1]/p[2]/img[1]/@src
+/myDocument/content[1]/footer[1] withinText="no"
+/myDocument/content[1]/footer[1]/p[1] withinText="no"
+/myDocument/content[1]/footer[1]/p[1]/em[1] withinText="yes"
diff --git a/tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext3xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext3xmloutput.txt
new file mode 100644
index 0000000..5ff5c95
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext3xmloutput.txt
@@ -0,0 +1,15 @@
+/text withinText="no"
+/text/@its:version
+/text/prolog[1] withinText="no"
+/text/prolog[1]/title[1] withinText="no"
+/text/prolog[1]/title[1]/@its:withinText
+/text/prolog[1]/author[1] withinText="no"
+/text/prolog[1]/author[1]/@its:withinText
+/text/prolog[1]/keywords[1] withinText="no"
+/text/prolog[1]/keywords[1]/@its:withinText
+/text/body[1] withinText="no"
+/text/body[1]/p[1] withinText="no"
+/text/body[1]/p[1]/title[1] withinText="yes"
+/text/body[1]/p[1]/title[1]/@its:withinText
+/text/body[1]/p[1]/author[1] withinText="yes"
+/text/body[1]/p[1]/author[1]/@its:withinText
diff --git a/tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext4xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext4xmloutput.txt
new file mode 100644
index 0000000..9c31705
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext4xmloutput.txt
@@ -0,0 +1,15 @@
+/text withinText="no"
+/text/@its:version
+/text/prolog[1] withinText="no"
+/text/prolog[1]/its:span[1] withinText="no"
+/text/prolog[1]/its:span[1]/@withinText
+/text/prolog[1]/its:span[2] withinText="no"
+/text/prolog[1]/its:span[2]/@withinText
+/text/prolog[1]/its:span[3] withinText="no"
+/text/prolog[1]/its:span[3]/@withinText
+/text/body[1] withinText="no"
+/text/body[1]/p[1] withinText="no"
+/text/body[1]/p[1]/its:span[1] withinText="yes"
+/text/body[1]/p[1]/its:span[1]/@withinText
+/text/body[1]/p[1]/its:span[2] withinText="yes"
+/text/body[1]/p[1]/its:span[2]/@withinText
diff --git a/tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext5xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext5xmloutput.txt
new file mode 100644
index 0000000..c452beb
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext5xmloutput.txt
@@ -0,0 +1,20 @@
+/doc withinText="no"
+/doc/head[1] withinText="no"
+/doc/head[1]/its:rules[1] withinText="no"
+/doc/head[1]/its:rules[1]/@version
+/doc/head[1]/its:rules[1]/its:param[1] withinText="no"
+/doc/head[1]/its:rules[1]/its:param[1]/@name
+/doc/head[1]/its:rules[1]/its:withinTextRule[1] withinText="no"
+/doc/head[1]/its:rules[1]/its:withinTextRule[1]/@selector
+/doc/head[1]/its:rules[1]/its:withinTextRule[1]/@withinText
+/doc/head[1]/its:rules[1]/its:withinTextRule[2] withinText="no"
+/doc/head[1]/its:rules[1]/its:withinTextRule[2]/@selector
+/doc/head[1]/its:rules[1]/its:withinTextRule[2]/@withinText
+/doc/body[1] withinText="no"
+/doc/body[1]/p[1] withinText="no"
+/doc/body[1]/p[1]/b[1] withinText="yes"
+/doc/body[1]/p[1]/i[1] withinText="yes"
+/doc/body[1]/p[1]/u[1] withinText="yes"
+/doc/body[1]/p[2] withinText="no"
+/doc/body[1]/p[2]/fn[1] withinText="nested"
+/doc/body[1]/p[2]/fn[1]/@id
diff --git a/tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext6xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext6xmloutput.txt
new file mode 100644
index 0000000..bbbfaab
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/elementswithintext/xml/withintext6xmloutput.txt
@@ -0,0 +1,13 @@
+/doc withinText="no"
+/doc/head[1] withinText="no"
+/doc/head[1]/its:rules[1] withinText="no"
+/doc/head[1]/its:rules[1]/@version
+/doc/head[1]/its:rules[1]/@xlink:href
+/doc/body[1] withinText="no"
+/doc/body[1]/p[1] withinText="no"
+/doc/body[1]/p[1]/b[1] withinText="yes"
+/doc/body[1]/p[1]/i[1] withinText="yes"
+/doc/body[1]/p[1]/u[1] withinText="yes"
+/doc/body[1]/p[2] withinText="no"
+/doc/body[1]/p[2]/fn[1] withinText="nested"
+/doc/body[1]/p[2]/fn[1]/@id
diff --git a/tests/ITS-2.0-Testsuite/expected/externalresource/html/externalresource1htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/externalresource/html/externalresource1htmloutput.txt
new file mode 100644
index 0000000..9d13062
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/externalresource/html/externalresource1htmloutput.txt
@@ -0,0 +1,19 @@
+/html
+/html/@lang
+/html/head[1]
+/html/head[1]/meta[1]
+/html/head[1]/meta[1]/@charset
+/html/head[1]/link[1]
+/html/head[1]/link[1]/@href
+/html/head[1]/link[1]/@rel
+/html/head[1]/title[1]
+/html/body[1]
+/html/body[1]/video[1]
+/html/body[1]/video[1]/@height
+/html/body[1]/video[1]/@poster externalResourceRef="video-image.png"
+/html/body[1]/video[1]/@src externalResourceRef="http://www.example.com/video/v2.mp"
+/html/body[1]/video[1]/@width
+/html/body[1]/video[1]/p[1]
+/html/body[1]/video[1]/p[1]/code[1]
+/html/body[1]/video[1]/p[1]/a[1]
+/html/body[1]/video[1]/p[1]/a[1]/@href
diff --git a/tests/ITS-2.0-Testsuite/expected/externalresource/html/externalresource2htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/externalresource/html/externalresource2htmloutput.txt
new file mode 100644
index 0000000..d665d90
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/externalresource/html/externalresource2htmloutput.txt
@@ -0,0 +1,21 @@
+/html
+/html/@lang
+/html/head[1]
+/html/head[1]/meta[1]
+/html/head[1]/meta[1]/@charset
+/html/head[1]/link[1]
+/html/head[1]/link[1]/@href
+/html/head[1]/link[1]/@rel
+/html/head[1]/title[1]
+/html/body[1]
+/html/body[1]/span[1]
+/html/body[1]/span[1]/@id
+/html/body[1]/span[1]/video[1] externalResourceRef="video-image.png"
+/html/body[1]/span[1]/video[1]/@height
+/html/body[1]/span[1]/video[1]/@poster
+/html/body[1]/span[1]/video[1]/@src
+/html/body[1]/span[1]/video[1]/@width
+/html/body[1]/span[1]/video[1]/p[1]
+/html/body[1]/span[1]/video[1]/p[1]/code[1]
+/html/body[1]/span[1]/video[1]/p[1]/a[1]
+/html/body[1]/span[1]/video[1]/p[1]/a[1]/@href
diff --git a/tests/ITS-2.0-Testsuite/expected/externalresource/html/externalresource3htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/externalresource/html/externalresource3htmloutput.txt
new file mode 100644
index 0000000..e4200a8
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/externalresource/html/externalresource3htmloutput.txt
@@ -0,0 +1,18 @@
+/html
+/html/@lang
+/html/head[1]
+/html/head[1]/script[1]
+/html/head[1]/script[1]/@type
+/html/head[1]/meta[1]
+/html/head[1]/meta[1]/@charset
+/html/head[1]/title[1]
+/html/body[1]
+/html/body[1]/video[1] externalResourceRef="http://www.example.com/video/v2.mp"
+/html/body[1]/video[1]/@height
+/html/body[1]/video[1]/@poster
+/html/body[1]/video[1]/@src
+/html/body[1]/video[1]/@width
+/html/body[1]/video[1]/p[1]
+/html/body[1]/video[1]/p[1]/code[1]
+/html/body[1]/video[1]/p[1]/a[1]
+/html/body[1]/video[1]/p[1]/a[1]/@href
diff --git a/tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource1xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource1xmloutput.txt
new file mode 100644
index 0000000..c683f99
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource1xmloutput.txt
@@ -0,0 +1,17 @@
+/doc
+/doc/its:rules[1]
+/doc/its:rules[1]/@version
+/doc/its:rules[1]/its:externalResourceRefRule[1]
+/doc/its:rules[1]/its:externalResourceRefRule[1]/@externalResourceRefPointer
+/doc/its:rules[1]/its:externalResourceRefRule[1]/@selector
+/doc/dbk:mediaobject[1]
+/doc/dbk:mediaobject[1]/dbk:videoobject[1]
+/doc/dbk:mediaobject[1]/dbk:videoobject[1]/dbk:videodata[1] externalResourceRef="movie.avi"
+/doc/dbk:mediaobject[1]/dbk:videoobject[1]/dbk:videodata[1]/@fileref
+/doc/dbk:mediaobject[1]/dbk:imageobject[1]
+/doc/dbk:mediaobject[1]/dbk:imageobject[1]/dbk:imagedata[1] externalResourceRef="movie-frame.gif"
+/doc/dbk:mediaobject[1]/dbk:imageobject[1]/dbk:imagedata[1]/@fileref
+/doc/dbk:mediaobject[1]/dbk:textobject[1]
+/doc/dbk:mediaobject[1]/dbk:textobject[1]/dbk:para[1]
+/doc/dbk:mediaobject[1]/dbk:textobject[1]/dbk:warning[1]
+/doc/dbk:mediaobject[1]/dbk:textobject[1]/dbk:warning[1]/dbk:para[1]
diff --git a/tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource2xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource2xmloutput.txt
new file mode 100644
index 0000000..8833434
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource2xmloutput.txt
@@ -0,0 +1,15 @@
+/doc
+/doc/its:rules[1]
+/doc/its:rules[1]/@version
+/doc/its:rules[1]/@xlink:href
+/doc/dbk:mediaobject[1]
+/doc/dbk:mediaobject[1]/dbk:videoobject[1]
+/doc/dbk:mediaobject[1]/dbk:videoobject[1]/dbk:videodata[1] externalResourceRef="movie.avi"
+/doc/dbk:mediaobject[1]/dbk:videoobject[1]/dbk:videodata[1]/@fileref
+/doc/dbk:mediaobject[1]/dbk:imageobject[1]
+/doc/dbk:mediaobject[1]/dbk:imageobject[1]/dbk:imagedata[1] externalResourceRef="movie-frame.gif"
+/doc/dbk:mediaobject[1]/dbk:imageobject[1]/dbk:imagedata[1]/@fileref
+/doc/dbk:mediaobject[1]/dbk:textobject[1]
+/doc/dbk:mediaobject[1]/dbk:textobject[1]/dbk:para[1]
+/doc/dbk:mediaobject[1]/dbk:textobject[1]/dbk:warning[1]
+/doc/dbk:mediaobject[1]/dbk:textobject[1]/dbk:warning[1]/dbk:para[1]
diff --git a/tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource3xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource3xmloutput.txt
new file mode 100644
index 0000000..93cc320
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource3xmloutput.txt
@@ -0,0 +1,23 @@
+/doc
+/doc/its:rules[1]
+/doc/its:rules[1]/@version
+/doc/its:rules[1]/@xlink:href
+/doc/its:rules[2]
+/doc/its:rules[2]/@version
+/doc/its:rules[2]/its:externalResourceRefRule[1]
+/doc/its:rules[2]/its:externalResourceRefRule[1]/@externalResourceRefPointer
+/doc/its:rules[2]/its:externalResourceRefRule[1]/@selector
+/doc/dbk:mediaobject[1]
+/doc/dbk:mediaobject[1]/dbk:videoobject[1]
+/doc/dbk:mediaobject[1]/dbk:videoobject[1]/dbk:videodata[1] externalResourceRef="movie.avi"
+/doc/dbk:mediaobject[1]/dbk:videoobject[1]/dbk:videodata[1]/@fileref
+/doc/dbk:mediaobject[1]/dbk:audioobject[1]
+/doc/dbk:mediaobject[1]/dbk:audioobject[1]/dbk:audiodata[1] externalResourceRef="movie.mp3"
+/doc/dbk:mediaobject[1]/dbk:audioobject[1]/dbk:audiodata[1]/@fileref
+/doc/dbk:mediaobject[1]/dbk:imageobject[1]
+/doc/dbk:mediaobject[1]/dbk:imageobject[1]/dbk:imagedata[1] externalResourceRef="movie-frame.gif"
+/doc/dbk:mediaobject[1]/dbk:imageobject[1]/dbk:imagedata[1]/@fileref
+/doc/dbk:mediaobject[1]/dbk:textobject[1]
+/doc/dbk:mediaobject[1]/dbk:textobject[1]/dbk:para[1]
+/doc/dbk:mediaobject[1]/dbk:textobject[1]/dbk:warning[1]
+/doc/dbk:mediaobject[1]/dbk:textobject[1]/dbk:warning[1]/dbk:para[1]
diff --git a/tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource4xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource4xmloutput.txt
new file mode 100644
index 0000000..8f420d2
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource4xmloutput.txt
@@ -0,0 +1,19 @@
+/doc
+/doc/its:rules[1]
+/doc/its:rules[1]/@version
+/doc/its:rules[1]/its:param[1]
+/doc/its:rules[1]/its:param[1]/@name
+/doc/its:rules[1]/its:externalResourceRefRule[1]
+/doc/its:rules[1]/its:externalResourceRefRule[1]/@externalResourceRefPointer
+/doc/its:rules[1]/its:externalResourceRefRule[1]/@selector
+/doc/dbk:mediaobject[1]
+/doc/dbk:mediaobject[1]/dbk:videoobject[1]
+/doc/dbk:mediaobject[1]/dbk:videoobject[1]/dbk:videodata[1]
+/doc/dbk:mediaobject[1]/dbk:videoobject[1]/dbk:videodata[1]/@fileref
+/doc/dbk:mediaobject[1]/dbk:imageobject[1]
+/doc/dbk:mediaobject[1]/dbk:imageobject[1]/dbk:imagedata[1] externalResourceRef="movie-frame.gif"
+/doc/dbk:mediaobject[1]/dbk:imageobject[1]/dbk:imagedata[1]/@fileref
+/doc/dbk:mediaobject[1]/dbk:textobject[1]
+/doc/dbk:mediaobject[1]/dbk:textobject[1]/dbk:para[1]
+/doc/dbk:mediaobject[1]/dbk:textobject[1]/dbk:warning[1]
+/doc/dbk:mediaobject[1]/dbk:textobject[1]/dbk:warning[1]/dbk:para[1]
diff --git a/tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource5xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource5xmloutput.txt
new file mode 100644
index 0000000..79ce5c9
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/externalresource/xml/externalresource5xmloutput.txt
@@ -0,0 +1,15 @@
+/doc
+/doc/its:rules[1]
+/doc/its:rules[1]/@version
+/doc/its:rules[1]/@xlink:href
+/doc/dbk:mediaobject[1]
+/doc/dbk:mediaobject[1]/dbk:videoobject[1]
+/doc/dbk:mediaobject[1]/dbk:videoobject[1]/dbk:videodata[1]
+/doc/dbk:mediaobject[1]/dbk:videoobject[1]/dbk:videodata[1]/@fileref
+/doc/dbk:mediaobject[1]/dbk:imageobject[1]
+/doc/dbk:mediaobject[1]/dbk:imageobject[1]/dbk:imagedata[1] externalResourceRef="movie-frame.gif"
+/doc/dbk:mediaobject[1]/dbk:imageobject[1]/dbk:imagedata[1]/@fileref
+/doc/dbk:mediaobject[1]/dbk:textobject[1]
+/doc/dbk:mediaobject[1]/dbk:textobject[1]/dbk:para[1]
+/doc/dbk:mediaobject[1]/dbk:textobject[1]/dbk:warning[1]
+/doc/dbk:mediaobject[1]/dbk:textobject[1]/dbk:warning[1]/dbk:para[1]
diff --git a/tests/ITS-2.0-Testsuite/expected/idvalue/html/idvalue1htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/idvalue/html/idvalue1htmloutput.txt
new file mode 100644
index 0000000..cb19ed9
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/idvalue/html/idvalue1htmloutput.txt
@@ -0,0 +1,15 @@
+/html
+/html/head[1]
+/html/head[1]/meta[1]
+/html/head[1]/meta[1]/@charset
+/html/head[1]/title[1]
+/html/head[1]/link[1]
+/html/head[1]/link[1]/@href
+/html/head[1]/link[1]/@rel
+/html/body[1]
+/html/body[1]/p[1] idValue="settingsMissing"
+/html/body[1]/p[1]/@id
+/html/body[1]/p[1]/b[1] idValue="text"
+/html/body[1]/p[1]/b[1]/@id
+/html/body[1]/p[1]/var[1] idValue="desc"
+/html/body[1]/p[1]/var[1]/@id
diff --git a/tests/ITS-2.0-Testsuite/expected/idvalue/html/idvalue2htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/idvalue/html/idvalue2htmloutput.txt
new file mode 100644
index 0000000..9f6264e
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/idvalue/html/idvalue2htmloutput.txt
@@ -0,0 +1,17 @@
+/html
+/html/head[1]
+/html/head[1]/meta[1]
+/html/head[1]/meta[1]/@charset
+/html/head[1]/title[1]
+/html/head[1]/link[1]
+/html/head[1]/link[1]/@href
+/html/head[1]/link[1]/@rel
+/html/body[1]
+/html/body[1]/p[1] idValue="settingsMissing"
+/html/body[1]/p[1]/@id
+/html/body[1]/p[1]/b[1] idValue="text"
+/html/body[1]/p[1]/b[1]/@id
+/html/body[1]/p[1]/var[1] idValue="desc"
+/html/body[1]/p[1]/var[1]/@id
+/html/body[1]/p[1]/b[2] idValue="crashtext"
+/html/body[1]/p[1]/b[2]/@id
diff --git a/tests/ITS-2.0-Testsuite/expected/idvalue/html/idvalue3htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/idvalue/html/idvalue3htmloutput.txt
new file mode 100644
index 0000000..b1d3cb6
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/idvalue/html/idvalue3htmloutput.txt
@@ -0,0 +1,14 @@
+/html
+/html/head[1]
+/html/head[1]/script[1]
+/html/head[1]/script[1]/@type
+/html/head[1]/meta[1]
+/html/head[1]/meta[1]/@charset
+/html/head[1]/title[1]
+/html/body[1]
+/html/body[1]/p[1] idValue="settingsMissing"
+/html/body[1]/p[1]/@id
+/html/body[1]/p[1]/b[1] idValue="text"
+/html/body[1]/p[1]/b[1]/@id
+/html/body[1]/p[1]/var[1] idValue="desc"
+/html/body[1]/p[1]/var[1]/@id
diff --git a/tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue1xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue1xmloutput.txt
new file mode 100644
index 0000000..60aa545
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue1xmloutput.txt
@@ -0,0 +1,18 @@
+/resource
+/resource/its:rules[1]
+/resource/its:rules[1]/@version
+/resource/its:rules[1]/its:idValueRule[1]
+/resource/its:rules[1]/its:idValueRule[1]/@idValue
+/resource/its:rules[1]/its:idValueRule[1]/@selector
+/resource/webform[1]
+/resource/webform[1]/entry[1]
+/resource/webform[1]/entry[1]/@name
+/resource/webform[1]/entry[1]/text[1] idValue="btn.OK"
+/resource/webform[1]/entry[1]/pos[1]
+/resource/webform[1]/entry[1]/trig[1]
+/resource/webform[2]
+/resource/webform[2]/entry[1]
+/resource/webform[2]/entry[1]/@name
+/resource/webform[2]/entry[1]/text[1] idValue="btn.CANCEL"
+/resource/webform[2]/entry[1]/pos[1]
+/resource/webform[2]/entry[1]/trig[1]
diff --git a/tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue2xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue2xmloutput.txt
new file mode 100644
index 0000000..cb1a0f0
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue2xmloutput.txt
@@ -0,0 +1,6 @@
+/file
+/file/res[1] idValue="btnAgain"
+/file/res[1]/@name
+/file/res[1]/@xml:id
+/file/res[2]
+/file/res[2]/@name
diff --git a/tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue3xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue3xmloutput.txt
new file mode 100644
index 0000000..70f569a
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue3xmloutput.txt
@@ -0,0 +1,14 @@
+/resource
+/resource/its:rules[1]
+/resource/its:rules[1]/@version
+/resource/its:rules[1]/@xlink:href
+/resource/entry[1] idValue="btn.OK"
+/resource/entry[1]/@name
+/resource/entry[1]/text[1]
+/resource/entry[1]/pos[1]
+/resource/entry[1]/trig[1]
+/resource/entry[2] idValue="btn.CANCEL"
+/resource/entry[2]/@name
+/resource/entry[2]/text[1]
+/resource/entry[2]/pos[1]
+/resource/entry[2]/trig[1]
diff --git a/tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue4xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue4xmloutput.txt
new file mode 100644
index 0000000..43a3d44
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue4xmloutput.txt
@@ -0,0 +1,18 @@
+/resource
+/resource/its:rules[1]
+/resource/its:rules[1]/@version
+/resource/its:rules[1]/@xlink:href
+/resource/webform[1]
+/resource/webform[1]/@id
+/resource/webform[1]/entry[1] idValue="btn.OK"
+/resource/webform[1]/entry[1]/@name
+/resource/webform[1]/entry[1]/text[1]
+/resource/webform[1]/entry[1]/pos[1]
+/resource/webform[1]/entry[1]/trig[1]
+/resource/webform[2]
+/resource/webform[2]/@id
+/resource/webform[2]/entry[1]
+/resource/webform[2]/entry[1]/@name
+/resource/webform[2]/entry[1]/text[1]
+/resource/webform[2]/entry[1]/pos[1]
+/resource/webform[2]/entry[1]/trig[1]
diff --git a/tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue5xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue5xmloutput.txt
new file mode 100644
index 0000000..fb07c55
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/idvalue/xml/idvalue5xmloutput.txt
@@ -0,0 +1,22 @@
+/resource
+/resource/its:rules[1]
+/resource/its:rules[1]/@version
+/resource/its:rules[1]/its:param[1]
+/resource/its:rules[1]/its:param[1]/@name
+/resource/its:rules[1]/its:idValueRule[1]
+/resource/its:rules[1]/its:idValueRule[1]/@idValue
+/resource/its:rules[1]/its:idValueRule[1]/@selector
+/resource/webform[1]
+/resource/webform[1]/@id
+/resource/webform[1]/entry[1] idValue="btn.OK"
+/resource/webform[1]/entry[1]/@name
+/resource/webform[1]/entry[1]/text[1]
+/resource/webform[1]/entry[1]/pos[1]
+/resource/webform[1]/entry[1]/trig[1]
+/resource/webform[2]
+/resource/webform[2]/@id
+/resource/webform[2]/entry[1]
+/resource/webform[2]/entry[1]/@name
+/resource/webform[2]/entry[1]/text[1]
+/resource/webform[2]/entry[1]/pos[1]
+/resource/webform[2]/entry[1]/trig[1]
diff --git a/tests/ITS-2.0-Testsuite/expected/localefilter/html/locale1htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localefilter/html/locale1htmloutput.txt
new file mode 100644
index 0000000..9637b55
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localefilter/html/locale1htmloutput.txt
@@ -0,0 +1,12 @@
+/html localeFilterList="*"
+/html/head[1] localeFilterList="*"
+/html/head[1]/meta[1] localeFilterList="*"
+/html/head[1]/meta[1]/@charset localeFilterList="*"
+/html/head[1]/title[1] localeFilterList="*"
+/html/head[1]/link[1] localeFilterList="*"
+/html/head[1]/link[1]/@href localeFilterList="*"
+/html/head[1]/link[1]/@rel localeFilterList="*"
+/html/body[1] localeFilterList="*"
+/html/body[1]/div[1] localeFilterList="en-CA, fr-CA"
+/html/body[1]/div[1]/@id localeFilterList="en-CA, fr-CA"
+/html/body[1]/div[1]/p[1] localeFilterList="en-CA, fr-CA"
diff --git a/tests/ITS-2.0-Testsuite/expected/localefilter/html/locale2htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localefilter/html/locale2htmloutput.txt
new file mode 100644
index 0000000..3bbac28
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localefilter/html/locale2htmloutput.txt
@@ -0,0 +1,10 @@
+/html localeFilterList="*"
+/html/head[1] localeFilterList="*"
+/html/head[1]/meta[1] localeFilterList="*"
+/html/head[1]/meta[1]/@charset localeFilterList="*"
+/html/head[1]/title[1] localeFilterList="*"
+/html/body[1] localeFilterList="*"
+/html/body[1]/div[1] localeFilterList="en-CA, fr-CA"
+/html/body[1]/div[1]/@id localeFilterList="en-CA, fr-CA"
+/html/body[1]/div[1]/@its-locale-filter-list localeFilterList="en-CA, fr-CA"
+/html/body[1]/div[1]/p[1] localeFilterList="en-CA, fr-CA"
diff --git a/tests/ITS-2.0-Testsuite/expected/localefilter/html/locale3htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localefilter/html/locale3htmloutput.txt
new file mode 100644
index 0000000..9637b55
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localefilter/html/locale3htmloutput.txt
@@ -0,0 +1,12 @@
+/html localeFilterList="*"
+/html/head[1] localeFilterList="*"
+/html/head[1]/meta[1] localeFilterList="*"
+/html/head[1]/meta[1]/@charset localeFilterList="*"
+/html/head[1]/title[1] localeFilterList="*"
+/html/head[1]/link[1] localeFilterList="*"
+/html/head[1]/link[1]/@href localeFilterList="*"
+/html/head[1]/link[1]/@rel localeFilterList="*"
+/html/body[1] localeFilterList="*"
+/html/body[1]/div[1] localeFilterList="en-CA, fr-CA"
+/html/body[1]/div[1]/@id localeFilterList="en-CA, fr-CA"
+/html/body[1]/div[1]/p[1] localeFilterList="en-CA, fr-CA"
diff --git a/tests/ITS-2.0-Testsuite/expected/localefilter/html/locale4htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localefilter/html/locale4htmloutput.txt
new file mode 100644
index 0000000..3100bb5
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localefilter/html/locale4htmloutput.txt
@@ -0,0 +1,11 @@
+/html localeFilterList="*"
+/html/head[1] localeFilterList="*"
+/html/head[1]/script[1] localeFilterList="*"
+/html/head[1]/script[1]/@type localeFilterList="*"
+/html/head[1]/meta[1] localeFilterList="*"
+/html/head[1]/meta[1]/@charset localeFilterList="*"
+/html/head[1]/title[1] localeFilterList="*"
+/html/body[1] localeFilterList="*"
+/html/body[1]/div[1] localeFilterList="en-CA, fr-CA"
+/html/body[1]/div[1]/@id localeFilterList="en-CA, fr-CA"
+/html/body[1]/div[1]/p[1] localeFilterList="en-CA, fr-CA"
diff --git a/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale1xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale1xmloutput.txt
new file mode 100644
index 0000000..e3d4353
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale1xmloutput.txt
@@ -0,0 +1,11 @@
+/book localeFilterList="*"
+/book/@its:version localeFilterList="*"
+/book/info[1] localeFilterList="*"
+/book/info[1]/its:rules[1] localeFilterList="*"
+/book/info[1]/its:rules[1]/@version localeFilterList="*"
+/book/info[1]/its:rules[1]/its:localeFilterRule[1] localeFilterList="*"
+/book/info[1]/its:rules[1]/its:localeFilterRule[1]/@localeFilterList localeFilterList="*"
+/book/info[1]/its:rules[1]/its:localeFilterRule[1]/@selector localeFilterList="*"
+/book/info[1]/legalnotice[1] localeFilterList="en-CA, fr-CA"
+/book/info[1]/legalnotice[1]/@role localeFilterList="en-CA, fr-CA"
+/book/info[1]/legalnotice[1]/para[1] localeFilterList="en-CA, fr-CA"
diff --git a/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale2xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale2xmloutput.txt
new file mode 100644
index 0000000..e3d2d52
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale2xmloutput.txt
@@ -0,0 +1,6 @@
+/book localeFilterList="*"
+/book/@its:version localeFilterList="*"
+/book/info[1] localeFilterList="*"
+/book/info[1]/legalnotice[1] localeFilterList="en-CA, fr-CA"
+/book/info[1]/legalnotice[1]/@its:localeFilterList localeFilterList="en-CA, fr-CA"
+/book/info[1]/legalnotice[1]/para[1] localeFilterList="en-CA, fr-CA"
diff --git a/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale3xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale3xmloutput.txt
new file mode 100644
index 0000000..d793039
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale3xmloutput.txt
@@ -0,0 +1,9 @@
+/book localeFilterList="*"
+/book/@its:version localeFilterList="*"
+/book/info[1] localeFilterList="*"
+/book/info[1]/its:rules[1] localeFilterList="*"
+/book/info[1]/its:rules[1]/@version localeFilterList="*"
+/book/info[1]/its:rules[1]/@xlink:href localeFilterList="*"
+/book/info[1]/legalnotice[1] localeFilterList="en-CA, fr-CA"
+/book/info[1]/legalnotice[1]/@role localeFilterList="en-CA, fr-CA"
+/book/info[1]/legalnotice[1]/para[1] localeFilterList="en-CA, fr-CA"
diff --git a/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale4xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale4xmloutput.txt
new file mode 100644
index 0000000..df596ae
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale4xmloutput.txt
@@ -0,0 +1,17 @@
+/book localeFilterList="*"
+/book/@its:version localeFilterList="*"
+/book/info[1] localeFilterList="*"
+/book/info[1]/its:rules[1] localeFilterList="*"
+/book/info[1]/its:rules[1]/@version localeFilterList="*"
+/book/info[1]/its:rules[1]/@xlink:href localeFilterList="*"
+/book/info[1]/its:rules[2] localeFilterList="*"
+/book/info[1]/its:rules[2]/@version localeFilterList="*"
+/book/info[1]/its:rules[2]/its:localeFilterRule[1] localeFilterList="*"
+/book/info[1]/its:rules[2]/its:localeFilterRule[1]/@localeFilterList localeFilterList="*"
+/book/info[1]/its:rules[2]/its:localeFilterRule[1]/@selector localeFilterList="*"
+/book/info[1]/legalnotice[1] localeFilterList="en-CA, fr-CA"
+/book/info[1]/legalnotice[1]/@role localeFilterList="en-CA, fr-CA"
+/book/info[1]/legalnotice[1]/para[1] localeFilterList="en-CA, fr-CA"
+/book/info[1]/legalnotice[2] localeFilterList="de-DE"
+/book/info[1]/legalnotice[2]/@role localeFilterList="de-DE"
+/book/info[1]/legalnotice[2]/para[1] localeFilterList="de-DE"
diff --git a/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale5xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale5xmloutput.txt
new file mode 100644
index 0000000..ceced3d
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale5xmloutput.txt
@@ -0,0 +1,6 @@
+/book localeFilterList="*"
+/book/@its:version localeFilterList="*"
+/book/info[1] localeFilterList="*"
+/book/info[1]/its:span[1] localeFilterList="en-CA, fr-CA"
+/book/info[1]/its:span[1]/@localeFilterList localeFilterList="en-CA, fr-CA"
+/book/info[1]/its:span[1]/para[1] localeFilterList="en-CA, fr-CA"
diff --git a/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale6xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale6xmloutput.txt
new file mode 100644
index 0000000..17f244f
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale6xmloutput.txt
@@ -0,0 +1,15 @@
+/book localeFilterList="*"
+/book/info[1] localeFilterList="*"
+/book/info[1]/its:rules[1] localeFilterList="*"
+/book/info[1]/its:rules[1]/@version localeFilterList="*"
+/book/info[1]/its:rules[1]/its:param[1] localeFilterList="*"
+/book/info[1]/its:rules[1]/its:param[1]/@name localeFilterList="*"
+/book/info[1]/its:rules[1]/its:localeFilterRule[1] localeFilterList="*"
+/book/info[1]/its:rules[1]/its:localeFilterRule[1]/@localeFilterList localeFilterList="*"
+/book/info[1]/its:rules[1]/its:localeFilterRule[1]/@selector localeFilterList="*"
+/book/info[1]/legalnotice[1] localeFilterList="*"
+/book/info[1]/legalnotice[1]/@role localeFilterList="*"
+/book/info[1]/legalnotice[1]/para[1] localeFilterList="*"
+/book/info[1]/legalnotice[2] localeFilterList="de-DE"
+/book/info[1]/legalnotice[2]/@role localeFilterList="de-DE"
+/book/info[1]/legalnotice[2]/para[1] localeFilterList="de-DE"
diff --git a/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale7xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale7xmloutput.txt
new file mode 100644
index 0000000..d395b38
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localefilter/xml/locale7xmloutput.txt
@@ -0,0 +1,12 @@
+/book localeFilterList="*"
+/book/@its:version localeFilterList="*"
+/book/info[1] localeFilterList="*"
+/book/info[1]/its:rules[1] localeFilterList="*"
+/book/info[1]/its:rules[1]/@version localeFilterList="*"
+/book/info[1]/its:rules[1]/@xlink:href localeFilterList="*"
+/book/info[1]/legalnotice[1] localeFilterList="*"
+/book/info[1]/legalnotice[1]/@role localeFilterList="*"
+/book/info[1]/legalnotice[1]/para[1] localeFilterList="*"
+/book/info[1]/legalnotice[2] localeFilterList="de-DE"
+/book/info[1]/legalnotice[2]/@role localeFilterList="de-DE"
+/book/info[1]/legalnotice[2]/para[1] localeFilterList="de-DE"
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote1htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote1htmloutput.txt
new file mode 100644
index 0000000..8987328
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote1htmloutput.txt
@@ -0,0 +1,11 @@
+/html
+/html/head[1]
+/html/head[1]/meta[1]
+/html/head[1]/meta[1]/@charset
+/html/head[1]/title[1]
+/html/head[1]/link[1]
+/html/head[1]/link[1]/@href
+/html/head[1]/link[1]/@rel
+/html/body[1]
+/html/body[1]/span[1] locNote="The variable {0} has three possible values: 'printer', 'stacker' and 'stapler options'." locNoteType="alert"
+/html/body[1]/span[1]/@id
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote2htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote2htmloutput.txt
new file mode 100644
index 0000000..c81c18e
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote2htmloutput.txt
@@ -0,0 +1,17 @@
+/html
+/html/head[1]
+/html/head[1]/meta[1]
+/html/head[1]/meta[1]/@charset
+/html/head[1]/title[1]
+/html/head[1]/link[1]
+/html/head[1]/link[1]/@href
+/html/head[1]/link[1]/@rel
+/html/body[1]
+/html/body[1]/section[1]
+/html/body[1]/section[1]/@id
+/html/body[1]/section[1]/p[1]
+/html/body[1]/section[1]/span[1] locNote="Indicates that the resource file {0} could not be loaded." locNoteType="description"
+/html/body[1]/section[2]
+/html/body[1]/section[2]/@id
+/html/body[1]/section[2]/p[1]
+/html/body[1]/section[2]/span[1] locNote="A division by 0 was going to be computed." locNoteType="description"
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote3htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote3htmloutput.txt
new file mode 100644
index 0000000..3c68000
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote3htmloutput.txt
@@ -0,0 +1,11 @@
+/html
+/html/head[1]
+/html/head[1]/meta[1]
+/html/head[1]/meta[1]/@charset
+/html/head[1]/title[1]
+/html/head[1]/link[1]
+/html/head[1]/link[1]/@href
+/html/head[1]/link[1]/@rel
+/html/body[1]
+/html/body[1]/span[1] locNoteRef="ErrorsInfo.html/#NotFound" locNoteType="description"
+/html/body[1]/span[1]/@id
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote4htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote4htmloutput.txt
new file mode 100644
index 0000000..16d30c8
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote4htmloutput.txt
@@ -0,0 +1,17 @@
+/html
+/html/head[1]
+/html/head[1]/meta[1]
+/html/head[1]/meta[1]/@charset
+/html/head[1]/title[1]
+/html/head[1]/link[1]
+/html/head[1]/link[1]/@href
+/html/head[1]/link[1]/@rel
+/html/body[1]
+/html/body[1]/p[1]
+/html/body[1]/p[1]/@id
+/html/body[1]/p[1]/@title
+/html/body[1]/p[1]/span[1] locNoteRef="Comments.html#FileNotFound" locNoteType="description"
+/html/body[1]/p[2]
+/html/body[1]/p[2]/@id
+/html/body[1]/p[2]/@title
+/html/body[1]/p[2]/span[1] locNoteRef="Comments.html#DivByZero" locNoteType="description"
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote5htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote5htmloutput.txt
new file mode 100644
index 0000000..349ba68
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote5htmloutput.txt
@@ -0,0 +1,21 @@
+/html
+/html/head[1]
+/html/head[1]/meta[1]
+/html/head[1]/meta[1]/@charset
+/html/head[1]/link[1]
+/html/head[1]/link[1]/@href
+/html/head[1]/link[1]/@rel
+/html/head[1]/title[1]
+/html/body[1]
+/html/body[1]/p[1]
+/html/body[1]/p[1]/@id
+/html/body[1]/p[1]/img[1]
+/html/body[1]/p[1]/img[1]/@alt locNote="Do not translate the word "Chobe"" locNoteType="alert"
+/html/body[1]/p[1]/img[1]/@src
+/html/body[1]/p[2]
+/html/body[1]/p[2]/@id
+/html/body[1]/p[2]/img[1]
+/html/body[1]/p[2]/img[1]/@alt locNote="This text will be displayed over the image." locNoteType="description"
+/html/body[1]/p[2]/img[1]/@src
+/html/body[1]/p[3] locNote="The variable {0} has three possible values: 'printer', 'stacker' and 'stapler options'." locNoteType="alert"
+/html/body[1]/p[3]/@id
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote6htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote6htmloutput.txt
new file mode 100644
index 0000000..b603e77
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote6htmloutput.txt
@@ -0,0 +1,21 @@
+/html
+/html/head[1]
+/html/head[1]/meta[1]
+/html/head[1]/meta[1]/@charset
+/html/head[1]/title[1]
+/html/head[1]/link[1]
+/html/head[1]/link[1]/@href
+/html/head[1]/link[1]/@rel
+/html/body[1]
+/html/body[1]/span[1]
+/html/body[1]/span[1]/@id
+/html/body[1]/span[1]/img[1]
+/html/body[1]/span[1]/img[1]/@alt locNote="Do not translate the word "Chobe"" locNoteType="alert"
+/html/body[1]/span[1]/img[1]/@src
+/html/body[1]/span[2]
+/html/body[1]/span[2]/@id
+/html/body[1]/span[2]/img[1]
+/html/body[1]/span[2]/img[1]/@alt locNote="This text will be displayed over the image." locNoteType="description"
+/html/body[1]/span[2]/img[1]/@src
+/html/body[1]/span[3] locNote="The variable {0} has three possible values: 'printer', 'stacker' and 'stapler options'." locNoteType="alert"
+/html/body[1]/span[3]/@id
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote7htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote7htmloutput.txt
new file mode 100644
index 0000000..0dd1ef8
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote7htmloutput.txt
@@ -0,0 +1,11 @@
+/html
+/html/@lang
+/html/head[1]
+/html/head[1]/meta[1]
+/html/head[1]/meta[1]/@charset
+/html/head[1]/title[1]
+/html/body[1]
+/html/body[1]/p[1]
+/html/body[1]/p[1]/span[1] locNote="Check with terminology engineer" locNoteType="alert"
+/html/body[1]/p[1]/span[1]/@its-loc-note
+/html/body[1]/p[1]/span[1]/@its-loc-note-type
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote8htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote8htmloutput.txt
new file mode 100644
index 0000000..b603e77
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote8htmloutput.txt
@@ -0,0 +1,21 @@
+/html
+/html/head[1]
+/html/head[1]/meta[1]
+/html/head[1]/meta[1]/@charset
+/html/head[1]/title[1]
+/html/head[1]/link[1]
+/html/head[1]/link[1]/@href
+/html/head[1]/link[1]/@rel
+/html/body[1]
+/html/body[1]/span[1]
+/html/body[1]/span[1]/@id
+/html/body[1]/span[1]/img[1]
+/html/body[1]/span[1]/img[1]/@alt locNote="Do not translate the word "Chobe"" locNoteType="alert"
+/html/body[1]/span[1]/img[1]/@src
+/html/body[1]/span[2]
+/html/body[1]/span[2]/@id
+/html/body[1]/span[2]/img[1]
+/html/body[1]/span[2]/img[1]/@alt locNote="This text will be displayed over the image." locNoteType="description"
+/html/body[1]/span[2]/img[1]/@src
+/html/body[1]/span[3] locNote="The variable {0} has three possible values: 'printer', 'stacker' and 'stapler options'." locNoteType="alert"
+/html/body[1]/span[3]/@id
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote9htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote9htmloutput.txt
new file mode 100644
index 0000000..807c6c2
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/html/locnote9htmloutput.txt
@@ -0,0 +1,11 @@
+/html
+/html/@lang
+/html/head[1]
+/html/head[1]/script[1]
+/html/head[1]/script[1]/@type
+/html/head[1]/meta[1]
+/html/head[1]/meta[1]/@charset
+/html/head[1]/title[1]
+/html/body[1]
+/html/body[1]/p[1] locNote="The variable {0} has three possible values: 'printer', 'stacker' and 'stapler options'." locNoteType="alert"
+/html/body[1]/p[1]/@id
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote10xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote10xmloutput.txt
new file mode 100644
index 0000000..7c7c1f3
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote10xmloutput.txt
@@ -0,0 +1,31 @@
+/msgList
+/msgList/head[1]
+/msgList/head[1]/its:rules[1]
+/msgList/head[1]/its:rules[1]/@version
+/msgList/head[1]/its:rules[1]/its:param[1]
+/msgList/head[1]/its:rules[1]/its:param[1]/@name
+/msgList/head[1]/its:rules[1]/its:locNoteRule[1]
+/msgList/head[1]/its:rules[1]/its:locNoteRule[1]/@locNoteType
+/msgList/head[1]/its:rules[1]/its:locNoteRule[1]/@selector
+/msgList/head[1]/its:rules[1]/its:locNoteRule[1]/its:locNote[1]
+/msgList/head[1]/its:rules[1]/its:locNoteRule[2]
+/msgList/head[1]/its:rules[1]/its:locNoteRule[2]/@locNoteType
+/msgList/head[1]/its:rules[1]/its:locNoteRule[2]/@selector
+/msgList/head[1]/its:rules[1]/its:locNoteRule[2]/its:locNote[1]
+/msgList/head[1]/its:rules[1]/its:locNoteRule[3]
+/msgList/head[1]/its:rules[1]/its:locNoteRule[3]/@locNoteType
+/msgList/head[1]/its:rules[1]/its:locNoteRule[3]/@selector
+/msgList/head[1]/its:rules[1]/its:locNoteRule[3]/its:locNote[1]
+/msgList/body[1]
+/msgList/body[1]/msg[1]
+/msgList/body[1]/msg[1]/@id
+/msgList/body[1]/msg[1]/img[1]
+/msgList/body[1]/msg[1]/img[1]/@alt locNote="Do not translate the word "Chobe"" locNoteType="alert"
+/msgList/body[1]/msg[1]/img[1]/@src
+/msgList/body[1]/msg[2]
+/msgList/body[1]/msg[2]/@id
+/msgList/body[1]/msg[2]/img[1]
+/msgList/body[1]/msg[2]/img[1]/@alt locNote="This text will be displayed over the image." locNoteType="description"
+/msgList/body[1]/msg[2]/img[1]/@src
+/msgList/body[1]/msg[3] locNote="The variable {0} has three possible values: 'printer', 'stacker' and 'stapler options'." locNoteType="alert"
+/msgList/body[1]/msg[3]/@id
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote11xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote11xmloutput.txt
new file mode 100644
index 0000000..33df8db
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote11xmloutput.txt
@@ -0,0 +1,19 @@
+/msgList
+/msgList/head[1]
+/msgList/head[1]/its:rules[1]
+/msgList/head[1]/its:rules[1]/@version
+/msgList/head[1]/its:rules[1]/@xlink:href
+/msgList/head[1]/its:rules[1]/@xlink:type
+/msgList/body[1]
+/msgList/body[1]/msg[1]
+/msgList/body[1]/msg[1]/@id
+/msgList/body[1]/msg[1]/img[1]
+/msgList/body[1]/msg[1]/img[1]/@alt locNote="Do not translate the word "Chobe"" locNoteType="alert"
+/msgList/body[1]/msg[1]/img[1]/@src
+/msgList/body[1]/msg[2]
+/msgList/body[1]/msg[2]/@id
+/msgList/body[1]/msg[2]/img[1]
+/msgList/body[1]/msg[2]/img[1]/@alt locNote="This text will be displayed over the image." locNoteType="description"
+/msgList/body[1]/msg[2]/img[1]/@src
+/msgList/body[1]/msg[3] locNote="The variable {0} has three possible values: 'printer', 'stacker' and 'stapler options'." locNoteType="alert"
+/msgList/body[1]/msg[3]/@id
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote1xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote1xmloutput.txt
new file mode 100644
index 0000000..7a4a9b1
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote1xmloutput.txt
@@ -0,0 +1,12 @@
+/myRes
+/myRes/head[1]
+/myRes/head[1]/its:rules[1]
+/myRes/head[1]/its:rules[1]/@its:translate
+/myRes/head[1]/its:rules[1]/@version
+/myRes/head[1]/its:rules[1]/its:locNoteRule[1]
+/myRes/head[1]/its:rules[1]/its:locNoteRule[1]/@locNoteType
+/myRes/head[1]/its:rules[1]/its:locNoteRule[1]/@selector
+/myRes/head[1]/its:rules[1]/its:locNoteRule[1]/its:locNote[1]
+/myRes/body[1]
+/myRes/body[1]/msg[1] locNote="The variable {0} has three possible values: 'printer', 'stacker' and 'stapler options'." locNoteType="alert"
+/myRes/body[1]/msg[1]/@id
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote2xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote2xmloutput.txt
new file mode 100644
index 0000000..14449fc
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote2xmloutput.txt
@@ -0,0 +1,20 @@
+/Res
+/Res/prolog[1]
+/Res/prolog[1]/its:rules[1]
+/Res/prolog[1]/its:rules[1]/@version
+/Res/prolog[1]/its:rules[1]/its:translateRule[1]
+/Res/prolog[1]/its:rules[1]/its:translateRule[1]/@selector
+/Res/prolog[1]/its:rules[1]/its:translateRule[1]/@translate
+/Res/prolog[1]/its:rules[1]/its:locNoteRule[1]
+/Res/prolog[1]/its:rules[1]/its:locNoteRule[1]/@locNotePointer
+/Res/prolog[1]/its:rules[1]/its:locNoteRule[1]/@locNoteType
+/Res/prolog[1]/its:rules[1]/its:locNoteRule[1]/@selector
+/Res/body[1]
+/Res/body[1]/msg[1]
+/Res/body[1]/msg[1]/@id
+/Res/body[1]/msg[1]/notes[1]
+/Res/body[1]/msg[1]/data[1] locNote="Indicates that the resource file {0} could not be loaded." locNoteType="description"
+/Res/body[1]/msg[2]
+/Res/body[1]/msg[2]/@id
+/Res/body[1]/msg[2]/notes[1]
+/Res/body[1]/msg[2]/data[1] locNote="A division by 0 was going to be computed." locNoteType="description"
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote3xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote3xmloutput.txt
new file mode 100644
index 0000000..4f16005
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote3xmloutput.txt
@@ -0,0 +1,11 @@
+/myRes
+/myRes/head[1]
+/myRes/head[1]/its:rules[1]
+/myRes/head[1]/its:rules[1]/@version
+/myRes/head[1]/its:rules[1]/its:locNoteRule[1]
+/myRes/head[1]/its:rules[1]/its:locNoteRule[1]/@locNoteRef
+/myRes/head[1]/its:rules[1]/its:locNoteRule[1]/@locNoteType
+/myRes/head[1]/its:rules[1]/its:locNoteRule[1]/@selector
+/myRes/body[1]
+/myRes/body[1]/msg[1] locNoteRef="ErrorsInfo.html/#NotFound" locNoteType="description"
+/myRes/body[1]/msg[1]/@id
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote4xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote4xmloutput.txt
new file mode 100644
index 0000000..2e889b4
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote4xmloutput.txt
@@ -0,0 +1,17 @@
+/dataFile
+/dataFile/prolog[1]
+/dataFile/prolog[1]/its:rules[1]
+/dataFile/prolog[1]/its:rules[1]/@version
+/dataFile/prolog[1]/its:rules[1]/its:locNoteRule[1]
+/dataFile/prolog[1]/its:rules[1]/its:locNoteRule[1]/@locNoteRefPointer
+/dataFile/prolog[1]/its:rules[1]/its:locNoteRule[1]/@locNoteType
+/dataFile/prolog[1]/its:rules[1]/its:locNoteRule[1]/@selector
+/dataFile/body[1]
+/dataFile/body[1]/string[1]
+/dataFile/body[1]/string[1]/@id
+/dataFile/body[1]/string[1]/@noteFile
+/dataFile/body[1]/string[1]/data[1] locNoteRef="Comments.html#FileNotFound" locNoteType="description"
+/dataFile/body[1]/string[2]
+/dataFile/body[1]/string[2]/@id
+/dataFile/body[1]/string[2]/@noteFile
+/dataFile/body[1]/string[2]/data[1] locNoteRef="Comments.html#DivByZero" locNoteType="description"
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote5xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote5xmloutput.txt
new file mode 100644
index 0000000..4245c44
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote5xmloutput.txt
@@ -0,0 +1,23 @@
+/msgList
+/msgList/head[1]
+/msgList/head[1]/its:rules[1]
+/msgList/head[1]/its:rules[1]/@version
+/msgList/head[1]/its:rules[1]/@xlink:href
+/msgList/head[1]/its:rules[1]/@xlink:type
+/msgList/head[1]/its:rules[1]/its:locNoteRule[1]
+/msgList/head[1]/its:rules[1]/its:locNoteRule[1]/@locNoteType
+/msgList/head[1]/its:rules[1]/its:locNoteRule[1]/@selector
+/msgList/head[1]/its:rules[1]/its:locNoteRule[1]/its:locNote[1]
+/msgList/body[1]
+/msgList/body[1]/msg[1]
+/msgList/body[1]/msg[1]/@id
+/msgList/body[1]/msg[1]/img[1]
+/msgList/body[1]/msg[1]/img[1]/@alt locNote="Do not translate the word "Chobe"" locNoteType="alert"
+/msgList/body[1]/msg[1]/img[1]/@src
+/msgList/body[1]/msg[2]
+/msgList/body[1]/msg[2]/@id
+/msgList/body[1]/msg[2]/img[1]
+/msgList/body[1]/msg[2]/img[1]/@alt locNote="This text will be displayed over the image." locNoteType="description"
+/msgList/body[1]/msg[2]/img[1]/@src
+/msgList/body[1]/msg[3] locNote="The variable {0} has three possible values: 'printer', 'stacker' and 'stapler options'." locNoteType="alert"
+/msgList/body[1]/msg[3]/@id
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote6xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote6xmloutput.txt
new file mode 100644
index 0000000..2f114f4
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote6xmloutput.txt
@@ -0,0 +1,29 @@
+/msgList
+/msgList/head[1]
+/msgList/head[1]/its:rules[1]
+/msgList/head[1]/its:rules[1]/@version
+/msgList/head[1]/its:rules[1]/its:locNoteRule[1]
+/msgList/head[1]/its:rules[1]/its:locNoteRule[1]/@locNoteType
+/msgList/head[1]/its:rules[1]/its:locNoteRule[1]/@selector
+/msgList/head[1]/its:rules[1]/its:locNoteRule[1]/its:locNote[1]
+/msgList/head[1]/its:rules[1]/its:locNoteRule[2]
+/msgList/head[1]/its:rules[1]/its:locNoteRule[2]/@locNoteType
+/msgList/head[1]/its:rules[1]/its:locNoteRule[2]/@selector
+/msgList/head[1]/its:rules[1]/its:locNoteRule[2]/its:locNote[1]
+/msgList/head[1]/its:rules[1]/its:locNoteRule[3]
+/msgList/head[1]/its:rules[1]/its:locNoteRule[3]/@locNoteType
+/msgList/head[1]/its:rules[1]/its:locNoteRule[3]/@selector
+/msgList/head[1]/its:rules[1]/its:locNoteRule[3]/its:locNote[1]
+/msgList/body[1]
+/msgList/body[1]/msg[1]
+/msgList/body[1]/msg[1]/@id
+/msgList/body[1]/msg[1]/img[1]
+/msgList/body[1]/msg[1]/img[1]/@alt locNote="Do not translate the word "Chobe"" locNoteType="alert"
+/msgList/body[1]/msg[1]/img[1]/@src
+/msgList/body[1]/msg[2]
+/msgList/body[1]/msg[2]/@id
+/msgList/body[1]/msg[2]/img[1]
+/msgList/body[1]/msg[2]/img[1]/@alt locNote="This text will be displayed over the image." locNoteType="description"
+/msgList/body[1]/msg[2]/img[1]/@src
+/msgList/body[1]/msg[3] locNote="The variable {0} has three possible values: 'printer', 'stacker' and 'stapler options'." locNoteType="alert"
+/msgList/body[1]/msg[3]/@id
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote7xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote7xmloutput.txt
new file mode 100644
index 0000000..14449fc
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote7xmloutput.txt
@@ -0,0 +1,20 @@
+/Res
+/Res/prolog[1]
+/Res/prolog[1]/its:rules[1]
+/Res/prolog[1]/its:rules[1]/@version
+/Res/prolog[1]/its:rules[1]/its:translateRule[1]
+/Res/prolog[1]/its:rules[1]/its:translateRule[1]/@selector
+/Res/prolog[1]/its:rules[1]/its:translateRule[1]/@translate
+/Res/prolog[1]/its:rules[1]/its:locNoteRule[1]
+/Res/prolog[1]/its:rules[1]/its:locNoteRule[1]/@locNotePointer
+/Res/prolog[1]/its:rules[1]/its:locNoteRule[1]/@locNoteType
+/Res/prolog[1]/its:rules[1]/its:locNoteRule[1]/@selector
+/Res/body[1]
+/Res/body[1]/msg[1]
+/Res/body[1]/msg[1]/@id
+/Res/body[1]/msg[1]/notes[1]
+/Res/body[1]/msg[1]/data[1] locNote="Indicates that the resource file {0} could not be loaded." locNoteType="description"
+/Res/body[1]/msg[2]
+/Res/body[1]/msg[2]/@id
+/Res/body[1]/msg[2]/notes[1]
+/Res/body[1]/msg[2]/data[1] locNote="A division by 0 was going to be computed." locNoteType="description"
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote8xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote8xmloutput.txt
new file mode 100644
index 0000000..0f1f04c
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote8xmloutput.txt
@@ -0,0 +1,20 @@
+/Res
+/Res/@its:version
+/Res/body[1] locNote="The variable {0} is the name of the host." locNoteType="description"
+/Res/body[1]/@its:locNote
+/Res/body[1]/msg[1] locNote="The variable {0} is the name of the host." locNoteType="description"
+/Res/body[1]/msg[1]/@id
+/Res/body[1]/msg[1]/data[1] locNote="The variable {0} is the name of the host." locNoteType="description"
+/Res/body[1]/msg[2] locNote="The variable {0} is the name of the host." locNoteType="description"
+/Res/body[1]/msg[2]/@id
+/Res/body[1]/msg[2]/data[1] locNote="The variable {0} is the name of the host." locNoteType="description"
+/Res/body[1]/msg[3] locNote="The variable {0} is the name of the host." locNoteType="description"
+/Res/body[1]/msg[3]/@id
+/Res/body[1]/msg[3]/data[1] locNote="{0} is a filename" locNoteType="alert"
+/Res/body[1]/msg[3]/data[1]/@its:locNote
+/Res/body[1]/msg[3]/data[1]/@its:locNoteType
+/Res/body[1]/msg[4] locNote="The variable {0} is the name of the host." locNoteType="description"
+/Res/body[1]/msg[4]/@id
+/Res/body[1]/msg[4]/data[1] locNoteRef="myLocNotes.htm#CannotLog" locNoteType="alert"
+/Res/body[1]/msg[4]/data[1]/@its:locNoteRef
+/Res/body[1]/msg[4]/data[1]/@its:locNoteType
diff --git a/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote9xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote9xmloutput.txt
new file mode 100644
index 0000000..600872d
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/localizationnote/xml/locnote9xmloutput.txt
@@ -0,0 +1,11 @@
+/Doc
+/Doc/@its:version
+/Doc/body[1]
+/Doc/body[1]/p[1]
+/Doc/body[1]/p[1]/its:span[1] locNote="If possible keep the non-English terms in the translated version too" locNoteType="description"
+/Doc/body[1]/p[1]/its:span[1]/@locNote
+/Doc/body[1]/p[1]/its:span[1]/its:span[1] locNoteRef="http://en.wikipedia.org/wiki/Doppelganger" locNoteType="description"
+/Doc/body[1]/p[1]/its:span[1]/its:span[1]/@locNoteRef
+/Doc/body[1]/p[1]/its:span[1]/b[1] locNote="If possible keep the non-English terms in the translated version too" locNoteType="description"
+/Doc/body[1]/p[1]/its:span[1]/its:span[2] locNoteRef="http://en.wikipedia.org/wiki/Aficionado" locNoteType="description"
+/Doc/body[1]/p[1]/its:span[1]/its:span[2]/@locNoteRef
diff --git a/tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace1xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace1xmloutput.txt
new file mode 100644
index 0000000..08ad0a1
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace1xmloutput.txt
@@ -0,0 +1,9 @@
+/book space="default"
+/book/@its:version space="default"
+/book/info[1] space="default"
+/book/info[1]/its:rules[1] space="default"
+/book/info[1]/its:rules[1]/@version space="default"
+/book/info[1]/its:rules[1]/its:preserveSpaceRule[1] space="default"
+/book/info[1]/its:rules[1]/its:preserveSpaceRule[1]/@selector space="default"
+/book/info[1]/its:rules[1]/its:preserveSpaceRule[1]/@space space="default"
+/book/verse[1] space="preserve"
diff --git a/tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace2xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace2xmloutput.txt
new file mode 100644
index 0000000..208dbe9
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace2xmloutput.txt
@@ -0,0 +1,4 @@
+/book space="default"
+/book/@its:version space="default"
+/book/verse[1] space="preserve"
+/book/verse[1]/@xml:space space="preserve"
diff --git a/tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace3xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace3xmloutput.txt
new file mode 100644
index 0000000..ad764ba
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace3xmloutput.txt
@@ -0,0 +1,7 @@
+/book space="default"
+/book/@its:version space="default"
+/book/info[1] space="default"
+/book/info[1]/its:rules[1] space="default"
+/book/info[1]/its:rules[1]/@version space="default"
+/book/info[1]/its:rules[1]/@xlink:href space="default"
+/book/verse[1] space="preserve"
diff --git a/tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace4xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace4xmloutput.txt
new file mode 100644
index 0000000..c42316f
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace4xmloutput.txt
@@ -0,0 +1,4 @@
+/book space="default"
+/book/@its:version space="default"
+/book/its:span[1] space="preserve"
+/book/its:span[1]/@xml:space space="preserve"
diff --git a/tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace5xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace5xmloutput.txt
new file mode 100644
index 0000000..a0fa6b8
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace5xmloutput.txt
@@ -0,0 +1,12 @@
+/book space="default"
+/book/@its:version space="default"
+/book/info[1] space="default"
+/book/info[1]/its:rules[1] space="default"
+/book/info[1]/its:rules[1]/@version space="default"
+/book/info[1]/its:rules[1]/its:param[1] space="default"
+/book/info[1]/its:rules[1]/its:param[1]/@name space="default"
+/book/info[1]/its:rules[1]/its:preserveSpaceRule[1] space="default"
+/book/info[1]/its:rules[1]/its:preserveSpaceRule[1]/@selector space="default"
+/book/info[1]/its:rules[1]/its:preserveSpaceRule[1]/@space space="default"
+/book/verse[1] space="preserve"
+/book/verse[1]/@id space="preserve"
diff --git a/tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace6xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace6xmloutput.txt
new file mode 100644
index 0000000..4bb6e0d
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/preservespace/xml/preservespace6xmloutput.txt
@@ -0,0 +1,8 @@
+/book space="default"
+/book/@its:version space="default"
+/book/its:rules[1] space="default"
+/book/its:rules[1]/@version space="default"
+/book/its:rules[1]/@xlink:href space="default"
+/book/its:rules[1]/@xlink:type space="default"
+/book/verse[1] space="preserve"
+/book/verse[1]/@id space="preserve"
diff --git a/tests/ITS-2.0-Testsuite/expected/translate/html/translate1htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/translate/html/translate1htmloutput.txt
new file mode 100644
index 0000000..e518dc9
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/translate/html/translate1htmloutput.txt
@@ -0,0 +1,13 @@
+/html translate="yes"
+/html/head[1] translate="yes"
+/html/head[1]/meta[1] translate="yes"
+/html/head[1]/meta[1]/@charset translate="no"
+/html/head[1]/title[1] translate="yes"
+/html/head[1]/link[1] translate="yes"
+/html/head[1]/link[1]/@href translate="no"
+/html/head[1]/link[1]/@rel translate="no"
+/html/body[1] translate="yes"
+/html/body[1]/p[1] translate="yes"
+/html/body[1]/p[1]/@id translate="no"
+/html/body[1]/p[1]/@title translate="yes"
+/html/body[1]/p[1]/code[1] translate="no"
diff --git a/tests/ITS-2.0-Testsuite/expected/translate/html/translate2htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/translate/html/translate2htmloutput.txt
new file mode 100644
index 0000000..9d0dc84
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/translate/html/translate2htmloutput.txt
@@ -0,0 +1,11 @@
+/html translate="yes"
+/html/head[1] translate="yes"
+/html/head[1]/meta[1] translate="yes"
+/html/head[1]/meta[1]/@charset translate="no"
+/html/head[1]/title[1] translate="yes"
+/html/body[1] translate="yes"
+/html/body[1]/p[1] translate="yes"
+/html/body[1]/p[1]/span[1] translate="no"
+/html/body[1]/p[1]/span[1]/@translate translate="no"
+/html/body[1]/p[1]/span[2] translate="no"
+/html/body[1]/p[1]/span[2]/@translate translate="no"
diff --git a/tests/ITS-2.0-Testsuite/expected/translate/html/translate3htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/translate/html/translate3htmloutput.txt
new file mode 100644
index 0000000..38b15cc
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/translate/html/translate3htmloutput.txt
@@ -0,0 +1,15 @@
+/html translate="no"
+/html/head[1] translate="no"
+/html/head[1]/meta[1] translate="no"
+/html/head[1]/meta[1]/@charset translate="no"
+/html/head[1]/title[1] translate="no"
+/html/head[1]/link[1] translate="no"
+/html/head[1]/link[1]/@href translate="no"
+/html/head[1]/link[1]/@rel translate="no"
+/html/body[1] translate="no"
+/html/body[1]/span[1] translate="yes"
+/html/body[1]/span[1]/@translate translate="no"
+/html/body[1]/section[1] translate="no"
+/html/body[1]/section[1]/p[1] translate="yes"
+/html/body[1]/section[1]/p[1]/span[1] translate="no"
+/html/body[1]/section[1]/p[1]/span[2] translate="no"
diff --git a/tests/ITS-2.0-Testsuite/expected/translate/html/translate4htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/translate/html/translate4htmloutput.txt
new file mode 100644
index 0000000..0d34fed
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/translate/html/translate4htmloutput.txt
@@ -0,0 +1,15 @@
+/html translate="no"
+/html/head[1] translate="no"
+/html/head[1]/meta[1] translate="no"
+/html/head[1]/meta[1]/@charset translate="no"
+/html/head[1]/title[1] translate="no"
+/html/head[1]/link[1] translate="no"
+/html/head[1]/link[1]/@href translate="no"
+/html/head[1]/link[1]/@rel translate="no"
+/html/body[1] translate="no"
+/html/body[1]/span[1] translate="yes"
+/html/body[1]/span[1]/@translate translate="no"
+/html/body[1]/section[1] translate="no"
+/html/body[1]/section[1]/p[1] translate="yes"
+/html/body[1]/section[1]/p[1]/span[1] translate="yes"
+/html/body[1]/section[1]/p[1]/span[2] translate="yes"
diff --git a/tests/ITS-2.0-Testsuite/expected/translate/html/translate5htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/translate/html/translate5htmloutput.txt
new file mode 100644
index 0000000..9f94f11
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/translate/html/translate5htmloutput.txt
@@ -0,0 +1,24 @@
+/html translate="no"
+/html/head[1] translate="no"
+/html/head[1]/meta[1] translate="no"
+/html/head[1]/meta[1]/@charset translate="no"
+/html/head[1]/title[1] translate="no"
+/html/head[1]/link[1] translate="no"
+/html/head[1]/link[1]/@href translate="no"
+/html/head[1]/link[1]/@rel translate="no"
+/html/body[1] translate="no"
+/html/body[1]/section[1] translate="no"
+/html/body[1]/section[1]/span[1] translate="no"
+/html/body[1]/section[1]/span[1]/@id translate="no"
+/html/body[1]/section[1]/span[1]/b[1] translate="no"
+/html/body[1]/section[1]/span[1]/cite[1] translate="no"
+/html/body[1]/section[1]/span[1]/cite[1]/i[1] translate="no"
+/html/body[1]/p[1] translate="yes"
+/html/body[1]/ul[1] translate="no"
+/html/body[1]/ul[1]/li[1] translate="no"
+/html/body[1]/ul[1]/li[2] translate="no"
+/html/body[1]/ul[1]/li[3] translate="no"
+/html/body[1]/ul[1]/li[4] translate="no"
+/html/body[1]/p[2] translate="yes"
+/html/body[1]/p[2]/span[1] translate="no"
+/html/body[1]/p[2]/span[1]/@lang translate="no"
diff --git a/tests/ITS-2.0-Testsuite/expected/translate/html/translate6htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/translate/html/translate6htmloutput.txt
new file mode 100644
index 0000000..31b1c29
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/translate/html/translate6htmloutput.txt
@@ -0,0 +1,24 @@
+/html translate="no"
+/html/head[1] translate="no"
+/html/head[1]/meta[1] translate="no"
+/html/head[1]/meta[1]/@charset translate="no"
+/html/head[1]/title[1] translate="no"
+/html/head[1]/link[1] translate="no"
+/html/head[1]/link[1]/@href translate="no"
+/html/head[1]/link[1]/@rel translate="no"
+/html/body[1] translate="no"
+/html/body[1]/section[1] translate="no"
+/html/body[1]/section[1]/span[1] translate="yes"
+/html/body[1]/section[1]/span[1]/@id translate="no"
+/html/body[1]/section[1]/span[1]/b[1] translate="no"
+/html/body[1]/section[1]/span[1]/cite[1] translate="no"
+/html/body[1]/section[1]/span[1]/cite[1]/i[1] translate="no"
+/html/body[1]/p[1] translate="yes"
+/html/body[1]/ul[1] translate="no"
+/html/body[1]/ul[1]/li[1] translate="no"
+/html/body[1]/ul[1]/li[2] translate="no"
+/html/body[1]/ul[1]/li[3] translate="no"
+/html/body[1]/ul[1]/li[4] translate="no"
+/html/body[1]/p[2] translate="yes"
+/html/body[1]/p[2]/span[1] translate="no"
+/html/body[1]/p[2]/span[1]/@lang translate="no"
diff --git a/tests/ITS-2.0-Testsuite/expected/translate/html/translate7htmloutput.txt b/tests/ITS-2.0-Testsuite/expected/translate/html/translate7htmloutput.txt
new file mode 100644
index 0000000..65856ef
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/translate/html/translate7htmloutput.txt
@@ -0,0 +1,12 @@
+/html translate="yes"
+/html/@lang translate="no"
+/html/head[1] translate="yes"
+/html/head[1]/script[1] translate="yes"
+/html/head[1]/script[1]/@type translate="no"
+/html/head[1]/meta[1] translate="yes"
+/html/head[1]/meta[1]/@charset translate="no"
+/html/head[1]/title[1] translate="yes"
+/html/body[1] translate="yes"
+/html/body[1]/p[1] translate="yes"
+/html/body[1]/p[1]/code[1] translate="no"
+/html/body[1]/p[1]/code[1]/@id translate="no"
diff --git a/tests/ITS-2.0-Testsuite/expected/translate/xml/translate10xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate10xmloutput.txt
new file mode 100644
index 0000000..6268884
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate10xmloutput.txt
@@ -0,0 +1,17 @@
+/doc translate="no"
+/doc/its:rules[1] translate="no"
+/doc/its:rules[1]/@version translate="no"
+/doc/its:rules[1]/@xlink:href translate="no"
+/doc/its:rules[1]/@xlink:type translate="no"
+/doc/msg[1] translate="yes"
+/doc/msg[1]/@lcid translate="no"
+/doc/msg[1]/@num translate="no"
+/doc/msg[2] translate="no"
+/doc/msg[2]/@lcid translate="no"
+/doc/msg[2]/@num translate="no"
+/doc/msg[3] translate="no"
+/doc/msg[3]/@lcid translate="no"
+/doc/msg[3]/@num translate="no"
+/doc/msg[4] translate="no"
+/doc/msg[4]/@lcid translate="no"
+/doc/msg[4]/@num translate="no"
diff --git a/tests/ITS-2.0-Testsuite/expected/translate/xml/translate1xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate1xmloutput.txt
new file mode 100644
index 0000000..2e9eb33
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate1xmloutput.txt
@@ -0,0 +1,59 @@
+/myMetaDoc translate="yes"
+/myMetaDoc/head[1] translate="yes"
+/myMetaDoc/head[1]/its:rules[1] translate="yes"
+/myMetaDoc/head[1]/its:rules[1]/@version translate="no"
+/myMetaDoc/head[1]/its:rules[1]/its:translateRule[1] translate="yes"
+/myMetaDoc/head[1]/its:rules[1]/its:translateRule[1]/@selector translate="no"
+/myMetaDoc/head[1]/its:rules[1]/its:translateRule[1]/@translate translate="no"
+/myMetaDoc/head[1]/its:rules[1]/its:translateRule[2] translate="yes"
+/myMetaDoc/head[1]/its:rules[1]/its:translateRule[2]/@selector translate="no"
+/myMetaDoc/head[1]/its:rules[1]/its:translateRule[2]/@translate translate="no"
+/myMetaDoc/head[1]/its:rules[1]/its:translateRule[3] translate="yes"
+/myMetaDoc/head[1]/its:rules[1]/its:translateRule[3]/@selector translate="no"
+/myMetaDoc/head[1]/its:rules[1]/its:translateRule[3]/@translate translate="no"
+/myMetaDoc/head[1]/its:rules[1]/its:translateRule[4] translate="yes"
+/myMetaDoc/head[1]/its:rules[1]/its:translateRule[4]/@selector translate="no"
+/myMetaDoc/head[1]/its:rules[1]/its:translateRule[4]/@translate translate="no"
+/myMetaDoc/head[1]/its:rules[1]/its:translateRule[5] translate="yes"
+/myMetaDoc/head[1]/its:rules[1]/its:translateRule[5]/@selector translate="no"
+/myMetaDoc/head[1]/its:rules[1]/its:translateRule[5]/@translate translate="no"
+/myMetaDoc/head[1]/its:rules[1]/its:withinTextRule[1] translate="yes"
+/myMetaDoc/head[1]/its:rules[1]/its:withinTextRule[1]/@selector translate="no"
+/myMetaDoc/head[1]/its:rules[1]/its:withinTextRule[1]/@withinText translate="no"
+/myMetaDoc/body[1] translate="yes"
+/myMetaDoc/body[1]/par[1] translate="yes"
+/myMetaDoc/body[1]/par[1]/img[1] translate="yes"
+/myMetaDoc/body[1]/par[1]/img[1]/@alt translate="yes"
+/myMetaDoc/body[1]/par[1]/img[1]/@src translate="no"
+/myMetaDoc/body[1]/par[2] translate="yes"
+/myMetaDoc/body[1]/par[2]/@id translate="no"
+/myMetaDoc/body[1]/par[2]/@title translate="yes"
+/myMetaDoc/body[1]/par[2]/verbatim[1] translate="no"
+/myMetaDoc/body[1]/par[2]/verbatim[1]/img[1] translate="no"
+/myMetaDoc/body[1]/par[2]/verbatim[1]/img[1]/@alt translate="no"
+/myMetaDoc/body[1]/par[2]/verbatim[1]/img[1]/@src translate="no"
+/myMetaDoc/body[1]/insert[1] translate="yes"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1] translate="yes"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:封面[1] translate="yes"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:封面[1]/z:汇集[1] translate="yes"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:封面[1]/z:标题[1] translate="yes"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:封面[1]/z:作者[1] translate="no"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:章节[1] translate="yes"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:章节[1]/@数 translate="no"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:章节[1]/z:头注[1] translate="yes"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:章节[1]/z:段落识别[1] translate="yes"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:章节[1]/z:段落识别[1]/@id translate="no"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:章节[1]/z:段落识别[1]/z:姓名[1] translate="no"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:章节[1]/z:段落识别[1]/z:姓名[2] translate="no"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:躯[1] translate="yes"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:躯[1]/i:rules[1] translate="yes"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:躯[1]/i:rules[1]/@version translate="no"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:躯[1]/i:rules[1]/i:translateRule[1] translate="yes"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:躯[1]/i:rules[1]/i:translateRule[1]/@selector translate="no"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:躯[1]/i:rules[1]/i:translateRule[1]/@translate translate="no"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:躯[1]/i:rules[1]/i:translateRule[2] translate="yes"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:躯[1]/i:rules[1]/i:translateRule[2]/@selector translate="no"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:躯[1]/i:rules[1]/i:translateRule[2]/@translate translate="no"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:躯[1]/i:rules[1]/i:withinTextRule[1] translate="yes"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:躯[1]/i:rules[1]/i:withinTextRule[1]/@selector translate="no"
+/myMetaDoc/body[1]/insert[1]/z:书籍[1]/z:躯[1]/i:rules[1]/i:withinTextRule[1]/@withinText translate="no"
diff --git a/tests/ITS-2.0-Testsuite/expected/translate/xml/translate2xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate2xmloutput.txt
new file mode 100644
index 0000000..a11576f
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate2xmloutput.txt
@@ -0,0 +1,11 @@
+/myDoc translate="yes"
+/myDoc/head[1] translate="yes"
+/myDoc/head[1]/its:rules[1] translate="yes"
+/myDoc/head[1]/its:rules[1]/@version translate="no"
+/myDoc/head[1]/its:rules[1]/@xlink:href translate="no"
+/myDoc/head[1]/its:rules[1]/@xlink:type translate="no"
+/myDoc/body[1] translate="yes"
+/myDoc/body[1]/par[1] translate="yes"
+/myDoc/body[1]/par[1]/@id translate="no"
+/myDoc/body[1]/par[1]/@title translate="yes"
+/myDoc/body[1]/par[1]/code[1] translate="no"
diff --git a/tests/ITS-2.0-Testsuite/expected/translate/xml/translate3xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate3xmloutput.txt
new file mode 100644
index 0000000..6755ec8
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate3xmloutput.txt
@@ -0,0 +1,17 @@
+/myDoc translate="yes"
+/myDoc/head[1] translate="no"
+/myDoc/head[1]/its:rules[1] translate="no"
+/myDoc/head[1]/its:rules[1]/@version translate="no"
+/myDoc/head[1]/its:rules[1]/@xlink:href translate="no"
+/myDoc/head[1]/its:rules[1]/@xlink:type translate="no"
+/myDoc/head[1]/its:rules[1]/its:translateRule[1] translate="no"
+/myDoc/head[1]/its:rules[1]/its:translateRule[1]/@selector translate="no"
+/myDoc/head[1]/its:rules[1]/its:translateRule[1]/@translate translate="no"
+/myDoc/body[1] translate="yes"
+/myDoc/body[1]/par[1] translate="yes"
+/myDoc/body[1]/par[1]/@id translate="no"
+/myDoc/body[1]/par[1]/@title translate="yes"
+/myDoc/body[1]/par[1]/code[1] translate="no"
+/myDoc/body[1]/par[2] translate="yes"
+/myDoc/body[1]/par[2]/@id translate="no"
+/myDoc/body[1]/par[2]/@title translate="no"
diff --git a/tests/ITS-2.0-Testsuite/expected/translate/xml/translate4xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate4xmloutput.txt
new file mode 100644
index 0000000..3d22e7e
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate4xmloutput.txt
@@ -0,0 +1,10 @@
+/book translate="yes"
+/book/@its:version translate="no"
+/book/head[1] translate="yes"
+/book/head[1]/title[1] translate="yes"
+/book/body[1] translate="yes"
+/book/body[1]/p[1] translate="yes"
+/book/body[1]/p[1]/fexp[1] translate="no"
+/book/body[1]/p[1]/fexp[1]/@its:translate translate="no"
+/book/body[1]/p[1]/fexp[2] translate="no"
+/book/body[1]/p[1]/fexp[2]/@its:translate translate="no"
diff --git a/tests/ITS-2.0-Testsuite/expected/translate/xml/translate5xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate5xmloutput.txt
new file mode 100644
index 0000000..8c92f46
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate5xmloutput.txt
@@ -0,0 +1,11 @@
+/book translate="yes"
+/book/@its:version translate="no"
+/book/@xsi:noNamespaceSchemaLocation translate="no"
+/book/head[1] translate="yes"
+/book/head[1]/title[1] translate="yes"
+/book/body[1] translate="yes"
+/book/body[1]/p[1] translate="yes"
+/book/body[1]/p[1]/its:span[1] translate="no"
+/book/body[1]/p[1]/its:span[1]/@translate translate="no"
+/book/body[1]/p[1]/its:span[2] translate="no"
+/book/body[1]/p[1]/its:span[2]/@translate translate="no"
diff --git a/tests/ITS-2.0-Testsuite/expected/translate/xml/translate6xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate6xmloutput.txt
new file mode 100644
index 0000000..4ae42e5
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate6xmloutput.txt
@@ -0,0 +1,22 @@
+/doc translate="no"
+/doc/@its:version translate="no"
+/doc/head[1] translate="no"
+/doc/head[1]/its:rules[1] translate="no"
+/doc/head[1]/its:rules[1]/@version translate="no"
+/doc/head[1]/its:rules[1]/its:translateRule[1] translate="no"
+/doc/head[1]/its:rules[1]/its:translateRule[1]/@selector translate="no"
+/doc/head[1]/its:rules[1]/its:translateRule[1]/@translate translate="no"
+/doc/head[1]/its:rules[1]/its:translateRule[2] translate="no"
+/doc/head[1]/its:rules[1]/its:translateRule[2]/@selector translate="no"
+/doc/head[1]/its:rules[1]/its:translateRule[2]/@translate translate="no"
+/doc/info[1] translate="no"
+/doc/info[1]/item[1] translate="yes"
+/doc/info[1]/item[1]/@its:translate translate="no"
+/doc/info[1]/item[1]/@type translate="no"
+/doc/info[1]/item[1]/b[1] translate="no"
+/doc/info[1]/item[2] translate="no"
+/doc/info[1]/item[2]/@type translate="no"
+/doc/content[1] translate="no"
+/doc/content[1]/p[1] translate="yes"
+/doc/content[1]/p[1]/span[1] translate="no"
+/doc/content[1]/p[1]/span[2] translate="no"
diff --git a/tests/ITS-2.0-Testsuite/expected/translate/xml/translate7xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate7xmloutput.txt
new file mode 100644
index 0000000..8361cd3
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate7xmloutput.txt
@@ -0,0 +1,22 @@
+/doc translate="no"
+/doc/@its:version translate="no"
+/doc/head[1] translate="no"
+/doc/head[1]/its:rules[1] translate="no"
+/doc/head[1]/its:rules[1]/@version translate="no"
+/doc/head[1]/its:rules[1]/its:translateRule[1] translate="no"
+/doc/head[1]/its:rules[1]/its:translateRule[1]/@selector translate="no"
+/doc/head[1]/its:rules[1]/its:translateRule[1]/@translate translate="no"
+/doc/head[1]/its:rules[1]/its:translateRule[2] translate="no"
+/doc/head[1]/its:rules[1]/its:translateRule[2]/@selector translate="no"
+/doc/head[1]/its:rules[1]/its:translateRule[2]/@translate translate="no"
+/doc/info[1] translate="no"
+/doc/info[1]/item[1] translate="yes"
+/doc/info[1]/item[1]/@its:translate translate="no"
+/doc/info[1]/item[1]/@type translate="no"
+/doc/info[1]/item[1]/b[1] translate="yes"
+/doc/info[1]/item[2] translate="no"
+/doc/info[1]/item[2]/@type translate="no"
+/doc/content[1] translate="no"
+/doc/content[1]/p[1] translate="yes"
+/doc/content[1]/p[1]/span[1] translate="yes"
+/doc/content[1]/p[1]/span[2] translate="yes"
diff --git a/tests/ITS-2.0-Testsuite/expected/translate/xml/translate8xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate8xmloutput.txt
new file mode 100644
index 0000000..68c3737
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate8xmloutput.txt
@@ -0,0 +1,28 @@
+/topic translate="no"
+/topic/@id translate="no"
+/topic/title[1] translate="no"
+/topic/prolog[1] translate="no"
+/topic/prolog[1]/its:rules[1] translate="no"
+/topic/prolog[1]/its:rules[1]/@version translate="no"
+/topic/prolog[1]/its:rules[1]/its:translateRule[1] translate="no"
+/topic/prolog[1]/its:rules[1]/its:translateRule[1]/@selector translate="no"
+/topic/prolog[1]/its:rules[1]/its:translateRule[1]/@translate translate="no"
+/topic/prolog[1]/its:rules[1]/its:translateRule[2] translate="no"
+/topic/prolog[1]/its:rules[1]/its:translateRule[2]/@selector translate="no"
+/topic/prolog[1]/its:rules[1]/its:translateRule[2]/@translate translate="no"
+/topic/body[1] translate="no"
+/topic/body[1]/dl[1] translate="no"
+/topic/body[1]/dl[1]/dlentry[1] translate="no"
+/topic/body[1]/dl[1]/dlentry[1]/@id translate="no"
+/topic/body[1]/dl[1]/dlentry[1]/dt[1] translate="no"
+/topic/body[1]/dl[1]/dlentry[1]/dd[1] translate="no"
+/topic/body[1]/dl[1]/dlentry[1]/dd[1]/term[1] translate="no"
+/topic/body[1]/p[1] translate="yes"
+/topic/body[1]/ul[1] translate="no"
+/topic/body[1]/ul[1]/li[1] translate="no"
+/topic/body[1]/ul[1]/li[2] translate="no"
+/topic/body[1]/ul[1]/li[3] translate="no"
+/topic/body[1]/ul[1]/li[4] translate="no"
+/topic/body[1]/p[2] translate="yes"
+/topic/body[1]/p[2]/ph[1] translate="no"
+/topic/body[1]/p[2]/ph[1]/@xml:lang translate="no"
diff --git a/tests/ITS-2.0-Testsuite/expected/translate/xml/translate9xmloutput.txt b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate9xmloutput.txt
new file mode 100644
index 0000000..760822e
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/expected/translate/xml/translate9xmloutput.txt
@@ -0,0 +1,23 @@
+/doc translate="no"
+/doc/its:rules[1] translate="no"
+/doc/its:rules[1]/@version translate="no"
+/doc/its:rules[1]/its:param[1] translate="no"
+/doc/its:rules[1]/its:param[1]/@name translate="no"
+/doc/its:rules[1]/its:translateRule[1] translate="no"
+/doc/its:rules[1]/its:translateRule[1]/@selector translate="no"
+/doc/its:rules[1]/its:translateRule[1]/@translate translate="no"
+/doc/its:rules[1]/its:translateRule[2] translate="no"
+/doc/its:rules[1]/its:translateRule[2]/@selector translate="no"
+/doc/its:rules[1]/its:translateRule[2]/@translate translate="no"
+/doc/msg[1] translate="yes"
+/doc/msg[1]/@lcid translate="no"
+/doc/msg[1]/@num translate="no"
+/doc/msg[2] translate="no"
+/doc/msg[2]/@lcid translate="no"
+/doc/msg[2]/@num translate="no"
+/doc/msg[3] translate="no"
+/doc/msg[3]/@lcid translate="no"
+/doc/msg[3]/@num translate="no"
+/doc/msg[4] translate="no"
+/doc/msg[4]/@lcid translate="no"
+/doc/msg[4]/@num translate="no"
diff --git a/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext1html.html b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext1html.html
new file mode 100644
index 0000000..a8befa9
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext1html.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+ <html>
+ <head>
+ <meta charset=utf-8>
+ <link href="withintext1htmlrules.xml" rel="its-rules"/>
+ </head>
+ <body>
+ <section>
+ <title>Appaloosa</title>
+ <span itemref="keyword">horse</span>
+ <span itemref="keyword">appaloosa</span>
+ </section>
+ <p>
+ The Appaloosa
+ <cite>
+ The name comes from "Palouse horse" in reference to the Palouse River in Northern Idaho.
+ </cite>
+ are rugged horses originally breed by the
+ <span itemref="keyword">Nez-Perce</span>
+ tribe in the US Northwest.
+ </p>
+ <p>
+ They are often characterized by their spotted coats, as shown here:
+ <img src="appaloosa.png" alt="Appaloosa horses"/>
+ </p>
+<!--footer-->
+ <p>
+ Copyright:
+ <em>Zebulon Inc.</em>
+ </p>
+ </body>
+ </html>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext1htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext1htmlrules.xml
new file mode 100644
index 0000000..5bbbfb1
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext1htmlrules.xml
@@ -0,0 +1,6 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+<its:withinTextRule selector="//h:span|//h:img|//h:em" withinText="yes"/>
+<its:withinTextRule selector="//h:cite" withinText="nested"/>
+<its:withinTextRule selector="//h:section/h:span" withinText="no"/>
+</its:rules>
+
diff --git a/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext2html.html b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext2html.html
new file mode 100644
index 0000000..5ce55c8
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext2html.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset=utf-8>
+ <title>Within text test: Default</title>
+ </head>
+ <body>
+ <p>Text with <span its-within-text="YES">bold</span>.</p>
+ </body>
+</html>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext3html.html b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext3html.html
new file mode 100644
index 0000000..7b77e85
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext3html.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+ <html>
+ <head>
+ <meta charset=utf-8>
+ <link href="withintext1htmlrules.xml" rel="its-rules"/>
+ </head>
+ <body>
+ <section>
+ <title>Appaloosa</title>
+ <span itemref="keyword">horse</span>
+ <span itemref="keyword">appaloosa</span>
+ </section>
+ <p>
+ The Appaloosa
+ <cite>
+ The name comes from "Palouse horse" in reference to the Palouse River in Northern Idaho.
+ </cite>
+ are rugged horses originally breed by the
+ <span itemref="keyword">Nez-Perce</span>
+ tribe in the US Northwest.
+ </p>
+ <p>
+ They are often characterized by their spotted coats, as shown here:
+ <img src="appaloosa.png" alt="Appaloosa horses"/>
+ </p>
+<!--footer-->
+ <p>
+ Copyright:
+ <em>Zebulon Inc.</em>
+ </p>
+ </body>
+ </html>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext3htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext3htmlrules.xml
new file mode 100644
index 0000000..df2e78f
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext3htmlrules.xml
@@ -0,0 +1,6 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+<its:param name="withinTextParam">keyword</its:param>
+<its:withinTextRule selector="//h:span|//h:img|//h:em" withinText="yes"/>
+<its:withinTextRule selector="//h:cite" withinText="nested"/>
+<its:withinTextRule selector="//h:section/h:span[@itemref=$withinTextParam]" withinText="no"/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext4html.html b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext4html.html
new file mode 100644
index 0000000..9a368fa
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/html/withintext4html.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+ <html>
+ <head>
+<script type="application/its+xml">
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+<its:param name="withinparam">copyright</its:param>
+<its:withinTextRule selector="//h:span|//h:img|//h:em" withinText="yes"/>
+<its:withinTextRule selector="//h:cite" withinText="nested"/>
+<its:withinTextRule selector="//h:section/h:span" withinText="no"/>
+<its:withinTextRule selector="//h:p[@id=$withinparam]" withinText="yes"/>
+</its:rules>
+</script>
+ <meta charset=utf-8>
+ </head>
+ <body>
+ <section>
+ <title>Appaloosa</title>
+ <span itemref="keyword">horse</span>
+ <span itemref="keyword">appaloosa</span>
+ </section>
+ <p>
+ The Appaloosa
+ <cite>
+ The name comes from "Palouse horse" in reference to the Palouse River in Northern Idaho.
+ </cite>
+ are rugged horses originally breed by the
+ <span itemref="keyword">Nez-Perce</span>
+ tribe in the US Northwest.
+ </p>
+ <p>
+ They are often characterized by their spotted coats, as shown here:
+ <img src="appaloosa.png" alt="Appaloosa horses"/>
+ </p>
+<!--footer-->
+ <p id="copyright">
+ Copyright:
+ <em>Zebulon Inc.</em>
+ </p>
+ </body>
+ </html>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext1xml.xml b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext1xml.xml
new file mode 100644
index 0000000..f2424fb
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext1xml.xml
@@ -0,0 +1,12 @@
+<doc>
+ <head>
+ <its:rules version="2.0" xmlns:its="http://www.w3.org/2005/11/its">
+ <its:withinTextRule withinText="yes" selector="//b|//u|//i"/>
+ <its:withinTextRule withinText="nested" selector="//fn"/>
+ </its:rules>
+ </head>
+ <body>
+ <p>This is a paragraph with <b>bold</b>, <i>italic</i>, and <u>underlined</u>.</p>
+ <p>This is a paragraph with a footnote<fn>This is the text of the footnote</fn> at the middle.</p>
+ </body>
+ </doc>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext2xml.xml b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext2xml.xml
new file mode 100644
index 0000000..6dbabde
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext2xml.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<myDocument xmlns="http://my.DocumentURI/" xml:lang="en">
+ <prolog>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0"
+ xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="withintext2xmlrules.xml"
+ xmlns:d="http://my.DocumentURI/">
+ <its:withinTextRule selector="//d:keywords/d:kw" withinText="no"/>
+</its:rules>
+ <author>Zebulon Fairfield</author>
+ <version>version 12, revision 2 - 2006-08-14</version>
+ <keywords><kw>horse</kw><kw>appaloosa</kw></keywords>
+ <storageKey>articles-6D272BA9-3B89CAD8</storageKey>
+ </prolog>
+ <content>
+ <section>
+ <title>Appaloosa</title>
+ <p>The Appaloosa<fnote>The name comes from "Palouse horse" in reference
+ to the Palouse River in Northern Idaho.</fnote> are rugged horses
+ originally breed by the <kw>Nez-Perce</kw> tribe in the US Northwest.</p>
+ <p>They are often characterized by their spotted coats, as shown
+ here: <img src="appaloosa.png" alt="Appaloosa horses"/></p>
+ </section>
+ <footer><p>Copyright: <em>Zebulon Inc.</em></p></footer>
+ </content>
+</myDocument>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext2xmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext2xmlrules.xml
new file mode 100644
index 0000000..e0af0cf
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext2xmlrules.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0"
+ xmlns:d="http://my.DocumentURI/">
+ <its:withinTextRule selector="//d:kw|//d:img|//d:em" withinText="yes"/>
+ <its:withinTextRule selector="//d:fnote" withinText="nested"/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext3xml.xml b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext3xml.xml
new file mode 100644
index 0000000..4e47d85
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext3xml.xml
@@ -0,0 +1,11 @@
+<text xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
+ <prolog>
+ <title its:withinText="no">Designing User Interfaces</title>
+ <author its:withinText="no">Janice Prakash</author>
+ <keywords its:withinText="no">user interface, ui, software interface</keywords>
+ </prolog>
+ <body>
+ <p>The book <title its:withinText="yes">Of Mice and Screens</title> by <author its:withinText="yes">Aldus
+ Brandywine</author> is one of the best introductions to the vast topic of designing user interfaces.</p>
+ </body>
+</text>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext4xml.xml b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext4xml.xml
new file mode 100644
index 0000000..0c2f475
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext4xml.xml
@@ -0,0 +1,12 @@
+<text xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
+ <prolog>
+ <its:span withinText="no">Designing User Interfaces</its:span>
+ <its:span withinText="no">Janice Prakash</its:span>
+ <its:span withinText="no">user interface, ui, software interface</its:span>
+ </prolog>
+ <body>
+ <p>The book <its:span withinText="yes">Of Mice and Screens</its:span> by <its:span withinText="yes">Aldus
+ Brandywine</its:span> is one of the best introductions to the vast topic of designing user interfaces.</p>
+ </body>
+</text>
+
diff --git a/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext5xml.xml b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext5xml.xml
new file mode 100644
index 0000000..b3ba808
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext5xml.xml
@@ -0,0 +1,25 @@
+<doc>
+<head>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+<its:param name="withinTextParam">footnote</its:param>
+<its:withinTextRule withinText="yes" selector="//b|//u|//i"/>
+<its:withinTextRule withinText="nested" selector="//fn[@id=$withinTextParam]"/>
+</its:rules>
+</head>
+<body>
+<p>
+This is a paragraph with
+<b>bold</b>
+,
+<i>italic</i>
+, and
+<u>underlined</u>
+.
+</p>
+<p>
+This is a paragraph with a footnote
+<fn id="footnote">This is the text of the footnote</fn>
+at the middle.
+</p>
+</body>
+</doc>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext6xml.xml b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext6xml.xml
new file mode 100644
index 0000000..820c3c1
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext6xml.xml
@@ -0,0 +1,21 @@
+<doc>
+<head>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:xlink="http://www.w3.org/1999/xlink" version="2.0" xlink:href="withintext6xmlrules.xml"/>
+</head>
+<body>
+<p>
+This is a paragraph with
+<b>bold</b>
+,
+<i>italic</i>
+, and
+<u>underlined</u>
+.
+</p>
+<p>
+This is a paragraph with a footnote
+<fn id="footnote">This is the text of the footnote</fn>
+at the middle.
+</p>
+</body>
+</doc>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext6xmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext6xmlrules.xml
new file mode 100644
index 0000000..9932335
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/elementswithintext/xml/withintext6xmlrules.xml
@@ -0,0 +1,5 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+<its:param name="withinTextParam">footnote</its:param>
+<its:withinTextRule withinText="yes" selector="//b|//u|//i"/>
+<its:withinTextRule withinText="nested" selector="//fn[@id=$withinTextParam]"/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource1html.html b/tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource1html.html
new file mode 100644
index 0000000..5cd348d
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource1html.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html lang=en>
+ <head>
+ <meta charset=utf-8>
+ <link href="externalresource1htmlrules.xml" rel="its-rules"/>
+ <title>Video element example</title>
+ </head>
+ <body>
+ <video
+ width="640"
+ height="360"
+ src="http://www.example.com/video/v2.mp"
+ poster="video-image.png">
+ <p>If your browser doesn't support the <code>video</code> element, you can <a href="http://www.example.com/video/v2.mp">download the video</a> instead.</p>
+ </video>
+ </body>
+</html>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource1htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource1htmlrules.xml
new file mode 100644
index 0000000..d4601c1
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource1htmlrules.xml
@@ -0,0 +1,4 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+ <its:externalResourceRefRule selector="//h:video/@src" externalResourceRefPointer="."/>
+ <its:externalResourceRefRule selector="//h:video/@poster" externalResourceRefPointer="."/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource2html.html b/tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource2html.html
new file mode 100644
index 0000000..f9a752a
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource2html.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html lang=en>
+ <head>
+ <meta charset=utf-8>
+ <link href="externalresource2htmlrules.xml" rel="its-rules"/>
+ <title>Video element example</title>
+ </head>
+ <body>
+ <span id="1">
+ <video
+ width="640"
+ height="360"
+ src="http://www.example.com/video/v2.mp3"
+ poster="video-image.png">
+ <p>If your browser doesn't support the <code>video</code> element, you can <a href="http://www.example.com/video/v2.mp3">download the video</a> instead.</p>
+ </video>
+ </span>
+ </body>
+</html>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource2htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource2htmlrules.xml
new file mode 100644
index 0000000..5b71402
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource2htmlrules.xml
@@ -0,0 +1,4 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+ <its:param name="externalresourceParam">1</its:param>
+ <its:externalResourceRefRule selector="//h:span[@id=$externalresourceParam]/h:video" externalResourceRefPointer="@poster"/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource3html.html b/tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource3html.html
new file mode 100644
index 0000000..3aee3fb
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/externalresource/html/externalresource3html.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html lang=en>
+ <head>
+ <script type="application/its+xml">
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+ <its:param name="externalresourceParam">video-image.png</its:param>
+ <its:externalResourceRefRule selector="//h:video[@poster=$externalresourceParam]" externalResourceRefPointer="@src"/>
+ </its:rules>
+ </script>
+ <meta charset=utf-8>
+ <title>Video element example</title>
+ </head>
+ <body>
+ <video
+ width="640"
+ height="360"
+ src="http://www.example.com/video/v2.mp"
+ poster="video-image.png">
+ <p>If your browser doesn't support the <code>video</code> element, you can <a href="http://www.example.com/video/v2.mp">download the video</a> instead.</p>
+ </video>
+ </body>
+</html>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource1xml.xml b/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource1xml.xml
new file mode 100644
index 0000000..5e53c8c
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource1xml.xml
@@ -0,0 +1,24 @@
+<doc
+ xmlns:its="http://www.w3.org/2005/11/its"
+ xmlns:dbk="http://docbook.org/ns/docbook" >
+ <its:rules version="2.0">
+ <its:externalResourceRefRule selector="//dbk:imagedata | //dbk:audiodata | //dbk:videodata" externalResourceRefPointer="@fileref"/>
+ </its:rules>
+ <dbk:mediaobject>
+ <dbk:videoobject>
+ <dbk:videodata fileref="movie.avi"/>
+ </dbk:videoobject>
+ <dbk:imageobject>
+ <dbk:imagedata fileref="movie-frame.gif"/>
+ </dbk:imageobject>
+ <dbk:textobject>
+ <dbk:para>This video illustrates the proper way to assemble an inverting time distortion
+ device. </dbk:para>
+ <dbk:warning>
+ <dbk:para> It is imperative that the primary and secondary temporal couplings not be
+ mounted in the wrong order. Temporal catastrophe is the likely result. The
+ future you destroy may be your own. </dbk:para>
+ </dbk:warning>
+ </dbk:textobject>
+ </dbk:mediaobject>
+</doc>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource2xml.xml b/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource2xml.xml
new file mode 100644
index 0000000..939d7ed
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource2xml.xml
@@ -0,0 +1,22 @@
+<doc
+ xmlns:its="http://www.w3.org/2005/11/its"
+ xmlns:dbk="http://docbook.org/ns/docbook" >
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:xlink="http://www.w3.org/1999/xlink" version="2.0" xlink:href="externalresource2xmlrules.xml"/>
+ <dbk:mediaobject>
+ <dbk:videoobject>
+ <dbk:videodata fileref="movie.avi"/>
+ </dbk:videoobject>
+ <dbk:imageobject>
+ <dbk:imagedata fileref="movie-frame.gif"/>
+ </dbk:imageobject>
+ <dbk:textobject>
+ <dbk:para>This video illustrates the proper way to assemble an inverting time distortion
+ device. </dbk:para>
+ <dbk:warning>
+ <dbk:para> It is imperative that the primary and secondary temporal couplings not be
+ mounted in the wrong order. Temporal catastrophe is the likely result. The
+ future you destroy may be your own. </dbk:para>
+ </dbk:warning>
+ </dbk:textobject>
+ </dbk:mediaobject>
+</doc>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource2xmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource2xmlrules.xml
new file mode 100644
index 0000000..c1732d9
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource2xmlrules.xml
@@ -0,0 +1,3 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:dbk="http://docbook.org/ns/docbook" version="2.0">
+ <its:externalResourceRefRule selector="//dbk:imagedata | //dbk:audiodata | //dbk:videodata" externalResourceRefPointer="@fileref"/>
+ </its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource3xml.xml b/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource3xml.xml
new file mode 100644
index 0000000..9176354
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource3xml.xml
@@ -0,0 +1,28 @@
+<doc
+ xmlns:its="http://www.w3.org/2005/11/its"
+ xmlns:dbk="http://docbook.org/ns/docbook" >
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:xlink="http://www.w3.org/1999/xlink" version="2.0" xlink:href="externalresource3xmlrules.xml"/>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:dbk="http://docbook.org/ns/docbook" version="2.0">
+ <its:externalResourceRefRule selector="//dbk:audiodata" externalResourceRefPointer="@fileref"/>
+ </its:rules>
+ <dbk:mediaobject>
+ <dbk:videoobject>
+ <dbk:videodata fileref="movie.avi"/>
+ </dbk:videoobject>
+ <dbk:audioobject>
+ <dbk:audiodata fileref="movie.mp3"/>
+ </dbk:audioobject>
+ <dbk:imageobject>
+ <dbk:imagedata fileref="movie-frame.gif"/>
+ </dbk:imageobject>
+ <dbk:textobject>
+ <dbk:para>This video illustrates the proper way to assemble an inverting time distortion
+ device. </dbk:para>
+ <dbk:warning>
+ <dbk:para> It is imperative that the primary and secondary temporal couplings not be
+ mounted in the wrong order. Temporal catastrophe is the likely result. The
+ future you destroy may be your own. </dbk:para>
+ </dbk:warning>
+ </dbk:textobject>
+ </dbk:mediaobject>
+</doc>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource3xmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource3xmlrules.xml
new file mode 100644
index 0000000..0bfab92
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource3xmlrules.xml
@@ -0,0 +1,3 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:dbk="http://docbook.org/ns/docbook" version="2.0">
+ <its:externalResourceRefRule selector="//dbk:imagedata | //dbk:videodata" externalResourceRefPointer="@fileref"/>
+ </its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource4xml.xml b/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource4xml.xml
new file mode 100644
index 0000000..b8aa3d6
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource4xml.xml
@@ -0,0 +1,25 @@
+<doc
+ xmlns:its="http://www.w3.org/2005/11/its"
+ xmlns:dbk="http://docbook.org/ns/docbook" >
+ <its:rules version="2.0">
+ <its:param name="externalResourceParam">movie-frame.gif</its:param>
+ <its:externalResourceRefRule selector="//dbk:imagedata[@fileref=$externalResourceParam]" externalResourceRefPointer="@fileref"/>
+ </its:rules>
+ <dbk:mediaobject>
+ <dbk:videoobject>
+ <dbk:videodata fileref="movie.avi"/>
+ </dbk:videoobject>
+ <dbk:imageobject>
+ <dbk:imagedata fileref="movie-frame.gif"/>
+ </dbk:imageobject>
+ <dbk:textobject>
+ <dbk:para>This video illustrates the proper way to assemble an inverting time distortion
+ device. </dbk:para>
+ <dbk:warning>
+ <dbk:para> It is imperative that the primary and secondary temporal couplings not be
+ mounted in the wrong order. Temporal catastrophe is the likely result. The
+ future you destroy may be your own. </dbk:para>
+ </dbk:warning>
+ </dbk:textobject>
+ </dbk:mediaobject>
+</doc>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource5xml.xml b/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource5xml.xml
new file mode 100644
index 0000000..e88b1f8
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource5xml.xml
@@ -0,0 +1,20 @@
+<doc xmlns:dbk="http://docbook.org/ns/docbook" >
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:xlink="http://www.w3.org/1999/xlink" version="2.0" xlink:href="externalresource5xmlrules.xml"/>
+ <dbk:mediaobject>
+ <dbk:videoobject>
+ <dbk:videodata fileref="movie.avi"/>
+ </dbk:videoobject>
+ <dbk:imageobject>
+ <dbk:imagedata fileref="movie-frame.gif"/>
+ </dbk:imageobject>
+ <dbk:textobject>
+ <dbk:para>This video illustrates the proper way to assemble an inverting time distortion
+ device. </dbk:para>
+ <dbk:warning>
+ <dbk:para> It is imperative that the primary and secondary temporal couplings not be
+ mounted in the wrong order. Temporal catastrophe is the likely result. The
+ future you destroy may be your own. </dbk:para>
+ </dbk:warning>
+ </dbk:textobject>
+ </dbk:mediaobject>
+</doc>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource5xmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource5xmlrules.xml
new file mode 100644
index 0000000..12d1324
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/externalresource/xml/externalresource5xmlrules.xml
@@ -0,0 +1,5 @@
+<its:rules version="2.0" xmlns:its="http://www.w3.org/2005/11/its"
+ xmlns:dbk="http://docbook.org/ns/docbook">
+ <its:param name="externalResourceParam">movie-frame.gif</its:param>
+ <its:externalResourceRefRule selector="//dbk:imagedata[@fileref=$externalResourceParam]" externalResourceRefPointer="@fileref"/>
+ </its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue1html.html b/tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue1html.html
new file mode 100644
index 0000000..be1d88e
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue1html.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset=utf-8>
+ <title>Id Value</title>
+ <link href="idvalue1htmlrules.xml" rel="its-rules"/>
+</head>
+<body>
+ <p id="settingsMissing">
+ <b id="text">Can't find settings file.</b>
+ <var id="desc">The module cannot find the default settings file.
+ You need to re-initialize the system.</var>
+ </p>
+</body>
+</html>
+
diff --git a/tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue1htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue1htmlrules.xml
new file mode 100644
index 0000000..44702d5
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue1htmlrules.xml
@@ -0,0 +1,6 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+ <its:idValueRule selector="//h:p" idValue="@id"/>
+ <its:idValueRule selector="//h:b" idValue="@id"/>
+ <its:idValueRule selector="//h:var" idValue="@id"/>
+</its:rules>
+
diff --git a/tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue2html.html b/tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue2html.html
new file mode 100644
index 0000000..32fa411
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue2html.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset=utf-8>
+ <title>Id Value</title>
+ <link href="idvalue2htmlrules.xml" rel="its-rules"/>
+</head>
+<body>
+ <p id="settingsMissing">
+ <b id="text">Can't find settings file.</b>
+ <var id="desc">The module cannot find the default settings file.
+ You need to re-initialize the system.</var>
+ <b id="crashtext">This computer is now crashing GOODBYE!!</b>
+ </p>
+</body>
+</html>
+
diff --git a/tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue2htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue2htmlrules.xml
new file mode 100644
index 0000000..18f5a5d
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue2htmlrules.xml
@@ -0,0 +1,8 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+ <its:param name="idvalueparam">text</its:param>
+<its:idValueRule selector="//h:p" idValue="@id"/>
+ <its:idValueRule selector="//h:b[@id=$idvalueparam]" idValue="@id"/>
+ <its:idValueRule selector="//h:var" idValue="@id"/>
+</its:rules>
+
+
diff --git a/tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue3html.html b/tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue3html.html
new file mode 100644
index 0000000..f5fffaf
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/idvalue/html/idvalue3html.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <script type="application/its+xml">
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+ <its:param name="idvalueparam">text</its:param>
+ <its:idValueRule selector="//h:p" idValue="@id"/>
+ <its:idValueRule selector="//h:b[@id=$idvalueparam]" idValue="@id"/>
+ <its:idValueRule selector="//h:var" idValue="@id"/>
+ </its:rules>
+ </script>
+ <meta charset=utf-8>
+ <title>Id Value</title>
+</head>
+<body>
+ <p id="settingsMissing">
+ <b id="text">Can't find settings file.</b>
+ <var id="desc">The module cannot find the default settings file.
+ You need to re-initialize the system.</var>
+ </p>
+</body>
+</html>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue1xml.xml b/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue1xml.xml
new file mode 100644
index 0000000..9f41580
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue1xml.xml
@@ -0,0 +1,20 @@
+<resource
+ xmlns:its="http://www.w3.org/2005/11/its" >
+ <its:rules version="2.0">
+ <its:idValueRule selector="//text" idValue="../@name"/>
+ </its:rules>
+<webform>
+ <entry name="btn.OK">
+ <text>OK</text>
+ <pos>1, 1</pos>
+ <trig>sendOK</trig>
+ </entry>
+</webform>
+<webform>
+ <entry name="btn.CANCEL">
+ <text>Cancel</text>
+ <pos>2, 1</pos>
+ <trig>cancelAll</trig>
+ </entry>
+</webform>
+</resource>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue2xml.xml b/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue2xml.xml
new file mode 100644
index 0000000..c96ed60
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue2xml.xml
@@ -0,0 +1,4 @@
+<file>
+ <res name="retryBtn" xml:id="btnAgain">Try Again</res>
+ <res name="retryTip">click this to re-run the process with the current settings.</res>
+</file>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue3xml.xml b/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue3xml.xml
new file mode 100644
index 0000000..b5c3417
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue3xml.xml
@@ -0,0 +1,13 @@
+<resource>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:xlink="http://www.w3.org/1999/xlink" version="2.0" xlink:href="idvalue3xmlrules.xml"/>
+ <entry name="btn.OK">
+ <text>OK</text>
+ <pos>1, 1</pos>
+ <trig>sendOK</trig>
+ </entry>
+ <entry name="btn.CANCEL">
+ <text>Cancel</text>
+ <pos>2, 1</pos>
+ <trig>cancelAll</trig>
+ </entry>
+</resource>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue3xmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue3xmlrules.xml
new file mode 100644
index 0000000..d2998f4
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue3xmlrules.xml
@@ -0,0 +1,3 @@
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:idValueRule selector="//entry" idValue="@name"/>
+ </its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue4xml.xml b/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue4xml.xml
new file mode 100644
index 0000000..df4c327
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue4xml.xml
@@ -0,0 +1,17 @@
+<resource>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:xlink="http://www.w3.org/1999/xlink" version="2.0" xlink:href="idvalue4xmlrules.xml"/>
+ <webform id="1">
+ <entry name="btn.OK">
+ <text>OK</text>
+ <pos>1, 1</pos>
+ <trig>sendOK</trig>
+ </entry>
+ </webform>
+ <webform id="2">
+ <entry name="btn.CANCEL">
+ <text>Cancel</text>
+ <pos>2, 1</pos>
+ <trig>cancelAll</trig>
+ </entry>
+ </webform>
+</resource>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue4xmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue4xmlrules.xml
new file mode 100644
index 0000000..a435a1f
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue4xmlrules.xml
@@ -0,0 +1,4 @@
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:param name="idvalueParam">1</its:param>
+ <its:idValueRule selector="//webform[@id=$idvalueParam]/entry" idValue="@name"/>
+ </its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue5xml.xml b/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue5xml.xml
new file mode 100644
index 0000000..4cf0c64
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/idvalue/xml/idvalue5xml.xml
@@ -0,0 +1,20 @@
+<resource>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:param name="idvalueParam">1</its:param>
+ <its:idValueRule selector="//webform[@id=$idvalueParam]/entry" idValue="@name"/>
+ </its:rules>
+ <webform id="1">
+ <entry name="btn.OK">
+ <text>OK</text>
+ <pos>1, 1</pos>
+ <trig>sendOK</trig>
+ </entry>
+ </webform>
+ <webform id="2">
+ <entry name="btn.CANCEL">
+ <text>Cancel</text>
+ <pos>2, 1</pos>
+ <trig>cancelAll</trig>
+ </entry>
+ </webform>
+</resource>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale1html.html b/tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale1html.html
new file mode 100644
index 0000000..1ba3045
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale1html.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset=utf-8>
+ <title>Locale filter</title>
+ <link href="locale1htmlrules.xml" rel="its-rules"/>
+ </head>
+ <body>
+ <div id="Canada">
+ <p>This legal notice is only for Canadian locales.</p>
+ </div>
+ </body>
+</html>
+
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale1htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale1htmlrules.xml
new file mode 100644
index 0000000..9a68809
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale1htmlrules.xml
@@ -0,0 +1,3 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+ <its:localeFilterRule selector="//h:div[@id='Canada']" localeFilterList="en-CA, fr-CA"/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale2html.html b/tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale2html.html
new file mode 100644
index 0000000..0d9ee3e
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale2html.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset=utf-8>
+ <title>Locale filter</title>
+ </head>
+ <body>
+ <div its-locale-filter-list="en-CA, fr-CA" id="Canada">
+ <p>This legal notice is only for Canadian locales.</p>
+ </div>
+ </body>
+</html>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale3html.html b/tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale3html.html
new file mode 100644
index 0000000..432f892
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale3html.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <title>Locale filter</title>
+ <link href="locale3htmlrules.xml" rel="its-rules"/>
+ </head>
+ <body>
+ <div id="Canada">
+ <p>This legal notice is only for Canadian locales.</p>
+ </div>
+ </body>
+</html>
+
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale3htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale3htmlrules.xml
new file mode 100644
index 0000000..b95262c
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale3htmlrules.xml
@@ -0,0 +1,4 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+ <its:param name="localeParam">Canada</its:param>
+ <its:localeFilterRule selector="//h:div[@id=$localeParam]" localeFilterList="en-CA, fr-CA"/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale4html.html b/tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale4html.html
new file mode 100644
index 0000000..f685f24
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localefilter/html/locale4html.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <script type="application/its+xml">
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+ <its:param name="localeParam">Canada</its:param>
+ <its:localeFilterRule selector="//h:div[@id=$localeParam]" localeFilterList="en-CA, fr-CA"/>
+ </its:rules>
+ </script>
+ <meta charset=utf-8>
+ <title>Locale filter</title>
+ </head>
+ <body>
+ <div id="Canada">
+ <p>This legal notice is only for Canadian locales.</p>
+ </div>
+ </body>
+</html>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale1xml.xml b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale1xml.xml
new file mode 100644
index 0000000..d24b936
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale1xml.xml
@@ -0,0 +1,12 @@
+<book
+ xmlns:its="http://www.w3.org/2005/11/its"
+ its:version="2.0">
+ <info>
+ <its:rules version="2.0">
+ <its:localeFilterRule selector="//legalnotice[@role='Canada']" localeFilterList="en-CA, fr-CA"/>
+ </its:rules>
+ <legalnotice role="Canada">
+ <para>This legal notice is only for Canadian locales.</para>
+ </legalnotice>
+ </info>
+</book>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale2xml.xml b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale2xml.xml
new file mode 100644
index 0000000..38c2735
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale2xml.xml
@@ -0,0 +1,9 @@
+<book
+ xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
+ <info>
+ <legalnotice
+ its:localeFilterList="en-CA, fr-CA">
+ <para>This legal notice is only for Canadian locales.</para>
+ </legalnotice>
+ </info>
+</book>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale3xml.xml b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale3xml.xml
new file mode 100644
index 0000000..42fea19
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale3xml.xml
@@ -0,0 +1,10 @@
+<book
+ xmlns:its="http://www.w3.org/2005/11/its"
+ its:version="2.0">
+ <info>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:xlink="http://www.w3.org/1999/xlink" version="2.0" xlink:href="locale3xmlrules.xml"/>
+ <legalnotice role="Canada">
+ <para>This legal notice is only for Canadian locales.</para>
+ </legalnotice>
+ </info>
+</book>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale3xmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale3xmlrules.xml
new file mode 100644
index 0000000..44caf32
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale3xmlrules.xml
@@ -0,0 +1,3 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:localeFilterRule selector="//legalnotice[@role='Canada']" localeFilterList="en-CA, fr-CA"/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale4xml.xml b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale4xml.xml
new file mode 100644
index 0000000..b9bf1e6
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale4xml.xml
@@ -0,0 +1,16 @@
+<book
+ xmlns:its="http://www.w3.org/2005/11/its"
+ its:version="2.0">
+ <info>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:xlink="http://www.w3.org/1999/xlink" version="2.0" xlink:href="locale4xmlrules.xml"/>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:localeFilterRule selector="//legalnotice[@role='Germany']" localeFilterList="de-DE"/>
+</its:rules>
+ <legalnotice role="Canada">
+ <para>This legal notice is only for Canadian locales.</para>
+ </legalnotice>
+ <legalnotice role="Germany">
+ <para>This legal notice is only for German locales.</para>
+ </legalnotice>
+ </info>
+</book>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale4xmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale4xmlrules.xml
new file mode 100644
index 0000000..44caf32
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale4xmlrules.xml
@@ -0,0 +1,3 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:localeFilterRule selector="//legalnotice[@role='Canada']" localeFilterList="en-CA, fr-CA"/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale5xml.xml b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale5xml.xml
new file mode 100644
index 0000000..927f1e2
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale5xml.xml
@@ -0,0 +1,8 @@
+
+<book xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
+<info>
+<its:span localeFilterList="en-CA, fr-CA">
+<para>This legal notice is only for Canadian locales.</para>
+</its:span>
+</info>
+</book>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale6xml.xml b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale6xml.xml
new file mode 100644
index 0000000..cbdf533
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale6xml.xml
@@ -0,0 +1,14 @@
+<book>
+ <info>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:param name="localeParam">Germany</its:param>
+ <its:localeFilterRule selector="//legalnotice[@role='Germany']" localeFilterList="de-DE"/>
+</its:rules>
+ <legalnotice role="Canada">
+ <para>This legal notice is only for Canadian locales.</para>
+ </legalnotice>
+ <legalnotice role="Germany">
+ <para>This legal notice is only for German locales.</para>
+ </legalnotice>
+ </info>
+</book> \ No newline at end of file
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale7xml.xml b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale7xml.xml
new file mode 100644
index 0000000..65f5761
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale7xml.xml
@@ -0,0 +1,13 @@
+<book
+ xmlns:its="http://www.w3.org/2005/11/its"
+ its:version="2.0">
+ <info>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:xlink="http://www.w3.org/1999/xlink" version="2.0" xlink:href="locale7xmlrules.xml"/>
+ <legalnotice role="Canada">
+ <para>This legal notice is only for Canadian locales.</para>
+ </legalnotice>
+ <legalnotice role="Germany">
+ <para>This legal notice is only for German locales.</para>
+ </legalnotice>
+ </info>
+</book>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale7xmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale7xmlrules.xml
new file mode 100644
index 0000000..060b333
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localefilter/xml/locale7xmlrules.xml
@@ -0,0 +1,4 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:param name="localeParam">Germany</its:param>
+ <its:localeFilterRule selector="//legalnotice[@role=$localeParam]" localeFilterList="de-DE"/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote1html.html b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote1html.html
new file mode 100644
index 0000000..3bf8790
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote1html.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+ <html>
+ <head>
+ <meta charset=utf-8>
+ <title>Example</title>
+ <link href="locnote1htmlrules.xml" rel="its-rules"/>
+ </head>
+ <body>
+ <span id="DisableInfo">The {0} has been disabled.</span>
+ </body>
+ </html>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote1htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote1htmlrules.xml
new file mode 100644
index 0000000..852b455
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote1htmlrules.xml
@@ -0,0 +1,7 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+<its:locNoteRule locNoteType="alert" selector="//h:span[@id='DisableInfo']">
+<its:locNote>
+The variable {0} has three possible values: 'printer', 'stacker' and 'stapler options'.
+</its:locNote>
+</its:locNoteRule>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote2html.html b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote2html.html
new file mode 100644
index 0000000..4a484c3
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote2html.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+ <html>
+ <head>
+ <meta charset=utf-8>
+ <title>Example</title>
+ <link href="locnote2htmlrules.xml" rel="its-rules"/>
+ </head>
+ <body>
+ <section id="FileNotFound">
+ <p>
+ Indicates that the resource file {0} could not be loaded.
+ </p>
+ <span>Cannot find the file {0}.</span>
+ </section>
+ <section id="DivByZero">
+ <p>A division by 0 was going to be computed.</p>
+ <span>Invalid parameter.</span>
+ </section>
+ </body>
+ </html>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote2htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote2htmlrules.xml
new file mode 100644
index 0000000..1f837d8
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote2htmlrules.xml
@@ -0,0 +1,4 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+<its:translateRule selector="//h:section/h:p" translate="no"/>
+<its:locNoteRule locNoteType="description" selector="//h:section/h:span" locNotePointer="../h:p"/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote3html.html b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote3html.html
new file mode 100644
index 0000000..a408469
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote3html.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+ <html>
+ <head>
+ <meta charset=utf-8>
+ <title>EXAMPLE</title>
+ <link href="locnote3htmlrules.xml" rel="its-rules"/>
+ </head>
+ <body>
+ <span id="NotFound">Cannot find {0} on {1}.</span>
+ </body>
+ </html>
+
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote3htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote3htmlrules.xml
new file mode 100644
index 0000000..60634b9
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote3htmlrules.xml
@@ -0,0 +1,3 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+<its:locNoteRule locNoteType="description" selector="//h:span[@id='NotFound']" locNoteRef="ErrorsInfo.html/#NotFound"/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote4html.html b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote4html.html
new file mode 100644
index 0000000..3c313c8
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote4html.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+ <html>
+ <head>
+ <meta charset=utf-8>
+ <title>EXAMPLE</title>
+ <link href="locnote4htmlrules.xml" rel="its-rules"/>
+ </head>
+ <body>
+ <p id="FileNotFound" title="Comments.html#FileNotFound">
+ <span>Cannot find the file {0}.</span>
+ </p>
+ <p id="DivByZero" title="Comments.html#DivByZero">
+ <span>Invalid parameter.</span>
+ </p>
+ </body>
+ </html>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote4htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote4htmlrules.xml
new file mode 100644
index 0000000..ae9d27e
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote4htmlrules.xml
@@ -0,0 +1,3 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+<its:locNoteRule locNoteType="description" selector="//h:body/h:p/h:span" locNoteRefPointer="../@title"/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote5html.html b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote5html.html
new file mode 100644
index 0000000..404611e
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote5html.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+ <html>
+ <head>
+ <meta charset=utf-8>
+ <link href="locnote5htmlrules.xml" rel="its-rules"/>
+ <title>EXAMPLE</title>
+ </head>
+ <body>
+ <p id="1">
+ This is a hippoptamus:
+ <img src="hippo.png" alt="Hippo in the Chobe River"/>
+ .
+ </p>
+ <p id="2">
+ This is an elephant:
+ <img src="elephants.png" alt="Elephants taking a mud bath"/>
+ .
+ </p>
+ <p id="DisableInfo">The {0} has been disabled.</p>
+ </body>
+ </html>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote5htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote5htmlrules.xml
new file mode 100644
index 0000000..e2c9c5b
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote5htmlrules.xml
@@ -0,0 +1,15 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+<its:locNoteRule selector="//h:p[@id='1']/h:img/@alt" locNoteType="alert">
+<its:locNote>Do not translate the word "Chobe"</its:locNote>
+</its:locNoteRule>
+<its:locNoteRule selector="//h:p[@id='2']/h:img/@alt" locNoteType="description">
+<its:locNote>This text will be displayed over the image.</its:locNote>
+</its:locNoteRule>
+<its:locNoteRule locNoteType="alert" selector="//h:p[@id='DisableInfo']">
+<its:locNote>
+The variable
+{0}
+has three possible values: 'printer', 'stacker' and 'stapler options'.
+</its:locNote>
+</its:locNoteRule>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote6html.html b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote6html.html
new file mode 100644
index 0000000..d99a561
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote6html.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+ <html>
+ <head>
+ <meta charset=utf-8>
+ <title>EXAMPLE</title>
+ <link href="locnote6htmlrules.xml" rel="its-rules"/>
+ </head>
+ <body>
+ <span id="1">
+ This is a hippoptamus:
+ <img src="hippo.png" alt="Hippo in the Chobe River"/>
+ .
+ </span>
+ <span id="2">
+ This is an elephant:
+ <img src="elephants.png" alt="Elephants taking a mud bath"/>
+ .
+ </span>
+ <span id="DisableInfo">The {0} has been disabled.</span>
+ </body>
+ </html>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote6htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote6htmlrules.xml
new file mode 100644
index 0000000..aac2f0c
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote6htmlrules.xml
@@ -0,0 +1,15 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+<its:locNoteRule selector="//@alt" locNoteType="description">
+<its:locNote>This text will be displayed over the image.</its:locNote>
+</its:locNoteRule>
+<its:locNoteRule selector="//h:span[@id='1']/h:img/@alt" locNoteType="alert">
+<its:locNote>Do not translate the word "Chobe"</its:locNote>
+</its:locNoteRule>
+<its:locNoteRule locNoteType="alert" selector="//h:span[@id='DisableInfo']">
+<its:locNote>
+The variable
+{0}
+has three possible values: 'printer', 'stacker' and 'stapler options'.
+</its:locNote>
+</its:locNoteRule>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote7html.html b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote7html.html
new file mode 100644
index 0000000..52ea451
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote7html.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset=utf-8>
+ <title>LocNote test: Default</title>
+ </head>
+ <body>
+ <p>This is a <span its-loc-note="Check with terminology engineer" its-loc-note-type="ALERT">motherboard</span>.</p>
+ </body>
+</html>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote8html.html b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote8html.html
new file mode 100644
index 0000000..c4b7813
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote8html.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+ <html>
+ <head>
+ <meta charset=utf-8>
+ <title>EXAMPLE</title>
+ <link href="locnote8htmlrules.xml" rel="its-rules"/>
+ </head>
+ <body>
+ <span id="1">
+ This is a hippoptamus:
+ <img src="hippo.png" alt="Hippo in the Chobe River"/>
+ .
+ </span>
+ <span id="2">
+ This is an elephant:
+ <img src="elephants.png" alt="Elephants taking a mud bath"/>
+ .
+ </span>
+ <span id="DisableInfo">The {0} has been disabled.</span>
+ </body>
+ </html>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote8htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote8htmlrules.xml
new file mode 100644
index 0000000..ed9d07e
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote8htmlrules.xml
@@ -0,0 +1,16 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+<its:param name="spanIdParam">DisableInfo</its:param>
+<its:locNoteRule selector="//@alt" locNoteType="description">
+<its:locNote>This text will be displayed over the image.</its:locNote>
+</its:locNoteRule>
+<its:locNoteRule selector="//h:span[@id='1']/h:img/@alt" locNoteType="alert">
+<its:locNote>Do not translate the word "Chobe"</its:locNote>
+</its:locNoteRule>
+<its:locNoteRule locNoteType="alert" selector="//h:span[@id=$spanIdParam]">
+<its:locNote>
+The variable
+{0}
+has three possible values: 'printer', 'stacker' and 'stapler options'.
+</its:locNote>
+</its:locNoteRule>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote9html.html b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote9html.html
new file mode 100644
index 0000000..8080e24
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/html/locnote9html.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html lang=en>
+ <head>
+<script type="application/its+xml">
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+ <its:param name="locnoteparam">DisableInfo</its:param>
+ <its:locNoteRule locNoteType="alert" selector="//h:p[@id=$locnoteparam]">
+ <its:locNote>The variable {0} has three possible values: 'printer',
+ 'stacker' and 'stapler options'.</its:locNote>
+ </its:locNoteRule>
+ </its:rules>
+</script>
+ <meta charset=utf-8>
+ <title>Example</title>
+ </head>
+<body>
+ <p id="DisableInfo">The {0} has been disabled.</p>
+ </body>
+</html>
+
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote10xml.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote10xml.xml
new file mode 100644
index 0000000..2831a2e
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote10xml.xml
@@ -0,0 +1,33 @@
+<msgList>
+<head>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+<its:param name="DisableInfoParam">DisableInfo</its:param>
+<its:locNoteRule selector="//@alt" locNoteType="description">
+<its:locNote>This text will be displayed over the image.</its:locNote>
+</its:locNoteRule>
+<its:locNoteRule selector="//msg[@id='1']/img/@alt" locNoteType="alert">
+<its:locNote>Do not translate the word "Chobe"</its:locNote>
+</its:locNoteRule>
+<its:locNoteRule locNoteType="alert" selector="//msg[@id=$DisableInfoParam]">
+<its:locNote>
+The variable
+{0}
+has three possible values: 'printer', 'stacker' and 'stapler options'.
+</its:locNote>
+</its:locNoteRule>
+</its:rules>
+</head>
+<body>
+<msg id="1">
+This is a hippoptamus:
+<img src="hippo.png" alt="Hippo in the Chobe River"/>
+.
+</msg>
+<msg id="2">
+This is an elephant:
+<img src="elephants.png" alt="Elephants taking a mud bath"/>
+.
+</msg>
+<msg id="DisableInfo">The {0} has been disabled.</msg>
+</body>
+</msgList>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote11xml.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote11xml.xml
new file mode 100644
index 0000000..c55fd84
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote11xml.xml
@@ -0,0 +1,18 @@
+<msgList>
+<head>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="locnote11xmlrules.xml"/>
+</head>
+<body>
+<msg id="1">
+This is a hippoptamus:
+<img src="hippo.png" alt="Hippo in the Chobe River"/>
+.
+</msg>
+<msg id="2">
+This is an elephant:
+<img src="elephants.png" alt="Elephants taking a mud bath"/>
+.
+</msg>
+<msg id="DisableInfo">The {0} has been disabled.</msg>
+</body>
+</msgList>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote11xmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote11xmlrules.xml
new file mode 100644
index 0000000..0f17ead
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote11xmlrules.xml
@@ -0,0 +1,16 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+<its:param name="DisableInfoParam">DisableInfo</its:param>
+<its:locNoteRule selector="//@alt" locNoteType="description">
+<its:locNote>This text will be displayed over the image.</its:locNote>
+</its:locNoteRule>
+<its:locNoteRule selector="//msg[@id='1']/img/@alt" locNoteType="alert">
+<its:locNote>Do not translate the word "Chobe"</its:locNote>
+</its:locNoteRule>
+<its:locNoteRule locNoteType="alert" selector="//msg[@id=$DisableInfoParam]">
+<its:locNote>
+The variable
+{0}
+has three possible values: 'printer', 'stacker' and 'stapler options'.
+</its:locNote>
+</its:locNoteRule>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote1xml.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote1xml.xml
new file mode 100644
index 0000000..adeb11e
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote1xml.xml
@@ -0,0 +1,14 @@
+<myRes>
+ <head>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its"
+ version="2.0" its:translate="no">
+ <its:locNoteRule locNoteType="alert" selector="//msg[@id='DisableInfo']">
+ <its:locNote>The variable {0} has three possible values: 'printer',
+ 'stacker' and 'stapler options'.</its:locNote>
+ </its:locNoteRule>
+ </its:rules>
+ </head>
+ <body>
+ <msg id="DisableInfo">The {0} has been disabled.</msg>
+ </body>
+</myRes>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote2xml.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote2xml.xml
new file mode 100644
index 0000000..31633ea
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote2xml.xml
@@ -0,0 +1,19 @@
+<Res>
+ <prolog>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:translateRule selector="//msg/notes" translate="no"/>
+ <its:locNoteRule locNoteType="description" selector="//msg/data"
+ locNotePointer="../notes"/>
+ </its:rules>
+ </prolog>
+ <body>
+ <msg id="FileNotFound">
+ <notes>Indicates that the resource file {0} could not be loaded.</notes>
+ <data>Cannot find the file {0}.</data>
+ </msg>
+ <msg id="DivByZero">
+ <notes>A division by 0 was going to be computed.</notes>
+ <data>Invalid parameter.</data>
+ </msg>
+ </body>
+</Res>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote3xml.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote3xml.xml
new file mode 100644
index 0000000..2f5aa81
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote3xml.xml
@@ -0,0 +1,12 @@
+<myRes>
+ <head>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:locNoteRule locNoteType="description"
+ selector="//msg[@id='NotFound']"
+ locNoteRef="ErrorsInfo.html/#NotFound" />
+ </its:rules>
+ </head>
+ <body>
+ <msg id="NotFound">Cannot find {0} on {1}.</msg>
+ </body>
+</myRes>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote4xml.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote4xml.xml
new file mode 100644
index 0000000..2dd649e
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote4xml.xml
@@ -0,0 +1,16 @@
+<dataFile>
+ <prolog>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:locNoteRule locNoteType="description" selector="//body/string/data"
+ locNoteRefPointer="../@noteFile" />
+ </its:rules>
+ </prolog>
+ <body>
+ <string id="FileNotFound" noteFile="Comments.html#FileNotFound">
+ <data>Cannot find the file {0}.</data>
+ </string>
+ <string id="DivByZero" noteFile="Comments.html#DivByZero">
+ <data>Invalid parameter.</data>
+ </string>
+ </body>
+</dataFile>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote5xml.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote5xml.xml
new file mode 100644
index 0000000..cd3e07e
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote5xml.xml
@@ -0,0 +1,15 @@
+<msgList>
+ <head>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0"
+ xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="locnote5xmlrules.xml">
+ <its:locNoteRule selector="//msg[@id='1']/img/@alt" locNoteType="alert">
+ <its:locNote>Do not translate the word "Chobe"</its:locNote>
+ </its:locNoteRule>
+ </its:rules>
+ </head>
+ <body>
+ <msg id="1">This is a hippoptamus: <img src="hippo.png" alt="Hippo in the Chobe River"/>.</msg>
+ <msg id="2">This is an elephant: <img src="elephants.png" alt="Elephants taking a mud bath"/>.</msg>
+ <msg id="DisableInfo">The {0} has been disabled.</msg>
+ </body>
+</msgList>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote5xmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote5xmlrules.xml
new file mode 100644
index 0000000..1318f24
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote5xmlrules.xml
@@ -0,0 +1,9 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:locNoteRule selector="//@alt" locNoteType="description">
+ <its:locNote>This text will be displayed over the image.</its:locNote>
+ </its:locNoteRule>
+ <its:locNoteRule locNoteType="alert" selector="//msg[@id='DisableInfo']">
+ <its:locNote>The variable {0} has three possible values: 'printer',
+ 'stacker' and 'stapler options'.</its:locNote>
+ </its:locNoteRule>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote6xml.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote6xml.xml
new file mode 100644
index 0000000..beb5827
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote6xml.xml
@@ -0,0 +1,21 @@
+<msgList>
+ <head>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:locNoteRule selector="//@alt" locNoteType="description">
+ <its:locNote>This text will be displayed over the image.</its:locNote>
+ </its:locNoteRule>
+ <its:locNoteRule selector="//msg[@id='1']/img/@alt" locNoteType="alert">
+ <its:locNote>Do not translate the word "Chobe"</its:locNote>
+ </its:locNoteRule>
+ <its:locNoteRule locNoteType="alert" selector="//msg[@id='DisableInfo']">
+ <its:locNote>The variable {0} has three possible values: 'printer',
+ 'stacker' and 'stapler options'.</its:locNote>
+ </its:locNoteRule>
+ </its:rules>
+ </head>
+ <body>
+ <msg id="1">This is a hippoptamus: <img src="hippo.png" alt="Hippo in the Chobe River"/>.</msg>
+ <msg id="2">This is an elephant: <img src="elephants.png" alt="Elephants taking a mud bath"/>.</msg>
+ <msg id="DisableInfo">The {0} has been disabled.</msg>
+ </body>
+</msgList>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote7xml.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote7xml.xml
new file mode 100644
index 0000000..c4746a6
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote7xml.xml
@@ -0,0 +1,20 @@
+<Res>
+<prolog>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+<its:translateRule selector="//msg/notes" translate="no"/>
+<its:locNoteRule locNoteType="description" selector="//msg/data" locNotePointer="../notes"/>
+</its:rules>
+</prolog>
+<body>
+<msg id="FileNotFound">
+<notes>
+Indicates that the resource file {0} could not be loaded.
+</notes>
+<data>Cannot find the file {0}.</data>
+</msg>
+<msg id="DivByZero">
+<notes>A division by 0 was going to be computed.</notes>
+<data>Invalid parameter.</data>
+</msg>
+</body>
+</Res>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote8xml.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote8xml.xml
new file mode 100644
index 0000000..e9a3e19
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote8xml.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<Res xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
+ <body its:locNote="The variable {0} is the name of the host.">
+ <msg id="HostNotFound">
+ <data>Host {0} cannot be found.</data>
+ </msg>
+ <msg id="HostDisconnected">
+ <data>The connection with {0} has been lost.</data>
+ </msg>
+ <msg id="FileNotFound">
+ <data its:locNote="{0} is a filename" its:locNoteType="alert">{0} not found.</data>
+ </msg>
+ <msg id="CannotLog">
+ <data its:locNoteRef="myLocNotes.htm#CannotLog" its:locNoteType="alert">Cannot log with this username.</data>
+ </msg>
+ </body>
+</Res>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote9xml.xml b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote9xml.xml
new file mode 100644
index 0000000..8835b06
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/localizationnote/xml/locnote9xml.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<Doc xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
+ <body>
+ <p><its:span locNote="If possible keep the non-English terms in the translated version too">Everything started when
+ Zebulon discovered that he had a <its:span locNoteRef="http://en.wikipedia.org/wiki/Doppelganger">doppelgänger</its:span>
+ who was a <b>serious</b> baseball <its:span locNoteRef="http://en.wikipedia.org/wiki/Aficionado">aficionado</its:span>.</its:span></p>
+ </body>
+</Doc>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace1xml.xml b/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace1xml.xml
new file mode 100644
index 0000000..98ee033
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace1xml.xml
@@ -0,0 +1,13 @@
+<book xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
+ <info>
+ <its:rules version="2.0">
+ <its:preserveSpaceRule selector="//verse" space="preserve"/>
+ </its:rules>
+ </info>
+ <verse>
+ 'Twas brillig, and the slithy toves
+ Did gyre and gimble in the wabe;
+ All mimsy were the borogoves,
+ And the mome raths outgrabe.
+ </verse>
+</book>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace2xml.xml b/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace2xml.xml
new file mode 100644
index 0000000..ea95a95
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace2xml.xml
@@ -0,0 +1,8 @@
+<book xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
+ <verse xml:space="preserve">
+ 'Twas brillig, and the slithy toves
+ Did gyre and gimble in the wabe;
+ All mimsy were the borogoves,
+ And the mome raths outgrabe.
+ </verse>
+</book>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace3xml.xml b/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace3xml.xml
new file mode 100644
index 0000000..46181f6
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace3xml.xml
@@ -0,0 +1,11 @@
+<book xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0" >
+ <info>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:xlink="http://www.w3.org/1999/xlink" version="2.0" xlink:href="preservespace3xmlrules.xml"/>
+ </info>
+ <verse>
+'Twas brillig, and the slithy toves
+ Did gyre and gimble in the wabe;
+ All mimsy were the borogoves,
+ And the mome raths outgrabe.
+ </verse>
+</book>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace3xmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace3xmlrules.xml
new file mode 100644
index 0000000..e9750c8
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace3xmlrules.xml
@@ -0,0 +1,3 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:preserveSpaceRule selector="//verse" space="preserve"/>
+ </its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace4xml.xml b/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace4xml.xml
new file mode 100644
index 0000000..b725dd6
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace4xml.xml
@@ -0,0 +1,8 @@
+<book xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
+ <its:span xml:space="preserve">
+ 'Twas brillig, and the slithy toves
+ Did gyre and gimble in the wabe;
+ All mimsy were the borogoves,
+ And the mome raths outgrabe.
+ </its:span >
+</book>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace5xml.xml b/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace5xml.xml
new file mode 100644
index 0000000..875476d
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace5xml.xml
@@ -0,0 +1,14 @@
+<book xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
+ <info>
+ <its:rules version="2.0">
+ <its:param name="preserverspaceParam">firstverse</its:param>
+ <its:preserveSpaceRule selector="//verse[@id=$preserverspaceParam]" space="preserve"/>
+ </its:rules>
+ </info>
+ <verse id="firstverse">
+ 'Twas brillig, and the slithy toves
+ Did gyre and gimble in the wabe;
+ All mimsy were the borogoves,
+ And the mome raths outgrabe.
+ </verse>
+</book>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace6xml.xml b/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace6xml.xml
new file mode 100644
index 0000000..0b622cd
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace6xml.xml
@@ -0,0 +1,9 @@
+<book xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:xlink="http://www.w3.org/1999/xlink" version="2.0" xlink:type="simple" xlink:href="preservespace6xmlrules.xml"/>
+ <verse id="firstverse">
+ 'Twas brillig, and the slithy toves
+ Did gyre and gimble in the wabe;
+ All mimsy were the borogoves,
+ And the mome raths outgrabe.
+ </verse>
+</book>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace6xmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace6xmlrules.xml
new file mode 100644
index 0000000..bc95f99
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/preservespace/xml/preservespace6xmlrules.xml
@@ -0,0 +1,4 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:param name="preserverspaceParam">firstverse</its:param>
+ <its:preserveSpaceRule selector="//verse[@id=$preserverspaceParam]" space="preserve"/>
+ </its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate1html.html b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate1html.html
new file mode 100644
index 0000000..e84034c
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate1html.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset=utf-8>
+ <title>HTML Link Example</title>
+ <link href="translate1htmlrules.xml" rel="its-rules"/>
+ </head>
+ <body>
+ <p id="100" title="Text">
+ This is the first paragraph. It has some
+ <code>un-translatable code</code>
+ .
+ </p>
+ </body>
+</html>
+
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate1htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate1htmlrules.xml
new file mode 100644
index 0000000..1a9bc1c
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate1htmlrules.xml
@@ -0,0 +1,4 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+ <its:translateRule selector="//h:code" translate="no"/>
+ <its:translateRule selector="//h:*/@title" translate="yes"/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate2html.html b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate2html.html
new file mode 100644
index 0000000..a9cde37
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate2html.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+ <html>
+ <head>
+ <meta charset=utf-8>
+ <title>The Life of a Simple Man</title>
+ </head>
+ <body>
+ <p>
+ Everything started when Zebulon discovered that he had a
+ <span translate="NO">doppelgänger</span>
+ who was a serious baseball
+ <span translate="nO">aficionado</span>
+ .
+ </p>
+ </body>
+</html>
+
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate3html.html b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate3html.html
new file mode 100644
index 0000000..52aa501
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate3html.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+ <html>
+ <head>
+ <meta charset=utf-8>
+ <title>EXAMPLE</title>
+ <link href="translate3htmlrules.xml" rel="its-rules"/>
+ </head>
+ <body>
+ <span translate="yes">The Life of a Simple Man</span>
+ <!--
+ Note that the contents of <b> and <span> should end up *not* translatable with these settings
+ -->
+ <section>
+ <p>
+ Everything started when Zebulon discovered that he had a
+ <span>doppelgänger</span>
+ who was a serious baseball
+ <span>aficionado</span>
+ .
+ </p>
+ </section>
+ </body>
+ </html>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate3htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate3htmlrules.xml
new file mode 100644
index 0000000..b90e6c1
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate3htmlrules.xml
@@ -0,0 +1,4 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+<its:translateRule selector="//h:*" translate="no"/>
+<its:translateRule selector="//h:p" translate="yes"/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate4html.html b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate4html.html
new file mode 100644
index 0000000..5378561
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate4html.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+ <html>
+ <head>
+ <meta charset=utf-8>
+ <title>EXAMPLE</title>
+ <link href="translate4htmlrules.xml" rel="its-rules"/>
+ </head>
+ <body>
+ <span translate="yes">The Life of a Simple Man</span>
+ <!--
+ Note that the contents of <b> and <span> should end up *not* translatable with these settings
+ -->
+ <section>
+ <p>
+ Everything started when Zebulon discovered that he had a
+ <span>doppelgänger</span>
+ who was a serious baseball
+ <span>aficionado</span>
+ .
+ </p>
+ </section>
+ </body>
+ </html>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate4htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate4htmlrules.xml
new file mode 100644
index 0000000..e20cc94
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate4htmlrules.xml
@@ -0,0 +1,4 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+<its:translateRule selector="/h:html" translate="no"/>
+<its:translateRule selector="//h:p" translate="yes"/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate5html.html b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate5html.html
new file mode 100644
index 0000000..1cf7b3c
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate5html.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+ <html>
+ <head>
+ <meta charset=utf-8>
+ <title>The ITS Topic</title>
+ <link href="translate5htmlrules.xml" rel="its-rules"/>
+ </head>
+ <body>
+ <section>
+ <span id="tDataCat">
+ <b>Data category</b>
+ <cite>
+ ITS defines
+ <i>data category</i>
+ as an abstract concept for a particular type of information for internationalization and localization of XML schemas and documents.
+ </cite>
+ </span>
+ </section>
+ <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 document instance</li>
+ <li>Local attributes</li>
+ </ul>
+ <p>
+ <span lang="fr">Et voila !</span>
+ The last rule wins.
+ </p>
+ </body>
+ </html>
+
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate5htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate5htmlrules.xml
new file mode 100644
index 0000000..b90e6c1
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate5htmlrules.xml
@@ -0,0 +1,4 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+<its:translateRule selector="//h:*" translate="no"/>
+<its:translateRule selector="//h:p" translate="yes"/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate6html.html b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate6html.html
new file mode 100644
index 0000000..3912a13
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate6html.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+ <html>
+ <head>
+ <meta charset=utf-8>
+ <title>The ITS Topic</title>
+ <link href="translate6htmlrules.xml" rel="its-rules"/>
+ </head>
+ <body>
+ <section>
+ <span id="tDataCat">
+ <b>Data category</b>
+ <cite>
+ ITS defines
+ <i>data category</i>
+ as an abstract concept for a particular type of information for internationalization and localization of XML schemas and documents.
+ </cite>
+ </span>
+ </section>
+ <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 document instance</li>
+ <li>Local attributes</li>
+ </ul>
+ <p>
+ <span lang="fr">Et voila !</span>
+ The last rule wins.
+ </p>
+ </body>
+ </html>
+
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate6htmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate6htmlrules.xml
new file mode 100644
index 0000000..e10604a
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate6htmlrules.xml
@@ -0,0 +1,6 @@
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+<its:param name="tDataCatParam">tDataCat</its:param>
+<its:translateRule selector="//h:*" translate="no"/>
+<its:translateRule selector="//h:p" translate="yes"/>
+<its:translateRule selector="//h:span[@id=$tDataCatParam]" translate="yes"/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate7html.html b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate7html.html
new file mode 100644
index 0000000..8ec7c55
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/html/translate7html.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html lang=en>
+ <head>
+<script type="application/its+xml">
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:h="http://www.w3.org/1999/xhtml" version="2.0">
+ <its:param name="translateparam">name</its:param>
+ <its:translateRule selector="//h:*[@id=$translateparam]" translate="no"/>
+ </its:rules>
+</script>
+ <meta charset="utf-8"/>
+ <title>Example</title>
+ </head>
+ <body>
+<p>Login names can only use letters from A to Z (upper or lowercase)
+ For example: <code id="name">Huck_Finn</code>.</p>
+ </body>
+</html>
+
+
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate10xml.xml b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate10xml.xml
new file mode 100644
index 0000000..8051a13
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate10xml.xml
@@ -0,0 +1,7 @@
+<doc>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" xmlns:xlink="http://www.w3.org/1999/xlink" version="2.0" xlink:type="simple" xlink:href="translate10xmlrules.xml"/>
+ <msg lcid="409" num="1">Create a folder</msg>
+ <msg lcid="411" num="1">フォルダーを作成する</msg>
+ <msg lcid="407" num="1">Erstellen Sie einen Ordner</msg>
+ <msg lcid="408" num="1">Créer un dossier</msg>
+</doc>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate10xmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate10xmlrules.xml
new file mode 100644
index 0000000..3202fda
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate10xmlrules.xml
@@ -0,0 +1,5 @@
+ <its:rules version="2.0" xmlns:its="http://www.w3.org/2005/11/its">
+ <its:param name="LCID">409</its:param>
+ <its:translateRule selector="/doc" translate="no"/>
+ <its:translateRule selector="//msg[@lcid=$LCID]" translate="yes"/>
+ </its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate1xml.xml b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate1xml.xml
new file mode 100644
index 0000000..997f252
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate1xml.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<myMetaDoc
+ xmlns:cml="myChineseMakupLanguage">
+ <head>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:translateRule selector="//img/@alt" translate="yes"/>
+ <its:translateRule selector="//*/@title" translate="yes"/>
+ <its:translateRule selector="//verbatim" translate="no"/>
+ <its:translateRule selector="//verbatim/@*" translate="no"/>
+ <its:translateRule selector="//verbatim//*/@*" translate="no"/>
+ <its:withinTextRule selector="//img|//verbatim" withinText="yes"/>
+ </its:rules>
+ </head>
+ <body>
+ <par>Text with an image: <img alt="Image description" src="img.png"/>.</par>
+ <par id="100" title="Text">This is the first paragraph. It has some <verbatim>un-translatable
+ code with an image: <img src="test.png" alt="Image description"/></verbatim>.</par>
+ <insert xmlns:z="myChineseMakupLanguage" xmlns:i="http://www.w3.org/2005/11/its">
+ <z:书籍>
+ <z:封面>
+ <z:汇集>The Lord of the Rings</z:汇集>
+ <z:标题>The Return of the King</z:标题>
+ <z:作者>J.R.R. Tolkein</z:作者>
+ </z:封面>
+ <z:章节 数="1">
+ <z:头注>Minas Tirith</z:头注>
+ <z:段落识别 id="A34B"><z:姓名>Pippin</z:姓名> looked out from the shelter of <z:姓名>Gandalf</z:姓名>'s cloak.</z:段落识别>
+ </z:章节>
+ <z:躯>
+ <i:rules version="2.0" xmlns:cml="myChineseMakupLanguage">
+ <i:translateRule selector="//cml:作者" translate="no"/>
+ <i:translateRule selector="//cml:姓名" translate="no"/>
+ <i:withinTextRule selector="//cml:姓名" withinText="yes"/>
+ </i:rules>
+ </z:躯>
+ </z:书籍>
+ </insert>
+ </body>
+</myMetaDoc>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate2xml.xml b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate2xml.xml
new file mode 100644
index 0000000..46a48b6
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate2xml.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<myDoc>
+ <head>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0"
+ xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="translate2xmlrules.xml"/>
+ </head>
+ <body>
+ <par id="100" title="Text">This is the first paragraph. It has some <code>un-translatable code</code>.</par>
+ </body>
+</myDoc>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate2xmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate2xmlrules.xml
new file mode 100644
index 0000000..e594bb3
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate2xmlrules.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:translateRule selector="//code" translate="no"/>
+ <its:translateRule selector="//*/@title" translate="yes"/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate3xml.xml b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate3xml.xml
new file mode 100644
index 0000000..8bfcc66
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate3xml.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<myDoc>
+ <head>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0"
+ xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="translate3xmlrules.xml">
+ <its:translateRule selector="//par[@id='101']/@title" translate="no"/>
+ </its:rules>
+ </head>
+ <body>
+ <par id="100" title="Text">This is the first paragraph. It has some <code>un-translatable code</code>.</par>
+ <par id="101" title="Not extractable text">Some additional text.</par>
+ </body>
+</myDoc>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate3xmlrules.xml b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate3xmlrules.xml
new file mode 100644
index 0000000..9794dba
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate3xmlrules.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:translateRule selector="//head" translate="no"/>
+ <its:translateRule selector="//code" translate="no"/>
+ <its:translateRule selector="//*/@title" translate="yes"/>
+</its:rules>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate4xml.xml b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate4xml.xml
new file mode 100644
index 0000000..b3770e5
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate4xml.xml
@@ -0,0 +1,10 @@
+<book xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
+ <head>
+ <title>The Life of a Simple Man</title>
+ </head>
+ <body>
+ <p>Everything started when Zebulon discovered that he had
+ a <fexp its:translate="no">doppelgänger</fexp> who was a
+ serious baseball <fexp its:translate="no">aficionado</fexp>.</p>
+ </body>
+</book>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate5xml.xml b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate5xml.xml
new file mode 100644
index 0000000..23d437d
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate5xml.xml
@@ -0,0 +1,13 @@
+<book xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="EX-ways-to-use-its-5.xsd"
+ xmlns:its="http://www.w3.org/2005/11/its"
+ its:version="2.0">
+ <head>
+ <title>The Life of a Simple Man</title>
+ </head>
+ <body>
+ <p>Everything started when Zebulon discovered that he had
+ a <its:span translate="no">doppelgänger</its:span> who was a
+ serious baseball <its:span translate="no">aficionado</its:span>.</p>
+ </body>
+</book>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate6xml.xml b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate6xml.xml
new file mode 100644
index 0000000..ecec0ba
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate6xml.xml
@@ -0,0 +1,19 @@
+<doc xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
+ <head>
+ <its:rules version="2.0">
+ <its:translateRule selector="//*" translate="no"/>
+ <its:translateRule selector="//p" translate="yes"/>
+ </its:rules>
+ </head>
+ <info>
+ <item type="title" its:translate="yes">The Life of a <b>Simple Man</b></item>
+ <!-- Note that the contents of <b> and <span> should end up
+ *not* translatable with these settings -->
+ <item type="date-main">Dec-05-2006</item>
+ </info>
+ <content>
+ <p>Everything started when Zebulon discovered that he had
+ a <span>doppelgänger</span> who was a
+ serious baseball <span>aficionado</span>.</p>
+ </content>
+</doc>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate7xml.xml b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate7xml.xml
new file mode 100644
index 0000000..751d7b7
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate7xml.xml
@@ -0,0 +1,19 @@
+<doc xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0">
+ <head>
+ <its:rules version="2.0">
+ <its:translateRule selector="/doc" translate="no"/>
+ <its:translateRule selector="//p" translate="yes"/>
+ </its:rules>
+ </head>
+ <info>
+ <item type="title" its:translate="yes">The Life of a <b>Simple Man</b></item>
+ <!-- Note that the contents of <b> and <span> should end up
+ translatable with these settings -->
+ <item type="date-main">Dec-05-2006</item>
+ </info>
+ <content>
+ <p>Everything started when Zebulon discovered that he had
+ a <span>doppelgänger</span> who was a
+ serious baseball <span>aficionado</span>.</p>
+ </content>
+</doc>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate8xml.xml b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate8xml.xml
new file mode 100644
index 0000000..c879286
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate8xml.xml
@@ -0,0 +1,28 @@
+<topic id="myTopic">
+ <title>The ITS Topic</title>
+ <prolog>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:translateRule selector="//*" translate="no"/>
+ <its:translateRule selector="//p" translate="yes"/>
+ <!-- With these rules only the text "For the implementation of ITS, apply the rules in the order:"
+ and " The last rule wins." should end up translatable -->
+ </its:rules>
+ </prolog>
+ <body>
+ <dl>
+ <dlentry id="tDataCat">
+ <dt>Data category</dt>
+ <dd>ITS defines <term>data category</term> as an abstract concept for a particular
+ type of information for internationalization and localization of XML schemas and documents.</dd>
+ </dlentry>
+ </dl>
+ <p>For the implementation of ITS, apply the rules in the order:</p>
+ <ul>
+ <li>Default</li>
+ <li>Rules in the schema</li>
+ <li>Rules in the document instance</li>
+ <li>Local attributes</li>
+ </ul>
+ <p><ph xml:lang="fr">Et voilà !</ph> The last rule wins.</p>
+ </body>
+</topic>
diff --git a/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate9xml.xml b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate9xml.xml
new file mode 100644
index 0000000..1c1fe1d
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/inputdata/translate/xml/translate9xml.xml
@@ -0,0 +1,11 @@
+<doc>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:param name="LCID">409</its:param>
+ <its:translateRule selector="/doc" translate="no"/>
+ <its:translateRule selector="//msg[@lcid=$LCID]" translate="yes"/>
+ </its:rules>
+ <msg lcid="409" num="1">Create a folder</msg>
+ <msg lcid="411" num="1">フォルダーを作成する</msg>
+ <msg lcid="407" num="1">Erstellen Sie einen Ordner</msg>
+ <msg lcid="40c" num="1">Créer un dossier</msg>
+</doc>
diff --git a/tests/ITS-2.0-Testsuite/run_tests.sh b/tests/ITS-2.0-Testsuite/run_tests.sh
new file mode 100755
index 0000000..238110b
--- /dev/null
+++ b/tests/ITS-2.0-Testsuite/run_tests.sh
@@ -0,0 +1,63 @@
+#!/bin/bash
+
+testdata="
+elementswithintext/withintext/withinText
+externalresource/externalresource/externalResourceRef
+idvalue/idvalue/idValue
+localefilter/locale/localeFilterList
+localizationnote/locnote/locNote
+preservespace/preservespace/preserveSpace
+translate/translate/translate
+"
+
+exclude="
+locnote1xml
+locnote2xml
+locnote3xml
+locnote4xml
+locnote5xml
+locnote6xml
+locnote7xml
+locnote8xml
+locnote9xml
+
+externalresource4xml
+externalresource5xml
+idvalue4xml
+idvalue5xml
+locale7xml
+locnote10xml
+locnote11xml
+preservespace5xml
+preservespace6xml
+translate9xml
+translate10xml
+withintext5xml
+withintext6xml
+"
+
+for datum in $testdata; do
+ for format in xml; do
+ testdir=`echo $datum | cut -d/ -f1`
+ testbase=`echo $datum | cut -d/ -f2`
+ testcat=`echo $datum | cut -d/ -f3`
+ testpre="inputdata/$testdir/$format/$testbase"
+ for testfile in `ls ${testpre}*${format}.${format}`; do
+ testnum=`basename ${testfile:${#testpre}} ${format}.${format}`
+ skip=0
+ for ex in $exclude; do
+ if [ "$testbase$testnum$format" = "$ex" ]; then skip=1; break; fi;
+ done
+ if [ "$skip" = "0" ]; then
+ expected="expected/$testdir/$format/$testbase$testnum${format}output.txt"
+ realout="realout/$testdir/$format/$testbase$testnum${format}output.txt"
+ mkdir -p "realout/$testdir/$format"
+ python ../../itstool.in -n -t $testcat -o $realout $testfile
+ if ! cmp "$expected" "$realout"; then
+ echo "$expected";
+ exit 1;
+ fi
+ fi
+ done
+ done
+done