Mi piacerebbe prendere i dati da alcuni file XML e trasformarli in un nuovo documento XML. Tuttavia, non voglio che la definizione di uno spazio dei nomi nell’XSLT si verifichi nel documento dei risultati.
In altre parole:
fonte:
foglio di stile:
risultato:
Sto usando msxsl per la trasformazione.
È ansible utilizzare l’attributo exclude-result-prefixes
dell’elemento xsl:stylesheet
per sopprimere gli spazi dei nomi dal documento di output:
Per sopprimere più spazi dei nomi dal documento di output, specificarli separati da spazi bianchi:
exclude-result-prefixes="ns1 ns2 ns3"
Dalla specifica XSLT :
Quando un foglio di stile usa una dichiarazione dello spazio dei nomi solo allo scopo di indirizzare l’albero dei sorgenti, specificare il prefisso nell’attributo exclude-result-prefixes eviterà dichiarazioni di namespace superflue nella struttura dei risultati.
la risposta di divo era già stata scelta, e in modo appropriato.
Ma se sei interessato a scavare più a fondo, controlla la sezione “Troppi spazi dei nomi” nel mio opus magnum sul tema molto popolare di “Namespace in XSLT”. (Sì, è fatto per essere ironico. :-))
use extension-element-prefixes = “Namespace”
piace: