Domanda

Ho alcuni file XML che hanno recentemente cambiato in modo che alcuni dei nodi hanno ora l'attributo xsi: nil = "true". Ho un foglio di stile XSLT che rende l'XML in HTML per qualche rapido eyeballing dei dati. Attualmente per rendere le cose più facile per me stesso nudo fuori gli spazi dei nomi fuori dal XML prima di applicare il foglio di stile. Che ha funzionato bene fino fino al nostro ultimo aggiornamento. Ora sto ottenendo un errore perché l'XSL non sa come gestire il xsl:. Nil = "true"

I può facilmente aggiornare il codice in modo faccio un sostituire / rimuovere su tutto il xsl: nil = "true" partite in XML prima di trasformarlo, ma mi chiedevo se è possibile cludge il foglio di stile XSLT così che xsi: nil del verranno ignorati / non causa guasti di trasformazione, anche se non sono compresi gli spazi dei nomi nel codice XML. Io preferirei fare le cose in questo modo perché posso apportare la modifica sul server ora, dove se devo rilasciare una nuova build web devo passare attraverso alcuni cerchi interni per farlo distribuito.

Dopo che far funzionare le cose. (Sia attraverso la rimozione del xsl: del nil prima o durante la trasformazione) mi circondo di nuovo intorno e capire il motivo per cui ho rimosso gli spazi dei nomi in origine e correzione

Grazie per tutto l'aiuto che può darmi.

È stato utile?

Soluzione

Perché si rimuovono gli spazi dei nomi, in primo luogo? Il XSLT permette di controllare ciò che i prefissi non possono essere messi in uscita, e si può saltare quelli xsi:nil bene nel foglio di stile.

Se non v'è alcuna dichiarazione prefisso namespace per il prefisso xsi, l'XML non è valido. Quindi, o avete a che fare con XML non valida o avete ancora qualche XSI namespace dichiarazione da qualche parte, e si potrebbe cambiare il XSLT per saltare le voci.

Se fate un find-sostituzione della sorgente XML, davvero assicurarsi di risolvere il problema più tardi (presto!), Perché questo tipo di cose sta per rompere il collo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top