2011-11-06 12 views
12

sto modificando un documento XSLT 2.0 in emacs e ottenere un "valore di attributo non valido" errore sul numero di versione, vale a dire,XSLT 2.0 supporto in emacs nxml modalità

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

Se si sostituisce la "2.0" con "1.0" non ottengo un errore in emacs (ma poi ci sono errori nell'elaborazione del foglio di stile).

Does emacs non supporta XSLT 2.0? C'è qualche schema esterno che posso ottenere che funzionerà? Nel peggiore dei casi, nXML mi aiuterà ancora correttamente con il resto del documento, anche se vivo con questo errore?

risposta

15

Norman Walsh's xslt20.rnc schema dovrebbe fare il trucco. Vedi https://github.com/ndw/xslt-relax-ng.

È possibile registrare xslt.rnc come il documento di schema sia per XSLT 1.0 e 2.0 (fa riferimento xslt10.rnc e xslt20.rnc).

+0

Perfetto e grazie per la risposta veloce! Sembravo alcuni vecchi riferimenti a questi file ma non sono riuscito a trovare un sito da cui scaricare. Li ho appena copiati nella directory in cui emacs aveva già un singolo file xslt.rnc e sembra funzionare ... speriamo che fosse la cosa giusta da fare. –

+0

Cos'è la directory allora? My emacs non ha file xslt.rnc da nessuna parte o non riesco a trovarli e ho lo stesso identico problema in modalità nXML –

+0

I file di schema devono essere inseriti in una directory che può essere localizzata da nXML come descritto nella documentazione: http : //www.gnu.org/software/emacs/manual/html_node/nxml-mode/Locating-a-schema.html – mzjn