Représentation UML avancée pour XML Schema



Documents pareils
Processus 2D-Doc. Version : 1.1 Date : 16/11/2012 Pôle Convergence AGENCE NATIONALE DES TITRES SECURISÉS. Processus 2D-Doc.

BD et XML : Exercices

ech-0148 Motifs d annonce Entreprises - taxes de domaine

Préparation d'un fichier XML pour le reporting des activités avec l'étranger concernant les services, les transferts et les marchandises. Ed.

Master d Informatique Corrigé du partiel novembre 2010

Accès à l'information XML par des requêtes XQuery au travers de son XSchema

Consolidation d un modèle conceptuel de données de Master Data Management

PIVOT. Pivot/Querier Documentation technique XML/XSD/XSLT

AdressePostale 1.2 Description d une adresse postale 16/01/2004

XML avec Oracle. Par Christian Soutou. Maître de conférences, IUT de Blagnac, Université de Toulouse Le Mirail

Web Application Models

Le langage UML : Les cas d utilisation

Design et implémentation d un logiciel de validation et de génération de configurations réseaux

GOL502 Industries de services

OCL - Object Constraint Language

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE

Générer du code à partir d une description de haut niveau

Lancement de la simulation SIMBA

Chapitre VI- La validation de la composition.

JEAN-LUC VIRUÉGA. Traçabilité. Outils, méthodes et pratiques. Éditions d Organisation, 2005 ISBN :

M1 : Ingénierie du Logiciel

Méthodes d évolution de modèle produit dans les systèmes du type PLM

UML et les Bases de Données

Ingénierie des Modèles. Méta-modélisation

Rappel sur les bases de données

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

UML. Diagrammes de classes (suite) Delphine Longuet.

Créer et partager des fichiers

Bases de données. Chapitre 1. Introduction

Services web & E-Commerce. David DABOUÉ - daboueda@iro.umontreal.ca Mars 2006

UML (Diagramme de classes) Unified Modeling Language

Traduction des Langages : Le Compilateur Micro Java

Faculté Polytechnique de Mons. Le processus d Extraction, Transformation et Load (ETL) dans des entrepôts de données XML

Cúram JMX - Guide de configuration

Patrons de Conception (Design Patterns)

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

CHAPITRE 4. APPLICATION DE LA NOTION D ETABLISSEMENT STABLE

Université de Bangui. Modélisons en UML

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

Ingénérie logicielle dirigée par les modèles

I4 : Bases de Données

UML (Paquetage) Unified Modeling Language

Information utiles. webpage : Google+ : digiusto/

Diagramme de classes

Conception, architecture et urbanisation des systèmes d information

EDESS. 1 Démarche générale principes 2

NORME INTERNATIONALE D AUDIT 330 REPONSES DE L AUDITEUR AUX RISQUES EVALUES

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Recette Présentation du processus standard de la recette

Les diagrammes de modélisation

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Modélisation Conceptuelle. Partie 2: Le modèle Entité-Association

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Génie Logiciel avec Ada. 4 février 2013

Créer le schéma relationnel d une base de données ACCESS

Le niveau conceptuel : la modélisation des bases de données

Le Guide Pratique des Processus Métiers

Les Services Web. Jean-Pierre BORG EFORT

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

plate-forme PaaS (Audit)

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Cours de Génie Logiciel

L architecture des services Web

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

QUELQUES ÉLÉMENTS DU DÉVELOPPEMENT LOGICIEL

LEXOS, logiciel d'étude lexicale et de conjugaison

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Modélisation des données

Utilitaires méconnus de StrataFrame

Interprétation IFRIC 12 Accords de concession de services

DMP1 DSFT des Interfaces DMP des LPS Annexe : complément de spécification sur l impression des documents à remettre au patient

Annexe 6. Notions d ordonnancement.

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

Modélisation de bases de données : Le modèle relationnel

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Guide synthétique de la comptabilité des dépenses engagées

L entrepreneur autonome SES DROITS, OBLIGATIONS ET RESTRICTIONS. Pour dissiper la confusion générale à démêler

Guide Utilisateur ACQUIT : Anomalies issues du Guichet XML

Nom de l application

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )

Chapitre 1 : Introduction aux bases de données

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Un outil pour les entreprises en réseau

Le coloriage virtuel multiple et ses applications

MEGA Database Builder. Guide d utilisation

A. Définition et formalisme

IFT2255 : Génie logiciel

Cours Gestion de projet

3. UML - Unified Modeling Language Diagrammes statiques

Les indices à surplus constant

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

LE PROBLEME DU PLUS COURT CHEMIN

THÈSE. Présentée à. L Université Paris VIII. Pour obtenir le grade de DOCTEUR DE L UNIVERSITE DE PARIS VIII. Spécialité INFORMATIQUE

Transcription:

A Représentation UML avancée pour XML Schema Nous présentons dans cette annexe les notations UML à utiliser en regard de tous les mécanismes autorisés mais avancés de XML Schema. Nous analysons chaque difficulté et expliquons comment la traiter. Nous avons baptisé «avancés» les mécanismes de XML Schema rarement utilisés et dont on peut même se demander s ils doivent raisonnablement être représentés dans les vues UML du système. Voici les mécanismes avancés de XML Schema dont on trouvera ici la correspondance UML : les attributs et les types listes et unions, les attributs et autres valeurs par défaut, la définition d annotations, les groupes d attributs, les contraintes d exclusion et les groupes de choix, les contraintes de simultanéité et les groupes simples, la question de l ordre des éléments, la mixité des modèles.

432 Modélisation XML ANNEXES Attributs et types listes de XML Schema UML autorise à spécifier tant une multiplicité maximale qu une multiplicité minimale pour les attributs UML. Les multiplicités servent à indiquer des contraintes sur le nombre de valeurs que doit avoir un attribut. La multiplicité minimale induit les contraintes suivantes : Lorsque la multiplicité minimale est égale à 0, l attribut est optionnel. Lorsque la multiplicité minimale est égale à 1, l attribut est obligatoire. Lorsque la multiplicité minimale est supérieure à 1, l attribut est une liste ayant un nombre de valeurs obligatoires égal à la valeur de la multiplicité minimale. Par défaut, la multiplicité minimale est égale à 0. La multiplicité maximale induit les contraintes suivantes : Lorsque la multiplicité maximale est égale à 1, l attribut a une seule valeur. Lorsque la multiplicité maximale est supérieure à 1, l attribut est une liste de valeurs. Par défaut, la multiplicité maximale est égale à 1. Pour savoir si un attribut a une seule valeur ou s il est une liste, il suffit de regarder sa multiplicité maximale. La multiplicité minimale n indique, quant à elle, que le nombre de valeurs obligatoires. Les règles de représentation d un attribut UML en XML dépendent du type de données de l attribut et du choix de transformation des attributs en XML. Lorsqu un attribut est de type composé, par exemple un type adresse avec rue, ville et code postal, l attribut UML est obligatoirement représenté par un élément XML. Lorsqu un attribut est de type simple, il peut au choix être représenté par un attribut XML ou par un élément XML. Le choix relève d une décision de conception des schémas XML. Lorsqu un attribut UML est représenté par un élément XML, les valeurs des multiplicités minimale et maximale correspondent aux indicateurs d occurrences de l élément : minoccur, maxoccur. Lorsqu un attribut UML est représenté par un attribut XML, le type associé à l attribut XML varie en fonction des valeurs des multiplicités. En effet, il n est pas possible, en XML, de définir des indicateurs d occurrences pour les attributs. En XML, un élément ne peut avoir qu un seul attribut d un nom donné. En revanche, cet attribut peut avoir une suite de valeurs. Il faut alors recourir au type liste de XML Schema. Le tableau A1-1 donne la liste des combinaisons possibles.

Représentation UML avancée pour XML Schema ANNEXE A 433 Tableau A 1 Représentation d un attribut UML par un attribut XML Exemple UML Multiplicité minimale Multiplicité maximale Attribut XML Exemple XML 0 1 Attribut de type <xs:simpletype name="telephonetype"> simple non obligatoire <xs:restrictionbase="xs:string"/> 1 1 Attribut de type simple obligatoire 0 * Attribut de type liste <xs:element name="partenaire"> <xs:attribute name="telephone" type="telephonetype" use="optional"/> <xs:simpletype name="telephonetype"> <xs:restrictionbase="xs:string"/> <xs:element name="partenaire"> <xs:attribute name="telephone" type="telephonetype" use="required"/> <xs:simpletype name="telephonetype"> <xs:restrictionbase="xs:string"/> <xsd:simpletype name="telliste"> <xsd:list itemtype="telephonetype"/> </xsd:simpletype> <xs:element name="partenaire"> <xs:attribute name="telephone" type="telliste" use="required"/>

434 Modélisation XML ANNEXES Tableau A 1 Représentation d un attribut UML par un attribut XML Exemple UML Multiplicité minimale 0 >1 Multiplicité maximale + Valeur limite Attribut XML Exemple XML Attribut de type <xs:simpletype name="telephonetype"> liste avec facette <xs:restrictionbase="xs:string"/> maxlength <xs:simpletype name="telliste"> <xs:list itemtype="telephonetype"/> <xs:simpletype name="tellistemaxquatre"> <xs:restriction base="tellist"> <xs:maxlength value="4"/> </xs:restriction> >0 + Valeur limite >1 + Valeur limite Attribut de type liste avec facettes maxlength et min- Length <xs:element name="partenaire"> <xs:attribute name="telephone" type="tellistemaxquatre" use="required"/> <xs:simpletype name="telephonetype"> <xs:restrictionbase="xs:string"/> <xs:simpletype name="telliste"> <xs:list itemtype="telephonetype"/> <xs:simpletype name="tellisteminmax"> <xs:restriction base="tellist"> <xs:minlength value="3"/> <xs:maxlength value="4"/> </xs:restriction> <xs:element name="partenaire">

Représentation UML avancée pour XML Schema ANNEXE A 435 Tableau A 1 Représentation d un attribut UML par un attribut XML Exemple UML Multiplicité minimale Multiplicité maximale Attribut XML Exemple XML <xs:attribute name="telephone" type="tellisteminmax" use="required"/> À la lecture du tableau A-1, on aura pu noter que la correspondance UML/XML n est pas directe. Ce qui est spécifié au niveau de l attribut dans UML l est au niveau du type de l attribut dans XML. En ce qui concerne le type union de XML Schema, on ne trouve pas de représentation correspondante dans UML. XML Schema dispose de capacités d expression plus avancées en ce qui concerne le contrôle des valeurs d attributs et d éléments. Attributs et valeur par défaut Il est possible de donner une valeur par défaut aux attributs UML. La correspondance de ces valeurs par défaut en XML est donnée dans le tableau A-2. La définition d annotations UML permet de définir des commentaires sur tout objet de modélisation. À chaque commentaire associé à un objet UML correspond dans le schéma XML une annotation XML de type documentation. Groupe d attributs La notion de groupe d attributs n existe pas en UML. Le concept le plus proche est celui de type de données (DataType en anglais) avec la restriction suivante : les attributs du type de données doivent eux-mêmes être de type simple, c est-à-dire ne pas se décomposer en d autres attributs. Pour exprimer l utilisation d un groupe d attributs par une classe, il faut utiliser une relation de généralisation entre la classe et le type de données.

436 Modélisation XML ANNEXES Tableau A 2 Valeur d attribut par défaut Modèle UML Attribut avec valeur par défaut Représentation XML Cas où l attribut UML donne lieu à un élément XML <xs:element name="restaurant"> <xs:sequence> <xs:element name="menu" type = "xs:string" default="truite meunière"/> </xs:sequence> </xs:c omplextype> Cas où l attribut UML donne lieu à un attribut XML <xs:element name="partenaire"> <xs:attribute name="menu" type="xs:string" value="truire meunière"/> Tableau A 3 Annotations Modèle UML Une classe et ses commentaires Représentation XML Annotation XML <xs:element name="pilote"> <xs:annotation> <xs:documentation>un premier commentaire </xs:documentation> <xs:documentation>un deuxième commentaire </xs:documentation> </xs:annotation> Sur le plan de la conformité à UML, cette relation de généralisation entre une classe et un type de données est inhabituelle, mais ne viole pas les règles de généralisation

Représentation UML avancée pour XML Schema ANNEXE A 437 établies par la norme UML 2.0. Si l on avait considéré le groupe d attributs comme une classe standard, nous aurions été confrontés à des difficultés pour la transposition du modèle de classe vers le modèle XML. Au chapitre 3, nous avons vu que, dans le cas général, chaque classe donne lieu à un élément XML ; or ce n est pas ce que nous recherchons ici, les groupes d attributs n étant justement pas des éléments XML Schema. Modèle UML Une classe héritant d un type de données Tableau A 4 Groupe d attributs <<Data Type>> ItemDelivery +partnum:sku +shipby:shipby +weightkg:decimal <<Enumeration>> shipby +air +any +land Item +productname:string +quantity:positiveinteger +shipdate:date +USPrice:Decimal +partnum:sku +shipby:shipby +weightkg:decimal Représentation XML Groupe d attributs XML <xsd:attributegroup name="itemdelivery"> <xsd:attribute name="partnum" type="sku"/> <xsd:attribute name="weightkg" type="xsd:decimal"/> <xsd:attribute name="shipby"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:enumeration value="air"/> <xsd:enumeration value="land"/> <xsd:enumeration value="any"/> </xsd:restriction> </xsd:simpletype> </xsd:attribute> </xsd:attributegroup>

438 Modélisation XML ANNEXES Tableau A 4 Groupe d attributs <xsd:element name="item"> <xsd:complextype> <xsd:sequence> <xsd:element name="productname" type="xsd:string"/> <xsd:element name="quantity"> <xsd:simpletype> <xsd:restriction base="xsd:positiveinteger"> <xsd:maxexclusive value="100"/> </xsd:restriction> </xsd:simpletype> </xsd:element> <xsd:element name="usprice" type="xsd:decimal"/> <xsd:element ref="comment" minoccurs="0"/> <xsd:element name="shipdate" type="xsd:date"/> </xsd:sequence> <xsd:attributegroup ref="itemdelivery"/> </xsd:complextype> </xsd:element> La mixité des modèles Tableau A 5 Modèle mixte Modèle UML Classe héritant du type de données string <<Data Type>> ItemDelivery +partnum:sku +shipby:shipby +weightkg:decimal <<Primitive type>> string Item +productname:string +quantity:positiveinteger +shipdate:date +USPrice:Decimal +partnum:sku +shipby:shipby +weightkg:decimal

Représentation UML avancée pour XML Schema ANNEXE A 439 Tableau A 5 Modèle mixte Représentation XML Modèle de contenu mixte <xsd:element name="item"> <xsd:complextype mixed=true> <xsd:sequence> <xsd:element name="productname" type="xsd:string"/> <xsd:element name="quantity"> <xsd:simpletype> <xsd:restriction base="xsd:positiveinteger"> <xsd:maxexclusive value="100"/> </xsd:restriction> </xsd:simpletype> </xsd:element> <xsd:element name="usprice" type="xsd:decimal"/> <xsd:element ref="comment" minoccurs="0"/> <xsd:element name="shipdate" type="xsd:date"/> </xsd:sequence> <xsd:attributegroup ref="itemdelivery"/> </xsd:complextype> </xsd:element> Dans un cas particulier d héritage, le type de données hérité est le type primitif string. C est un cas limite du point de vue de la conformité du modèle UML, même s il reste valide. Il permet de représenter les modèles de contenu mixte de XML Schema comme indiqué dans le tableau A-5. Comme pour d autres correspondances entre modèles de classes et XML Schema, la solution proposée dans ce paragraphe pousse le modèle UML dans ses retranchements. Voilà une indication supplémentaire comme quoi il n y a pas recouvrement un pour un du modèle de classes UML et de XML Schema. Contrainte d exclusion et groupe de choix UML dispose d une contrainte standard, appelée {xor}, permettant de définir une exclusion entre deux associations. Les contraintes d exclusion xor sont représentées par un groupe de choix XML.

440 Modélisation XML ANNEXES VOCABULAIRE Contrainte d exclusion Une contrainte d exclusion indique qu un objet ne peut être relié que par l une ou l autre des associations référencées par la contrainte. Dans l exemple du tableau A-6, un employé est soit un employé avec prime de parking, soit un employé avec place de parking ; ou, ce qui est équivalent, il a soit une prime de parking, soit une place de parking. Modèle UML Contrainte d exclusion Tableau A 6 Contrainte d exclusion et groupe de choix prime allouée prime parking employé avec prime de parking 0..1 0..1 Employé { xor } employé avec parking 0..1 * place allouée place de parking Représentation XML Groupe de choix XML <xs:element name="employé"> <xs:choice> <xs:element name="parkingalloue" type="placedeparking"/> <xs:element name="primedeparkingallouee" type="primedeparking"/> </xs:choice> Contraintes de simultanéité et groupes simples Outre la contrainte standard {xor} de UML, il existe d autres contraintes sur associations qui font l objet d un large consensus, en particulier la contrainte de simultanéité.

Représentation UML avancée pour XML Schema ANNEXE A 441 VOCABULAIRE Contrainte de simultanéité Une contrainte de simultanéité indique que si un objet participe à l une des associations de la contrainte, il participe alors également aux autres associations. Dans l exemple suivant, si une commande est à facturer, elle est aussi à livrer, et réciproquement. Figure A 1 Contrainte de simultanéité Commande à facturer Lieu de paiement facturation { Simultanéité } Lieu à livrer livraison Lieu de livraison Il est tentant d utiliser directement les groupes simples XML (<xsd:group>) pour exprimer les contraintes de simultanéité dans les schémas XML. Malheureusement, contrairement aux groupes de choix, les groupes simples doivent être déclarés comme des éléments globaux pour être réutilisés dans plusieurs autres éléments XML. Tel n est pas l objectif de la contrainte de simultanéité qui vise seulement la présence simultanée d associations et non pas leur réutilisation. En UML, la réutilisation s exprime toujours à l aide de relations de généralisation. Il faut donc revoir le schéma de la figure A-1 en conséquence : une nouvelle classe abstraite indique la mise en facteur des associations facturation et livraison ; la contrainte de simultanéité est conservée. Une représentation XML possible de ce modèle de classe est présentée dans le tableau A-7. Modèle UML Contrainte d exclusion Tableau A 7 Contrainte de simultanéité et groupe simple Livrable & Facturable {Abstract} à facturer Lieu de paiement facturation { Simultanéité } Lieu à livrer livraison Lieu de livraison Commande

442 Modélisation XML ANNEXES Tableau A 7 Contrainte de simultanéité et groupe simple Représentation XML Groupe XML <xs:schema elementformdefault="qualified" attributeformdefault="unqualified" xmlns:xl=http://www.w3.org/1999/xlink xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:import namespace=http://www.w3.org/1999/xlink schemalocation="xlink.xsd"/> <xs:complextype name="entityref"> <xs:attribute ref="xl:type" fixed="simple"/> <xs:attribute ref="xl:href" use="required"/> <xs:group name="livrablefacturable"> <xs:sequence> <xs:element name="lieulivraison" type="entityref"/> <xs:element name="lieufacturation" type="entityref"/> </xs:sequence> </xs:group> <xs:element name="commande"> <xs:group ref="livrablefacturable"/> </xs:schema> Il faut ici remarquer un nouveau cas où il n y a pas de correspondance claire et directe entre le modèle de classes UML et XML Schema. Le tableau A-7 indique un choix particulier de transformation des relations de généralisation en XML, qui vient s ajouter à celles exposées dans le chapitre 3. Certaines recommandations conseillent l utilisation de stéréotypes UML pour faire correspondre directement les concepts de XML Schema et ceux de UML. VOCABULAIRE Stéréotypes UML Les stéréotypes sont une technique de marquage des classes UML utilisée pour étendre le métamodèle UML et l adapter à un cas d emploi spécifique, par exemple XML Schema.

Représentation UML avancée pour XML Schema ANNEXE A 443 La figure A-2 montre l exemple du stéréotype «Schema group» utilisé pour représenter un groupe XML à l aide d une classe UML spécifique. Cependant, l usage de tels stéréotypes ne fait que singer les concepts XML dans les modèles de classes UML, sans apporter véritablement de valeur ajoutée. La classe Livrable & Facturable n est pas à proprement parler une classe et ne fournit pas une aide à la découverte des classes entités et des modules de données, ce qui est l objectif premier d un modèle de conception UML, ainsi que nous l avons exposé au chapitre 3. L usage des stéréotypes pour représenter les spécificités de XML Schema tient plus de la recette de cuisine que de la véritable modélisation de données. Figure A 2 Utilisation d un stéréotype pour représenter un groupe XML Commande 0..1 <<Schema group>> Livrable & facturable à facturer Lieu de paiement facturation { Simultanéité } Lieu à livrer livraison Lieu de livraison La question de l ordre des éléments Pour XML Schema, l ordre des éléments revêt une grande importance et fait partie intégrante de la validation de la conformité des documents XML par rapport à leurs schémas. Tel n est pas le cas des modèles de classes UML. Si l on peut bien spécifier un ordre pour les attributs, les rôles d associations et les généralisations d une classe, cet ordre ne change pas substantiellement la nature du modèle de classe. Les éléments XML correspondant à une classe UML proviennent soit d attributs et de rôles d associations directement reliés à cette classe, soit d attributs et de rôles d associations issus des classes héritées par les relations de généralisation. Il n est donc pas possible d obtenir un ordre absolu des éléments XML, mais seulement un ordre relatif : ordre des éléments provenant de généralisations + ordre des éléments provenant d attributs + ordre des éléments provenant de rôles d associations. La règle le plus souvent appliquée est la suivante :

444 Modélisation XML ANNEXES Les éléments en provenance des classes héritées viennent en premier. Ils sont euxmêmes ordonnés en fonction des deux règles suivantes. Les éléments en provenance d attribut de classe viennent en second, dans l ordre des attributs de la classe. Les éléments en provenance de rôle d associations viennent en troisième, dans l ordre des rôles de la classe. Le tableau A-8 offre une illustration de l application de ces règles. Modèle UML Tableau A 8 Ordre des éléments classe sur-type +attributs1:string +attributs2:string role S * rolet * classe associée T classe +attributc1:string +attributc2:string role1 * propriétéx 0..1 classe aassociée X role2 propriétéa classe associée A * * Représentation XML <?xml version="1.0" encoding="utf-8"?> <xs:schema elementformdefault="qualified" attributeformdefault="unqualified" xmlns:xs="http://www.w3.org/2001/ XMLSchema"> <xs:element name="classe"> <xs:sequence> <xs:element name="attributs1"/> <xs:element name="attributs2"/> <xs:element name="rolet"/> <xs:element name="attributc1"/> <xs:element name="attributc2"/> <xs:element name="proprietex"/> <xs:element name="proprietea"/> </xs:sequence> </xs:schema>