38
XML XML eXtensible Markup Language eXtensible Markup Language Benjamin SACLIER (MFI) Benjamin SACLIER (MFI) Sources : Sources : Georges Gardarin, Georges Gardarin, Jean- Pierre Fournier

XML eXtensible Markup Language

  • Upload
    lahela

  • View
    70

  • Download
    1

Embed Size (px)

DESCRIPTION

XML eXtensible Markup Language. Benjamin SACLIER (MFI) Sources : Georges Gardarin, Jean-Pierre Fournier. XML est issu de la Gestion de Documents (GED) Séparation du fond de la forme . Forme = présentation à partir de la structure (style) Fond = structure + données (contenu) - PowerPoint PPT Presentation

Citation preview

Page 1: XML eXtensible Markup Language

XMLXMLeXtensible Markup eXtensible Markup

LanguageLanguage

Benjamin SACLIER (MFI)Benjamin SACLIER (MFI)Sources Sources Georges Gardarin Georges Gardarin Jean-Pierre

Fournier

XML est issu de la Gestion de Documents (GED)Seacuteparation du fond de la forme Forme = preacutesentation agrave partir de la structure (style) Fond = structure + donneacutees (contenu)

Langage agrave balises encadrement des champs par des balises deacutebut et

fin

Multiples preacutecurseurs dont les plus connues SGML pour la structuration HTML pour la preacutesentation

XML= un nouveau langage deacutechange baseacute sur le balisageXML= plus simple que SGMLXML= plus ouvert que HTMLXML = deacuteveloppeacute par XML Working Group dirigeacute par le W3C (depuis 1996)XML 10 = recommandation officielle du W3C depuis le 10 feacutevrier 1998

XMLXML

Langage portable eacutechangeable universellisiblepreacutesentable (navigateurs Web)Avec garantie possible de coheacuterence des donneacuteessans SGBD mais compatible avec tous les SGBD (import-export)

XML standardise la maniegravere dont linformation est eacutechangeacutee preacutesenteacutee archiveacutee retrouveacutee transformeacutee crypteacutee

XML crsquoest quoi XML crsquoest quoi

un langage de balises heacuteritier de html sgmlhellipun meacutetalangage lrsquoutilisateur deacutefinit lui-mecircme ses balises

exemple xml ltcoucougtUn texteltcoucougt

XML exemple simpleXML exemple simple

ltxml version=10 encoding=UTF-8gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgtArthurltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgt91400ltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Encodagepar deacutefautEncodagepar deacutefaut

Balises ouvrantes

et fermantes

Balises ouvrantes

et fermantes

Balise avec attributs

Balise avec attributs

Exemple completExemple complet

Modegravele arborescentModegravele arborescent

RestaurantManager

Adresse

No

Rue

Ville

Le Moulin de Mougin

Dupuis

7

Des Vignes

Mougin

FranccedilaisType

Cateacutegorie

Nom

Au point ougrave nous en Au point ougrave nous en sommessommes

Au point ougrave nous en sommes un document XML est identique agrave un fichier textuel mais il est un peu plus portable (indication de

lrsquoencodage employeacute) chaque information est associeacutee agrave une laquo

eacutetiquette raquo sa balise donc plus facilement identifiable et controcirclable

la qualiteacute de sa structure est facile agrave veacuterifier pour lrsquoinstant la coheacuterence de ses

informations nrsquoest pas garantiehellip

Incoheacuterences Incoheacuterences seacutemantiqueseacutemantique

Exemple drsquoun fichier XML de structure correcte avec des incoheacuterences seacutemantiques

ltxml version=10 encoding=UTF-8gtlt-- commentaire xml --gtltlistePersonnesgtltpersonne statut=etudiantgtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltnumerogt10ltnumerogtltadresse pays=Francegtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Preacutenom numeacuterique

numeacutero mal placeacuteadresse incomplegravetehellip

Controcircle du xmlControcircle du xml

XML nrsquoest vraiment puissant que si la coheacuterence est controcircleacutee pour cela deux technologies au choix le DTD

bull rudimentaire mais suffisant dans la plupart des cas bull syntaxe diffeacuterente

le XML-Scheacutemabull puissant (donneacutees plus fortement typeacutees)bull syntaxe de style xml

DTD ouet scheacutema permettent de deacutefinir son propre langage baseacute sur XML Vocabulaire (balises) Grammaire (imbrications)

les donneacutees de controcircle peuvent ecirctre dans le fichier xml lui-mecircme dans un fichier annexe sur le Web

DTDDTD

Une DTD deacutecrit les balises autoriseacutees dans un document xml lrsquoordre dans lequel elles doivent ecirctre imbriqueacutees leurs eacuteventuels attributs les types des informations qursquoelles encapsulent

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt

Lien xml DTD Lien xml DTD seacutepareacuteeseacutepareacutee

ltxml version=10 encoding=iso-8859-1gtltDOCTYPE listePersonnes SYSTEM listePersonnesdtd

gtltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

XML DTD 1 seul XML DTD 1 seul fichierfichier

ltxml version=10 encoding=iso-8859-1 standalone=yesgtltDOCTYPE listePersonnes [ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt]gtltlistePersonnesgtltpersonnegtltstatut libelleacute=etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Lien DTD webLien DTD web

ltxml version=10 encoding=iso-8859-1 standalone=nogtltDOChTtYtPpE

lilsotceaPlehrossotnnleisstSeYPSeTrEsMo nnesdtd gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Deacuteclaration Deacuteclaration deacuteleacutement simpledeacuteleacutement simple

lt ELEMENT balise (deacutefinition) gt Le paramegravetre deacutefinition repreacutesente soit un type

de donneacutee preacutedeacutefini soit un eacuteleacutement de donneacutees composeacute constitueacute lui mecircme deacuteleacutements

Types preacutedeacutefinisbull ANY Leacuteleacutement peut contenir tout type de donneacutee

bull EMPTY Leacuteleacutement ne contient pas de donneacutees speacutecifiques

bull PCDATA Leacuteleacutement doit contenir une chaicircne de caractegravere

Deacuteclaration Deacuteclaration deacuteleacutement composeacutedeacuteleacutement composeacute

Deacutefinit une seacutequence ou un choix deacuteleacutementsSyntaxe speacutecifique avec opeacuterateurs de composition deacuteleacutements lt ELEMENT balise (composition) gt

Opeacuterateur Signification Exemple + Leacuteleacutement doit ecirctre preacutesent au minimum une fois A+ Leacuteleacutement peut ecirctre preacutesent plusieurs fois (ou aucune) A Leacuteleacutement peut ecirctre optionnellement preacutesent A | Leacuteleacutement A ou B peuvent ecirctre preacutesents (pas les deux) A|B Leacuteleacutement A doit ecirctre preacutesent et suivi de leacuteleacutement B AB

() Les parenthegraveses permettent de regrouper des eacuteleacutements afin de leur appliquer les autres opeacuterateurs

(AB)+

Deacuteclaration Deacuteclaration drsquoattributsdrsquoattributs

lt ATTLIST balise Attribut Type Mode gt balise speacutecifie leacuteleacutement auquel est attacheacute lattributAttribut est le nom de lattribut deacuteclareacuteType deacutefinit le type de donneacutee de lattribut choisi parmi CDATA

bull Chaicircnes de caractegraveres entre guillemets (aa) non analyseacutees Enumeacuteration

bull Liste de valeurs seacutepareacutees par | bull lt ATTLIST balise Attribut (Valeur1 | Valeur2 | ) gt

ID et IDREFbull Cleacute et reacutefeacuterence agrave cleacute

Mode preacutecise le caractegravere obligatoire ou non de lattribut REQUIRED IMPLIED ou FIXED

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 2: XML eXtensible Markup Language

XML est issu de la Gestion de Documents (GED)Seacuteparation du fond de la forme Forme = preacutesentation agrave partir de la structure (style) Fond = structure + donneacutees (contenu)

Langage agrave balises encadrement des champs par des balises deacutebut et

fin

Multiples preacutecurseurs dont les plus connues SGML pour la structuration HTML pour la preacutesentation

XML= un nouveau langage deacutechange baseacute sur le balisageXML= plus simple que SGMLXML= plus ouvert que HTMLXML = deacuteveloppeacute par XML Working Group dirigeacute par le W3C (depuis 1996)XML 10 = recommandation officielle du W3C depuis le 10 feacutevrier 1998

XMLXML

Langage portable eacutechangeable universellisiblepreacutesentable (navigateurs Web)Avec garantie possible de coheacuterence des donneacuteessans SGBD mais compatible avec tous les SGBD (import-export)

XML standardise la maniegravere dont linformation est eacutechangeacutee preacutesenteacutee archiveacutee retrouveacutee transformeacutee crypteacutee

XML crsquoest quoi XML crsquoest quoi

un langage de balises heacuteritier de html sgmlhellipun meacutetalangage lrsquoutilisateur deacutefinit lui-mecircme ses balises

exemple xml ltcoucougtUn texteltcoucougt

XML exemple simpleXML exemple simple

ltxml version=10 encoding=UTF-8gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgtArthurltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgt91400ltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Encodagepar deacutefautEncodagepar deacutefaut

Balises ouvrantes

et fermantes

Balises ouvrantes

et fermantes

Balise avec attributs

Balise avec attributs

Exemple completExemple complet

Modegravele arborescentModegravele arborescent

RestaurantManager

Adresse

No

Rue

Ville

Le Moulin de Mougin

Dupuis

7

Des Vignes

Mougin

FranccedilaisType

Cateacutegorie

Nom

Au point ougrave nous en Au point ougrave nous en sommessommes

Au point ougrave nous en sommes un document XML est identique agrave un fichier textuel mais il est un peu plus portable (indication de

lrsquoencodage employeacute) chaque information est associeacutee agrave une laquo

eacutetiquette raquo sa balise donc plus facilement identifiable et controcirclable

la qualiteacute de sa structure est facile agrave veacuterifier pour lrsquoinstant la coheacuterence de ses

informations nrsquoest pas garantiehellip

Incoheacuterences Incoheacuterences seacutemantiqueseacutemantique

Exemple drsquoun fichier XML de structure correcte avec des incoheacuterences seacutemantiques

ltxml version=10 encoding=UTF-8gtlt-- commentaire xml --gtltlistePersonnesgtltpersonne statut=etudiantgtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltnumerogt10ltnumerogtltadresse pays=Francegtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Preacutenom numeacuterique

numeacutero mal placeacuteadresse incomplegravetehellip

Controcircle du xmlControcircle du xml

XML nrsquoest vraiment puissant que si la coheacuterence est controcircleacutee pour cela deux technologies au choix le DTD

bull rudimentaire mais suffisant dans la plupart des cas bull syntaxe diffeacuterente

le XML-Scheacutemabull puissant (donneacutees plus fortement typeacutees)bull syntaxe de style xml

DTD ouet scheacutema permettent de deacutefinir son propre langage baseacute sur XML Vocabulaire (balises) Grammaire (imbrications)

les donneacutees de controcircle peuvent ecirctre dans le fichier xml lui-mecircme dans un fichier annexe sur le Web

DTDDTD

Une DTD deacutecrit les balises autoriseacutees dans un document xml lrsquoordre dans lequel elles doivent ecirctre imbriqueacutees leurs eacuteventuels attributs les types des informations qursquoelles encapsulent

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt

Lien xml DTD Lien xml DTD seacutepareacuteeseacutepareacutee

ltxml version=10 encoding=iso-8859-1gtltDOCTYPE listePersonnes SYSTEM listePersonnesdtd

gtltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

XML DTD 1 seul XML DTD 1 seul fichierfichier

ltxml version=10 encoding=iso-8859-1 standalone=yesgtltDOCTYPE listePersonnes [ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt]gtltlistePersonnesgtltpersonnegtltstatut libelleacute=etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Lien DTD webLien DTD web

ltxml version=10 encoding=iso-8859-1 standalone=nogtltDOChTtYtPpE

lilsotceaPlehrossotnnleisstSeYPSeTrEsMo nnesdtd gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Deacuteclaration Deacuteclaration deacuteleacutement simpledeacuteleacutement simple

lt ELEMENT balise (deacutefinition) gt Le paramegravetre deacutefinition repreacutesente soit un type

de donneacutee preacutedeacutefini soit un eacuteleacutement de donneacutees composeacute constitueacute lui mecircme deacuteleacutements

Types preacutedeacutefinisbull ANY Leacuteleacutement peut contenir tout type de donneacutee

bull EMPTY Leacuteleacutement ne contient pas de donneacutees speacutecifiques

bull PCDATA Leacuteleacutement doit contenir une chaicircne de caractegravere

Deacuteclaration Deacuteclaration deacuteleacutement composeacutedeacuteleacutement composeacute

Deacutefinit une seacutequence ou un choix deacuteleacutementsSyntaxe speacutecifique avec opeacuterateurs de composition deacuteleacutements lt ELEMENT balise (composition) gt

Opeacuterateur Signification Exemple + Leacuteleacutement doit ecirctre preacutesent au minimum une fois A+ Leacuteleacutement peut ecirctre preacutesent plusieurs fois (ou aucune) A Leacuteleacutement peut ecirctre optionnellement preacutesent A | Leacuteleacutement A ou B peuvent ecirctre preacutesents (pas les deux) A|B Leacuteleacutement A doit ecirctre preacutesent et suivi de leacuteleacutement B AB

() Les parenthegraveses permettent de regrouper des eacuteleacutements afin de leur appliquer les autres opeacuterateurs

(AB)+

Deacuteclaration Deacuteclaration drsquoattributsdrsquoattributs

lt ATTLIST balise Attribut Type Mode gt balise speacutecifie leacuteleacutement auquel est attacheacute lattributAttribut est le nom de lattribut deacuteclareacuteType deacutefinit le type de donneacutee de lattribut choisi parmi CDATA

bull Chaicircnes de caractegraveres entre guillemets (aa) non analyseacutees Enumeacuteration

bull Liste de valeurs seacutepareacutees par | bull lt ATTLIST balise Attribut (Valeur1 | Valeur2 | ) gt

ID et IDREFbull Cleacute et reacutefeacuterence agrave cleacute

Mode preacutecise le caractegravere obligatoire ou non de lattribut REQUIRED IMPLIED ou FIXED

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 3: XML eXtensible Markup Language

XML= un nouveau langage deacutechange baseacute sur le balisageXML= plus simple que SGMLXML= plus ouvert que HTMLXML = deacuteveloppeacute par XML Working Group dirigeacute par le W3C (depuis 1996)XML 10 = recommandation officielle du W3C depuis le 10 feacutevrier 1998

XMLXML

Langage portable eacutechangeable universellisiblepreacutesentable (navigateurs Web)Avec garantie possible de coheacuterence des donneacuteessans SGBD mais compatible avec tous les SGBD (import-export)

XML standardise la maniegravere dont linformation est eacutechangeacutee preacutesenteacutee archiveacutee retrouveacutee transformeacutee crypteacutee

XML crsquoest quoi XML crsquoest quoi

un langage de balises heacuteritier de html sgmlhellipun meacutetalangage lrsquoutilisateur deacutefinit lui-mecircme ses balises

exemple xml ltcoucougtUn texteltcoucougt

XML exemple simpleXML exemple simple

ltxml version=10 encoding=UTF-8gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgtArthurltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgt91400ltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Encodagepar deacutefautEncodagepar deacutefaut

Balises ouvrantes

et fermantes

Balises ouvrantes

et fermantes

Balise avec attributs

Balise avec attributs

Exemple completExemple complet

Modegravele arborescentModegravele arborescent

RestaurantManager

Adresse

No

Rue

Ville

Le Moulin de Mougin

Dupuis

7

Des Vignes

Mougin

FranccedilaisType

Cateacutegorie

Nom

Au point ougrave nous en Au point ougrave nous en sommessommes

Au point ougrave nous en sommes un document XML est identique agrave un fichier textuel mais il est un peu plus portable (indication de

lrsquoencodage employeacute) chaque information est associeacutee agrave une laquo

eacutetiquette raquo sa balise donc plus facilement identifiable et controcirclable

la qualiteacute de sa structure est facile agrave veacuterifier pour lrsquoinstant la coheacuterence de ses

informations nrsquoest pas garantiehellip

Incoheacuterences Incoheacuterences seacutemantiqueseacutemantique

Exemple drsquoun fichier XML de structure correcte avec des incoheacuterences seacutemantiques

ltxml version=10 encoding=UTF-8gtlt-- commentaire xml --gtltlistePersonnesgtltpersonne statut=etudiantgtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltnumerogt10ltnumerogtltadresse pays=Francegtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Preacutenom numeacuterique

numeacutero mal placeacuteadresse incomplegravetehellip

Controcircle du xmlControcircle du xml

XML nrsquoest vraiment puissant que si la coheacuterence est controcircleacutee pour cela deux technologies au choix le DTD

bull rudimentaire mais suffisant dans la plupart des cas bull syntaxe diffeacuterente

le XML-Scheacutemabull puissant (donneacutees plus fortement typeacutees)bull syntaxe de style xml

DTD ouet scheacutema permettent de deacutefinir son propre langage baseacute sur XML Vocabulaire (balises) Grammaire (imbrications)

les donneacutees de controcircle peuvent ecirctre dans le fichier xml lui-mecircme dans un fichier annexe sur le Web

DTDDTD

Une DTD deacutecrit les balises autoriseacutees dans un document xml lrsquoordre dans lequel elles doivent ecirctre imbriqueacutees leurs eacuteventuels attributs les types des informations qursquoelles encapsulent

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt

Lien xml DTD Lien xml DTD seacutepareacuteeseacutepareacutee

ltxml version=10 encoding=iso-8859-1gtltDOCTYPE listePersonnes SYSTEM listePersonnesdtd

gtltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

XML DTD 1 seul XML DTD 1 seul fichierfichier

ltxml version=10 encoding=iso-8859-1 standalone=yesgtltDOCTYPE listePersonnes [ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt]gtltlistePersonnesgtltpersonnegtltstatut libelleacute=etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Lien DTD webLien DTD web

ltxml version=10 encoding=iso-8859-1 standalone=nogtltDOChTtYtPpE

lilsotceaPlehrossotnnleisstSeYPSeTrEsMo nnesdtd gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Deacuteclaration Deacuteclaration deacuteleacutement simpledeacuteleacutement simple

lt ELEMENT balise (deacutefinition) gt Le paramegravetre deacutefinition repreacutesente soit un type

de donneacutee preacutedeacutefini soit un eacuteleacutement de donneacutees composeacute constitueacute lui mecircme deacuteleacutements

Types preacutedeacutefinisbull ANY Leacuteleacutement peut contenir tout type de donneacutee

bull EMPTY Leacuteleacutement ne contient pas de donneacutees speacutecifiques

bull PCDATA Leacuteleacutement doit contenir une chaicircne de caractegravere

Deacuteclaration Deacuteclaration deacuteleacutement composeacutedeacuteleacutement composeacute

Deacutefinit une seacutequence ou un choix deacuteleacutementsSyntaxe speacutecifique avec opeacuterateurs de composition deacuteleacutements lt ELEMENT balise (composition) gt

Opeacuterateur Signification Exemple + Leacuteleacutement doit ecirctre preacutesent au minimum une fois A+ Leacuteleacutement peut ecirctre preacutesent plusieurs fois (ou aucune) A Leacuteleacutement peut ecirctre optionnellement preacutesent A | Leacuteleacutement A ou B peuvent ecirctre preacutesents (pas les deux) A|B Leacuteleacutement A doit ecirctre preacutesent et suivi de leacuteleacutement B AB

() Les parenthegraveses permettent de regrouper des eacuteleacutements afin de leur appliquer les autres opeacuterateurs

(AB)+

Deacuteclaration Deacuteclaration drsquoattributsdrsquoattributs

lt ATTLIST balise Attribut Type Mode gt balise speacutecifie leacuteleacutement auquel est attacheacute lattributAttribut est le nom de lattribut deacuteclareacuteType deacutefinit le type de donneacutee de lattribut choisi parmi CDATA

bull Chaicircnes de caractegraveres entre guillemets (aa) non analyseacutees Enumeacuteration

bull Liste de valeurs seacutepareacutees par | bull lt ATTLIST balise Attribut (Valeur1 | Valeur2 | ) gt

ID et IDREFbull Cleacute et reacutefeacuterence agrave cleacute

Mode preacutecise le caractegravere obligatoire ou non de lattribut REQUIRED IMPLIED ou FIXED

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 4: XML eXtensible Markup Language

XMLXML

Langage portable eacutechangeable universellisiblepreacutesentable (navigateurs Web)Avec garantie possible de coheacuterence des donneacuteessans SGBD mais compatible avec tous les SGBD (import-export)

XML standardise la maniegravere dont linformation est eacutechangeacutee preacutesenteacutee archiveacutee retrouveacutee transformeacutee crypteacutee

XML crsquoest quoi XML crsquoest quoi

un langage de balises heacuteritier de html sgmlhellipun meacutetalangage lrsquoutilisateur deacutefinit lui-mecircme ses balises

exemple xml ltcoucougtUn texteltcoucougt

XML exemple simpleXML exemple simple

ltxml version=10 encoding=UTF-8gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgtArthurltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgt91400ltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Encodagepar deacutefautEncodagepar deacutefaut

Balises ouvrantes

et fermantes

Balises ouvrantes

et fermantes

Balise avec attributs

Balise avec attributs

Exemple completExemple complet

Modegravele arborescentModegravele arborescent

RestaurantManager

Adresse

No

Rue

Ville

Le Moulin de Mougin

Dupuis

7

Des Vignes

Mougin

FranccedilaisType

Cateacutegorie

Nom

Au point ougrave nous en Au point ougrave nous en sommessommes

Au point ougrave nous en sommes un document XML est identique agrave un fichier textuel mais il est un peu plus portable (indication de

lrsquoencodage employeacute) chaque information est associeacutee agrave une laquo

eacutetiquette raquo sa balise donc plus facilement identifiable et controcirclable

la qualiteacute de sa structure est facile agrave veacuterifier pour lrsquoinstant la coheacuterence de ses

informations nrsquoest pas garantiehellip

Incoheacuterences Incoheacuterences seacutemantiqueseacutemantique

Exemple drsquoun fichier XML de structure correcte avec des incoheacuterences seacutemantiques

ltxml version=10 encoding=UTF-8gtlt-- commentaire xml --gtltlistePersonnesgtltpersonne statut=etudiantgtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltnumerogt10ltnumerogtltadresse pays=Francegtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Preacutenom numeacuterique

numeacutero mal placeacuteadresse incomplegravetehellip

Controcircle du xmlControcircle du xml

XML nrsquoest vraiment puissant que si la coheacuterence est controcircleacutee pour cela deux technologies au choix le DTD

bull rudimentaire mais suffisant dans la plupart des cas bull syntaxe diffeacuterente

le XML-Scheacutemabull puissant (donneacutees plus fortement typeacutees)bull syntaxe de style xml

DTD ouet scheacutema permettent de deacutefinir son propre langage baseacute sur XML Vocabulaire (balises) Grammaire (imbrications)

les donneacutees de controcircle peuvent ecirctre dans le fichier xml lui-mecircme dans un fichier annexe sur le Web

DTDDTD

Une DTD deacutecrit les balises autoriseacutees dans un document xml lrsquoordre dans lequel elles doivent ecirctre imbriqueacutees leurs eacuteventuels attributs les types des informations qursquoelles encapsulent

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt

Lien xml DTD Lien xml DTD seacutepareacuteeseacutepareacutee

ltxml version=10 encoding=iso-8859-1gtltDOCTYPE listePersonnes SYSTEM listePersonnesdtd

gtltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

XML DTD 1 seul XML DTD 1 seul fichierfichier

ltxml version=10 encoding=iso-8859-1 standalone=yesgtltDOCTYPE listePersonnes [ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt]gtltlistePersonnesgtltpersonnegtltstatut libelleacute=etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Lien DTD webLien DTD web

ltxml version=10 encoding=iso-8859-1 standalone=nogtltDOChTtYtPpE

lilsotceaPlehrossotnnleisstSeYPSeTrEsMo nnesdtd gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Deacuteclaration Deacuteclaration deacuteleacutement simpledeacuteleacutement simple

lt ELEMENT balise (deacutefinition) gt Le paramegravetre deacutefinition repreacutesente soit un type

de donneacutee preacutedeacutefini soit un eacuteleacutement de donneacutees composeacute constitueacute lui mecircme deacuteleacutements

Types preacutedeacutefinisbull ANY Leacuteleacutement peut contenir tout type de donneacutee

bull EMPTY Leacuteleacutement ne contient pas de donneacutees speacutecifiques

bull PCDATA Leacuteleacutement doit contenir une chaicircne de caractegravere

Deacuteclaration Deacuteclaration deacuteleacutement composeacutedeacuteleacutement composeacute

Deacutefinit une seacutequence ou un choix deacuteleacutementsSyntaxe speacutecifique avec opeacuterateurs de composition deacuteleacutements lt ELEMENT balise (composition) gt

Opeacuterateur Signification Exemple + Leacuteleacutement doit ecirctre preacutesent au minimum une fois A+ Leacuteleacutement peut ecirctre preacutesent plusieurs fois (ou aucune) A Leacuteleacutement peut ecirctre optionnellement preacutesent A | Leacuteleacutement A ou B peuvent ecirctre preacutesents (pas les deux) A|B Leacuteleacutement A doit ecirctre preacutesent et suivi de leacuteleacutement B AB

() Les parenthegraveses permettent de regrouper des eacuteleacutements afin de leur appliquer les autres opeacuterateurs

(AB)+

Deacuteclaration Deacuteclaration drsquoattributsdrsquoattributs

lt ATTLIST balise Attribut Type Mode gt balise speacutecifie leacuteleacutement auquel est attacheacute lattributAttribut est le nom de lattribut deacuteclareacuteType deacutefinit le type de donneacutee de lattribut choisi parmi CDATA

bull Chaicircnes de caractegraveres entre guillemets (aa) non analyseacutees Enumeacuteration

bull Liste de valeurs seacutepareacutees par | bull lt ATTLIST balise Attribut (Valeur1 | Valeur2 | ) gt

ID et IDREFbull Cleacute et reacutefeacuterence agrave cleacute

Mode preacutecise le caractegravere obligatoire ou non de lattribut REQUIRED IMPLIED ou FIXED

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 5: XML eXtensible Markup Language

XML standardise la maniegravere dont linformation est eacutechangeacutee preacutesenteacutee archiveacutee retrouveacutee transformeacutee crypteacutee

XML crsquoest quoi XML crsquoest quoi

un langage de balises heacuteritier de html sgmlhellipun meacutetalangage lrsquoutilisateur deacutefinit lui-mecircme ses balises

exemple xml ltcoucougtUn texteltcoucougt

XML exemple simpleXML exemple simple

ltxml version=10 encoding=UTF-8gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgtArthurltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgt91400ltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Encodagepar deacutefautEncodagepar deacutefaut

Balises ouvrantes

et fermantes

Balises ouvrantes

et fermantes

Balise avec attributs

Balise avec attributs

Exemple completExemple complet

Modegravele arborescentModegravele arborescent

RestaurantManager

Adresse

No

Rue

Ville

Le Moulin de Mougin

Dupuis

7

Des Vignes

Mougin

FranccedilaisType

Cateacutegorie

Nom

Au point ougrave nous en Au point ougrave nous en sommessommes

Au point ougrave nous en sommes un document XML est identique agrave un fichier textuel mais il est un peu plus portable (indication de

lrsquoencodage employeacute) chaque information est associeacutee agrave une laquo

eacutetiquette raquo sa balise donc plus facilement identifiable et controcirclable

la qualiteacute de sa structure est facile agrave veacuterifier pour lrsquoinstant la coheacuterence de ses

informations nrsquoest pas garantiehellip

Incoheacuterences Incoheacuterences seacutemantiqueseacutemantique

Exemple drsquoun fichier XML de structure correcte avec des incoheacuterences seacutemantiques

ltxml version=10 encoding=UTF-8gtlt-- commentaire xml --gtltlistePersonnesgtltpersonne statut=etudiantgtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltnumerogt10ltnumerogtltadresse pays=Francegtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Preacutenom numeacuterique

numeacutero mal placeacuteadresse incomplegravetehellip

Controcircle du xmlControcircle du xml

XML nrsquoest vraiment puissant que si la coheacuterence est controcircleacutee pour cela deux technologies au choix le DTD

bull rudimentaire mais suffisant dans la plupart des cas bull syntaxe diffeacuterente

le XML-Scheacutemabull puissant (donneacutees plus fortement typeacutees)bull syntaxe de style xml

DTD ouet scheacutema permettent de deacutefinir son propre langage baseacute sur XML Vocabulaire (balises) Grammaire (imbrications)

les donneacutees de controcircle peuvent ecirctre dans le fichier xml lui-mecircme dans un fichier annexe sur le Web

DTDDTD

Une DTD deacutecrit les balises autoriseacutees dans un document xml lrsquoordre dans lequel elles doivent ecirctre imbriqueacutees leurs eacuteventuels attributs les types des informations qursquoelles encapsulent

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt

Lien xml DTD Lien xml DTD seacutepareacuteeseacutepareacutee

ltxml version=10 encoding=iso-8859-1gtltDOCTYPE listePersonnes SYSTEM listePersonnesdtd

gtltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

XML DTD 1 seul XML DTD 1 seul fichierfichier

ltxml version=10 encoding=iso-8859-1 standalone=yesgtltDOCTYPE listePersonnes [ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt]gtltlistePersonnesgtltpersonnegtltstatut libelleacute=etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Lien DTD webLien DTD web

ltxml version=10 encoding=iso-8859-1 standalone=nogtltDOChTtYtPpE

lilsotceaPlehrossotnnleisstSeYPSeTrEsMo nnesdtd gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Deacuteclaration Deacuteclaration deacuteleacutement simpledeacuteleacutement simple

lt ELEMENT balise (deacutefinition) gt Le paramegravetre deacutefinition repreacutesente soit un type

de donneacutee preacutedeacutefini soit un eacuteleacutement de donneacutees composeacute constitueacute lui mecircme deacuteleacutements

Types preacutedeacutefinisbull ANY Leacuteleacutement peut contenir tout type de donneacutee

bull EMPTY Leacuteleacutement ne contient pas de donneacutees speacutecifiques

bull PCDATA Leacuteleacutement doit contenir une chaicircne de caractegravere

Deacuteclaration Deacuteclaration deacuteleacutement composeacutedeacuteleacutement composeacute

Deacutefinit une seacutequence ou un choix deacuteleacutementsSyntaxe speacutecifique avec opeacuterateurs de composition deacuteleacutements lt ELEMENT balise (composition) gt

Opeacuterateur Signification Exemple + Leacuteleacutement doit ecirctre preacutesent au minimum une fois A+ Leacuteleacutement peut ecirctre preacutesent plusieurs fois (ou aucune) A Leacuteleacutement peut ecirctre optionnellement preacutesent A | Leacuteleacutement A ou B peuvent ecirctre preacutesents (pas les deux) A|B Leacuteleacutement A doit ecirctre preacutesent et suivi de leacuteleacutement B AB

() Les parenthegraveses permettent de regrouper des eacuteleacutements afin de leur appliquer les autres opeacuterateurs

(AB)+

Deacuteclaration Deacuteclaration drsquoattributsdrsquoattributs

lt ATTLIST balise Attribut Type Mode gt balise speacutecifie leacuteleacutement auquel est attacheacute lattributAttribut est le nom de lattribut deacuteclareacuteType deacutefinit le type de donneacutee de lattribut choisi parmi CDATA

bull Chaicircnes de caractegraveres entre guillemets (aa) non analyseacutees Enumeacuteration

bull Liste de valeurs seacutepareacutees par | bull lt ATTLIST balise Attribut (Valeur1 | Valeur2 | ) gt

ID et IDREFbull Cleacute et reacutefeacuterence agrave cleacute

Mode preacutecise le caractegravere obligatoire ou non de lattribut REQUIRED IMPLIED ou FIXED

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 6: XML eXtensible Markup Language

XML crsquoest quoi XML crsquoest quoi

un langage de balises heacuteritier de html sgmlhellipun meacutetalangage lrsquoutilisateur deacutefinit lui-mecircme ses balises

exemple xml ltcoucougtUn texteltcoucougt

XML exemple simpleXML exemple simple

ltxml version=10 encoding=UTF-8gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgtArthurltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgt91400ltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Encodagepar deacutefautEncodagepar deacutefaut

Balises ouvrantes

et fermantes

Balises ouvrantes

et fermantes

Balise avec attributs

Balise avec attributs

Exemple completExemple complet

Modegravele arborescentModegravele arborescent

RestaurantManager

Adresse

No

Rue

Ville

Le Moulin de Mougin

Dupuis

7

Des Vignes

Mougin

FranccedilaisType

Cateacutegorie

Nom

Au point ougrave nous en Au point ougrave nous en sommessommes

Au point ougrave nous en sommes un document XML est identique agrave un fichier textuel mais il est un peu plus portable (indication de

lrsquoencodage employeacute) chaque information est associeacutee agrave une laquo

eacutetiquette raquo sa balise donc plus facilement identifiable et controcirclable

la qualiteacute de sa structure est facile agrave veacuterifier pour lrsquoinstant la coheacuterence de ses

informations nrsquoest pas garantiehellip

Incoheacuterences Incoheacuterences seacutemantiqueseacutemantique

Exemple drsquoun fichier XML de structure correcte avec des incoheacuterences seacutemantiques

ltxml version=10 encoding=UTF-8gtlt-- commentaire xml --gtltlistePersonnesgtltpersonne statut=etudiantgtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltnumerogt10ltnumerogtltadresse pays=Francegtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Preacutenom numeacuterique

numeacutero mal placeacuteadresse incomplegravetehellip

Controcircle du xmlControcircle du xml

XML nrsquoest vraiment puissant que si la coheacuterence est controcircleacutee pour cela deux technologies au choix le DTD

bull rudimentaire mais suffisant dans la plupart des cas bull syntaxe diffeacuterente

le XML-Scheacutemabull puissant (donneacutees plus fortement typeacutees)bull syntaxe de style xml

DTD ouet scheacutema permettent de deacutefinir son propre langage baseacute sur XML Vocabulaire (balises) Grammaire (imbrications)

les donneacutees de controcircle peuvent ecirctre dans le fichier xml lui-mecircme dans un fichier annexe sur le Web

DTDDTD

Une DTD deacutecrit les balises autoriseacutees dans un document xml lrsquoordre dans lequel elles doivent ecirctre imbriqueacutees leurs eacuteventuels attributs les types des informations qursquoelles encapsulent

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt

Lien xml DTD Lien xml DTD seacutepareacuteeseacutepareacutee

ltxml version=10 encoding=iso-8859-1gtltDOCTYPE listePersonnes SYSTEM listePersonnesdtd

gtltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

XML DTD 1 seul XML DTD 1 seul fichierfichier

ltxml version=10 encoding=iso-8859-1 standalone=yesgtltDOCTYPE listePersonnes [ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt]gtltlistePersonnesgtltpersonnegtltstatut libelleacute=etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Lien DTD webLien DTD web

ltxml version=10 encoding=iso-8859-1 standalone=nogtltDOChTtYtPpE

lilsotceaPlehrossotnnleisstSeYPSeTrEsMo nnesdtd gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Deacuteclaration Deacuteclaration deacuteleacutement simpledeacuteleacutement simple

lt ELEMENT balise (deacutefinition) gt Le paramegravetre deacutefinition repreacutesente soit un type

de donneacutee preacutedeacutefini soit un eacuteleacutement de donneacutees composeacute constitueacute lui mecircme deacuteleacutements

Types preacutedeacutefinisbull ANY Leacuteleacutement peut contenir tout type de donneacutee

bull EMPTY Leacuteleacutement ne contient pas de donneacutees speacutecifiques

bull PCDATA Leacuteleacutement doit contenir une chaicircne de caractegravere

Deacuteclaration Deacuteclaration deacuteleacutement composeacutedeacuteleacutement composeacute

Deacutefinit une seacutequence ou un choix deacuteleacutementsSyntaxe speacutecifique avec opeacuterateurs de composition deacuteleacutements lt ELEMENT balise (composition) gt

Opeacuterateur Signification Exemple + Leacuteleacutement doit ecirctre preacutesent au minimum une fois A+ Leacuteleacutement peut ecirctre preacutesent plusieurs fois (ou aucune) A Leacuteleacutement peut ecirctre optionnellement preacutesent A | Leacuteleacutement A ou B peuvent ecirctre preacutesents (pas les deux) A|B Leacuteleacutement A doit ecirctre preacutesent et suivi de leacuteleacutement B AB

() Les parenthegraveses permettent de regrouper des eacuteleacutements afin de leur appliquer les autres opeacuterateurs

(AB)+

Deacuteclaration Deacuteclaration drsquoattributsdrsquoattributs

lt ATTLIST balise Attribut Type Mode gt balise speacutecifie leacuteleacutement auquel est attacheacute lattributAttribut est le nom de lattribut deacuteclareacuteType deacutefinit le type de donneacutee de lattribut choisi parmi CDATA

bull Chaicircnes de caractegraveres entre guillemets (aa) non analyseacutees Enumeacuteration

bull Liste de valeurs seacutepareacutees par | bull lt ATTLIST balise Attribut (Valeur1 | Valeur2 | ) gt

ID et IDREFbull Cleacute et reacutefeacuterence agrave cleacute

Mode preacutecise le caractegravere obligatoire ou non de lattribut REQUIRED IMPLIED ou FIXED

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 7: XML eXtensible Markup Language

XML exemple simpleXML exemple simple

ltxml version=10 encoding=UTF-8gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgtArthurltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgt91400ltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Encodagepar deacutefautEncodagepar deacutefaut

Balises ouvrantes

et fermantes

Balises ouvrantes

et fermantes

Balise avec attributs

Balise avec attributs

Exemple completExemple complet

Modegravele arborescentModegravele arborescent

RestaurantManager

Adresse

No

Rue

Ville

Le Moulin de Mougin

Dupuis

7

Des Vignes

Mougin

FranccedilaisType

Cateacutegorie

Nom

Au point ougrave nous en Au point ougrave nous en sommessommes

Au point ougrave nous en sommes un document XML est identique agrave un fichier textuel mais il est un peu plus portable (indication de

lrsquoencodage employeacute) chaque information est associeacutee agrave une laquo

eacutetiquette raquo sa balise donc plus facilement identifiable et controcirclable

la qualiteacute de sa structure est facile agrave veacuterifier pour lrsquoinstant la coheacuterence de ses

informations nrsquoest pas garantiehellip

Incoheacuterences Incoheacuterences seacutemantiqueseacutemantique

Exemple drsquoun fichier XML de structure correcte avec des incoheacuterences seacutemantiques

ltxml version=10 encoding=UTF-8gtlt-- commentaire xml --gtltlistePersonnesgtltpersonne statut=etudiantgtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltnumerogt10ltnumerogtltadresse pays=Francegtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Preacutenom numeacuterique

numeacutero mal placeacuteadresse incomplegravetehellip

Controcircle du xmlControcircle du xml

XML nrsquoest vraiment puissant que si la coheacuterence est controcircleacutee pour cela deux technologies au choix le DTD

bull rudimentaire mais suffisant dans la plupart des cas bull syntaxe diffeacuterente

le XML-Scheacutemabull puissant (donneacutees plus fortement typeacutees)bull syntaxe de style xml

DTD ouet scheacutema permettent de deacutefinir son propre langage baseacute sur XML Vocabulaire (balises) Grammaire (imbrications)

les donneacutees de controcircle peuvent ecirctre dans le fichier xml lui-mecircme dans un fichier annexe sur le Web

DTDDTD

Une DTD deacutecrit les balises autoriseacutees dans un document xml lrsquoordre dans lequel elles doivent ecirctre imbriqueacutees leurs eacuteventuels attributs les types des informations qursquoelles encapsulent

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt

Lien xml DTD Lien xml DTD seacutepareacuteeseacutepareacutee

ltxml version=10 encoding=iso-8859-1gtltDOCTYPE listePersonnes SYSTEM listePersonnesdtd

gtltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

XML DTD 1 seul XML DTD 1 seul fichierfichier

ltxml version=10 encoding=iso-8859-1 standalone=yesgtltDOCTYPE listePersonnes [ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt]gtltlistePersonnesgtltpersonnegtltstatut libelleacute=etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Lien DTD webLien DTD web

ltxml version=10 encoding=iso-8859-1 standalone=nogtltDOChTtYtPpE

lilsotceaPlehrossotnnleisstSeYPSeTrEsMo nnesdtd gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Deacuteclaration Deacuteclaration deacuteleacutement simpledeacuteleacutement simple

lt ELEMENT balise (deacutefinition) gt Le paramegravetre deacutefinition repreacutesente soit un type

de donneacutee preacutedeacutefini soit un eacuteleacutement de donneacutees composeacute constitueacute lui mecircme deacuteleacutements

Types preacutedeacutefinisbull ANY Leacuteleacutement peut contenir tout type de donneacutee

bull EMPTY Leacuteleacutement ne contient pas de donneacutees speacutecifiques

bull PCDATA Leacuteleacutement doit contenir une chaicircne de caractegravere

Deacuteclaration Deacuteclaration deacuteleacutement composeacutedeacuteleacutement composeacute

Deacutefinit une seacutequence ou un choix deacuteleacutementsSyntaxe speacutecifique avec opeacuterateurs de composition deacuteleacutements lt ELEMENT balise (composition) gt

Opeacuterateur Signification Exemple + Leacuteleacutement doit ecirctre preacutesent au minimum une fois A+ Leacuteleacutement peut ecirctre preacutesent plusieurs fois (ou aucune) A Leacuteleacutement peut ecirctre optionnellement preacutesent A | Leacuteleacutement A ou B peuvent ecirctre preacutesents (pas les deux) A|B Leacuteleacutement A doit ecirctre preacutesent et suivi de leacuteleacutement B AB

() Les parenthegraveses permettent de regrouper des eacuteleacutements afin de leur appliquer les autres opeacuterateurs

(AB)+

Deacuteclaration Deacuteclaration drsquoattributsdrsquoattributs

lt ATTLIST balise Attribut Type Mode gt balise speacutecifie leacuteleacutement auquel est attacheacute lattributAttribut est le nom de lattribut deacuteclareacuteType deacutefinit le type de donneacutee de lattribut choisi parmi CDATA

bull Chaicircnes de caractegraveres entre guillemets (aa) non analyseacutees Enumeacuteration

bull Liste de valeurs seacutepareacutees par | bull lt ATTLIST balise Attribut (Valeur1 | Valeur2 | ) gt

ID et IDREFbull Cleacute et reacutefeacuterence agrave cleacute

Mode preacutecise le caractegravere obligatoire ou non de lattribut REQUIRED IMPLIED ou FIXED

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 8: XML eXtensible Markup Language

Exemple completExemple complet

Modegravele arborescentModegravele arborescent

RestaurantManager

Adresse

No

Rue

Ville

Le Moulin de Mougin

Dupuis

7

Des Vignes

Mougin

FranccedilaisType

Cateacutegorie

Nom

Au point ougrave nous en Au point ougrave nous en sommessommes

Au point ougrave nous en sommes un document XML est identique agrave un fichier textuel mais il est un peu plus portable (indication de

lrsquoencodage employeacute) chaque information est associeacutee agrave une laquo

eacutetiquette raquo sa balise donc plus facilement identifiable et controcirclable

la qualiteacute de sa structure est facile agrave veacuterifier pour lrsquoinstant la coheacuterence de ses

informations nrsquoest pas garantiehellip

Incoheacuterences Incoheacuterences seacutemantiqueseacutemantique

Exemple drsquoun fichier XML de structure correcte avec des incoheacuterences seacutemantiques

ltxml version=10 encoding=UTF-8gtlt-- commentaire xml --gtltlistePersonnesgtltpersonne statut=etudiantgtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltnumerogt10ltnumerogtltadresse pays=Francegtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Preacutenom numeacuterique

numeacutero mal placeacuteadresse incomplegravetehellip

Controcircle du xmlControcircle du xml

XML nrsquoest vraiment puissant que si la coheacuterence est controcircleacutee pour cela deux technologies au choix le DTD

bull rudimentaire mais suffisant dans la plupart des cas bull syntaxe diffeacuterente

le XML-Scheacutemabull puissant (donneacutees plus fortement typeacutees)bull syntaxe de style xml

DTD ouet scheacutema permettent de deacutefinir son propre langage baseacute sur XML Vocabulaire (balises) Grammaire (imbrications)

les donneacutees de controcircle peuvent ecirctre dans le fichier xml lui-mecircme dans un fichier annexe sur le Web

DTDDTD

Une DTD deacutecrit les balises autoriseacutees dans un document xml lrsquoordre dans lequel elles doivent ecirctre imbriqueacutees leurs eacuteventuels attributs les types des informations qursquoelles encapsulent

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt

Lien xml DTD Lien xml DTD seacutepareacuteeseacutepareacutee

ltxml version=10 encoding=iso-8859-1gtltDOCTYPE listePersonnes SYSTEM listePersonnesdtd

gtltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

XML DTD 1 seul XML DTD 1 seul fichierfichier

ltxml version=10 encoding=iso-8859-1 standalone=yesgtltDOCTYPE listePersonnes [ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt]gtltlistePersonnesgtltpersonnegtltstatut libelleacute=etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Lien DTD webLien DTD web

ltxml version=10 encoding=iso-8859-1 standalone=nogtltDOChTtYtPpE

lilsotceaPlehrossotnnleisstSeYPSeTrEsMo nnesdtd gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Deacuteclaration Deacuteclaration deacuteleacutement simpledeacuteleacutement simple

lt ELEMENT balise (deacutefinition) gt Le paramegravetre deacutefinition repreacutesente soit un type

de donneacutee preacutedeacutefini soit un eacuteleacutement de donneacutees composeacute constitueacute lui mecircme deacuteleacutements

Types preacutedeacutefinisbull ANY Leacuteleacutement peut contenir tout type de donneacutee

bull EMPTY Leacuteleacutement ne contient pas de donneacutees speacutecifiques

bull PCDATA Leacuteleacutement doit contenir une chaicircne de caractegravere

Deacuteclaration Deacuteclaration deacuteleacutement composeacutedeacuteleacutement composeacute

Deacutefinit une seacutequence ou un choix deacuteleacutementsSyntaxe speacutecifique avec opeacuterateurs de composition deacuteleacutements lt ELEMENT balise (composition) gt

Opeacuterateur Signification Exemple + Leacuteleacutement doit ecirctre preacutesent au minimum une fois A+ Leacuteleacutement peut ecirctre preacutesent plusieurs fois (ou aucune) A Leacuteleacutement peut ecirctre optionnellement preacutesent A | Leacuteleacutement A ou B peuvent ecirctre preacutesents (pas les deux) A|B Leacuteleacutement A doit ecirctre preacutesent et suivi de leacuteleacutement B AB

() Les parenthegraveses permettent de regrouper des eacuteleacutements afin de leur appliquer les autres opeacuterateurs

(AB)+

Deacuteclaration Deacuteclaration drsquoattributsdrsquoattributs

lt ATTLIST balise Attribut Type Mode gt balise speacutecifie leacuteleacutement auquel est attacheacute lattributAttribut est le nom de lattribut deacuteclareacuteType deacutefinit le type de donneacutee de lattribut choisi parmi CDATA

bull Chaicircnes de caractegraveres entre guillemets (aa) non analyseacutees Enumeacuteration

bull Liste de valeurs seacutepareacutees par | bull lt ATTLIST balise Attribut (Valeur1 | Valeur2 | ) gt

ID et IDREFbull Cleacute et reacutefeacuterence agrave cleacute

Mode preacutecise le caractegravere obligatoire ou non de lattribut REQUIRED IMPLIED ou FIXED

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 9: XML eXtensible Markup Language

Modegravele arborescentModegravele arborescent

RestaurantManager

Adresse

No

Rue

Ville

Le Moulin de Mougin

Dupuis

7

Des Vignes

Mougin

FranccedilaisType

Cateacutegorie

Nom

Au point ougrave nous en Au point ougrave nous en sommessommes

Au point ougrave nous en sommes un document XML est identique agrave un fichier textuel mais il est un peu plus portable (indication de

lrsquoencodage employeacute) chaque information est associeacutee agrave une laquo

eacutetiquette raquo sa balise donc plus facilement identifiable et controcirclable

la qualiteacute de sa structure est facile agrave veacuterifier pour lrsquoinstant la coheacuterence de ses

informations nrsquoest pas garantiehellip

Incoheacuterences Incoheacuterences seacutemantiqueseacutemantique

Exemple drsquoun fichier XML de structure correcte avec des incoheacuterences seacutemantiques

ltxml version=10 encoding=UTF-8gtlt-- commentaire xml --gtltlistePersonnesgtltpersonne statut=etudiantgtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltnumerogt10ltnumerogtltadresse pays=Francegtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Preacutenom numeacuterique

numeacutero mal placeacuteadresse incomplegravetehellip

Controcircle du xmlControcircle du xml

XML nrsquoest vraiment puissant que si la coheacuterence est controcircleacutee pour cela deux technologies au choix le DTD

bull rudimentaire mais suffisant dans la plupart des cas bull syntaxe diffeacuterente

le XML-Scheacutemabull puissant (donneacutees plus fortement typeacutees)bull syntaxe de style xml

DTD ouet scheacutema permettent de deacutefinir son propre langage baseacute sur XML Vocabulaire (balises) Grammaire (imbrications)

les donneacutees de controcircle peuvent ecirctre dans le fichier xml lui-mecircme dans un fichier annexe sur le Web

DTDDTD

Une DTD deacutecrit les balises autoriseacutees dans un document xml lrsquoordre dans lequel elles doivent ecirctre imbriqueacutees leurs eacuteventuels attributs les types des informations qursquoelles encapsulent

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt

Lien xml DTD Lien xml DTD seacutepareacuteeseacutepareacutee

ltxml version=10 encoding=iso-8859-1gtltDOCTYPE listePersonnes SYSTEM listePersonnesdtd

gtltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

XML DTD 1 seul XML DTD 1 seul fichierfichier

ltxml version=10 encoding=iso-8859-1 standalone=yesgtltDOCTYPE listePersonnes [ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt]gtltlistePersonnesgtltpersonnegtltstatut libelleacute=etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Lien DTD webLien DTD web

ltxml version=10 encoding=iso-8859-1 standalone=nogtltDOChTtYtPpE

lilsotceaPlehrossotnnleisstSeYPSeTrEsMo nnesdtd gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Deacuteclaration Deacuteclaration deacuteleacutement simpledeacuteleacutement simple

lt ELEMENT balise (deacutefinition) gt Le paramegravetre deacutefinition repreacutesente soit un type

de donneacutee preacutedeacutefini soit un eacuteleacutement de donneacutees composeacute constitueacute lui mecircme deacuteleacutements

Types preacutedeacutefinisbull ANY Leacuteleacutement peut contenir tout type de donneacutee

bull EMPTY Leacuteleacutement ne contient pas de donneacutees speacutecifiques

bull PCDATA Leacuteleacutement doit contenir une chaicircne de caractegravere

Deacuteclaration Deacuteclaration deacuteleacutement composeacutedeacuteleacutement composeacute

Deacutefinit une seacutequence ou un choix deacuteleacutementsSyntaxe speacutecifique avec opeacuterateurs de composition deacuteleacutements lt ELEMENT balise (composition) gt

Opeacuterateur Signification Exemple + Leacuteleacutement doit ecirctre preacutesent au minimum une fois A+ Leacuteleacutement peut ecirctre preacutesent plusieurs fois (ou aucune) A Leacuteleacutement peut ecirctre optionnellement preacutesent A | Leacuteleacutement A ou B peuvent ecirctre preacutesents (pas les deux) A|B Leacuteleacutement A doit ecirctre preacutesent et suivi de leacuteleacutement B AB

() Les parenthegraveses permettent de regrouper des eacuteleacutements afin de leur appliquer les autres opeacuterateurs

(AB)+

Deacuteclaration Deacuteclaration drsquoattributsdrsquoattributs

lt ATTLIST balise Attribut Type Mode gt balise speacutecifie leacuteleacutement auquel est attacheacute lattributAttribut est le nom de lattribut deacuteclareacuteType deacutefinit le type de donneacutee de lattribut choisi parmi CDATA

bull Chaicircnes de caractegraveres entre guillemets (aa) non analyseacutees Enumeacuteration

bull Liste de valeurs seacutepareacutees par | bull lt ATTLIST balise Attribut (Valeur1 | Valeur2 | ) gt

ID et IDREFbull Cleacute et reacutefeacuterence agrave cleacute

Mode preacutecise le caractegravere obligatoire ou non de lattribut REQUIRED IMPLIED ou FIXED

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 10: XML eXtensible Markup Language

Au point ougrave nous en Au point ougrave nous en sommessommes

Au point ougrave nous en sommes un document XML est identique agrave un fichier textuel mais il est un peu plus portable (indication de

lrsquoencodage employeacute) chaque information est associeacutee agrave une laquo

eacutetiquette raquo sa balise donc plus facilement identifiable et controcirclable

la qualiteacute de sa structure est facile agrave veacuterifier pour lrsquoinstant la coheacuterence de ses

informations nrsquoest pas garantiehellip

Incoheacuterences Incoheacuterences seacutemantiqueseacutemantique

Exemple drsquoun fichier XML de structure correcte avec des incoheacuterences seacutemantiques

ltxml version=10 encoding=UTF-8gtlt-- commentaire xml --gtltlistePersonnesgtltpersonne statut=etudiantgtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltnumerogt10ltnumerogtltadresse pays=Francegtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Preacutenom numeacuterique

numeacutero mal placeacuteadresse incomplegravetehellip

Controcircle du xmlControcircle du xml

XML nrsquoest vraiment puissant que si la coheacuterence est controcircleacutee pour cela deux technologies au choix le DTD

bull rudimentaire mais suffisant dans la plupart des cas bull syntaxe diffeacuterente

le XML-Scheacutemabull puissant (donneacutees plus fortement typeacutees)bull syntaxe de style xml

DTD ouet scheacutema permettent de deacutefinir son propre langage baseacute sur XML Vocabulaire (balises) Grammaire (imbrications)

les donneacutees de controcircle peuvent ecirctre dans le fichier xml lui-mecircme dans un fichier annexe sur le Web

DTDDTD

Une DTD deacutecrit les balises autoriseacutees dans un document xml lrsquoordre dans lequel elles doivent ecirctre imbriqueacutees leurs eacuteventuels attributs les types des informations qursquoelles encapsulent

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt

Lien xml DTD Lien xml DTD seacutepareacuteeseacutepareacutee

ltxml version=10 encoding=iso-8859-1gtltDOCTYPE listePersonnes SYSTEM listePersonnesdtd

gtltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

XML DTD 1 seul XML DTD 1 seul fichierfichier

ltxml version=10 encoding=iso-8859-1 standalone=yesgtltDOCTYPE listePersonnes [ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt]gtltlistePersonnesgtltpersonnegtltstatut libelleacute=etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Lien DTD webLien DTD web

ltxml version=10 encoding=iso-8859-1 standalone=nogtltDOChTtYtPpE

lilsotceaPlehrossotnnleisstSeYPSeTrEsMo nnesdtd gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Deacuteclaration Deacuteclaration deacuteleacutement simpledeacuteleacutement simple

lt ELEMENT balise (deacutefinition) gt Le paramegravetre deacutefinition repreacutesente soit un type

de donneacutee preacutedeacutefini soit un eacuteleacutement de donneacutees composeacute constitueacute lui mecircme deacuteleacutements

Types preacutedeacutefinisbull ANY Leacuteleacutement peut contenir tout type de donneacutee

bull EMPTY Leacuteleacutement ne contient pas de donneacutees speacutecifiques

bull PCDATA Leacuteleacutement doit contenir une chaicircne de caractegravere

Deacuteclaration Deacuteclaration deacuteleacutement composeacutedeacuteleacutement composeacute

Deacutefinit une seacutequence ou un choix deacuteleacutementsSyntaxe speacutecifique avec opeacuterateurs de composition deacuteleacutements lt ELEMENT balise (composition) gt

Opeacuterateur Signification Exemple + Leacuteleacutement doit ecirctre preacutesent au minimum une fois A+ Leacuteleacutement peut ecirctre preacutesent plusieurs fois (ou aucune) A Leacuteleacutement peut ecirctre optionnellement preacutesent A | Leacuteleacutement A ou B peuvent ecirctre preacutesents (pas les deux) A|B Leacuteleacutement A doit ecirctre preacutesent et suivi de leacuteleacutement B AB

() Les parenthegraveses permettent de regrouper des eacuteleacutements afin de leur appliquer les autres opeacuterateurs

(AB)+

Deacuteclaration Deacuteclaration drsquoattributsdrsquoattributs

lt ATTLIST balise Attribut Type Mode gt balise speacutecifie leacuteleacutement auquel est attacheacute lattributAttribut est le nom de lattribut deacuteclareacuteType deacutefinit le type de donneacutee de lattribut choisi parmi CDATA

bull Chaicircnes de caractegraveres entre guillemets (aa) non analyseacutees Enumeacuteration

bull Liste de valeurs seacutepareacutees par | bull lt ATTLIST balise Attribut (Valeur1 | Valeur2 | ) gt

ID et IDREFbull Cleacute et reacutefeacuterence agrave cleacute

Mode preacutecise le caractegravere obligatoire ou non de lattribut REQUIRED IMPLIED ou FIXED

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 11: XML eXtensible Markup Language

Incoheacuterences Incoheacuterences seacutemantiqueseacutemantique

Exemple drsquoun fichier XML de structure correcte avec des incoheacuterences seacutemantiques

ltxml version=10 encoding=UTF-8gtlt-- commentaire xml --gtltlistePersonnesgtltpersonne statut=etudiantgtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltnumerogt10ltnumerogtltadresse pays=Francegtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Preacutenom numeacuterique

numeacutero mal placeacuteadresse incomplegravetehellip

Controcircle du xmlControcircle du xml

XML nrsquoest vraiment puissant que si la coheacuterence est controcircleacutee pour cela deux technologies au choix le DTD

bull rudimentaire mais suffisant dans la plupart des cas bull syntaxe diffeacuterente

le XML-Scheacutemabull puissant (donneacutees plus fortement typeacutees)bull syntaxe de style xml

DTD ouet scheacutema permettent de deacutefinir son propre langage baseacute sur XML Vocabulaire (balises) Grammaire (imbrications)

les donneacutees de controcircle peuvent ecirctre dans le fichier xml lui-mecircme dans un fichier annexe sur le Web

DTDDTD

Une DTD deacutecrit les balises autoriseacutees dans un document xml lrsquoordre dans lequel elles doivent ecirctre imbriqueacutees leurs eacuteventuels attributs les types des informations qursquoelles encapsulent

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt

Lien xml DTD Lien xml DTD seacutepareacuteeseacutepareacutee

ltxml version=10 encoding=iso-8859-1gtltDOCTYPE listePersonnes SYSTEM listePersonnesdtd

gtltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

XML DTD 1 seul XML DTD 1 seul fichierfichier

ltxml version=10 encoding=iso-8859-1 standalone=yesgtltDOCTYPE listePersonnes [ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt]gtltlistePersonnesgtltpersonnegtltstatut libelleacute=etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Lien DTD webLien DTD web

ltxml version=10 encoding=iso-8859-1 standalone=nogtltDOChTtYtPpE

lilsotceaPlehrossotnnleisstSeYPSeTrEsMo nnesdtd gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Deacuteclaration Deacuteclaration deacuteleacutement simpledeacuteleacutement simple

lt ELEMENT balise (deacutefinition) gt Le paramegravetre deacutefinition repreacutesente soit un type

de donneacutee preacutedeacutefini soit un eacuteleacutement de donneacutees composeacute constitueacute lui mecircme deacuteleacutements

Types preacutedeacutefinisbull ANY Leacuteleacutement peut contenir tout type de donneacutee

bull EMPTY Leacuteleacutement ne contient pas de donneacutees speacutecifiques

bull PCDATA Leacuteleacutement doit contenir une chaicircne de caractegravere

Deacuteclaration Deacuteclaration deacuteleacutement composeacutedeacuteleacutement composeacute

Deacutefinit une seacutequence ou un choix deacuteleacutementsSyntaxe speacutecifique avec opeacuterateurs de composition deacuteleacutements lt ELEMENT balise (composition) gt

Opeacuterateur Signification Exemple + Leacuteleacutement doit ecirctre preacutesent au minimum une fois A+ Leacuteleacutement peut ecirctre preacutesent plusieurs fois (ou aucune) A Leacuteleacutement peut ecirctre optionnellement preacutesent A | Leacuteleacutement A ou B peuvent ecirctre preacutesents (pas les deux) A|B Leacuteleacutement A doit ecirctre preacutesent et suivi de leacuteleacutement B AB

() Les parenthegraveses permettent de regrouper des eacuteleacutements afin de leur appliquer les autres opeacuterateurs

(AB)+

Deacuteclaration Deacuteclaration drsquoattributsdrsquoattributs

lt ATTLIST balise Attribut Type Mode gt balise speacutecifie leacuteleacutement auquel est attacheacute lattributAttribut est le nom de lattribut deacuteclareacuteType deacutefinit le type de donneacutee de lattribut choisi parmi CDATA

bull Chaicircnes de caractegraveres entre guillemets (aa) non analyseacutees Enumeacuteration

bull Liste de valeurs seacutepareacutees par | bull lt ATTLIST balise Attribut (Valeur1 | Valeur2 | ) gt

ID et IDREFbull Cleacute et reacutefeacuterence agrave cleacute

Mode preacutecise le caractegravere obligatoire ou non de lattribut REQUIRED IMPLIED ou FIXED

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 12: XML eXtensible Markup Language

Controcircle du xmlControcircle du xml

XML nrsquoest vraiment puissant que si la coheacuterence est controcircleacutee pour cela deux technologies au choix le DTD

bull rudimentaire mais suffisant dans la plupart des cas bull syntaxe diffeacuterente

le XML-Scheacutemabull puissant (donneacutees plus fortement typeacutees)bull syntaxe de style xml

DTD ouet scheacutema permettent de deacutefinir son propre langage baseacute sur XML Vocabulaire (balises) Grammaire (imbrications)

les donneacutees de controcircle peuvent ecirctre dans le fichier xml lui-mecircme dans un fichier annexe sur le Web

DTDDTD

Une DTD deacutecrit les balises autoriseacutees dans un document xml lrsquoordre dans lequel elles doivent ecirctre imbriqueacutees leurs eacuteventuels attributs les types des informations qursquoelles encapsulent

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt

Lien xml DTD Lien xml DTD seacutepareacuteeseacutepareacutee

ltxml version=10 encoding=iso-8859-1gtltDOCTYPE listePersonnes SYSTEM listePersonnesdtd

gtltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

XML DTD 1 seul XML DTD 1 seul fichierfichier

ltxml version=10 encoding=iso-8859-1 standalone=yesgtltDOCTYPE listePersonnes [ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt]gtltlistePersonnesgtltpersonnegtltstatut libelleacute=etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Lien DTD webLien DTD web

ltxml version=10 encoding=iso-8859-1 standalone=nogtltDOChTtYtPpE

lilsotceaPlehrossotnnleisstSeYPSeTrEsMo nnesdtd gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Deacuteclaration Deacuteclaration deacuteleacutement simpledeacuteleacutement simple

lt ELEMENT balise (deacutefinition) gt Le paramegravetre deacutefinition repreacutesente soit un type

de donneacutee preacutedeacutefini soit un eacuteleacutement de donneacutees composeacute constitueacute lui mecircme deacuteleacutements

Types preacutedeacutefinisbull ANY Leacuteleacutement peut contenir tout type de donneacutee

bull EMPTY Leacuteleacutement ne contient pas de donneacutees speacutecifiques

bull PCDATA Leacuteleacutement doit contenir une chaicircne de caractegravere

Deacuteclaration Deacuteclaration deacuteleacutement composeacutedeacuteleacutement composeacute

Deacutefinit une seacutequence ou un choix deacuteleacutementsSyntaxe speacutecifique avec opeacuterateurs de composition deacuteleacutements lt ELEMENT balise (composition) gt

Opeacuterateur Signification Exemple + Leacuteleacutement doit ecirctre preacutesent au minimum une fois A+ Leacuteleacutement peut ecirctre preacutesent plusieurs fois (ou aucune) A Leacuteleacutement peut ecirctre optionnellement preacutesent A | Leacuteleacutement A ou B peuvent ecirctre preacutesents (pas les deux) A|B Leacuteleacutement A doit ecirctre preacutesent et suivi de leacuteleacutement B AB

() Les parenthegraveses permettent de regrouper des eacuteleacutements afin de leur appliquer les autres opeacuterateurs

(AB)+

Deacuteclaration Deacuteclaration drsquoattributsdrsquoattributs

lt ATTLIST balise Attribut Type Mode gt balise speacutecifie leacuteleacutement auquel est attacheacute lattributAttribut est le nom de lattribut deacuteclareacuteType deacutefinit le type de donneacutee de lattribut choisi parmi CDATA

bull Chaicircnes de caractegraveres entre guillemets (aa) non analyseacutees Enumeacuteration

bull Liste de valeurs seacutepareacutees par | bull lt ATTLIST balise Attribut (Valeur1 | Valeur2 | ) gt

ID et IDREFbull Cleacute et reacutefeacuterence agrave cleacute

Mode preacutecise le caractegravere obligatoire ou non de lattribut REQUIRED IMPLIED ou FIXED

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 13: XML eXtensible Markup Language

DTDDTD

Une DTD deacutecrit les balises autoriseacutees dans un document xml lrsquoordre dans lequel elles doivent ecirctre imbriqueacutees leurs eacuteventuels attributs les types des informations qursquoelles encapsulent

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt

Lien xml DTD Lien xml DTD seacutepareacuteeseacutepareacutee

ltxml version=10 encoding=iso-8859-1gtltDOCTYPE listePersonnes SYSTEM listePersonnesdtd

gtltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

XML DTD 1 seul XML DTD 1 seul fichierfichier

ltxml version=10 encoding=iso-8859-1 standalone=yesgtltDOCTYPE listePersonnes [ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt]gtltlistePersonnesgtltpersonnegtltstatut libelleacute=etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Lien DTD webLien DTD web

ltxml version=10 encoding=iso-8859-1 standalone=nogtltDOChTtYtPpE

lilsotceaPlehrossotnnleisstSeYPSeTrEsMo nnesdtd gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Deacuteclaration Deacuteclaration deacuteleacutement simpledeacuteleacutement simple

lt ELEMENT balise (deacutefinition) gt Le paramegravetre deacutefinition repreacutesente soit un type

de donneacutee preacutedeacutefini soit un eacuteleacutement de donneacutees composeacute constitueacute lui mecircme deacuteleacutements

Types preacutedeacutefinisbull ANY Leacuteleacutement peut contenir tout type de donneacutee

bull EMPTY Leacuteleacutement ne contient pas de donneacutees speacutecifiques

bull PCDATA Leacuteleacutement doit contenir une chaicircne de caractegravere

Deacuteclaration Deacuteclaration deacuteleacutement composeacutedeacuteleacutement composeacute

Deacutefinit une seacutequence ou un choix deacuteleacutementsSyntaxe speacutecifique avec opeacuterateurs de composition deacuteleacutements lt ELEMENT balise (composition) gt

Opeacuterateur Signification Exemple + Leacuteleacutement doit ecirctre preacutesent au minimum une fois A+ Leacuteleacutement peut ecirctre preacutesent plusieurs fois (ou aucune) A Leacuteleacutement peut ecirctre optionnellement preacutesent A | Leacuteleacutement A ou B peuvent ecirctre preacutesents (pas les deux) A|B Leacuteleacutement A doit ecirctre preacutesent et suivi de leacuteleacutement B AB

() Les parenthegraveses permettent de regrouper des eacuteleacutements afin de leur appliquer les autres opeacuterateurs

(AB)+

Deacuteclaration Deacuteclaration drsquoattributsdrsquoattributs

lt ATTLIST balise Attribut Type Mode gt balise speacutecifie leacuteleacutement auquel est attacheacute lattributAttribut est le nom de lattribut deacuteclareacuteType deacutefinit le type de donneacutee de lattribut choisi parmi CDATA

bull Chaicircnes de caractegraveres entre guillemets (aa) non analyseacutees Enumeacuteration

bull Liste de valeurs seacutepareacutees par | bull lt ATTLIST balise Attribut (Valeur1 | Valeur2 | ) gt

ID et IDREFbull Cleacute et reacutefeacuterence agrave cleacute

Mode preacutecise le caractegravere obligatoire ou non de lattribut REQUIRED IMPLIED ou FIXED

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 14: XML eXtensible Markup Language

Lien xml DTD Lien xml DTD seacutepareacuteeseacutepareacutee

ltxml version=10 encoding=iso-8859-1gtltDOCTYPE listePersonnes SYSTEM listePersonnesdtd

gtltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

XML DTD 1 seul XML DTD 1 seul fichierfichier

ltxml version=10 encoding=iso-8859-1 standalone=yesgtltDOCTYPE listePersonnes [ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt]gtltlistePersonnesgtltpersonnegtltstatut libelleacute=etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Lien DTD webLien DTD web

ltxml version=10 encoding=iso-8859-1 standalone=nogtltDOChTtYtPpE

lilsotceaPlehrossotnnleisstSeYPSeTrEsMo nnesdtd gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Deacuteclaration Deacuteclaration deacuteleacutement simpledeacuteleacutement simple

lt ELEMENT balise (deacutefinition) gt Le paramegravetre deacutefinition repreacutesente soit un type

de donneacutee preacutedeacutefini soit un eacuteleacutement de donneacutees composeacute constitueacute lui mecircme deacuteleacutements

Types preacutedeacutefinisbull ANY Leacuteleacutement peut contenir tout type de donneacutee

bull EMPTY Leacuteleacutement ne contient pas de donneacutees speacutecifiques

bull PCDATA Leacuteleacutement doit contenir une chaicircne de caractegravere

Deacuteclaration Deacuteclaration deacuteleacutement composeacutedeacuteleacutement composeacute

Deacutefinit une seacutequence ou un choix deacuteleacutementsSyntaxe speacutecifique avec opeacuterateurs de composition deacuteleacutements lt ELEMENT balise (composition) gt

Opeacuterateur Signification Exemple + Leacuteleacutement doit ecirctre preacutesent au minimum une fois A+ Leacuteleacutement peut ecirctre preacutesent plusieurs fois (ou aucune) A Leacuteleacutement peut ecirctre optionnellement preacutesent A | Leacuteleacutement A ou B peuvent ecirctre preacutesents (pas les deux) A|B Leacuteleacutement A doit ecirctre preacutesent et suivi de leacuteleacutement B AB

() Les parenthegraveses permettent de regrouper des eacuteleacutements afin de leur appliquer les autres opeacuterateurs

(AB)+

Deacuteclaration Deacuteclaration drsquoattributsdrsquoattributs

lt ATTLIST balise Attribut Type Mode gt balise speacutecifie leacuteleacutement auquel est attacheacute lattributAttribut est le nom de lattribut deacuteclareacuteType deacutefinit le type de donneacutee de lattribut choisi parmi CDATA

bull Chaicircnes de caractegraveres entre guillemets (aa) non analyseacutees Enumeacuteration

bull Liste de valeurs seacutepareacutees par | bull lt ATTLIST balise Attribut (Valeur1 | Valeur2 | ) gt

ID et IDREFbull Cleacute et reacutefeacuterence agrave cleacute

Mode preacutecise le caractegravere obligatoire ou non de lattribut REQUIRED IMPLIED ou FIXED

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 15: XML eXtensible Markup Language

XML DTD 1 seul XML DTD 1 seul fichierfichier

ltxml version=10 encoding=iso-8859-1 standalone=yesgtltDOCTYPE listePersonnes [ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gtltELEMENT adresse (numero rue codePostal ville)gtltATTLIST adresse pays NMTOKENS IMPLIEDgtltELEMENT numero (PCDATA) gtltELEMENT rue (PCDATA) gtltELEMENT codePostal (PCDATA) gtltELEMENT ville (PCDATA) gt]gtltlistePersonnesgtltpersonnegtltstatut libelleacute=etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Lien DTD webLien DTD web

ltxml version=10 encoding=iso-8859-1 standalone=nogtltDOChTtYtPpE

lilsotceaPlehrossotnnleisstSeYPSeTrEsMo nnesdtd gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Deacuteclaration Deacuteclaration deacuteleacutement simpledeacuteleacutement simple

lt ELEMENT balise (deacutefinition) gt Le paramegravetre deacutefinition repreacutesente soit un type

de donneacutee preacutedeacutefini soit un eacuteleacutement de donneacutees composeacute constitueacute lui mecircme deacuteleacutements

Types preacutedeacutefinisbull ANY Leacuteleacutement peut contenir tout type de donneacutee

bull EMPTY Leacuteleacutement ne contient pas de donneacutees speacutecifiques

bull PCDATA Leacuteleacutement doit contenir une chaicircne de caractegravere

Deacuteclaration Deacuteclaration deacuteleacutement composeacutedeacuteleacutement composeacute

Deacutefinit une seacutequence ou un choix deacuteleacutementsSyntaxe speacutecifique avec opeacuterateurs de composition deacuteleacutements lt ELEMENT balise (composition) gt

Opeacuterateur Signification Exemple + Leacuteleacutement doit ecirctre preacutesent au minimum une fois A+ Leacuteleacutement peut ecirctre preacutesent plusieurs fois (ou aucune) A Leacuteleacutement peut ecirctre optionnellement preacutesent A | Leacuteleacutement A ou B peuvent ecirctre preacutesents (pas les deux) A|B Leacuteleacutement A doit ecirctre preacutesent et suivi de leacuteleacutement B AB

() Les parenthegraveses permettent de regrouper des eacuteleacutements afin de leur appliquer les autres opeacuterateurs

(AB)+

Deacuteclaration Deacuteclaration drsquoattributsdrsquoattributs

lt ATTLIST balise Attribut Type Mode gt balise speacutecifie leacuteleacutement auquel est attacheacute lattributAttribut est le nom de lattribut deacuteclareacuteType deacutefinit le type de donneacutee de lattribut choisi parmi CDATA

bull Chaicircnes de caractegraveres entre guillemets (aa) non analyseacutees Enumeacuteration

bull Liste de valeurs seacutepareacutees par | bull lt ATTLIST balise Attribut (Valeur1 | Valeur2 | ) gt

ID et IDREFbull Cleacute et reacutefeacuterence agrave cleacute

Mode preacutecise le caractegravere obligatoire ou non de lattribut REQUIRED IMPLIED ou FIXED

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 16: XML eXtensible Markup Language

Lien DTD webLien DTD web

ltxml version=10 encoding=iso-8859-1 standalone=nogtltDOChTtYtPpE

lilsotceaPlehrossotnnleisstSeYPSeTrEsMo nnesdtd gt

ltlistePersonnesgtltpersonne statut =etudiant gtltnomgtDupontltnomgtltprenomgt12342ltprenomgtltadresse pays=Francegtltnumerogt10ltnumerogtltruegtrue des AlouettesltruegtltcodePostalgtLe GuichetltcodePostalgtltvillegtOrsayltvillegtltadressegtltpersonnegtltlistePersonnesgt

Deacuteclaration Deacuteclaration deacuteleacutement simpledeacuteleacutement simple

lt ELEMENT balise (deacutefinition) gt Le paramegravetre deacutefinition repreacutesente soit un type

de donneacutee preacutedeacutefini soit un eacuteleacutement de donneacutees composeacute constitueacute lui mecircme deacuteleacutements

Types preacutedeacutefinisbull ANY Leacuteleacutement peut contenir tout type de donneacutee

bull EMPTY Leacuteleacutement ne contient pas de donneacutees speacutecifiques

bull PCDATA Leacuteleacutement doit contenir une chaicircne de caractegravere

Deacuteclaration Deacuteclaration deacuteleacutement composeacutedeacuteleacutement composeacute

Deacutefinit une seacutequence ou un choix deacuteleacutementsSyntaxe speacutecifique avec opeacuterateurs de composition deacuteleacutements lt ELEMENT balise (composition) gt

Opeacuterateur Signification Exemple + Leacuteleacutement doit ecirctre preacutesent au minimum une fois A+ Leacuteleacutement peut ecirctre preacutesent plusieurs fois (ou aucune) A Leacuteleacutement peut ecirctre optionnellement preacutesent A | Leacuteleacutement A ou B peuvent ecirctre preacutesents (pas les deux) A|B Leacuteleacutement A doit ecirctre preacutesent et suivi de leacuteleacutement B AB

() Les parenthegraveses permettent de regrouper des eacuteleacutements afin de leur appliquer les autres opeacuterateurs

(AB)+

Deacuteclaration Deacuteclaration drsquoattributsdrsquoattributs

lt ATTLIST balise Attribut Type Mode gt balise speacutecifie leacuteleacutement auquel est attacheacute lattributAttribut est le nom de lattribut deacuteclareacuteType deacutefinit le type de donneacutee de lattribut choisi parmi CDATA

bull Chaicircnes de caractegraveres entre guillemets (aa) non analyseacutees Enumeacuteration

bull Liste de valeurs seacutepareacutees par | bull lt ATTLIST balise Attribut (Valeur1 | Valeur2 | ) gt

ID et IDREFbull Cleacute et reacutefeacuterence agrave cleacute

Mode preacutecise le caractegravere obligatoire ou non de lattribut REQUIRED IMPLIED ou FIXED

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 17: XML eXtensible Markup Language

Deacuteclaration Deacuteclaration deacuteleacutement simpledeacuteleacutement simple

lt ELEMENT balise (deacutefinition) gt Le paramegravetre deacutefinition repreacutesente soit un type

de donneacutee preacutedeacutefini soit un eacuteleacutement de donneacutees composeacute constitueacute lui mecircme deacuteleacutements

Types preacutedeacutefinisbull ANY Leacuteleacutement peut contenir tout type de donneacutee

bull EMPTY Leacuteleacutement ne contient pas de donneacutees speacutecifiques

bull PCDATA Leacuteleacutement doit contenir une chaicircne de caractegravere

Deacuteclaration Deacuteclaration deacuteleacutement composeacutedeacuteleacutement composeacute

Deacutefinit une seacutequence ou un choix deacuteleacutementsSyntaxe speacutecifique avec opeacuterateurs de composition deacuteleacutements lt ELEMENT balise (composition) gt

Opeacuterateur Signification Exemple + Leacuteleacutement doit ecirctre preacutesent au minimum une fois A+ Leacuteleacutement peut ecirctre preacutesent plusieurs fois (ou aucune) A Leacuteleacutement peut ecirctre optionnellement preacutesent A | Leacuteleacutement A ou B peuvent ecirctre preacutesents (pas les deux) A|B Leacuteleacutement A doit ecirctre preacutesent et suivi de leacuteleacutement B AB

() Les parenthegraveses permettent de regrouper des eacuteleacutements afin de leur appliquer les autres opeacuterateurs

(AB)+

Deacuteclaration Deacuteclaration drsquoattributsdrsquoattributs

lt ATTLIST balise Attribut Type Mode gt balise speacutecifie leacuteleacutement auquel est attacheacute lattributAttribut est le nom de lattribut deacuteclareacuteType deacutefinit le type de donneacutee de lattribut choisi parmi CDATA

bull Chaicircnes de caractegraveres entre guillemets (aa) non analyseacutees Enumeacuteration

bull Liste de valeurs seacutepareacutees par | bull lt ATTLIST balise Attribut (Valeur1 | Valeur2 | ) gt

ID et IDREFbull Cleacute et reacutefeacuterence agrave cleacute

Mode preacutecise le caractegravere obligatoire ou non de lattribut REQUIRED IMPLIED ou FIXED

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 18: XML eXtensible Markup Language

Deacuteclaration Deacuteclaration deacuteleacutement composeacutedeacuteleacutement composeacute

Deacutefinit une seacutequence ou un choix deacuteleacutementsSyntaxe speacutecifique avec opeacuterateurs de composition deacuteleacutements lt ELEMENT balise (composition) gt

Opeacuterateur Signification Exemple + Leacuteleacutement doit ecirctre preacutesent au minimum une fois A+ Leacuteleacutement peut ecirctre preacutesent plusieurs fois (ou aucune) A Leacuteleacutement peut ecirctre optionnellement preacutesent A | Leacuteleacutement A ou B peuvent ecirctre preacutesents (pas les deux) A|B Leacuteleacutement A doit ecirctre preacutesent et suivi de leacuteleacutement B AB

() Les parenthegraveses permettent de regrouper des eacuteleacutements afin de leur appliquer les autres opeacuterateurs

(AB)+

Deacuteclaration Deacuteclaration drsquoattributsdrsquoattributs

lt ATTLIST balise Attribut Type Mode gt balise speacutecifie leacuteleacutement auquel est attacheacute lattributAttribut est le nom de lattribut deacuteclareacuteType deacutefinit le type de donneacutee de lattribut choisi parmi CDATA

bull Chaicircnes de caractegraveres entre guillemets (aa) non analyseacutees Enumeacuteration

bull Liste de valeurs seacutepareacutees par | bull lt ATTLIST balise Attribut (Valeur1 | Valeur2 | ) gt

ID et IDREFbull Cleacute et reacutefeacuterence agrave cleacute

Mode preacutecise le caractegravere obligatoire ou non de lattribut REQUIRED IMPLIED ou FIXED

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 19: XML eXtensible Markup Language

Deacuteclaration Deacuteclaration drsquoattributsdrsquoattributs

lt ATTLIST balise Attribut Type Mode gt balise speacutecifie leacuteleacutement auquel est attacheacute lattributAttribut est le nom de lattribut deacuteclareacuteType deacutefinit le type de donneacutee de lattribut choisi parmi CDATA

bull Chaicircnes de caractegraveres entre guillemets (aa) non analyseacutees Enumeacuteration

bull Liste de valeurs seacutepareacutees par | bull lt ATTLIST balise Attribut (Valeur1 | Valeur2 | ) gt

ID et IDREFbull Cleacute et reacutefeacuterence agrave cleacute

Mode preacutecise le caractegravere obligatoire ou non de lattribut REQUIRED IMPLIED ou FIXED

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 20: XML eXtensible Markup Language

Exemple drsquoune DTDExemple drsquoune DTD

ltELEMENT listePersonnes (personne+) gtltELEMENT personne (nom prenom adresse)gtltATTLIST personne statut CDATA REQUIRED gtltELEMENT nom (PCDATA) gtltELEMENT prenom (PCDATA) gt

1048710 une balise laquo listePersonnes raquo contient au moins 1 balise personne1048710 une balise laquo personne raquo contient une balise nom une eacuteventuelle balise prenom une balise adresse le tout dans lrsquoordre indiqueacute1048710 la balise laquo personne raquo contient un attribut laquo statut raquo obligatoire1048710 + signifie laquo au moins une raquo1048710 signifie laquo au moins zeacutero raquo1048710 signifie laquo 0 ou 1 raquo1048710 xxx | yyy signifie une de ces deux balises au choix1048710 PCDATA laquo parsed character data raquo1048710 REQUIRED = obligatoire IMPLIED = facultatif

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 21: XML eXtensible Markup Language

XML ScheacutemaXML Scheacutema

Limite des DTD Description limiteacutee dans des documents

structureacutesbull Problegraveme de typage (PCDATA)

Exprimeacute dans un langage autre que XMLbull Pas les mecircmes parseurs

Objectif de XML Scheacutema Ameacutelioration du typage Ameacutelioration de la structure

bull Nombre borneacute drsquoeacuteleacutements inclus hellip

Remplace de plus en plus la DTD car exprimeacute en syntaxe XML et extensible

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 22: XML eXtensible Markup Language

XML ScheacutemaXML Scheacutema

Comme une DTD le Scheacutema (xsd) permet de garantir la coheacuterence des donneacutees xml mais sa syntaxe est de style xml le niveau de preacutecision est beaucoup plus eacuteleveacute Dans le document xml

ltlistePersonnes xmlnsxsi=httpwwww3org2001XMLSchema-instance xsinoNamespaceSchemaLocation=listePersonnesxsdgt

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 23: XML eXtensible Markup Language

XML ScheacutemaXML Scheacutema

Deacuteclaration des eacuteleacutements et attributs Nom Typage similaire agrave lobjet

Speacutecification de types simples Grande varieacuteteacute de types

Geacuteneacuteration de types complexes Seacutequence (Sequence) Choix (Choice) Tas (All)

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 24: XML eXtensible Markup Language

Les types simplesLes types simples

string Confirm this is electric

byte -1 126

hexBinary 0FB7

boolean true false 1 0

time 132000000 132000000-0500

dateTime 1999-05-31T132000000-0500

duration P1Y2M3DT10H30M123S

float -INF -1E4 -0 0 1278E-2 12 INF

NaN

integer -126789 -1 0 1 126789

positiveInteger 1 126789

negativeInteger -126789 -1

nonNegativeInteger 0 1 126789

nonPositiveInteger -126789 -1 0

int -1 126789675

unsignedInt 0 1267896754

anyURI httpwwwexamplecom

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 25: XML eXtensible Markup Language

Les types complexesLes types complexes

Deacutefinition dobjets complexes ltsequencegt collection ordonneacutee deacuteleacutements typeacutes ltallgt collection non ordonneacutee deacuteleacutements typeacutes ltchoicegt choix entre eacuteleacutements typeacutes

ExempleltxsdcomplexType name=AddresseFRgt ltxsdsequencegt ltxsdelement name=nom type=xsdstringgt ltxsdelement name=rue type=xsdstringgt ltxsdelement name=ville type=xsdstringgt ltxsdelement name=codep

type=xsddecimalgt ltxsdsequencegt ltxsdattribute name=pays type=xsdNMTOKEN fixed=FRgt ltxsdcomplexTypegt

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 26: XML eXtensible Markup Language

Les PatternsLes Patterns

Contraintes sur type simple preacutedeacutefini Utilisation dexpression reacuteguliegraveres Similaires agrave celles de Perl

ExempleltxsdsimpleType name=NumItemgt ltxsdrestriction base=xsdstringgt

ltxsdpattern value=d3-[A-Z]2gt ltxsdrestrictiongt ltxsdsimpleTypegt

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 27: XML eXtensible Markup Language

XML SchemaXML Schemaexemple (1)exemple (1)

ltxsdschema xmlnsxsd=httpwwww3org1999XMLSchemagt

ltxsdelement name=commande type=CommandeTypegt ltxsdelement name=commentaire type=xsdstringgt ltxsdcomplexType name=CommandeTypegt

ltxsdsequencegt ltxsdelement name=livrer type=Adressegt ltxsdelement name=facturer type=Adressegt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=produits type=ProduitTypegt

ltxsdsequencegt ltxsdattribute name=date_com type=xsddategt

ltxsdcomplexTypegt

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 28: XML eXtensible Markup Language

XML Schema XML Schema exemple (2)exemple (2)

ltxsdcomplexType name=ProduitTypegt ltxsdsequencegt

ltxsdelement name=produit minOccurs=0 maxOccurs=unboundedgt ltxsdcomplexTypegt

ltxsdsequencegt ltxsdelement name=nom_prod type=xsdstringgt ltxsdelement name=quantitegt ltxsdsimpleTypegt ltxsdrestriction

base=xsdpositiveIntegergt ltxsdmaxExclusive value=100gt ltxsdrestrictiongt ltxsdsimpleTypegt ltxsdelementgt ltxsdelement name=prix type=xsddecimalgt ltxsdelement ref=commentaire minOccurs=0gt ltxsdelement name=date_livraison type=xsddate

minOccurs=0gt ltxsdsequencegt ltxsdattribute name=num_prod type=xsdpositiveInteger

use=requiredgt ltxsdcomplexTypegt

ltxsdelementgt ltxsdsequencegt ltxsdcomplexTypegt ltxsdschemagt

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 29: XML eXtensible Markup Language

Feuille de styleFeuille de style

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 30: XML eXtensible Markup Language

Feuille de styleFeuille de style

La repreacutesentation de cette lettre en XML ne comporte aucune indication sur sa mise en page Les aspects graphiques ou typographiques sont

absents du source XML Ces aspects seront deacutefinis par lrsquointermeacutediaire

drsquoune feuille de styleUne feuille de style est un ensemble de regravegles pour speacutecifier la reacutealisation concregravete drsquoun document sur un meacutedia particulierOn ajoute dans le deacutebut du fichier xml un lien vers la feuille de style fichier xsl ltxml-stylesheet type=textxsllaquo

href=transformateurxslgt Ce fichier peut ecirctre local ou acceacutedeacute via une URL

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 31: XML eXtensible Markup Language

Conception de Conception de DTDScheacutemaDTDScheacutema

Possible agrave partir drsquoune modeacutelisation ULM

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 32: XML eXtensible Markup Language

Quelques outils de Quelques outils de travailtravail

Editeur Outil Support

Tibco Turbo XML DTD XSLScheacutema

Altova XMLSpy DTD Scheacutema XSL Xquery

SyncRO Ltd Oxygen DTD Scheacutema XSL Xquery

Data Junction XML Junction Scheacutema

Insight Soft XMLMate DTD ScheacutemaXSL XPath

XML Mind XMLMind Editor DTD ScheacutemaXSL XPath

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 33: XML eXtensible Markup Language

Exemple DTDExemple DTD

Convertisseur TAC vers XML (metaf2xml)

ltENTITY cloudType AC|ACC|ACSL|AS|CB|CBMAM|CC|CCSL|CI|CS|CU|CF|CUFRA|NS|SAC|SC|SCSL|ST|SF|STFRA|TCUgt

ltENTITY colourCodes BLUplus|BLU|WHT|GRN|YLO|YLO1|YLO2|AMB|RED|FCSTCANCELgtltENTITY cloudCover FEW|SCT|BKN|OVCgtltENTITY cloudFamily 0|1|2|3|4|5|6|7|8|9gtltENTITY phenomDescr isFrequent|isOccasional|isIntermittent|isContinuous|isThick|

isPrettyThick|isVeryThick|isThin|isPrettyThin|isVeryThin|isFeeble|isPrettyFeeble|isVeryFeeble|isLight|isPrettyLight|isVeryLight|isModerate|isLow|isLower|isIsolated|isConvective|isDissipated|inPastHour|baseBelowStation|isAloft|isAround|isFreezing|isPatchygt

ltENTITY unitRadiation kJmm|JcmcmgtltENTITY unitSpeed KT|MPS|KMHgtltENTITY period 1d|24h|1h|ngtltENTITY compassDir N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNWgt

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 34: XML eXtensible Markup Language

Exemple DTDExemple DTD

ltELEMENT taf (ERROR WARNING obsStation issueTime fcstPeriod reportModifier fcstNotAvbl sfcWind (CAVOK | (visPrev weatherList cloudList visVert)) (turbulence | icing | windShearLvl | QNH) trendList (tempAt | tempMaxAt | tempMinAt | correctedAt |

amendedAt | limMetwatch | autoMetwatch | amendment) tafRemarkList)gtltATTLIST taf s CDATA REQUIREDgt

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 35: XML eXtensible Markup Language

Exemple xmlExemple xml

ltxml version=10 encoding=UTF-8gtltdatagt ltoptionsgtltformat v=xml gt ltlang v=en gt ltmode v=latest gt

ltmsg_metaf v= gt ltmsg_synop v=AAXX 09004 08495 11459

30714 10147 20136 30151 40159 58005 60001 70511 83500 92350 gt

ltsrc_metaf v=noaa gt ltsrc_synop v=nws_land gt lttype_metaf v=metar gt lttype_synop v=synop gt ltoptionsgt ltreportsgt ltsynop s=AAXX 09004 08495

11459 30714 10147 20136 30151 40159 58005 60001 70511 83500 92350gt

ltobsStationType s=AAXXgt ltstationType v=AAXX gt ltobsStationTypegt ltobsTime s=0900gt ltday v=09 gt lthour

v=00 gt ltminute v=00 gt ltobsTimegt

ltwindIndicator s=4gtltwindUnit v=KT gt ltwindIndicatorgt

ltstationId s=08495gt ltid v=08495 gt ltregion v=VI gt

ltprecipInd s=1gt ltprecipIndVal v=1 gt ltprecipIndgt ltwxInd s=1gt ltwxIndVal v=1 gt ltwxIndgt ltbaseLowestCloud s=4gt ltfrom v=300 u=M gtltto v=600 u=M gt ltbaseLowestCloudgt ltvisPrev s=59gt ltdistance v=9 u=KM gt ltvisPrevgt lttotalCloudCover s=3gt ltoktas v=3 gt lttotalCloudCovergt ltsfcWind s=0714gt ltwindgt ltdir v=70 gt ltspeed v=14 u=KT gt ltwindgt ltsfcWindgt lttemperature s=10147 20136gt ltairgt lttemp v=147 u=C gtltairgt

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 36: XML eXtensible Markup Language

Exemple Interface Exemple Interface WEBWEB

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
Page 37: XML eXtensible Markup Language

WIS XMLBUFRWIS XMLBUFR

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38