Il controllo dello spazio dei nomi è disabilitato sul server che gestisce le trasformazioni XSL (perché il tizio che ha scritto l'XSL non ha compreso gli spazi dei nomi). Devo apportare modifiche all'XSL ma non riesco a testarlo perché non sono definiti spazi dei nomi, ad esempio.C'è un modo per ignorare i namespace durante una trasformazione XSL?
Invece di
<xsl:template match="ns:element[position()=1]">...
ha
<xsl:template match="element[position()=1]">...
quindi non corrisponde a nessuno degli elementi in XML, perché tutti sono tutti qualificati con i namespace.
Non riesco a testare sul server perché non ho accesso ad esso. È inutile correggere l'XSL perché allora il controllo dello spazio dei nomi dovrà essere abilitato e ciò interromperà tutte le altre trasformazioni.
Quindi quello che devo fare è trovare un modo per ignorare i namespace durante una trasformazione XSL. Ho accesso a MSXML, XMLSpy (non riesco a trovare un'opzione qui) e se ho davvero bisogno di poter scrivere qualcosa in C# o in un linguaggio simile.
Come ultima risorsa posso codice un paio di espressioni regolari, ma io davvero non voglio andare giù questa strada, soprattutto quando si tratta di XML ...
In risposta a un commento su ulteriori dettagli:
È un server virtuale di Windows 2003, che esegue un'istanza di un servlet Methode (www.eidosmedia.com). Non so quale tecnica usi questa servlet per eseguire le trasformazioni XSL. Stanno ignorando gli spazi dei nomi perché la persona che ha originariamente scritto l'XSL non li ha capiti e non li ha inclusi nell'XSL. Quindi ora tutti i file XSL (centinaia) non hanno spazi dei nomi.
Potrebbe essere una sfida interessante risolvere tutti questi file in una volta sola, ma non è quello che mi serve in questo momento (e il responsabile del reparto non accetterebbe mai di farlo comunque a causa della quantità di test coinvolti). Tutto quello che voglio sapere è se c'è uno strumento (o una tecnica) disponibile che mi permetta di prendere questi file XSL così com'è e usarli per trasformare un documento XML corrispondente senza tenere conto degli spazi dei nomi. Mi sembra che uno strumento debba esistere, perché il tizio che ha scritto l'XSL originale deve aver usato qualcosa di simile per testare le trasformazioni stesso.
Come si disabilita il controllo dello spazio dei nomi su un server? Non ho mai sentito parlare di una cosa del genere. –
È un prodotto di terze parti (non Microsoft o Sun) che gestisce le trasformazioni. Hanno appena chiesto agli sviluppatori di dare loro un'opzione per disabilitarlo. – ilitirit
Potremmo ottenere maggiori dettagli? Quale tipo di server, ecc. Inoltre, quale problema si vuole affrontare ignorando gli spazi dei nomi? Ignorare gli spazi dei nomi è molto difficile, quindi se conosciamo il problema dietro al problema, potremmo provare ad affrontarlo. –