Bonjour,
On mer, 2005-06-29 at 20:40 +0200, Frédéric desmoulins wrote:
> Bonjour et merci de me consacrer un peu de votre temps.
>
> Je suis confronté à un problème de référence cyclique et j'aimerai
> connaître vos suggestions.
>
> Le plus simple est de donner un exemple.
>
> Imaginons que deux objets soient liés par des références mutuels.
>
> A has B et B has A.
> et
> A.B.A = A
>
> Pour sérializer une structure telle que celle-ci en XML il convient - je
> suppose - de référencer les élements entre-eux via des id/idref.
>
> Ici, on aurait donc:
>
> <A id="a1" name="yaya">
> <B id="b1">
> <A idref="a1" />
> </B>
> </A>
>
> 1ere question: Y a t-il une autre solution ?
Oui, il y en a plein d'autres, voir par exemple
http://xmlfr.org/documentations/tutoriels/011126-0001 ou
http://www.xml.com/pub/a/2000/10/04/linking/ ...
RDF est particulièrement bien adapté à ce type de situations.
>
> 2eme question: Je souhaite en XSLT obtenir A a partir de B sans avoir a
> effectuer un traitement particulier (comme la verification d'un idref et
> les complications qui en decoule). J'aimerai par exemple pouvoir obtenir
> le resultat 'yaya' en appliquant l'expression XPath suivante: B/A/@name
> ou /A/B/A/@name
> Existe t'il des processeurs XSLT capables de traiter ce type de
> références ?
B/A/@name ou /A/B/A/@name ont des significations définies par XPath et
vous ne pouvez pas les changer...
Par contre, vous pouvez utiliser des clés comme indiqué par Pierre
Attar.
Vous pouvez également définir vos ID/IDREF dans une DTD et ensuite
utiliser la fonction id().
Cordialement,
Eric van der Vlist
--
Le premier annuaire des apiculteurs 100% XML!
http://apiculteurs.info/
------------------------------------------------------------------------
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 Wed Jun 29 23:54:47 2005