Apparition d'un xmlns="" après passage d'un exec.xsl dans une dérivation

Bonjour,

je travaille sur une dérivation d’Opale avec des fichiers exec.xsl pour transformer des bouts de transformers et y ajouter des choses.

J’ai un souci car au passage de la exec.xsl, un élément se voit accompagné d’un attribut xmlns="" intempestif.

Vous allez me dire « pas bien grave tant que le xml est correct ». Oui mais non. car j’ai constaté que lorsque cet attribut est là, ma génération postscriptum ne donne pas le résultat attendu. Si j’élimine cet attribut à la main ou bien si je réenregistre le transformer dans scBuilder (ce qui a pour effet d’éliminer l’attribut intempestif), alors la génération postscriptum donne le résultat attendu.

Donc mon but est d’éliminer cet attribut xmlns="" mais je ne sais pas comment faire.

Plus concrètement, voici mon exec.xsl :

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sc="http://www.utc.fr/ics/scenari/v3/core" xmlns:sm="http://www.utc.fr/ics/scenari/v3/modeling" xmlns:op="utc.fr:ics/opale3" exclude-result-prefixes="xsl sc sm op">
	<xsl:output encoding="UTF-8" method="xml" indent="yes"/>    
	<xsl:template match="sm:choose[sm:when//sm:fixedTitle/@value=';Références']">
		<xsl:comment>[Opale2OpaleInge[</xsl:comment>
			<sm:choose>
				<sm:when xpath="op:odRootM/sp:settings/sp:nom='yes'">
					<sm:WFreeBlock>
						<ifBasket key="nom">
							<sm:WHeadingBlock widgetClass="annexe" class="nom" tagName="section">
								<sm:anchorLink label=";⚓"/>
								<sm:title>
									<sm:fixedTitle value=";Nomenclature"/>
								</sm:title>
								<sm:Widget sc:refUri="/aurora/print/widg/index/nom.uiwidget"/>
							</sm:WHeadingBlock>
						</ifBasket>
					</sm:WFreeBlock>
				</sm:when>
			</sm:choose>
		<xsl:comment>]Opale2OpaleInge]</xsl:comment>
		<xsl:copy>
			<xsl:apply-templates select="@*"/>
			<xsl:apply-templates select="node()"/>
		</xsl:copy>
	</xsl:template>
	<xsl:template match="@*|node()">
		<xsl:copy>
			<xsl:apply-templates select="@*|node()"/>
		</xsl:copy>
	</xsl:template>
</xsl:stylesheet>

Ceci a pour effet de créer : <ifBasket xmlns="" key="nom">

Je me permets de pinguer @anp

Salut
Je ne suis pas sur à 100% que cela règle ton problème, mais à la place de

exclude-result-prefixes=« xsl sc sm op »

Mets

exclude-result-prefixes=« op »

Nicolas

Ha non c’est pas ça
Mets
xhtml:ifBasket
Et déclare xmlns:xhtml=« XHTML namespace »

Grand merci @nicolas.boyer ça fonctionne !
J’ai mis xhtml:ifBasket, déclaré xmlns:xhtml=« http://www.w3.org/1999/xhtml », et mis exclude-result-prefixes="xsl sc sm op".

Ça met xmlns:xhtml="http://www.w3.org/1999/xhtml" sur le sm:choose résultant, et ça conserve xhtml:ifBasket dans le xml résultant, mais la génération fonctionne comme attendu donc nickel :slight_smile: