154 lines
5.3 KiB
Plaintext
154 lines
5.3 KiB
Plaintext
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
<!-- Updated by Blorec Hervé 2013-09-09-->
|
|
<head>
|
|
<title>JMRI: Xml Schema Examples</title>
|
|
<meta name="author" content="Bob Jacobsen">
|
|
<meta name="keywords" content="JMRI technical code xml schema usage">
|
|
<!--#include virtual="/help/fr/parts/Style.shtml" -->
|
|
</head>
|
|
|
|
<body>
|
|
<!--#include virtual="/help/fr/parts/Header_fr.shtml" -->
|
|
<div id="mBody">
|
|
<!--#include virtual="Sidebar.shtml" -->
|
|
<div id="mainContent">
|
|
<!-- Page Body -->
|
|
|
|
<h1>JMRI: XML Exemples de Schéma</h1>
|
|
|
|
<p>Cette page
|
|
contient des exemples de divers fragments Examples de Schema
|
|
XML que vous pourriez trouver utiles. Pour une analyse de
|
|
l'utilisation JMRI de Schema, XML, y compris des infos sur
|
|
les modes de préférence et de l'organisation,
|
|
voir <a href="XmlSchema.shtml">une autre page</a>.</p>
|
|
|
|
<h2>Elément avec juste le contenu du texte, pas
|
|
d'attributs</h2>
|
|
<pre style="font-family: monospace;">
|
|
|
|
<xs:element name="someData" minOccurs="0" maxOccurs="1">
|
|
</pre>Cela ne veut pas préciser les frappe. Si vous
|
|
souhaitez par exemple faire respecter les entier:
|
|
<pre style="font-family: monospace;">
|
|
|
|
<xs:element name="someIntThing" >
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:int" />
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</pre>
|
|
|
|
<h2>Elément avec seulement des attributs, pas de
|
|
contenu</h2>Forme privilégiées Store Venitien:
|
|
<pre style="font-family: monospace;">
|
|
|
|
<xs:element name="sample" type="SampleType"
|
|
minOccurs="0" maxOccurs="unbounded" />
|
|
|
|
<xs:complexType name="SampleType">
|
|
<xs:attribute name="foo" />
|
|
<xs:attribute name="bar" />
|
|
</xs:complexType>
|
|
</pre>Peut aussi être combiné si vous pensez qu'il est
|
|
peu probable qu'il soit utilisé ailleur:
|
|
<pre style="font-family: monospace;">
|
|
|
|
<xs:element name="sample"
|
|
minOccurs="0" maxOccurs="unbounded" />
|
|
<xs:complexType>
|
|
<xs:attribute name="foo" />
|
|
<xs:attribute name="bar" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</pre>
|
|
|
|
<h2>Elément avec du contenu texte et des
|
|
attributs</h2>
|
|
<pre style="font-family: monospace;">
|
|
|
|
<xs:element name="someIntThing" >
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:int">
|
|
<xs:attribute name="someInt" type="xs:int"/>
|
|
<xs:attribute name="someText" type="xs:string"/>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</pre>
|
|
|
|
<h2>Limiter un attribut pour certaines valeurs</h2>Si vous
|
|
voulez faire cela, ça vaut la peine de définir
|
|
un type général qui peux être
|
|
réutilisé. Ceux-ci sont en
|
|
xml/schema/types/general.xsd.
|
|
<pre style="font-family: monospace;">
|
|
|
|
<xs:simpleType name="yesNoType">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
General definition of string that's either "yes" or "no".
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="yes"/>
|
|
<xs:enumeration value="no"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</pre>Puis le mettre sur un attribut est simple:
|
|
<pre style="font-family: monospace;">
|
|
|
|
<xs:attribute name="opsOnly" type="yesNoType"/>
|
|
</pre>
|
|
|
|
<h2>Elément avec le contenu du texte restreint</h2>Pas
|
|
un attribut, un élément:
|
|
<pre style="font-family: monospace;">
|
|
<xs:element name="relation">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="ge"/>
|
|
<xs:enumeration value="lt"/>
|
|
<xs:enumeration value="eq"/>
|
|
<xs:enumeration value="ne"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
</pre>
|
|
|
|
<h2>Groupes d'Attribut</h2>Des groupes d'attributs sont bons
|
|
pour représenter un ensemble d'attributs lus et
|
|
écrits ainsi que par une routine de service commune.
|
|
Exemple de définition:
|
|
<pre style="font-family: monospace;">
|
|
<xs:attributeGroup name="EditorCommonAttributesGroup">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
Define the XML stucture for storing common PositionableLabel child attributes
|
|
</xs:documentation>
|
|
<xs:appinfo>
|
|
jmri.jmrit.display.configurexml.PositionableLabelXml#storeCommonAttributes
|
|
</xs:appinfo>
|
|
</xs:annotation>
|
|
<xs:attribute name="x" type="xs:int" use="required" />
|
|
<xs:attribute name="y" type="xs:int" use="required" />
|
|
<xs:attribute name="level" type="xs:int" />
|
|
<xs:attribute name="forcecontroloff" type="trueFalseType" default="false" />
|
|
</xs:attributeGroup>
|
|
</pre>par exemple l'utilisation, dans certains type plus tard:
|
|
<pre style="font-family: monospace;">
|
|
<xs:attributeGroup ref="EditorCommonAttributesGroup" />
|
|
</pre>
|
|
|
|
<!--#include virtual="/help/fr/parts/Footer_fr.shtml" -->
|
|
</div><!-- closes #mainContent-->
|
|
</div><!-- closes #mBody-->
|
|
<script src="/js/help.js"></script>
|
|
</body>
|
|
</html>
|