Ho creato un documento di dati XML e un foglio di stile XSLT e voglio produrre un documento HTML basato sui due. Il mio foglio di stile ha il tag e il mio documento XML ha l'istallazione del processore (insieme a vari riferimenti "xsl: value-of"). La mia domanda è, quali sono le vere "meccaniche" per ottenere il processore XSLT (che, capisco, è integrato in tutti i browser Web) per leggere i file di fogli di stile XML e XSLT e generare il documento HTML, che verrà quindi visualizzato sul browser? Il libro XML che ho letto non lo specifica! GrazieCome stampare il file HTML da un foglio di stile XML e XSLT
risposta
La mia domanda è, quali sono le effettive "meccanica" di ottenere il processore XSLT (che, capisco, è costruito per tutti i browser web) per leggere l'XML e fogli di stile XSLT i file e restituiscono il documento HTML, che sarà quindi visualizzato nel browser?
È il compito del browser HTML specifico utilizzato per richiamare il suo processore XSLT. Quindi il browser interpreta i risultati della trasformazione XSLT come HTML che dovrebbe essere visualizzato. Si noti che in generale i browser non sono tenuti a supportare la preelaborazione XSLT, quindi potrebbero esistere browser che non dispongono di un processore XSLT associato e non onorano il PI xml-stylesheet
per lo pseudo-attributo type="text/xsl"
.
Per maggiori informazioni leggere le specifiche del W3C su "Associating Style Sheets with XML Documents"
Per testare la trasformazione XSLT in questo, un po 'modo primitivo, è possibile aprire il file XML con il vostro browser (fare il vostro lavoro e imparare come aprire un file locale dal browser) ed esaminare i risultati con un comando "View Source"
o simile.
Certamente non consiglio questa tecnica primitiva. E 'molto meglio usare uno dei tanti IDE XSLT esistenti, come il XSelerator, ossigeno, Visual Studio, ..., ecc
Grazie per la risposta. Ma diciamo che voglio fare un "test" sul mio computer locale per vedere il documento html emesso dal browser. Come potrei farlo? – Jack
Questa è una domanda diversa. Si prega di fare una nuova domanda. Questa nuova domanda non ha nulla a che fare con XSLT: devi solo aprire il file nel tuo browser usando File -> Apri, o qualunque sia la sequenza di menu per aprire un file nel browser specifico. –
No, la mia domanda è correlata, ma non penso di essere stata chiara nelle mie parole. La mia domanda era, supponiamo di avere un file XML e un foglio di stile XSLT associato, e voglio inserire questi file nel browser per testare il file HTML che verrà visualizzato. Come potrei farlo? Grazie. – Jack
È possibile eseguire XSL trasforma in "via normale" utilizzando Javascript API, o utilizzare un'istruzione di elaborazione xml-stylesheet, in questo modo:
Load questo al vostro browser ...
<?xml version="1.0"?>
<?xml-stylesheet href="demo.xslt" type="text/xsl"?>
<data>
<first>first</first>
<second>second</second>
</data>
e il foglio di stile, salvare questo come demo.xslt nella stessa directory come il File XML
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<head><title>Xslt browser demo</title></head>
<body>
Here's my data:
<xsl:for-each select="/data/*"><b><xsl:value-of select="."/></b></xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Questo funziona per me in Firefox su Linux.
La risposta di Dimitre è ciò di cui hai bisogno. Ma qui si ha un esempio:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
<document>
...
</document>
Apertura del documento XML in qualsiasi precedente (non proprio, ma si ottiene ...) del browser e sarà trasformare il documento XML con stylesheet.xsl
e visualizza il risultato.
È decisamente un disastro quando si tratta di trasformazioni nei browser imo, cattivo supporto e solo XSLT 1.0. Il tipo MIME Vedere commenti Alejandros qui sotto.text/xsl
non è nemmeno "corretto" ma è quello più comunemente supportato dai browser. Il tipo MIME corretto dovrebbe essere application/xslt+xml
ma ciò non è supportato in alcun (?) Browser a mia conoscenza.
in realtà, non esiste un tipo MIME per XSLT. 'application/xslt + xml' era la proposta in XSLT 2.0 WD. Quindi, 'test/xml' o' application/xml' (per puristi) sono il tipo MIME corretto per ** inviare ** fogli di stile XSLT. Lo pseudo attributo 'type' di' xml-stylesheet' PI è solo per determinare tra 'test/css' e' test/xsl'. –
@ Alejandro: hai ragione, non mi sono aggiornato di tanto in tanto o non ho letto alcune vecchie cose. Ci scusiamo per questo e grazie per il chiarimento! –
Di seguito è riportato un codice java che viene utilizzato per creare il file HTML. Quando si esegue eseguire questo codice verrà creato il file out.html.
package xslt;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
import java.io.*;
class XSLT {
public static void main (String argv[]) throws Exception {
File stylesheet = new File("xslt-example.xsl");
File xmlfile = new File("SigmodRecord.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse(xmlfile);
StreamSource stylesource = new StreamSource(stylesheet);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer(stylesource);
DOMSource source = new DOMSource(document);
//The Html output is in out.html
StreamResult result = new StreamResult("out.html");
transformer.transform(source,result);
}
}
- 1. Includere un foglio di stile xslt in una pagina html
- 2. Errore durante il caricamento di stile: l'analisi di un foglio di stile XSLT fallito
- 3. Passare il parametro al foglio di stile XSLT
- 4. È possibile aggiungere un foglio di stile XSLT a un documento XML serializzato?
- 5. XSLT tag uscita html da XML
- 6. Gestione XSLT: collegamento di metadati a un foglio di stile per output e parametri
- 7. Passare i parametri al foglio di stile XSLT via .NET
- 8. Riferimento a un file .css in github repo come foglio di stile in un file .html
- 9. XSLT - selezionando un valore di attributo da un file XML
- 10. Utilizzo di XSLT per tradurre un file XML
- 11. Foglio di stile XML predefinito in Chrome?
- 12. Dissolvenza da un foglio di stile all'altro
- 13. Limita il foglio di stile a un tag e discendenti
- 14. Come posso ottenere il foglio di stile @import per sovrascrivere il foglio di stile principale?
- 15. foglio di stile "profiler"
- 16. XSLT: analisi HTML incorporato in XML?
- 17. concatenare dinamicamente i file XML con formica e XSLT
- 18. formato una data in XML tramite XSLT
- 19. Come aggiungere il nodo del foglio di stile xsl a XML prodotto da XmlSerializer?
- 20. Zend Framework e integrazione XML/XSLT
- 21. xforms reso tramite xslt e errore xml
- 22. Crea modulo HTML da XML
- 23. Come modificare il foglio di stile predefinito?
- 24. Problema relativo al percorso del foglio di stile XSLT sotto Windows
- 25. come unire due file xml con XSLT
- 26. Applicazione di una semplice bottiglia che legge il suo contenuto da un file .html. Foglio di stile esterno bloccato?
- 27. Parametri del foglio di stile XSLT nei fogli di stile importati
- 28. Come includere lo spazio nel tag/elemento XML che viene trasformato da XSLT nel foglio Excel
- 29. pandoc convert html con foglio di stile a docx
- 30. Chrome non carica il foglio di stile
Buona domanda, +1. Vedi la mia risposta per una spiegazione. –
controlla questo articolo: http://www.yegor256.com/2014/06/25/xml-and-xslt-in-browser.html – yegor256