Utworzono dokument danych XML i arkusz stylów XSLT i chcę wyprowadzić dokument HTML na podstawie tych dwóch. Mój arkusz stylów ma znacznik, a mój dokument XML zawiera procesor (wraz z różnymi referencjami "xsl: value-of"). Moje pytanie brzmi: jaka jest rzeczywista "mechanika" pozyskiwania procesora XSLT (co, jak rozumiem, jest wbudowane we wszystkie przeglądarki), do odczytywania plików arkuszy stylów XML i XSLT i wyprowadzania dokumentu HTML, który następnie będzie wyświetlany na przeglądarka? Książka XML, którą czytałem, nie określa tego! DziękujęJak wydrukować plik HTML z arkusza stylów XML i XSLT
Odpowiedz
Moje pytanie brzmi, jakie są rzeczywiste „mechanika” na uzyskanie procesor XSLT (które, jak rozumiem, jest wbudowany do wszystkich przeglądarek internetowych) do odczytu stylów XML i XSLT pliki i wyjściowy dokument HTML, który będzie następnie wyświetlane w przeglądarce?
Jest to zadanie konkretnej przeglądarki HTML używanej do wywoływania jej procesora XSLT. Następnie przeglądarka interpretuje wyniki transformacji XSLT jako HTML, który powinien zostać wyświetlony. Zauważ, że ogólnie przeglądacze nie muszą obsługiwać wstępnego przetwarzania XSLT, więc mogą istnieć przeglądarki, które nie mają skojarzonego procesora XSLT i nie honorują pseudo-atrybutu xml-stylesheet
PI dla type="text/xsl"
.
Aby uzyskać więcej informacji przeczytaj W3C specyfikację na „Associating Style Sheets with XML Documents”
Aby przetestować transformacji XSLT w tym, nieco prymitywny sposób, można otworzyć plik XML z przeglądarki (zrobić swoją pracę domową i nauczyć jak otworzyć lokalny plik z przeglądarki) i sprawdzić wyniki za pomocą polecenia "View Source"
lub podobnego.
Z pewnością nie polecam tej prymitywnej techniki. Jest znacznie lepiej użyć jednego z wielu istniejących IDE XSLT, takich jak XSelerator, tlen, Visual Studio, ..., itd.
Dziękujemy za odpowiedź. Ale załóżmy, że chcę zrobić "test" na moim lokalnym komputerze, aby zobaczyć dokument HTML wyprowadzony przez przeglądarkę. Jak to zrobić? – Jack
To jest inne pytanie. Zadaj nowe pytanie. To nowe pytanie nie ma nic wspólnego z XSLT: wystarczy otworzyć plik w przeglądarce za pomocą Plik -> Otwórz lub cokolwiek jest sekwencją menu do otwierania pliku w określonej przeglądarce. –
Nie, moje pytanie jest powiązane, ale ja po prostu nie sądzę, że było jasne w moim brzmieniu. Moje pytanie brzmiało: załóżmy, że mam plik XML i powiązany arkusz stylów XSLT, i chcę wprowadzić te pliki do przeglądarki, aby przetestować plik HTML, który będzie wyświetlał. Jak to zrobić? Dziękuję Ci. – Jack
Można uruchomić XSL przekształca się w „normalny sposób” przy użyciu JavaScript API, lub użyć instrukcji przetwarzania xml-stylesheet, tak:
załadować do swojej przeglądarce ...
<?xml version="1.0"?>
<?xml-stylesheet href="demo.xslt" type="text/xsl"?>
<data>
<first>first</first>
<second>second</second>
</data>
i stylów, zapisz to jako demo.xslt w tym samym katalogu co Plik 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>
To działa dla mnie w Firefoksie w systemie Linux.
Odpowiedź Dimitre jest tym, czego potrzebujesz. Ale tutaj masz przykład:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
<document>
...
</document>
Otwieranie poprzedni dokument XML w dowolny (nie bardzo, ale je dostać ...) przeglądarkę i będzie przekształcenie dokumentu XML z stylesheet.xsl
i wyświetlić wynik.
To naprawdę niezły bałagan, jeśli chodzi o transformacje w przeglądarkach, złe wsparcie i tylko XSLT 1.0. Typ MIME Zobacz komentarz Alejandros poniżej.text/xsl
nie jest nawet "poprawny", ale jest najczęściej obsługiwany przez przeglądarki. Prawidłowy typ MIME powinien być application/xslt+xml
, ale według mojej wiedzy nie jest to obsługiwane w żadnej (?) Przeglądarce.
w rzeczywistości nie ma typu MIME dla XSLT. 'application/xslt + xml' było propozycją w XSLT 2.0 WD. Tak więc, 'test/xml' lub' application/xml' (dla purist) są poprawnym typem MIME dla ** wysyłania ** arkuszy stylów XSLT. Pseudo-atrybut 'type' z' xml-stylesheet' PI jest po prostu do określenia pomiędzy 'test/css' i' test/xsl'. –
@Alejandro: Masz rację, nie aktualizowałem się sam, ani nie czytałem starych rzeczy. Przepraszamy za to i dziękujemy za wyjaśnienia! –
Poniżej znajduje się kod Java, który jest używany do tworzenia pliku HTML. Kiedy uruchomisz ten kod, zostanie utworzony plik 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. Możliwe jest dodanie arkusza stylów XSLT do zserializowanego dokumentu XML?
- 2. Error loading stylesheet: parsowanie arkusza stylów XSLT nie powiodła
- 3. Parametry arkusza stylów XSLT w zaimportowanych arkuszach stylów
- 4. Przekazywanie parametrów do arkusza stylów XSLT za pośrednictwem .NET
- 5. Dołącz arkusz stylów xslt na stronie html
- 6. XML do Stała szerokość pliku tekstowego z arkusza stylów xsl
- 7. analizowania elementów XML wewnątrz CDATA Korzystanie XSLT i drukowanie HTML
- 8. Tworzenie dynamicznego wewnętrznego arkusza stylów
- 9. IDE dla arkuszy stylów XSLT
- 10. Przejście z jednego arkusza stylów do drugiego
- 11. div ignoruje wysokość z arkusza stylów
- 12. Jak mogę wydrukować źródło XML przy użyciu VB6 i MSXML?
- 13. Jak usunąć elementy z xml za pomocą xslt z stylesheet i xsltproc?
- 14. Python3 i XML/XSLT biblioteki
- 15. Jak wstawić w XSLT
- 16. Jak zrobić wieloznaczne dopasowania z XSLT?
- 17. Jak zaimportować/dołączyć do arkusza stylów zamknięcia?
- 18. Format data w formacie XML za pomocą XSLT
- 19. Parse plik tekstowy z XSLT
- 20. Najlepszy sposób na strukturyzowanie arkusza stylów CSS
- 21. Łączenie arkusza stylów CSS z formantem niestandardowym ASP.NET
- 22. jak scalić dwa pliki xml z XSLT
- 23. Webpack - Ładowanie arkusza stylów bez czcionek
- 24. Jak przekształcić plik XML za pomocą XSLT w Pythonie?
- 25. Utwórz formularz HTML z XML
- 26. XSLT Transform XML z przestrzeniami nazw
- 27. Jak ładnie wydrukować XML z wiersza poleceń?
- 28. XSLT, aby przekształcić HTML i sformatować HTML na podstawie danych w XML
- 29. Jak wydrukować plik JSON?
- 30. utworzyć łącze z XSLT w html do innego html
Dobre pytanie, +1. Zobacz moją odpowiedź na wyjaśnienie. –
sprawdź ten artykuł: http://www.yegor256.com/2014/06/25/xml-and-xslt-in-browser.html – yegor256