XML * XML-SCHEMA * XPATH * XSL * XSL-FO * SVG * XQUERY * XPROC * ANT * DIVERSES



XSL

XSL

XSL

➪ XSL ist eine leistungsfähige Sprache zur Konvertierung vorrangig von XML-Input-Daten (aber z.B. auch Textformaten wie CSV), die in unterschiedlichem Kontext für unterschiedliche Zielformate (XML, HTML, Text sowie Formatting Object) zum Einsatz kommt.

XML ist eine Sprache, die weitestgehend ohne Vokabular im engeren Sinn auskommt und wesentlich auf der strikten Einhaltung klar definierter Regeln basiert. Hier werden hochkomplexe Datenstrukturen nach einem einfachen und flexiblen Prinzip in spitze Klammern gesteckt. Auch die Strukturdefinition dieser Daten (XML-Schema) sowie Techniken zu ihrer Auswertung (XSL) folgen großteils demselben Prinzip.

Komplexe Programmsteuerdateien (ANT, NANT) finden sich ebenso wie komplette System- und Serverkonfigurationen oder hochauflösende Grafiken mit leistungsfähigen Animationen (SVG, WPF): Sämtlich XML-basiert. Namespaces ermöglichen Differenzierungen für etliche Spezialstandards. Auch sie stecken in spitzen Klammern.

In der Praxis ist die XSL-Version 1.0 für zahlreiche Standard-Transformationen völlig hinreichend, sofern keine spezielleren Effekte wie Ausgabe mehrerer Zieldokumente, benutzerdefinierte Funktionen, kompliziertere Gruppierungen oder spezielle Type-Castings erforderlich sind.

Für anspruchsvollere Anwendungen empfiehlt sich XSL 2.0 bzw. XSL 3.0. Beide überragen mit der Spannweite ihrer technischen Möglichkeiten die jeweilige Vorgängerversion um ein Vielfaches.

Dabei dürfen Sie nicht vergessen: XSL 2.0 und XSL 3.0 halten zwar die Elemente und Attribute für XSL 1.0 ebenfalls vor und erweitern diese immens. Dennoch bieten die höheren Versionen keine hinreichende Abwärtskompatibilität. Dieselben zeigen in XSL 1.0/XPath 1.0 bei verschiedenen Funktionen ein anderes Verhalten, wie das Beispiel zeigt.

In vielen Implementierungen ist es beliebt, die Typkontrolle von Variablen bzw. Parametern sehr weitgehend dem System zu überlassen. Da viele Annahmen, die der implementierten Programmlogik zugrunde liegen, möglicherweise nicht zutreffen, liegt hier ein bedeutendes Risiko für

Wie im Abschnitt über angedeutet, ist es von zentraler Bedeutung, sich über den Datentyp von

in der Programmierlogik vollständig im Klaren zu sein. Ab der Version 2.0 steht eine effiziente, automatisierte Typkontrolle auf der Basis von XML-Schema zur Verfügung.

wg / 2. Juni 2020



Fragen? Anmerkungen? Tipps?

Bitte nehmen Sie Kontakt zu mir auf.




XPath

Die XSLT - Struktur

xsl:accept

xsl:accumulator

xsl:accumulator

xsl:accumulator-rule

xsl:analyze-string

xsl:analyze-string

xsl:apply-imports

xsl:apply-templates, xsl:next-match

xsl:apply-templates

xsl:apply-templates bei Referenzierungen

xsl:apply-templates bei mixed content

xsl:apply-templates: Teilkonvertierung

xsl:assert

xsl:assert

xsl:attribute

xsl:attribute

xsl:attribute-set

xsl:attribute-set

xsl:break

xsl:call-template

xsl:call-template

xsl:character-map

xsl:character-map

Liste der Sonderzeichen selbst erstellen

Zeichensätze generieren mit C#.NET

xsl:choose

xsl:choose

comment()

xsl:comment

xsl:context-item

xsl:copy, xsl:copy-of

xsl:copy

xsl:copy-of

xsl:decimal-format

xsl:decimal-format

xsl:document

xsl:element

xsl:element

xsl:evaluate

xsl:evaluate

xsl:expose

xsl:fallback

xsl:fallback

xsl:for-each select

xsl:for-each

xsl:for-each vs. xsl:apply-templates

xsl:for-each-group

xsl:for-each-group

Zusammengesetzte Schlüssel

Gruppieren mit group-adjacent

Gruppieren mit group-starting-with und group-ending-with

xsl:fork

xsl:fork

xsl:function

xsl:function

xsl:global-context-item

xsl:if

xsl:if

xsl:import-schema

xsl:import-schema

XML-Schema-Validation in XSLT 2.0

xsl:include, xsl:import, xsl:apply-imports

xsl:import

xsl:include

xsl:iterate, xsl:break

xsl:iterate

xsl:key

xsl:key

XPath 3.1: Map, xsl:map

XPath: map:size

XPath: map:keys

XPath: map:contains

XPath: map:find

XPath: map:put

XPath: map:remove

XPath: map:get

XPath: map:entry

XPath: map:merge

XPath: map:for-each

random-number-generator

Weitere Beispiele

xsl:map

xsl:map-entry

XPath 3.1: Array

XPath: array:size

XPath: array:get

XPath: array:append

XPath: array:subarray

XPath: array:remove

XPath: array:insert-before

XPath: array:head

XPath: array:tail

XPath: array:reverse

XPath: array:for-each

XPath: array:for-each-pair

XPath: array:join

XPath: array:filter

XPath: array:sort

xsl:merge

xsl:merge

xsl:merge-action

xsl:merge-key

xsl:merge-source

xsl:message

xsl:message

xsl:mode

xsl:namespace

xsl:namespace

xsl:namespace-alias

xsl:next-iteration

xsl:next-match

xsl:number

xsl:number

xsl:on-completion

xsl:on-empty

xsl:on-non-empty

xsl:otherwise

xsl:output

xsl:output

xsl:output-character

xsl:override

xsl:package

xsl:param

xsl:param

xsl:perform-sort

xsl:preserve-space, xsl:strip-space

xsl:preserve-space

xsl:strip-space

xsl:processing-instruction

xsl:result-document

xsl:result-document

xsl:sequence

xsl:sort, xsl:perform-sort, fn:sort

xsl:sort

Sortieren und Filtern

xsl:source-document

xsl:stylesheet, xsl:transform

xsl:stylesheet

xsl:transform

xsl:template

xsl:template

xsl:text

xsl:text

xsl:try / xsl:catch

xsl:try

xsl:catch

xsl:use-package

xsl:value-of

xsl:value-of

xsl:variable

xsl:variable

xsl:when

xsl:where-populated

xsl:with-param

XSLT-Tipps

XSL-Prozessoren

XSLT 2.0: Erweiterte Syntax

XSLT 3.0, XPath 3.0

Schattenkabinett

sitemap.xml mit XSLT 3.0 generieren

XSL-Transformationsaufrufe

C#.NET in XSLT aufrufen

Arbeiten mit optionalen Elementen

XSLT-Konvertierung von XML nach HTML

Arbeiten mit xsl:for-each

Einbindung externer XML-Dokumente

Arbeiten mit xsl:apply-templates

Arbeiten mit xsl:template name/xsl:call-template

Konvertierung von XML nach XML

Konvertierung von Elementen in Attribute

Erzeugen von skalierbaren Vektor-Grafiken (SVG)

C#.NET: SVG-Datenvisualisierung aus XML-Datenbank

XSL-FO



Vielen Dank für Ihr Interesse an meiner Arbeit.



V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/Basics_XSL2.html