Ne comprend pas tout mais si
<doc>
<a id="a1" name="yaya"/>
<b idref="a1" name="ybyb"/>
</doc>
Je peux connaitre tous les a cités à partid d'éléments b et vice versa en
utilisant deux clés. Exemple :
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:key name="a" match="a" use="@id"/>
<xsl:key name="b" match="b" use="@idref"/>
<xsl:template match="a">
<p>
<xsl:value-of select="key('b', @id)/@name"/> est
l'élément B lié à <xsl:value-of select="@name"/>
</p>
</xsl:template>
<xsl:template match="b">
<p>
<xsl:value-of select="key('a', @idref)/@name"/>
est l'élément A lié à <xsl:value-of select="@name"/>
</p>
</xsl:template>
</xsl:stylesheet>
Pierre
At 20:40 29/06/2005, you 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 ?
>
>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 ? Comment proceder ?
>
>Merci de votre aide,
>
>Cordialement,
>
>Frédéric desmoulins
>
>
>
>--
>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)
Pierre Attar (mailto:pat@tireme.fr)
Consultant en informatique documentaire XML
Consultant in Structured Document engineering
Projet "Mutualiser l'effort de montée en compétences sur XML"
http://www.mutu-xml.org/index.html
--
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:13:59 2005