TranslationTest Schema

Each Translator Test (TranslationTest-*.xml file) must comply with the following XSD Schema:


<
xs:schema
xmlns:xs=
"http://www.w3.org/2001/XMLSchema"
elementFormDefault=
"qualified"
>
<!-- The expression element consisting of 'from' and 'to' elements -->
<
xs:element
name=
"expression"
> <
xs:complexType
> <
xs:sequence
> <
xs:element
ref=
"from"
/
> <
xs:element
ref=
"to"
/
> <
/xs:sequence
> <
/xs:complexType
> <
/xs:element
>
<!-- the orginial expression we are translating from -->
<
xs:element
name=
"from"
type=
"xs:string"
/
>
<!-- what we expect the translated expression to look like after translation -->
<
xs:element
name=
"to"
type=
"xs:string"
/
> <
xs:element
name=
"translation"
> <
xs:complexType
>
<!-- the name of the translation to lookup and test, this is the name registered when the PluginDiscoverer finds and registers the Translation-Library. (i.e. to test the query Translation-Library's EJB-QL translation, this name would be specified as 'query.EJB-QL', which says the name of the Translation-Library is 'query' and the translation to use is 'EJB-QL' -->
<
xs:attribute
name=
"name"
type=
"xs:string"
use=
"required"
/
> <
/xs:complexType
> <
/xs:element
>
<!-- the root element, each TranslationTest file must begin with this element -->
<
xs:element
name=
"translator-test"
> <
xs:complexType
> <
xs:sequence
>
<!-- only one translation can be tested per TranslationTest file -->
<
xs:element
ref=
"translation"
maxOccurs=
"1"
/
>
<!-- We can have as many expression elements defined as we like -->
<
xs:element
ref=
"expression"
maxOccurs=
"unbounded"
/
> <
/xs:sequence
> <
/xs:complexType
> <
/xs:element
> <
/xs:schema
>