Schéma XML pour la structure de tables de décision
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema xmlns:langIso="http://namespaces.lettergen.be/LetterGen/1.0/lang_iso.xsd" xmlns:sl="http:///namespace.lettergen.be/letterGen/1.0/selectionList.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ecore:documentRoot="SelectionListSchema" ecore:nsPrefix="sl" ecore:package="be.lettergen.sketch.selectionList" targetNamespace="http:///namespace.lettergen.be/letterGen/1.0/selectionList.xsd">
<!-- import and re-use global iso language code -->
<xsd:import namespace="http://namespaces.lettergen.be/LetterGen/1.0/lang_iso.xsd" schemaLocation="../../be.lettergen.sketch.lang_iso/model/lang_iso.xsd"/>
<!-- The top level element. -->
<xsd:element name="selectionList" type="sl:selectionListType"/>
<!-- The type definition for the top level element. -->
<xsd:complexType ecore:name="SelectionList" name="selectionListType">
<xsd:sequence>
<xsd:element name="keyValuePairs" type="sl:keyValuePairsType"/>
<xsd:element name="name" type="sl:translationsType"/>
<xsd:element name="description" type="sl:translationsType"/>
</xsd:sequence>
<xsd:attribute name="version" type="xsd:string"/>
</xsd:complexType>
<!--The type used to add translations for other types (like name and description and key value pair).-->
<xsd:complexType ecore:name="Translations" name="translationsType">
<xsd:sequence>
<xsd:choice ecore:featureMap="group" maxOccurs="unbounded">
<xsd:element ecore:lowerBound="1" ecore:upperBound="-1" minOccurs="0" name="translation" type="sl:translationType"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="default" type="xsd:string"/>
</xsd:complexType>
<!-- The type to represent one translation. -->
<xsd:complexType ecore:name="Translation" name="translationType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute ecore:name="langIso" name="lang_iso" type="langIso:lang_isoType"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- The type to represent list of key value pair. -->
<xsd:complexType ecore:name="KeyValuePairs" name="keyValuePairsType">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="keyValuePair" type="sl:keyValuePairType"/>
</xsd:sequence>
</xsd:complexType>
<!-- The type to represent key value pair with default and lang specific translation. -->
<xsd:complexType ecore:name="KeyValuePair" name="keyValuePairType">
<xsd:sequence>
<xsd:element name="key" type="xsd:string"/>
<xsd:element name="value" type="sl:translationsType" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>