Domanda

Quali sono le possibilità di vedere processori XSLT 2.0 come saxon per php nel prossimo futuro?

È stato utile?

Soluzione

Nel prossimo futuro? Nessuno.

PHP5 si basa esclusivamente su LibXSLT per l'elaborazione XSLT (Sablotron è fuori) e non è previsto alcun piano supporta XSLT 2.0 in questa libreria.

Altri suggerimenti

Questo non è del tutto vero.

Se si esegue PHP sulla piattaforma Windows, esiste un'estensione relativamente facile da configurare per il processore AltovaXML XSLT 2.0 ... http://sourceforge.net/projects/xslt2processor/

Se stai eseguendo PHP su Linux, dovrai installare un PHP / Java Bridge. Ciò comporta l'esecuzione di un servlet Java contenuto come Apache / Tomcat ed è piuttosto coinvolto. C'è anche un codice java / php ibrido relativamente complesso necessario per far funzionare tutto questo. Se sei interessato, posso pubblicare maggiori dettagli.

Infine, c'è una risposta positiva a questa domanda .

Proprio oggi, il Dr. Michael Kay ha annunciato Saxon / C .

Vedi questo per maggiori informazioni: https://stackoverflow.com/a/20275114/36305

Non esiste alcun supporto XSLT2.o fino ad ora in PHP, l'unica opzione per usare XSLT2.0 è usare SAXON che è basato su Java e quindi dovrete qualcosa come PHP XSLT2.0 processore, vedi questo link: http://sourceforge.net/projects/xslt2processor/

  

XML_XSLT2Processor è una classe PHP che ti consente di eseguire XSLT   2.0 trasformazioni all'interno di PHP usando SAXON o AltovaXML.

Esiste un transpiler XSL 2.0 open source in PHP che può essere trovato su github

Anche Saxon / C versione 1.0.0 che supporta XSLT 2.0 / 3.0 su C / C ++ e PHP è stato rilasciato .

PHP usa LibXML2 per implementare tutte le classi XML. È molto veloce e stabile, ma oggi (2013) supporta solo XPath1 e XSLT1 ... Forse la comunità ha bisogno solo di questa soluzione più rapida e semplice e non ha bisogno dei poteri di XSLT2 (vedi " opzione0 ").

opzione0: prova a usare una migliore separazione MVC!

... Molti modelli, usati come Visualizza in un contesto MVC, non hanno bisogno dei poteri di XSLT2 : vedi buona spiegazione del motivo . Scopri come alcuni buoni progetti PHP stanno usando XSLT1

opzione1: prova un'implementazione non tradizionale

Come mostrato da @collapsar a questa domanda simile lì sono un open source sviluppato per estendere il classico LibXML2 con alcuni poteri di XSLT2 e XPath2. Vedere http://www.explain.com.au/libx/

La community di PHP non è ancora motivata a completare questa evoluzione ... Perché? Forse ho solo paura di perdere prestazioni e stabilità. Forse solo una mancanza di manodopera per completare l'attività , principalmente in un driver PHP.

opzione2: abilita XSLT1 o XPath1 con funzioni / connessioni PHP

Vedi l'esempio di lavoro abituale svolto qui, registrando le funzioni PHP in XPath1 o XSLT1 . Sto usando questa soluzione nei miei progetti.

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