<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.bht.fr/index.php?action=history&amp;feed=atom&amp;title=Guide_de_R%C3%A9f%C3%A9rence_de_DfgUml</id>
	<title>Guide de Référence de DfgUml - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bht.fr/index.php?action=history&amp;feed=atom&amp;title=Guide_de_R%C3%A9f%C3%A9rence_de_DfgUml"/>
	<link rel="alternate" type="text/html" href="https://wiki.bht.fr/index.php?title=Guide_de_R%C3%A9f%C3%A9rence_de_DfgUml&amp;action=history"/>
	<updated>2026-08-09T07:30:33Z</updated>
	<subtitle>Historique des révisions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://wiki.bht.fr/index.php?title=Guide_de_R%C3%A9f%C3%A9rence_de_DfgUml&amp;diff=4978&amp;oldid=prev</id>
		<title>WikiAdmin : 1 version importée : dfg</title>
		<link rel="alternate" type="text/html" href="https://wiki.bht.fr/index.php?title=Guide_de_R%C3%A9f%C3%A9rence_de_DfgUml&amp;diff=4978&amp;oldid=prev"/>
		<updated>2026-07-24T17:08:38Z</updated>

		<summary type="html">&lt;p&gt;1 version importée : dfg&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 24 juillet 2026 à 17:08&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;fr&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Aucune différence)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>WikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.bht.fr/index.php?title=Guide_de_R%C3%A9f%C3%A9rence_de_DfgUml&amp;diff=4977&amp;oldid=prev</id>
		<title>toross&gt;WikiAdmin le 15 février 2024 à 19:34</title>
		<link rel="alternate" type="text/html" href="https://wiki.bht.fr/index.php?title=Guide_de_R%C3%A9f%C3%A9rence_de_DfgUml&amp;diff=4977&amp;oldid=prev"/>
		<updated>2024-02-15T19:34:42Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{IntroductionDFG}}&lt;br /&gt;
{{parW|&lt;br /&gt;
{{Modèle:EnConstruction}}&lt;br /&gt;
}}&lt;br /&gt;
[[Catégorie:dfg1RefManual]]&lt;br /&gt;
== Notations et abréviations ==&lt;br /&gt;
{{:Les paragraphes tagués et/ou numérotés - bases}}&lt;br /&gt;
{{:Les paragraphes tagués et/ou numérotés - généraux}}&lt;br /&gt;
{{:Les paragraphes tagués et/ou numérotés - d'informatique}}&lt;br /&gt;
&lt;br /&gt;
== Les prérequis pour lire ce document ==&lt;br /&gt;
{{proj_p|Le meta-modèle utilise le langage {{m|XML}} ([http://www.w3schools.com/xml/ Lien vers un tutoriel sur XML]).}}&lt;br /&gt;
{{proj_p|Au dessus du langage XML le méta-modèle décrit des diagrammes de classes du langage {{m|UML}} ([http://www.sparxsystems.com/uml-tutorial.html Lien vers un tutoriel sur UML]).}}&lt;br /&gt;
{{proj_p|Il faut donc connaître les langages {{m|XML}} et {{m|UML}} pour lire ce document.}}&lt;br /&gt;
&lt;br /&gt;
== Le langage XML == &lt;br /&gt;
{{proj_p|Même si la connaissance du langage XML est un prérequis pour lire ce document, il est utile de rappeler ici quelques notions. Le but étant de préciser le vocabulaire et les notations que nous utiliserons dans la suite.}}&lt;br /&gt;
{{proj_p|La langage XML permet de définir des langages et ce pourquoi il est un métalangage. Ces langages permettent de créer des documents au format texte structurés à l'aide de {{m|balises}}({{m|tags}}). &lt;br /&gt;
}}&lt;br /&gt;
=== Balise ouvrante ===&lt;br /&gt;
{{Def&lt;br /&gt;
|1=&lt;br /&gt;
Une balise dite ouvrante est un texte commençant le symbole {{m|&amp;lt;}}(plus petit), suivi du nom de balise puis des attributs de la balise. Elle se termine par le symbole {{m|&amp;gt;}}(plus grand). &lt;br /&gt;
&lt;br /&gt;
Les attributs suivent la syntaxe suivante :&lt;br /&gt;
{{code|lang=xml|code=attributeName2=&amp;quot;AttributeValue2&amp;quot;}}&lt;br /&gt;
par exemple :&lt;br /&gt;
{{code|lang=xml|code=color=&amp;quot;green&amp;quot;}}&lt;br /&gt;
Et la structure générale d'une balise ouvrante est :&lt;br /&gt;
{{code|lang=xml|code=&lt;br /&gt;
&amp;lt;baliseName attributeName1=&amp;quot;AttributeValue1&amp;quot;  &lt;br /&gt;
            attributeName2=&amp;quot;AttributeValue2&amp;quot; &lt;br /&gt;
            … &lt;br /&gt;
            attributeNamen=&amp;quot;AttributeValuen&amp;quot;&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
|2=|3=balise ouvrante}}&lt;br /&gt;
{{Ex|1={{code|lang=xml|code=&amp;lt;city name=&amp;quot;Paris&amp;quot;&amp;gt;}}|2=|3=}}&lt;br /&gt;
&lt;br /&gt;
=== Balise fermante ===&lt;br /&gt;
{{Def&lt;br /&gt;
|1=&lt;br /&gt;
Une balise dite fermante est un texte commençant le symbole {{m|&amp;lt;}}, puis {{m|/}}, suivi du nom de balise et se terminant par le symbole {{m|&amp;gt;}}(plus grand).&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;/baliseName&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
|2=&lt;br /&gt;
|3=balise fermante}}&lt;br /&gt;
{{Ex|1=&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;/city&amp;gt;&amp;lt;/source&amp;gt;|2=|3=}}&lt;br /&gt;
&lt;br /&gt;
=== Balise ouvrante et fermante ===&lt;br /&gt;
{{Def&lt;br /&gt;
|1=Une balise ouvrante et fermante est une balise ouvrante qui ne se termine pas par {{m|&amp;gt;}} mais par {{m|/&amp;gt;}}.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;baliseName attributeName1=&amp;quot;AttributeValue1&amp;quot;  attributeName2=&amp;quot;AttributeValue2&amp;quot; … attributeNamen=&amp;quot;AttributeValuen&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|2=&lt;br /&gt;
|3=balise ouvrante et fermante}}&lt;br /&gt;
{{Ex|1=&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;city name=&amp;quot;Paris&amp;quot;/&amp;gt;&amp;lt;/source&amp;gt;|2=|3=}}&lt;br /&gt;
&lt;br /&gt;
=== Nœud ===&lt;br /&gt;
{{Def|Un nœud XML est l'ensemble du texte commençant par une balise ouvrante et se terminant par la balise correspondante fermante. Le nom du nœud est le nom de la balise correspondante&lt;br /&gt;
|Nœud XML|Nœud XML}}&lt;br /&gt;
{{Ex|1=Un nœud XML appelé city : &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;city id=&amp;quot;AR32&amp;quot;&amp;gt; &amp;lt;name&amp;gt;Paris&amp;lt;/name&amp;gt; … &amp;lt;/city&amp;gt;&amp;lt;/source&amp;gt;|2=|3=}}&lt;br /&gt;
{{Def|L'en-tête d'un nœud est l'ensemble des attributs de la balise.&lt;br /&gt;
|En-tête de nœud|En-tête de nœud}}&lt;br /&gt;
{{Def|Le corps d'un nœud est la partie du texte qui se trouve entre la balise ouvrante et la balise fermante correspondante.&lt;br /&gt;
|Corps de nœud|Corps de nœud}}&lt;br /&gt;
{{Rq|Le corps d'un nœud où la balise est ouvrante et fermante possède un corps vide.}}&lt;br /&gt;
{{Rq|Le corps de nœud peut aussi contenir d'autres nœuds. L'en-tête et le corps d'un nœud définissent sa structure. Cette  structure est arborescente. }}&lt;br /&gt;
{{Ex|1=&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;    &amp;lt;russian_doll name=&amp;quot;Galina&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;russian_doll name=&amp;quot; Anastasiya&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;russian_doll name=&amp;quot; Marta&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/russian_doll&amp;gt;&lt;br /&gt;
    &amp;lt;/russian_doll&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;|2=|3=Les poupées russes}}&lt;br /&gt;
{{Rq|Dans certains cas un élément d'un nœud peut se mettre sous la forme d'un attribut ou sous la forme d'un nœud. Cela peut être le cas par exemple pour nommer un nœud.}}&lt;br /&gt;
{{Ex|1=&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;city name=&amp;quot;Paris&amp;quot;&amp;gt; … &amp;lt;/city&amp;gt;&amp;lt;/source&amp;gt; ou &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;city&amp;gt; &amp;lt;name&amp;gt;Paris&amp;lt;/name&amp;gt; … &amp;lt;/city&amp;gt;&amp;lt;/source&amp;gt;|2=|3=}}&lt;br /&gt;
&lt;br /&gt;
== Le modèle vide ==&lt;br /&gt;
{{proj_p|Le modèle minimal de Data Flow Generator est donné par l'exemple {{clink|empty_model_ref}}&lt;br /&gt;
}}&lt;br /&gt;
{{ex|&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;grammar type=&amp;quot;xml&amp;quot; version=&amp;quot;2.0.0&amp;quot; fileFormatVersion=&amp;quot;1.0.0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/grammar&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;|empty_model_ref}}&lt;br /&gt;
{{proj_p|Ce modèle est composé de deux éléments XML; {{m|?xml}}{{clink|par_xml_ref}} et {{m|grammar}}{{clink|par_grammar_ref}}.}} &lt;br /&gt;
{{proj_p|Le document DfgUml doit comporter un unique nœud racine nommé {{m|grammar}}{{clink|par_grammar_ref}}.}}&lt;br /&gt;
{{proj_p|Le diagramme de classes de ce modèle est le diagramme vide.}}&lt;br /&gt;
&lt;br /&gt;
== Le modèle minimal ==&lt;br /&gt;
{{proj_p|Tout modèle doit définir un unique nœud racine à l'aide du nœud nommé {{m|clDefInst}}.}} &lt;br /&gt;
{{proj_p|Dans les exemples {{clink|dfguml_minimal_model}} et {{clink|dfg_ex_minimal}}, qui illustrent le modèle minimal, la racine a pour nom «model» et nous avons nommé sa classe «CModel».}}&lt;br /&gt;
{{ex|&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;grammar type=&amp;quot;xml&amp;quot; version=&amp;quot;2.0.0&amp;quot; fileFormatVersion=&amp;quot;1.0.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;clDefInst type='CModel' name=&amp;quot;model&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;/clDefInst&amp;gt;&lt;br /&gt;
&amp;lt;/grammar&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|dfguml_minimal_model}}&lt;br /&gt;
{{figuml|UML diagramme équivalent|class CModel {&lt;br /&gt;
}&lt;br /&gt;
|dfg_ex_minimal}}&lt;br /&gt;
&lt;br /&gt;
== Les nœuds, associations et héritages du méta-modèle ==&lt;br /&gt;
=== Liste des nœuds ===&lt;br /&gt;
{{proj_p|Pour commencer nous donnons seulement la liste des nœuds utilisés dans le méta-modèle, chaque nœud sera plus loin étudié de près : {{m|bool}}, {{m|int}}, {{m|flt}}, {{m|str}}, {{m|date}}, {{m|clDefInst}}, {{m|clInst}}, {{m|clRef}}, {{m|clDef}}, {{m|method}}, {{m|arg}}. Les types primitives sont {{m|bool}} (booléen), {{m|int}}(entier), {{m|flt}}(réel), {{m|str}}(chaîne de caractères), {{m|date}}(date).}}&lt;br /&gt;
&lt;br /&gt;
=== Association entre classes ===&lt;br /&gt;
{{proj_p|L'association entre classes est définie par l'inclusion d'un nœud (enfant) dans un autre nœud (parent). Côté parent la cardinalité est toujours {{m|1}} et côté enfant l'attribut {{m|card}} permet de le définir avec la convention suivante :&lt;br /&gt;
&lt;br /&gt;
Soient n, n1, n2 des entiers&lt;br /&gt;
{{tab|Notation de cardinalité|| &lt;br /&gt;
{{line| {{col_t|notation dans les doubles quottes}} {{col_t|description}} }} &lt;br /&gt;
{{line| {{col|&amp;quot;n1:n2&amp;quot;}} {{col|de n1 à n2}} }} &lt;br /&gt;
{{line| {{col|&amp;quot;?&amp;quot; or &amp;quot;0:1&amp;quot;}} {{col|de 0 à 1, optionnel}} }} &lt;br /&gt;
{{line| {{col|&amp;quot;*&amp;quot; or &amp;quot;0:*&amp;quot;}} {{col|de 0 à l'infini}} }} &lt;br /&gt;
{{line| {{col|&amp;quot;+&amp;quot; or &amp;quot;1:*&amp;quot;}} {{col|de 1 à l'infini}} }} &lt;br /&gt;
{{line| {{col|&amp;quot;n:&amp;quot; or &amp;quot;n:*&amp;quot;}} {{col|de n à l'infini}} }} &lt;br /&gt;
{{line| {{col|&amp;quot;n&amp;quot; or &amp;quot;n:n&amp;quot;}} {{col|de n à n, exactement n}} }} &lt;br /&gt;
{{line| {{col|si non présent}} {{col|valeur de défaut : exactement 1 }} }} &lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
{{Ex|Voici un exemple d'associations entre la classe A et les classes B,C,D,E,F,G.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;grammar type=&amp;quot;xml&amp;quot; version=&amp;quot;2.0.0&amp;quot; fileFormatVersion=&amp;quot;1.0.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;clDefInst type='A' name=&amp;quot;a&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;clDefInst type='B' name=&amp;quot;b&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;clDefInst type='C' name=&amp;quot;c&amp;quot; card=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;clDefInst type='D' name=&amp;quot;d&amp;quot; card=&amp;quot;?&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;clDefInst type='E' name=&amp;quot;e&amp;quot; card=&amp;quot;*&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;clDefInst type='F' name=&amp;quot;f&amp;quot; card=&amp;quot;+&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;clDefInst type='G' name=&amp;quot;g&amp;quot; card=&amp;quot;3:45&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/clDefInst&amp;gt;&lt;br /&gt;
&amp;lt;/grammar&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Le diagramme UML équivalent est le suivant :&lt;br /&gt;
{{figuml|Association|&lt;br /&gt;
class A {&lt;br /&gt;
}&lt;br /&gt;
A  *-- &amp;quot;1&amp;quot; B : b&lt;br /&gt;
class B {&lt;br /&gt;
}&lt;br /&gt;
A  *-- &amp;quot;4&amp;quot; C : c&lt;br /&gt;
class C {&lt;br /&gt;
}&lt;br /&gt;
A  *-- &amp;quot;0..1&amp;quot; D : d&lt;br /&gt;
class D {&lt;br /&gt;
}&lt;br /&gt;
A  *-- &amp;quot;0..*&amp;quot; E : e&lt;br /&gt;
class E {&lt;br /&gt;
}&lt;br /&gt;
A  *-- &amp;quot;1..*&amp;quot; F : f&lt;br /&gt;
class F {&lt;br /&gt;
}&lt;br /&gt;
A  *-- &amp;quot;3..45&amp;quot; G : g&lt;br /&gt;
class G {&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
Et une instance persitante possible de ce modèle utilisant le format XML peut être le fichier suivant :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;grammar driverName=&amp;quot;DataFlowGenerator_XML_DOM_MINIDOOM&amp;quot; driverVersion=&amp;quot;1.0.0&amp;quot; fileFormatVersion=&amp;quot;1.0.0&amp;quot; type=&amp;quot;xml&amp;quot; version=&amp;quot;2.0.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a&amp;gt;&lt;br /&gt;
        &amp;lt;b/&amp;gt;&lt;br /&gt;
        &amp;lt;c/&amp;gt;&lt;br /&gt;
        &amp;lt;c/&amp;gt;&lt;br /&gt;
        &amp;lt;c/&amp;gt;&lt;br /&gt;
        &amp;lt;c/&amp;gt;&lt;br /&gt;
        &amp;lt;f/&amp;gt;&lt;br /&gt;
        &amp;lt;g/&amp;gt;&lt;br /&gt;
        &amp;lt;g/&amp;gt;&lt;br /&gt;
        &amp;lt;g/&amp;gt;&lt;br /&gt;
    &amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/grammar&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Héritage ===&lt;br /&gt;
{{Ex|Prenons le cas d'une classe CRoot qui est associée (agrégation) à un classe C qui hérite de la classe B qui hérite de la classe A. Ce cas est décrit par diagramme {{clink|Héritage simple}}.&lt;br /&gt;
{{figuml|Héritage simple|class CRoot {&lt;br /&gt;
}&lt;br /&gt;
abstract class A {&lt;br /&gt;
}&lt;br /&gt;
A : CInt a&lt;br /&gt;
abstract class B {&lt;br /&gt;
}&lt;br /&gt;
B --{{!}}&amp;gt; A&lt;br /&gt;
B : CInt b&lt;br /&gt;
CRoot  *-- &amp;quot;3&amp;quot; C : c&lt;br /&gt;
class C {&lt;br /&gt;
}&lt;br /&gt;
C --{{!}}&amp;gt; B&lt;br /&gt;
C : CInt c&lt;br /&gt;
|Héritage simple}}&lt;br /&gt;
L'équivalent en modèle DFGUML sécrira :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;grammar type=&amp;quot;xml&amp;quot; version=&amp;quot;2.0.0&amp;quot; fileFormatVersion=&amp;quot;1.0.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;clDefInst type='CRoot' name=&amp;quot;root&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;clDef type='A' name=&amp;quot;a&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;int name=&amp;quot;a&amp;quot; defVal=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/clDef&amp;gt;&lt;br /&gt;
        &amp;lt;clDef type='B' name=&amp;quot;b&amp;quot; her=&amp;quot;A&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;int name=&amp;quot;b&amp;quot;  defVal=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/clDef&amp;gt;&lt;br /&gt;
        &amp;lt;clDefInst type='C' name=&amp;quot;c&amp;quot; her=&amp;quot;B&amp;quot; card=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;int name=&amp;quot;c&amp;quot;  defVal=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/clDefInst&amp;gt;&lt;br /&gt;
    &amp;lt;/clDefInst&amp;gt;&lt;br /&gt;
&amp;lt;/grammar&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Et une instance possible de ce modèle est la suivante :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;grammar driverName=&amp;quot;DataFlowGenerator_XML_DOM_MINIDOOM&amp;quot; driverVersion=&amp;quot;1.0.0&amp;quot; fileFormatVersion=&amp;quot;1.0.0&amp;quot; type=&amp;quot;xml&amp;quot; version=&amp;quot;2.0.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;root&amp;gt;&lt;br /&gt;
        &amp;lt;c&amp;gt;&lt;br /&gt;
            &amp;lt;a&amp;gt;1&amp;lt;/a&amp;gt;&lt;br /&gt;
            &amp;lt;b&amp;gt;2&amp;lt;/b&amp;gt;&lt;br /&gt;
            &amp;lt;c&amp;gt;3&amp;lt;/c&amp;gt;&lt;br /&gt;
        &amp;lt;/c&amp;gt;&lt;br /&gt;
        &amp;lt;c&amp;gt;&lt;br /&gt;
            &amp;lt;a&amp;gt;1&amp;lt;/a&amp;gt;&lt;br /&gt;
            &amp;lt;b&amp;gt;2&amp;lt;/b&amp;gt;&lt;br /&gt;
            &amp;lt;c&amp;gt;3&amp;lt;/c&amp;gt;&lt;br /&gt;
        &amp;lt;/c&amp;gt;&lt;br /&gt;
        &amp;lt;c&amp;gt;&lt;br /&gt;
            &amp;lt;a&amp;gt;1&amp;lt;/a&amp;gt;&lt;br /&gt;
            &amp;lt;b&amp;gt;2&amp;lt;/b&amp;gt;&lt;br /&gt;
            &amp;lt;c&amp;gt;3&amp;lt;/c&amp;gt;&lt;br /&gt;
        &amp;lt;/c&amp;gt;&lt;br /&gt;
    &amp;lt;/root&amp;gt;&lt;br /&gt;
&amp;lt;/grammar&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{proj_p|L'héritage est définie avec l'attribut {{m|her}} dont la valeur est la classe parente. Afin de ne pas associer une définition de classe, qui est un nœud donné avec la classe parent qui lui-même est le nœud parent associé on utilise la balise {{m|clDef}} comme c'est le cas des classes A et B dans notre cas précédent.}}&lt;br /&gt;
&lt;br /&gt;
== Les éléments ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== {{fr§en|Le nœud «?xml»|The «?xml» node}} ===&lt;br /&gt;
{{:dfg1 reference manual - xml - dfguml}}&lt;br /&gt;
{{ex|  &lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;grammar  type=&amp;quot;xml&amp;quot; version=&amp;quot;2.0.0&amp;quot; fileFormatVersion=&amp;quot;1.0.0&amp;quot;&amp;gt; &lt;br /&gt;
    &amp;lt;clDefInst name=&amp;quot;root&amp;quot; type=&amp;quot;CRoot&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/clDefInst&amp;gt;&lt;br /&gt;
&amp;lt;/grammar&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;   &lt;br /&gt;
|dfgumlr_xml&lt;br /&gt;
}}&lt;br /&gt;
{{:dfg1 reference manual - xml - plantuml}}  &lt;br /&gt;
{{figuml&lt;br /&gt;
|&lt;br /&gt;
|class CRoot {&lt;br /&gt;
}&lt;br /&gt;
@enduml&lt;br /&gt;
|plantumlr_xml}}&lt;br /&gt;
&lt;br /&gt;
=== {{fr§en|L'attribut «version» du nœud «?xml»|The attribute named «version» of the «?xml» node| -◊- }} ===&lt;br /&gt;
{{:dfg1 reference manual - xmlVersion - dfguml}}&lt;br /&gt;
&lt;br /&gt;
=== {{fr§en|L'attribut «encoding» du nœud «?xml»|The attribute named «encoding» of the «?xml» node| -◊- }} ===&lt;br /&gt;
{{:dfg1 reference manual - xmlEncoding - dfguml}}&lt;br /&gt;
&lt;br /&gt;
=== {{fr§en|Le nœud «grammar»|The «grammar» node}} ===&lt;br /&gt;
{{:dfg1 reference manual - grammar - dfguml}}&lt;br /&gt;
{{ex|  &lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;grammar driverName=&amp;quot;DataFlowGenerator_XML_DOM_MINIDOOM&amp;quot; driverVersion=&amp;quot;1.0.0&amp;quot; fileFormatVersion=&amp;quot;1.0.0&amp;quot; type=&amp;quot;xml&amp;quot; version=&amp;quot;2.0.0&amp;quot;&amp;gt; &lt;br /&gt;
    &amp;lt;clDefInst name=&amp;quot;root&amp;quot; type=&amp;quot;CRoot&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/clDefInst&amp;gt;&lt;br /&gt;
&amp;lt;/grammar&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;   &lt;br /&gt;
|dfgumlr_grammar&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Annexe ==&lt;br /&gt;
=== Description du mét-modèle par lui-même ===&lt;br /&gt;
{{parW|1=&lt;br /&gt;
{{code|lang=xml|code=&lt;br /&gt;
&amp;lt;dfg dfgDrvName=&amp;quot;DataFlowGenerator_XML_DOM_MINIDOOM&amp;quot; dfgDrvVer=&amp;quot;3.0.0&amp;quot; dfgModelVer=&amp;quot;3.0.0&amp;quot; dfgMetaModelVer=&amp;quot;3.0.0&amp;quot; type=&amp;quot;CDfg&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!--&lt;br /&gt;
    the root node must have the following attributes :&lt;br /&gt;
    dfgDrvName      (driver_name) example  dfgDrvName=&amp;quot;DataFlowGenerator_XML_DOM_MINIDOOM&amp;quot;&lt;br /&gt;
    dfgDrvVer       (driverVersion) example  dfgDrvVer=&amp;quot;1.0.0&amp;quot;&lt;br /&gt;
    dfgModelVer     (fileformatVersion)&lt;br /&gt;
    dfgMetaModelVer (grammarVersion)&lt;br /&gt;
&lt;br /&gt;
    those attributes are herited from a base root node.&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
    &amp;lt;clDef type=&amp;quot;CEl&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;str name=&amp;quot;help&amp;quot;  card=&amp;quot;?&amp;quot; isAttr=&amp;quot;True&amp;quot;  /&amp;gt;&lt;br /&gt;
        &amp;lt;str name=&amp;quot;shortHelp&amp;quot; card=&amp;quot;?&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;str name=&amp;quot;longHelp&amp;quot; card=&amp;quot;?&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/clDef&amp;gt;&lt;br /&gt;
    &amp;lt;clDef type=&amp;quot;CAss&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;str name=&amp;quot;name&amp;quot; help=&amp;quot;python_re_pattern='^[a-zA-Z_][a-zA-Z0-9_]*$'&amp;quot; isAttr=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;str name=&amp;quot;card&amp;quot; card=&amp;quot;?&amp;quot; isAttr=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/clDef&amp;gt;&lt;br /&gt;
    &amp;lt;clDef type=&amp;quot;CLeave&amp;quot; her=&amp;quot;CEl:CAss&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;str name=&amp;quot;defVal&amp;quot;  card=&amp;quot;?&amp;quot; isAttr=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;str name=&amp;quot;admVals&amp;quot; card=&amp;quot;?&amp;quot; isAttr=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;bool name=&amp;quot;isAttr&amp;quot;  card=&amp;quot;?&amp;quot; isAttr=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/clDef&amp;gt;&lt;br /&gt;
    &amp;lt;clDef type=&amp;quot;CScalarLeave&amp;quot; her=&amp;quot;CLeave&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;str name=&amp;quot;unit&amp;quot; card=&amp;quot;?&amp;quot; isAttr=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/clDef&amp;gt;&lt;br /&gt;
    &amp;lt;clDef type=&amp;quot;CClBase&amp;quot; her=&amp;quot;CEl&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;str name=&amp;quot;type&amp;quot; isAttr=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;str name=&amp;quot;accept&amp;quot; card=&amp;quot;?&amp;quot; isAttr=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;!-- added by dfg &amp;lt;str name=&amp;quot;dfgId&amp;quot; card=&amp;quot;?&amp;quot; isAttr=&amp;quot;True&amp;quot; help=&amp;quot;in order to be linked&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- added by dfg &amp;lt;str name=&amp;quot;dfgClName&amp;quot; card=&amp;quot;?&amp;quot; isAttr=&amp;quot;True&amp;quot; help=&amp;quot;in order to set polymorphism class type associated with 'accept'&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Experimental &lt;br /&gt;
        &amp;lt;str name=&amp;quot;dfgClConstructor&amp;quot; card=&amp;quot;?&amp;quot; isAttr=&amp;quot;True&amp;quot; help=&amp;quot;in order to set polymorphism class type&amp;quot;/&amp;gt;&lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
    &amp;lt;/clDef&amp;gt;&lt;br /&gt;
    &amp;lt;clDef type=&amp;quot;CClass&amp;quot; her=&amp;quot;CClBase&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;str name=&amp;quot;her&amp;quot;    card=&amp;quot;?&amp;quot; isAttr=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;clDefInst name=&amp;quot;str&amp;quot;    type=&amp;quot;CStr&amp;quot;    her=&amp;quot;CLeave&amp;quot;       card=&amp;quot;*&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;clDefInst name=&amp;quot;int&amp;quot;    type=&amp;quot;CInt&amp;quot;    her=&amp;quot;CScalarLeave&amp;quot; card=&amp;quot;*&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;clDefInst name=&amp;quot;bool&amp;quot;   type=&amp;quot;CBool&amp;quot;   her=&amp;quot;CLeave&amp;quot; card=&amp;quot;*&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;clDefInst name=&amp;quot;date&amp;quot;   type=&amp;quot;CDate&amp;quot;   her=&amp;quot;CLeave&amp;quot; card=&amp;quot;*&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;clDefInst name=&amp;quot;flt&amp;quot;    type=&amp;quot;CFlt&amp;quot;    her=&amp;quot;CScalarLeave&amp;quot; card=&amp;quot;*&amp;quot;/&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;clDefInst name=&amp;quot;clDef&amp;quot;  type=&amp;quot;CClDef&amp;quot;  her=&amp;quot;CClass&amp;quot;       card=&amp;quot;*&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;clDefInst name=&amp;quot;clInst&amp;quot;  type=&amp;quot;CClInst&amp;quot;  her=&amp;quot;CClBase:CAss&amp;quot; card=&amp;quot;*&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;clDefInst name=&amp;quot;clDefInst&amp;quot; type=&amp;quot;CClDefInst&amp;quot; her=&amp;quot;CClDef:CAss&amp;quot;  card=&amp;quot;*&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;clDefInst name=&amp;quot;clRef&amp;quot;  type=&amp;quot;CClRef&amp;quot;    her=&amp;quot;CClBase:CAss&amp;quot; card=&amp;quot;*&amp;quot;/&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;!-- new start --&amp;gt;&lt;br /&gt;
        &amp;lt;clDefInst name=&amp;quot;map&amp;quot;  type=&amp;quot;CMap&amp;quot;  her=&amp;quot;CEl:CAss&amp;quot; card=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!--&lt;br /&gt;
	  &lt;br /&gt;
	model :  &lt;br /&gt;
        &amp;lt;clDef type=&amp;quot;CAgent&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;str name=&amp;quot;name&amp;quot;  card=&amp;quot;?&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;int name=&amp;quot;age&amp;quot;  card=&amp;quot;?&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/clDef&amp;gt;        &lt;br /&gt;
        &amp;lt;map name=&amp;quot;agent&amp;quot; keyType=&amp;quot;str&amp;quot; valType='CAgent'/&amp;gt;&lt;br /&gt;
	  &lt;br /&gt;
	instance :  &lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
                &amp;lt;str name=&amp;quot;valType&amp;quot; isAttr=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;str name=&amp;quot;keyType&amp;quot; isAttr=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/clDefInst&amp;gt;&lt;br /&gt;
        &amp;lt;!-- new end --&amp;gt;    &lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;!-- Experimental &lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;clDefInst name=&amp;quot;constructor&amp;quot; type=&amp;quot;CConstructor&amp;quot; card=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;str name=&amp;quot;name&amp;quot; isAttr=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;clInst name=&amp;quot;args&amp;quot; type=&amp;quot;CClass&amp;quot; card=&amp;quot;*&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/clDefInst&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;!- - ************************************** - -&amp;gt;&lt;br /&gt;
        &amp;lt;!- - model - -&amp;gt;&lt;br /&gt;
        &amp;lt;clDef type=&amp;quot;CMateriau&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;int name=&amp;quot;protegee&amp;quot;  card=&amp;quot;?&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;int name=&amp;quot;densite&amp;quot;  card=&amp;quot;?&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/clDef&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;map name= &amp;quot;myDico&amp;quot; keyType=&amp;quot;int&amp;quot; valType=&amp;quot;CMateriau&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;!- - ************************************** - -&amp;gt;                                    &lt;br /&gt;
        &amp;lt;!- - instance - -&amp;gt;&lt;br /&gt;
        &amp;lt;myDico key=&amp;quot;512&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;!- - &amp;lt;materieau&amp;gt; no need because we know the type - -&amp;gt;&lt;br /&gt;
            &amp;lt;protegee&amp;gt;1&amp;lt;/protegee&amp;gt;&lt;br /&gt;
            &amp;lt;densite&amp;gt;1.3&amp;lt;/densite&amp;gt;&lt;br /&gt;
            &amp;lt;!- - &amp;lt;/materieau&amp;gt; - -&amp;gt;&lt;br /&gt;
        &amp;lt;/myDico&amp;gt;&lt;br /&gt;
        &amp;lt;!- - ************************************** - -&amp;gt;        &lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
        &amp;lt;clDefInst name=&amp;quot;method&amp;quot; type=&amp;quot;CMethod&amp;quot; card=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;str name=&amp;quot;name&amp;quot; isAttr=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;clDefInst name=&amp;quot;arg&amp;quot; type=&amp;quot;CArg&amp;quot; card=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;str name=&amp;quot;type&amp;quot; isAttr=&amp;quot;True&amp;quot; help=&amp;quot;python_re_pattern='^[a-zA-Z_][a-zA-Z0-9_]*$'&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;str name=&amp;quot;dir&amp;quot;  isAttr=&amp;quot;True&amp;quot; admVals=&amp;quot;in:out:inout&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;str name=&amp;quot;name&amp;quot; isAttr=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;str name=&amp;quot;unit&amp;quot; isAttr=&amp;quot;True&amp;quot; card=&amp;quot;?&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/clDefInst&amp;gt;&lt;br /&gt;
        &amp;lt;/clDefInst&amp;gt;&lt;br /&gt;
    &amp;lt;/clDef&amp;gt;&lt;br /&gt;
    &amp;lt;clDefInst name=&amp;quot;dfg&amp;quot; type=&amp;quot;CDfg&amp;quot; her=&amp;quot;CClass&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;!-- added by dfg &amp;lt;str name=&amp;quot;dfgVer&amp;quot;              isAttr=&amp;quot;True&amp;quot; defVal=&amp;quot;2.0.0&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- added by dfg &amp;lt;str name=&amp;quot;dfgModelVer&amp;quot;          isAttr=&amp;quot;True&amp;quot; defVal=&amp;quot;1.0.0&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- added by dfg &amp;lt;str name=&amp;quot;dfgDrvName&amp;quot; card=&amp;quot;?&amp;quot; isAttr=&amp;quot;True&amp;quot;  defVal=&amp;quot;dfgPyXmlMiniDom&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- added by dfg &amp;lt;str name=&amp;quot;dfgDrvVer&amp;quot;  card=&amp;quot;?&amp;quot; isAttr=&amp;quot;True&amp;quot; defVal=&amp;quot;1.0.0&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
                &lt;br /&gt;
        &amp;lt;!-- Experimental  &lt;br /&gt;
        &amp;lt;clDefInst name=&amp;quot;primTypeAlias&amp;quot;  type=&amp;quot;CPrimTypeAlias&amp;quot;  card=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;str name=&amp;quot;name&amp;quot; isAttr=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;str name=&amp;quot;primTypeName&amp;quot; isAttr=&amp;quot;True&amp;quot; /&amp;gt;  &lt;br /&gt;
        &amp;lt;/clDefInst&amp;gt;&lt;br /&gt;
        &amp;lt;clDefInst name=&amp;quot;enum&amp;quot;  type=&amp;quot;CEnum&amp;quot;  card=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;str name=&amp;quot;typeName&amp;quot; isAttr=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;str name=&amp;quot;val&amp;quot; card=&amp;quot;*&amp;quot;/&amp;gt;  &lt;br /&gt;
        &amp;lt;/clDefInst&amp;gt;&lt;br /&gt;
        --&amp;gt;        &lt;br /&gt;
    &amp;lt;/clDefInst&amp;gt;&lt;br /&gt;
&amp;lt;/dfg&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Sous forme texte:&lt;br /&gt;
{{code|lang=text|code=&lt;br /&gt;
   CEl &lt;br /&gt;
.   ? help : CStr&lt;br /&gt;
.   ? longHelp : CStr&lt;br /&gt;
.   ? shortHelp : CStr&lt;br /&gt;
   CAss &lt;br /&gt;
.   ? card : CStr&lt;br /&gt;
.     name : CStr&lt;br /&gt;
   CLeave  (CEl,CAss,)&lt;br /&gt;
.   ? admVals : CStr&lt;br /&gt;
.   ? defVal : CStr&lt;br /&gt;
.   ? isAttr : CBool&lt;br /&gt;
   CScalarLeave  (CLeave,)&lt;br /&gt;
.   ? unit : CStr&lt;br /&gt;
   CClBase  (CEl,)&lt;br /&gt;
.   ? accept : CStr&lt;br /&gt;
.     type : CStr&lt;br /&gt;
   CClass  (CClBase,)&lt;br /&gt;
.   ? her : CStr&lt;br /&gt;
.   * bool :  CBool  (CLeave,)&lt;br /&gt;
.   * clDef :  CClDef  (CClass,)&lt;br /&gt;
.   * clDefInst :  CClDefInst  (CClDef,CAss,)&lt;br /&gt;
.   * clInst :  CClInst  (CClBase,CAss,)&lt;br /&gt;
.   * clRef :  CClRef  (CClBase,CAss,)&lt;br /&gt;
.   * date :  CDate  (CLeave,)&lt;br /&gt;
.   * flt :  CFlt  (CScalarLeave,)&lt;br /&gt;
.   * int :  CInt  (CScalarLeave,)&lt;br /&gt;
.   * map :  CMap  (CEl,CAss,)&lt;br /&gt;
.   .     keyType : CStr&lt;br /&gt;
.   .     valType : CStr&lt;br /&gt;
.   * method :  CMethod &lt;br /&gt;
.   .     name : CStr&lt;br /&gt;
.   .   * arg :  CArg &lt;br /&gt;
.   .   .     dir : CStr&lt;br /&gt;
.   .   .     name : CStr&lt;br /&gt;
.   .   .     type : CStr&lt;br /&gt;
.   .   .   ? unit : CStr&lt;br /&gt;
.   * str :  CStr  (CLeave,)&lt;br /&gt;
 dfg :  CDfg  (CClass,)&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
{{:DataFlowGenerator:Versionnement}}&lt;br /&gt;
&lt;br /&gt;
=== Liens externes ===&lt;br /&gt;
* Structure d'un document XML&lt;br /&gt;
: http://www.commentcamarche.net/contents/xml/xmlstruc.php3&lt;/div&gt;</summary>
		<author><name>toross&gt;WikiAdmin</name></author>
	</entry>
</feed>