Bonjour,
On sam, 2005-04-23 at 18:03 +0200, Mathieu Rouard wrote:
> Bonjour,
>
> Je vous explique mon problème en espérant trouver de l’aide parmi vous.
> Je dispose d’un XML schéma généré à partir d'un UML qui modélise une
> structure de base de données.
>
> Je souhaiterais, dans un premier temps, parser ce xml schema (j'utilise
> php5) pour offrir une représentation "graphique" de celui-ci. Je ne
> connais pas tous les cas de figures que je vais rencontrer dans le xsd
> mais dans l'exemple ci-dessous, j'aimerais récupérer le contenu de
> l'attribut "name" des balises xs:element de premier niveau et le contenu
> de l'attribut "type"; Puis les xs:element qui composent le "type" qui
> est associé.
>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
> <xs:element name="Person" type="Person"/>
> <xs:complexType name="Person">
> <xs:sequence>
> <xs:element name="nameOrganization"
> type="xs:string"/>
> <xs:element name="street" type="xs:string"/>
> <xs:element name="cityAndState"
> type="xs:string"/>
> <xs:element name="country" type="xs:string"/>
> </xs:sequence>
> </xs:complexType>
>
> Et ensuite produire la visualisation suivante:
> Imprimer l'élément et dessous mettre les éléments associés
>
> Person
> -> nameOrganization (string)
> -> street (string)
> -> cityAndState (string)
> -> country (string)
>
> Et ainsi de suite pour tous les éléments de premier niveaux (qui
> représentent des tables de la base de données).
> Je ne sais pas si il vaut mieux que j'utilise du XPATH ou du DOM pour
> cela?
> Quelle est la façon la plus logique de procéder? (Si tant est que cette
> stratégie de parsing le soit).
Je ne suis pas certain de comprendre le problème :-) ...
Votre schéma XML Schema est un document XML bien formé, vous pouvez donc
utiliser n'importe quel outil XML pour l'analyser!
Si vous pouvez utiliser XPath, cela vous donnera plus de souplesse que
DOM ou SAX.
Si vous connaissez XSLT, vous pouvez également envisager de simplifier
le schéma au moyen d'une transformation initiale qui vous simplifiera
ensuite la vie.
> On pourrait imaginer aussi une représentation en arbre mais il vaut peut
> être mieux faire simple au début.
>
> Je ne suis pas un spécialiste du XML schéma donc merci d'avance pour vos
> conseils.
Sans vouloir vous décourager, W3C XML Schema est un langage de schéma
très (trop) complexe. Si vos schémas sont générés à partir d'UML, vous
pouvez espérer que seul un sous ensemble relativement réduit du langage
sera utilisé. Dans le cas contraire, votre projet risque d'être très
ambitieux :-) ...
Cordialement,
Eric van der Vlist
--
If you have a XML document, you have its schema.
http://examplotron.org
------------------------------------------------------------------------
Eric van der Vlist http://xmlfr.org http://dyomedea.com
(ISO) RELAX NG ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Tue Apr 26 11:28:10 2005