Un fichier de forme typique peut ressembler à ceci :
<?xml version="1.0"?>
<shape xmlns="http://www.daa.com.au/~james/dia-shape-ns"
xmlns:svg="http://www.w3.org/2000/svg">
<name>Circuit with identifiers - NPN Transistor</name>
<icon>npn.xpm</icon>
<connections>
<point x="0" y="0"/>
<point x="6" y="-4"/>
<point x="6" y="4"/>
</connections>
<aspectratio type="fixed"/>
<textbox x1="4" y1="-3" x2="12" y2="3" />
<svg:svg>
<svg:line x1="0" y1="0" x2="3" y2="0" />
<svg:line x1="3" y1="-3" x2="3" y2="3" />
<svg:line x1="3" y1="-2" x2="6" y2="-4" />
<svg:line x1="3" y1="2" x2="6" y2="4" />
<svg:polyline points="5,4 6,4 5.6154,3.0769" />
</svg:svg>
</shape>
Seuls les éléments « name
» et
« svg
» sont requis dans le
fichier shape. Le reste est optionnel.
L'élément name
donne le nom de l'objet.
Le nom est l'identifiant
unique de cette forme, utilisé pour le chargement et l'enregistrement.
Comme dans cet exemple, vous pouvez utiliser des « noms composés ». Beaucoup de formes ont pour première partie de leur nom le nom de la feuille (sheet) dans laquelle elles apparaissent, mais c'est optionnel.
L'élément « icon
» spécifie un
fichier xpm ou png utilisé comme
icône dans la Boîte à outils Dia. Le nom de fichier peut être
relatif au fichier de forme (le chemin peut...). Si
cet élément n'est pas précisé,
une icône par défault sera
utilisée pour les formes personnalisées.
La section « connections
»
spécifie un jeu de points de
connexion pour la forme. Le repère de coordonnées pour ces
points est le même que le repère utilisé dans la description svg
de la forme.
L'élément « aspectratio
»
vous permet de spécifier
quelles proportions
de la forme peuvent être modifiées. Les trois possibilités
sont :
<aspectratio type="free"/>
: tout ratio de proportions autorisé (le defaut)
<aspectratio type="fixed"/>
: la proportion est fixe.
<aspectratio type="range" min="n" max="m"/>
: Donne une plage de valeurs.
La dernière option vous permet de spécifier une plage des valeurs de déformation, ce qui peut être utile dans certains cas.
L'élément textbox
vous permet
d'associer du texte[1] à la forme.
La syntaxe est :
<textbox x1="left" y1="top" x2="right" y2="bottom"/>
(seulement une textbox par forme) où les attributs donnent les limites de la boîte de texte dans le même repère que la description SVG de la forme.
À leur création, les formes ont une taille par défaut. Si leur dimension ne correspond pas à vos besoins, vous pouvez remplacer celles-ci par l'une ou les deux directives:
<default-width>1cm</default-width> |
<default-height>1cm</default-height> |
L'élément svg
décrit la forme.
les attributs width et height
sont ignorés, et donnés seulement pour compatibilité avec la
spécification SVG. voir les pages du W3C à-propos du format à
l'adresse :
http://www.w3.org/Graphics/SVG
La section suivante détaille quelles parties de la spécification SVG peuvent être utilisées dans un fichier shape.