Co to jest format pliku XSL?
Plik .xsl to arkusz stylów XSLT - tekstowy dokument XML zawierający reguły transformacji zapisane w języku XSLT. XSLT (Extensible Stylesheet Language Transformations) został wystandaryzowany przez W3C w listopadzie 1999 roku; obecna wersja, XSLT 3.0, pojawiła się w 2017 roku. Arkusz stylów nie jest danymi ani gotowym dokumentem: jest programem, który procesor XSLT stosuje do wejściowego pliku XML, aby wygenerować HTML, zwykły tekst lub inny wynik XML.
Wewnątrz pliku .xsl elementem głównym jest <xsl:stylesheet> lub <xsl:transform>, zadeklarowany w przestrzeni nazw http://www.w3.org/1999/XSL/Transform. Reguły szablonów (<xsl:template match="...">) wybierają węzły z drzewa źródłowego; instrukcje wyjściowe, takie jak <xsl:value-of>, <xsl:for-each> i <xsl:apply-templates>, budują wynik. Atrybut version w elemencie głównym - 1.0, 2.0 lub 3.0 - informuje procesor, który poziom języka należy zastosować.
.xsl i .xslt odnoszą się do tego samego rodzaju pliku; .xsl to starsza pisownia z ery XSLT 1.0, podczas gdy .xslt stało się bardziej powszechne wraz z XSLT 2.0 i 3.0. Historycznie rozszerzenie .xsl obejmowało również XSL-FO (obiekty formatujące dla wyjścia PDF), oddzielną gałąź rodziny XSL, obecnie kojarzoną z plikami .fo.
Typowe zastosowania obejmują konwersję kanałów danych XML na czytelne strony internetowe, transformację plików konfiguracyjnych między schematami oraz generowanie plików PDF za pomocą procesorów XSL-FO, takich jak Apache FOP.
Bezpieczeństwo
RYZYKO: LOWPlik .xsl to zwykły tekst XML i nie zawiera skompilowanego kodu, więc jego czytanie lub edycja jest bezpieczna. Realne ryzyko występuje po stronie PROCESORA podczas uruchamiania NIEZAUFANEGO arkusza stylów/wejścia: XSLT 2.0/3.0 oraz niektóre funkcje rozszerzeń mogą czytać/zapisywać pliki lub wykonywać połączenia sieciowe (document(), unparsed-text(), funkcje rozszerzeń), a przetwarzanie XML może być narażone na ataki XXE/entity-expansion. Dlatego nie należy uruchamiać arkuszy stylów z niezaufanych źródeł z włączonymi rozszerzeniami lub encjami zewnętrznymi. Dla użytkownika końcowego samo otwarcie .xsl do odczytu nie stanowi zagrożenia.
Szczegóły formatu
w pigułceProgramy otwierające pliki XSL
Szczegóły techniczne
specyfikacja| Typ MIME | application/xslt+xml (akceptowane również: text/xsl, application/xml, text/xml) |
| Kodowanie pliku | Domyślnie UTF-8; dozwolone są UTF-16 i inne kodowania zadeklarowane w XML; znacznik UTF-8 BOM (EF BB BF) może poprzedzać deklarację XML |
| Format kontenera | Poprawnie sformułowany dokument XML |
| Element główny | <xsl:stylesheet> lub <xsl:transform> w przestrzeni nazw http://www.w3.org/1999/XSL/Transform |
| Sygnalizacja wersji | Atrybut version w elemencie głównym: 1.0, 2.0 lub 3.0 - wybiera poziom języka XSLT stosowany przez procesor |
| Sygnatura pliku (magiczne bajty) | 3C 3F 78 6D 6C („<?xml”) na offsetcie 0; ostateczna tożsamość wymaga elementu głównego XSLT i przestrzeni nazw, a nie stałej liczby magicznej |
| Typowy rozmiar pliku | 1 KB - 200 KB; duże arkusze stylów korporacyjnych mogą być większe |
| Tryby wyjściowe | HTML, XHTML, zwykły tekst lub XML - wybierane za pomocą deklaracji <xsl:output method="..."> wewnątrz arkusza stylów |
| Podstawowe elementy instrukcji | <xsl:template>, <xsl:apply-templates>, <xsl:for-each>, <xsl:value-of>, <xsl:if>, <xsl:choose>, <xsl:call-template> |
| Zależność od XPath | Używa wyrażeń XPath do adresowania i wybierania węzłów: XPath 1.0 z XSLT 1.0, XPath 2.0 z XSLT 2.0, XPath 3.1 z XSLT 3.0 |
| URI przestrzeni nazw | http://www.w3.org/1999/XSL/Transform (konwencjonalnie powiązany z prefiksem xsl:) |
| Kompresja | Brak wbudowanej; zwykły tekst, może być przesyłany z kompresją gzip na poziomie transportu HTTP |
| Obsługa procesorów | xsltproc (libxslt), Saxon (2.0/3.0), Xalan-C/J, MSXML, .NET XslCompiledTransform, wbudowane silniki przeglądarek (XSLT 1.0) |
| Obsługa platform | Wieloplatformowy: Windows, macOS, Linux i każde środowisko ze zgodnym procesorem XSLT |
| Organizacja normalizacyjna | W3C (World Wide Web Consortium) |
| Wydano | 1999 (XSLT 1.0, W3C Recommendation, November 16, 1999) |
| Najnowsza wersja | XSLT 3.0 (W3C Recommendation, June 8, 2017) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | www.w3.org |
Konwersje XSL
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki XSL.