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.XSL: evitare di esportare le definizioni dei namespace nei documenti XML risultanti
In altre parole:
fonte:
<Namespace:Root xmlns:Namespace="http://www.something.com">
foglio di stile:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:Namespace="http://www.something.com">
risultato:
<resultRoot xmlns:Namespace="http://www.something.com">
<!--I don't want the Namespace definition above-->
Sto usando msxsl per la trasformazione.
Suppongo che tu intenda i prefissi exclude-result? –
Utilizziamo prefissi di elementi di estensione e funziona perfettamente. I prefissi degli elementi di estensione – alamar
hanno lo stesso effetto, ma hanno un effetto aggiuntivo. Qualsiasi elemento inserito in uno di questi spazi dei nomi verrà interpretato come un elemento di estensione (piuttosto che un elemento di risultato letterale). Potrebbe essere appropriato per gli esempi che hai nella tua risposta. Ma se non vuoi questo comportamento aggiuntivo, usa solo prefissi exclude-result –