Une taxonomie doit faire appel aux éléments suivants :
schéma xml (lien vers un fichier xsd)
espace de nommage (?)
lien : présentation (
lien : calculs
lien : définitions
lien : étiquettes
lien : références
Un document d’instance est un document XML qui contient des données (texte ou chiffres) et qui fait référence à d’autres documents (taxonomies) qui permettent d’en interpréter le sens. Ce document doit être conforme aux specifications définies ci-dessous, et bien évidement il doit être un document XML valide [1] , selon les critères de validation en vigueur.
Les éléments définis ci-desous sont le
items
context
tuple et
group.
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2001/instance" >
<!-- ********item types****** -->
<!-- itemType -->
<complexType name="itemType">
<simpleContent>
<extension base="anySimpleType">
<anyAttribute namespace="##any" processContents="lax"/>
</extension>
</simpleContent>
</complexType>
<!-- monetaryItemType -->
<complexType name="monetaryItemType">
<simpleContent>
<extension base="xbrli:monetary">
<attribute name="numericContext" type="IDREF" use="required"/>
<anyAttribute namespace="##any" processContents="lax"/>
</extension>
</simpleContent>
</complexType>
<!-- sharesItemType -->
<complexType name="sharesItemType">
<simpleContent>
<extension base="xbrli:shares">
<attribute name="numericContext" type="IDREF" use="required"/>
<anyAttribute namespace="##any" processContents="lax"/>
</extension>
</simpleContent>
</complexType>
<!-- decimalItemType -->
<complexType name="decimalItemType">
<simpleContent>
<extension base="decimal">
<attribute name="numericContext" type="IDREF" use="required"/>
<anyAttribute namespace="##any" processContents="lax"/>
</extension>
</simpleContent>
</complexType>
<!-- stringItemType -->
<complexType name="stringItemType">
<simpleContent>
<extension base="string">
<attribute name="nonNumericContext" type="IDREF" use="required"/>
<anyAttribute namespace="##any" processContents="lax"/>
</extension>
</simpleContent>
</complexType>
<!-- uriItemType -->
<complexType name="uriItemType">
<simpleContent>
<extension base="anyURI">
<attribute name="nonNumericContext" type="IDREF" use="required"/>
<anyAttribute namespace="##any" processContents="lax"/>
</extension>
</simpleContent>
</complexType>
<!-- dateTimeItemType -->
<complexType name="dateTimeItemType">
<simpleContent>
<extension base="xbrli:dateUnion">
<attribute name="nonNumericContext" type="IDREF" use="required"/>
<anyAttribute namespace="##any" processContents="lax"/>
</extension>
</simpleContent>
</complexType>
<!-- item -->
<element name="item" type="xbrli:itemType" abstract="true"/>
</schema>C’est le fichier qui contient les données.
Comme tous les fichiers (XML, DTS, CSS...) dont on va parler dans ce chapitre, il est au format texte.
Le fichier XML débute par une entête qui donne la version de XML et la langue des caractères utilisés dans le document :
<?xml version="1.0" encoding="iso-8859-1"?>Ensuite une balise spéciale nommée "élément racine" (ici la balise catalogue) qui va englober tous les autres éléments du fichier :
<catalogue>
[...]
</catalogue>nota : il ne peut y avoir qu’une seule balise racine de ce type dans le document.
Au sein de cette balise vont venir se placer les éléments de données. Ces éléments peuvent être des éléments conteneurs ou des éléments contenus :
<catalogue>
<voiture>
<marque>RENAULT</marque>
<modele>Dauphine</modele>
<type>R1090</type>
</voiture>
</catalogue>Dans cet exemple l’élément racine est catalogue, l’élément conteneur est voiture, et les éléments contenus sont marque, modele, et type.
