Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

From: ELNIKOFF Thierry (thierry.elnikoff@caf02.be)
Date: 09/01/2003 - 10:39


Bonjour à tous,

Pour commencer, laissez-moi, avant qu'il ne soit trop tard, vous souhaiter
une bonne année 2003, remplie de succès, de bonheurs (grands et petits),
d'apprentissages et de maîtrises nouvelles (surtout en XML ;) ).

Ensuite, j'en viens à mon problème :

Je dispose de différents fichiers, répondant tous à une structure commune en
terme de section de messages, chaque section disposant de ses propres
renseignements.
Chacun de ces fichiers dispose d'une référence à un schéma, lequel est
défini dans un espace de noms propre au type de message.
J'ai déjà eu l'occasion, grâce à cette liste, d'obtenir beaucoup de
renseignements sur la gestion d'espaces de noms multiples (merci encore,
Cyril), mais d'un point de vue orienté sur un accès au sein d'un programme
écrit en VB. Le problème était alors de travailler avec un document xml,
quelque soit son namespace, et de pouvoir y réaliser des sélections à l'aide
de XPath, allergique aux espaces de noms par défaut.

Maintenant, mon problème se place à un autre niveau. Je désire pouvoir
travailler avec plusieurs espaces de noms au sein d'une feuille xsl,
laquelle fait une transformation identité à l'exclusion de certains noeuds,
qui font l'objet d'une suppression.
Voici la feuille en question :

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output indent="yes"/>

<xsl:template match="*|text()|@*">
 <xsl:copy>
  <xsl:apply-templates select="node()|@*"/>
 </xsl:copy>
</xsl:template>

<xsl:template match="H/Rst"/>
<xsl:template match="H/Cd"/>
<xsl:template match="B/R"/>
<xsl:template match="B/ES"/>
<xsl:template match="H/T/@P"/>
<xsl:template match="H/T/@R"/>
</xsl:stylesheet>

Cette feuille fonctionnait très bien à partir du moment où les fichiers qui
faisaient l'objet de la transformation ne possédaient pas d'espace de noms.
A présent, c'est le cas (les fichiers possèdent des espaces de noms) et ce
n'est plus le cas (la feuille ne fonctionne plus).
Il faudrait ajouter xmlns:s="Espace1" à la balise stylesheet et ajouter s: à
chaque noeud utilisé dans les chemins spécifiés dans les matchs des
templates vides.
Le problème, c'est que si le fichier qui fait l'objet de la transformation
utilise l'espace de nom "Espace2", les suppressions ne sont plus réalisées
car les règles réalisant la suppression ne sont pas évaluées.

Dès lors, voici mes questions :
* Est-il possible de faire ce que je veux faire "facilement" ?
* Existe-t-il une méthode pour appliquer une règle définie à un espace de
nom quelconque, de manière analogue à ce qui est spécifié par l'astérisque
pour symboliser tout noeud, qui me permettrait alors d'adapter mon fichier
en créant une règle unique et générique ? (notation XPath du style
"*:H/*:Rst")
* Sinon, la seule solution possible est-elle de définir dans la balise
stylesheet autant de xmlns:spc<i> qu'il y a d'espace de nom Espace<i>, puis
de reproduire autant de fois que nécessaire les "templates d'annulation" (un
jeu par espace de nom ajouté) ?

Merci d'avance pour votre aide, et pour vous être penché sur mon problème...

Thierry Elnikoff

--
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)



Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC

webmaster@xmlfr.org

 

xml tech

Discussions techniques au sujet de XML.

Cette liste est à votre disposition pour discuter en français de tout sujet technique lié à XML.



Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot@online.fr  

Conception, réalisation et hébergement