Each Translation-Library descriptor (andromda-translation-library.xml) must comply with the following XSD Schema:
<xs:schemaxmlns:xs="http://www.w3.org/2001/XMLSchema"elementFormDefault="qualified"><!-- the translation 'fragment' --><xs:elementname="fragment"> <xs:complexTypemixed="true"> <xs:choiceminOccurs="0"maxOccurs="unbounded"> <xs:elementref="kind"/> </xs:choice><!-- the name of the translation 'fragment' --><xs:attributename="name"type="xs:string"use="required"/><!-- the optional name of the 'handler' method, this is the method that will handle translation of the fragment if the name is found. The handler method belongs on your Translator implementation --><xs:attributename="handlerMethod"type="xs:string"/> </xs:complexType> </xs:element> <xs:elementname="fragments"> <xs:complexType> <xs:sequence> <xs:elementref="fragment"maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element><!-- the kind or type of the expression being translated by the translation fragment --><xs:elementname="kind"> <xs:complexType> <xs:simpleContent> <xs:extensionbase="xs:string"> <xs:attributename="name"use="required"> <xs:simpleType> <xs:restrictionbase="xs:NMTOKEN"> <xs:enumerationvalue="body"/> <xs:enumerationvalue="def"/> <xs:enumerationvalue="inv"/> <xs:enumerationvalue="post"/> <xs:enumerationvalue="pre"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element><!-- the root 'translation' element --><xs:elementname="translation"> <xs:complexType> <xs:sequence> <xs:elementref="fragments"/> <xs:elementref="patterns"minOccurs="0"/> </xs:sequence> <xs:attributename="name"type="xs:string"use="required"/> </xs:complexType> </xs:element><!-- patterns allow us to do additional things with patterns/regular expressions will translating --><xs:elementname="patterns"> <xs:complexType> <xs:sequence><!-- These can be specified to indicate which patterns should be validated against the model --><xs:elementref="validate"minOccurs="0"maxOccurs="unbounded"/><!-- These can be specified so that any pattern not matching in a handler can will be ignored, if these aren't specified any patterns not matching give errors --><xs:elementref="ignore"minOccurs="0"maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:elementname="ignore"type="xs:string"/> <xs:elementname="validate"type="xs:string"/> </xs:schema>