From: Pascal Bricard (pbricard@sambatechnologies.com)
Date: 20/06/2002 - 09:02
Merci Cyril, votre transformation est effectivement plus precise.
En fait la raison pour laquelle je souhaitais supprimer les prefixes (en
conservant un document equivalent) est que mon collegue qui parse le
document avec le script ci-dessous ne parvient pas a atteindre les elements
prefixes.
Comme il serait sans doute plus logique de corriger le parsing, voici le
script (c'est du langage PowerBuilder qui utilise le DOM); le parseur
utilise est MSXML V3.0 :
OleXmlparse_l = create oleobject
// Connect to the parser
OleXmlparse_l.ConnectToNewObject("Microsoft.XMLDOM")
// Read the file
OleXmlparse_l.load("doc.xml")
// Analyse the XML elements of the file
OleDomRoot_l = OleXmlparse_l.documentElement
// Find the "User" element
OleDocElement_l = OleDomRoot_l.selectSingleNode("User")
-> si les elements de "doc.xml" sont prefixes (sam:User) alors le
selectSingleNode() ci-dessus ne trouve pas l'element "User"
Merci de votre aide,
Pascal Bricard
At 10:07 AM 6/20/2002 +0200, you wrote:
> > De : Pascal Bricard
> > A : xml-tech@xmlfr.org
> > Objet : [xml-tech] Passage d'un namespace prefixe au namespace par
> > defaut
> >
> > Bonjour,
> >
> > J'ai le document XML suivant dont les elements sont prefixes pour indiquer
> > leur appartenance au namespace correspondant :
> >
> > <?xml version="1.0" encoding="ISO-8859-1"?>
> > <sam:DocumentExport xmlns:sam="http://www.boite.com/DocumentExport">
> > <sam:User>
> > <sam:LastName/>
> > <sam:FirstName/>
> > </sam:User>
> >
> > Je souhaite obtenir le meme document mais avec le namespace declare comme
> > namespace par defaut et donc plus aucun prefixe :
>
>Je ne vois pas trop l'interet mais vous devez avoir de bonnes raisons... ;=)
>
> > [...]J'ai ecrit la feuille XSLT suivante (qui fonctionne) :
> > [...]Y aurait-il une methode plus simple pour obtenir ce resultat ?
>
>Ce qui suit est a peine plus simple - par exemple, nul besoin d'utiliser
>l'attribut "namespace" sur <xsl:element...> ni de <xsl:variable...>; en outre,
>le premier <xsl:template...> dans votre feuille de style est trop "large" dans
>sa selection, je pense, ou vous ecrivez 'match="*"' il vaut probablement mieux
>ecrire 'match="sam:*"' comme ci-dessous :
>
><?xml version="1.0" ?>
>
><xsl:transform
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:sam="http://www.boite.com/DocumentExport"
> xmlns="http://www.boite.com/DocumentExport"
> version="1.0">
>
><xsl:output method="xml" version="1.0" />
>
><xsl:template match="sam:*">
><xsl:element name="{local-name()}">
><xsl:apply-templates select="@*|node()"/>
></xsl:element>
></xsl:template>
>
><xsl:template match="@*|node()">
><xsl:copy>
><xsl:apply-templates select="@*|node()"/>
></xsl:copy>
></xsl:template>
>
></xsl:transform>
>
> > Merci
> >
> > Pascal Bricard
>
>Cordialement,
>--CJ
>
>--
>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)
-
_____________________________________________________________
___
|_)_) Pascal BRICARD e-mail: pbricard@sambatechnologies.com
| |_) Phone : +33 (0) 4 76 04 00 54
SAMBA Technologies
Web : http://www.sambatechnologies.com
Fax : +33 (0) 4 76 04 15 98
Phone : +33 (0) 4 76 04 00 50
Address : 53 chemin du Vieux Chene 38240 MEYLAN FRANCE
______________________________________________________________
--
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
|