Merci beaucoup pour la réponse.
A 13:46 15/10/2004, Eric van der Vlist a écrit :
J'ai fait un article qui pourra peut-être vous aider sur le sujet :
http://xmlfr.org/documentations/tutoriels/011126-0001
Votre article ne semble plus être disponible. Est-le <http://www.xml.com/pub/a/2000/10/04/linking/>même en anglais ?
Quant à la suggestion de passer en RDF, c'est une question que me je me pose régulièrement, mais plusieurs facteurs m'arrêtent, pour l'instant. L'argument principal est que, dans le cadre de l'enseignement supérieur et de l'AFNOR, nous cherchons à proposer un outil pour les métadonnées de thèses qui soit à la fois un format d'échange et un outil de validation complet.
S'agissant de la première fonction (format d'échange), RDF serait en effet adapté.
S'agissant de la seconde (validation des contraintes du vocabulaire), RDF ne nous permettra pas de valider le typage des données comme XSD le fait. Certes, j'ai bien conscience qu'il peut être regrettable de ne compter que sur XSD pour assurer la validation des données (Schematron...), mais un facteur décisif est aussi le facteur humain. Dans notre contexte de travail (description bibliographique, bibliothèques), XML et XSD sont encore exotiques. Alors de là à sauter directement à un pot-pourri RDF-schematron (si c'est possible ...?), ce serait à mon sens brutal et contre-productif. Au contraire, disposer dans un seul fichier XSD d'un format d'échange et d'un outil de validation riche me paraît un bon compromis.
Evidemment, cela oblige à des contorsions. Nous avons dû adapter la structure de données à l'exigence XSD. Je sais: c'est MAL !
NB :
Mais rien n'est trop tard : notre *recommandation* AFNOR sera soumise à un examen public (pas une *enquête* car ce ne sera pas une *norme*) début 2005. J'espère que la liste XML-TECH est le genre d'endroit où l'on peut soumettre à un tel examen un schéma XML en voie de normalisation.
Enfin, s'agissant de mes couples, je cherche encore une solution. Pour l'instant j'en suis là :
INPUT :
<?xml version="1.0" encoding="UTF-8"?>
<couples>
<couple>
<maman>Venus</maman>
<papa>Vulcain</papa>
</couple>
<couple>
<maman>Venus</maman>
<papa>Mars</papa>
</couple>
</couples>
XSLT :
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<gens>
<xsl:for-each select="//couple">
<xsl:variable name="idmaman" select="generate-id()"/>
<xsl:element name="maman">
<xsl:attribute name="id"><xsl:value-of select="$idmaman"/></xsl:attribute>
<xsl:value-of select="maman"/>
</xsl:element>
<xsl:element name="papa">
<xsl:attribute name="idref"><xsl:value-of select="$idmaman"/></xsl:attribute>
<xsl:value-of select="papa"/>
</xsl:element>
</xsl:for-each>
</gens>
</xsl:template>
</xsl:stylesheet>
OUPUT :
<?xml version="1.0" encoding="UTF-8"?>
<gens>
<maman id="couple45897320">Venus</maman>
<papa idref="couple45897320">Vulcain</papa>
<maman id="couple45897832">Venus</maman>
<papa idref="couple45897832">Mars</papa>
</gens>
Je suis donc encore loin du compte. Il faut notamment dédoublonner maman. Suis-je condamné à XSLT 2.0 (for-each-group) ou XPATH 2.0 (distinct-values()) ? J'emploierai aussi votre méthode pour générer des id non aléatoires. Enfin, j'ai toujours sur les bras des mères célibataires (id non référés par des idref).
Bon week end à tous
Yann Nicolas
--
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 Fri Oct 15 17:57:55 2004