Bonjour,

Voila j'ai un xml (le début seulement nous intéresse):

<?xml version="1.0" encoding="utf-8"?>
<Case xmlns:tsd="http://namespaces.softwareag.com/tamino/TaminoSchemaDefinition" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://zefix.powernet.ch/Schema/HRG.xsd" Amt="150" CHNR="" Gnr="1133" Gyear="2005" Kanton="NW" Lang="2" Nr="NW-1133-2005" SitzNr="1508" Stempel="2005-10-12T09:10:17" Version="0.1" Visum="UR " inBearb="1" valid="1">


Et dans ce dernier il y a dans l'entête une déclaration d'un schéma:

xsi:noNamespaceSchemaLocation="http://zefix.powernet.ch/Schema/HRG.xsd"


Est-il possible a l'aide d'XSLT d'enlever seulement cette instruction? Si oui comment?

Merci pour votre aide!

++

Thierry
Modifié par virgul (12 Oct 2005 - 10:02)
Bonjour,

Pourquoi ne serait ce pas possible ?

xsi:noNamespaceSchemaLocation semble être un attribut comme les autres non ? à partir de là, XSLT permet de manipuler cet attribut comme n'importe quel autre.
De nombreuses solutions conviennent. Par exemple :
- définir un ensemble d'attributs (élément xsl:attribute-set) des attributs à conserver (tous sauf xsi:noNamespaceSchemaLocation apparemment)
- faire une copie (élément xsl:copy) de ton élément case en utilisant l'ensemble d'attributs (attribut use-attribute-sets).