Aktuelle Remote-Seminare mit Durchführungsgarantie: Noch freie Termine im Dezember! Termine: 07.12.-09.12.2020, 22.03.-24.03.2021, 07.06.-09.06.2021, 06.09.-08.09.2021, Termin nach Wunsch, noch in Dezember 2020 möglichXML Einführung und Grundlagen Termine: 25.03.2021, 10.06.2021, 09.09.2021XML - der professionelle Überblick Termine: 29.03.-01.04.2021Einstieg in die Programmierung Termine: 14.12.-16.12.2020, 07.04.-09.04.2021XML, XSLT, XPath, XSL-FO Einführung Termine: Termin nach Wunsch, noch in Dezember 2020 möglichEinstieg in C#.NET Termine: 11.01.-13.01.2021, 26.05.-28.05.2021, 27.09.-29.09.2021, Termin nach Wunsch, noch in Dezember 2020 möglichVB.NET für Visual Basic-Programmierer Termine: Termin nach Wunsch, noch in Dezember 2020 möglichC#.NET für Fortgeschrittene Termine: 08.03.-10.03.2021, 19.07.-21.07.2021, 23.08.-25.08.2021, Termin nach Wunsch, noch in Dezember 2020 möglichXML Grundlagen, XSL-FO, SVG, DocBook, DITA Termine: Termin nach Wunsch, noch in Dezember 2020 möglichJava Grundlagen Termine: Termin nach Wunsch, noch in Dezember 2020 möglich, 29.03.-01.04.2021C++ für Programmiereinsteiger Termine: 16.03.2021, Termin nach Wunsch, noch in Dezember 2020 möglichXProc Grundlagen Termine: 23.11.-25.11.2020, 25.01.-27.01.2021, 12.04.-14.04.2021, 26.07.-28.07.2021, Termin nach Wunsch, noch in Dezember 2020 möglichPython für Programmiereinsteiger Last-Minute-Seminare, noch freie Plätze XML Einführung und Grundlagen07.12.-09.12.2020 XML, XSLT, XPath, XSL-FO Einführung14.12.-16.12.2020

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:catch

xsl:character-map

xsl:character-map

Liste der Sonderzeichen selbst erstellen

Zeichensätze generieren mit C#.NET

xsl:choose

xsl:choose

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

xsl:map

xsl:map-entry

xsl:matching-substring

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:non-matching-substring

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: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:strip-space

xsl:stylesheet, xsl:transform

xsl:stylesheet

xsl:transform

xsl:template

xsl:template

xsl:text

xsl:text

xsl:try / xsl:catch

xsl:try

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