archive-de.com » DE » E » EKIWI.DE

Total: 422

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • SELFHTML: Stylesheets / CSS-Eigenschaften / Sprachausgabe
    PUBLIC W3C DTD HTML 4 01 EN html head title cue title head body lang de h1 Text mit Ger auml usch h1 p style cue url cue wav oh oh so ein oh oh p body html Erläuterung Mit cue url Dateiname können Sie ein Element in zwei gleiche Erkennungssignale einschließen Wenn sich die Datei in einem anderen als dem aktuellen Verzeichnis befindet müssen Sie als Dateiname relative Pfadangaben oder absolute URIs verwenden Als Sound Dateiformate kommen WAV AU oder AI in Frage play during Hintergrund Sound Sie können für ein Element oder einen Bereich einen Hintergrund Sound definieren der so lange wiederholt wird bis die Ausgabe des Elements oder Bereichs abgeschlossen ist Das kann etwa eine Geräuschkulisse oder eine Melodie sein Beispiel Anzeigebeispiel So sieht s aus und hört sich s an englisch DOCTYPE HTML PUBLIC W3C DTD HTML 4 01 EN html head title play druring title head body lang de p style play during url play during mid mix W auml hrend dieser Text gesprochen wird ert ouml nt im Hintergrund ein flotter Ragtime als MIDI Datei Damit Sie in den Genu szlig des gesamten St uuml cks kommen m uuml szlig te ich Ihnen jetzt eine lange Geschichte erz auml hlen Aber ich denke Sie gewinnen auch ohne eine solche Geschichte einen Eindruck davon wie Hintergrundmusik w auml hrend der Sprachausgabe eines Textes wirkt Vielen Dank f uuml r Ihre Aufmerksamkeit p body html Erläuterung Mit play during url Datei können Sie einen Hintergrund Sound definieren Damit ein echter Hintergrundeffekt zustande kommt müssen Sie außerdem durch ein Leerzeichen getrennt das Wort mix dahinter notieren Wenn Sie dieses Wort weglassen übertönt der Hintergrund Sound die Ausgabe des Inhalts Wenn sich die Sound Datei in einem anderen als dem aktuellen Verzeichnis befindet müssen Sie als Dateiname relative Pfadangaben oder absolute URIs verwenden Hinter der Angabe der Datei können Sie noch eine der folgenden Angaben notieren mix Falls das Elternelement ebenfalls Hintergrund Sound hat werden beide Sounds vermischt repeat Wenn die Sound Datei kürzer ist als es dauert den Text des Elements zu sprechen wird der Abspielvorgang so oft wiederholt bis der Text zuende gesprochen ist auto Falls das Elternelement ebenfalls Hintergrund Sound hat wird dieser nicht neu abgespielt sondern spielt weiter ab Anstelle einer Sound Datei können Sie auch einfach nur none angeben Das ist sinnvoll wenn das Elternelement Hintergrund Sound abspielt Für die Sprachausgabe des aktuellen Elements können Sie die Ausgabe dann unterbrechen azimuth Raum Effekt links rechts vorne hinten Wenn das Sprachausgabesystem räumliches Hören mindestens stereophon möglichst Surround Sound unterstützt können Sie die Herkunftsrichtung der Sprechstimme bestimmen Beispiel Anzeigebeispiel So sieht s aus und hört sich s an englisch DOCTYPE HTML PUBLIC W3C DTD HTML 4 01 EN html head title azimuth title head body lang de p style azimuth left side Diese Stimme hier sollte von links kommen p p style azimuth left side behind Diese Stimme hier sollte von links hinten kommen p p style azimuth center Diese Stimme hier sollte ganz aus der Mitte kommen p p style azimuth right side behind Diese Stimme hier sollte von rechts hinten kommen p p style azimuth right side Diese Stimme hier sollte von rechts kommen p body html Erläuterung Mit azimuth können Sie die räumliche Herkunftsrichtung der Sprechstimme für ein Element oder einen Bereich bestimmen Sie können dazu entweder eine Gradangabe für die gedachte Richtung notieren oder ein erlaubtes Schlüsselwort Gradangaben haben Werte zwischen 360 und 360 und müssen mit der Einheitenbezeichnung deg degree Grad abgeschlossen werden Folgende Schlüsselwörter sind erlaubt left side Von ganz links entspricht 270deg left side behind Von ganz links hinten entspricht 270deg far left Von weiter links entspricht 300deg far left behind Von weiter links hinten entspricht 240deg left Von links entspricht 320deg left behind Von links hinten entspricht 220deg center left Von Mitte links entspricht 340deg center left behind Von Mitte links hinten entspricht 200deg center Von der Mitte entspricht 0deg center behind Von Mitte hinten entspricht 180deg center right Von Mitte rechts entspricht 20deg center right behind Von Mitte rechts hinten entspricht 160deg right Von rechts entspricht 40deg right behind Von rechts hinten entspricht 140deg far right Von weiter rechts entspricht 60deg far right behind Von weiter rechts hinten entspricht 120deg right side Von ganz rechts entspricht 90deg right behind Von ganz rechts hinten entspricht 90deg Wenn Sie mit Gradangaben arbeiten können Sie die genannten Angaben als Richtwerte für die exakt gewünschte Richtung verwenden Anstelle des Schlüsselwortes behind können Sie auch die Schlüsselworte leftwards und rightwards benutzen Mit leftwards richten Sie die Stimmherkunft weiter links aus um 20deg gegen den Uhrzeigersinn mit rightwards weiter rechts um 20deg im Uhrzeigersinn elevation Raum Effekt oben unten Wenn das Sprachausgabesystem räumliches Hören möglichst Surround Sound unterstützt können Sie die Herkunftsrichtung der Sprechstimme zwischen oben und unten bestimmen Beispiel Anzeigebeispiel So sieht s aus und hört sich s an englisch DOCTYPE HTML PUBLIC W3C DTD HTML 4 01 EN html head title elevation title head body lang de p style elevation below Diese Stimme sollte von unten kommen p p style elevation higher Diese Stimme sollte von weiter oben kommen p body html Erläuterung Mit elevation können Sie die vertikale Herkunftsrichtung der Sprechstimme bestimmen Sie können dazu entweder eine Gradangabe für die gedachte Richtung notieren oder ein erlaubtes Schlüsselwort Gradangaben haben Werte zwischen 90 von ganz unten und 90 von ganz oben und müssen mit der Einheitenbezeichnung deg degree Grad abgeschlossen werden Folgende Schlüsselwörter sind erlaubt below Von unten entspricht 90 deg level Von der Mitte entspricht 0 deg above Von oben entspricht 90 deg higher Von weiter oben entspricht 10 deg relativ zur aktuellen Position lower Von weiter unten entspricht 10 deg relativ zur aktuellen Position speech rate Sprechgeschwindigkeit Sie können die Schnelligkeit der gesprochenen Wiedergabe beeinflussen Beispiel Anzeigebeispiel So sieht s aus und hört sich s an englisch DOCTYPE HTML PUBLIC W3C DTD HTML 4 01 EN html head title speech rate title head body lang de p style speech rate fast Das ist ein ziemlich schnell gesprochener Text

    Original URL path: http://html.ekiwi.de/css/eigenschaften/sprachausgabe.htm (2016-04-25)
    Open archived version from archive


  • SELFHTML: Stylesheets / CSS-Eigenschaften / Filter (nur Microsoft)
    brauchen Sie nur anzugeben wenn Sie add 0 notieren wollen Dann erscheinen die Konturen der Grafik gar nicht mehr und am Bildschirm erscheint nur noch die Verwischspur Der Effekt wird dadurch sehr stark die eigentliche Grafik ist oft nicht mehr zu erkennen direction steht für die Richtung in die die Verwischspur führt Es wirkt dann so als ob die Grafik aus dieser Richtung kommt Erlaubt sind die Werte 0 45 90 135 180 225 270 315 0 bedeutet Die Verwischspur zeigt nach oben 45 bedeutet Die Verwischspur zeigt nach oben rechts 90 bedeutet Die Verwischspur zeigt nach rechts 135 bedeutet Die Verwischspur zeigt nach unten rechts 180 bedeutet Die Verwischspur zeigt nach unten 225 bedeutet Die Verwischspur zeigt nach unten links 270 bedeutet Die Verwischspur zeigt nach links 315 bedeutet Die Verwischspur zeigt nach oben links strength steht für die Stärke des Verwisch Effektes 0 bedeutet keinen Verwisch Effekt jeder höhere Wert die Verwischspur in Pixeln Beachten Sie jedoch dass die Grafik innerhalb ihrer normalen Bildgröße dargestellt wird Verwischspuren von Konturen die sehr nah am Bildrand sind werden nur bis zum Bildrand gezogen filter Chroma Transparenzfarbe Mit diesem Filter können Sie bei Grafiken eine Farbe als transparent definieren Anders als bei transparenten GIF Grafiken werden jedoch auch alle anderen Farben der Grafik betroffen Beispiel Anzeigebeispiel So sieht s aus DOCTYPE HTML PUBLIC W3C DTD HTML 4 01 EN html head title filter Chroma title head body p links das Bild in seiner normalen Form rechts mit Chroma Filter p p img src filter chroma gif width 106 height 109 alt Bild img src filter chroma gif style filter Chroma color DDBB99 width 106 height 109 alt Bild p body html Erläuterung Mit filter Chroma können Sie eine Farbe in einer Grafik als transparent definieren Der Filter erwartet folgenden Parameter color steht für eine Farbangabe filter DropShadow Schattenwurf Dieser Filter bewirkt einen Schatteneffekt für alle Konturen eines Elements Bei Text bilden die Zeichen die Konturen bei Grafiken sollten Sie nur solche für den Filter benutzen die eindeutige Konturen haben z B Cliparts Beispiel Anzeigebeispiel So sieht s aus DOCTYPE HTML PUBLIC W3C DTD HTML 4 01 EN html head title filter DropShadow title head body div style width 100 font size 85px color blue filter DropShadow color C0C0C0 offx 3 offy 3 Text mit Schattenwurf div body html Erläuterung Mit filter DropShadow können Sie einen Schattenwurf erzwingen Der Filter erwartet folgende Parameter color steht für die Farbe die als Schatten definiert werden soll siehe Farbangaben offx steht für die Anzahl an horizontalen Pixel für den Schatteneffekt Positive Zahlen bewirken einen Schatteneffekt rechts negative einen Schatteneffekt links offy steht für die Anzahl an vertikalen Pixel für den Schatteneffekt Positive Zahlen bewirken einen Schatteneffekt unten negative mit Minuszeichen davor einen Schatteneffekt oben Den Parameter positive sollten Sie nur angeben wenn Sie nur für die transparenten Pixel einer Grafik siehe transparente GIF Grafiken einen Schatteneffekt erzwingen wollen Dazu sollte dieser Parameter den Wert 1 erhalten Beachten Sie Für verlaufende Schatten können Sie den Filter

    Original URL path: http://html.ekiwi.de/css/eigenschaften/filter.htm (2016-04-25)
    Open archived version from archive

  • SELFHTML: XML / Darstellung von XML-Daten / XSLT-Elemente
    titel tr th colspan 3 xsl value of select th tr xsl template xsl template match telefon tr td xsl copy of select titel td xsl apply templates tr xsl template xsl template match name td xsl value of select td xsl template xsl template match nummer td xsl value of select td xsl template xsl stylesheet Erläuterung Das Beispiel definiert eine Telefonliste bestehend aus Namen und Telefonnummern mit einer Überschrift die im Element titel notiert wird Beim Erzeugen des Ergebnisbaums im Beispiel Stylesheet wird aus der Telefonliste jedoch eine dreispaltige HTML Tabelle erzeugt In der ersten Spalte steht jeweils das Wort Telefon Dafür sorgt jene Anweisung die mit td xsl copy of select titel td den Titel der eigentlich nur einmal vorkommt bei jedem Vorkommen des telefon Elements wiederholt Die Adressierung des Elements titel erfolgt dabei aus Sicht des Elements telefon nach XPath Adressierung mit relativen Pfadangaben xsl decimal format Dezimalformat Definiert ein Schema in dem Zahlen im Ergebnisbaum ausgegeben werden In der Funktion format number kann dieses Schema angewendet werden Hat folgende Attribute decimal separator optional Zeichen das zwischen Ganzzahl und Nachkommastellen steht um beide Teile zu trennen Im Deutschen normalerweise ein Komma im Englischen ein Punkt Voreinstellung ist der Punkt digit optional Zeichen das als Platzhalter für eine unbekannte Ziffer eingesetzt wird Normalerweise das Gatterzeichen Voreinstellung grouping separator optional Zeichen das eine Gruppe von Zeichen trennt z B als Tausenderzeichen Im Deutschen normalerweise ein Punkt im Englischen ein Komma Voreinstellung ist das Komma infinity optional Zeichen oder Zeichenkette die den Wert für unendlich repräsentiert z B bei periodischen Nachkommawerten Voreinstellung ist Infinity minus sign optional Zeichen das einem negativen Wert vorangestellt wird Normalerweise das Minuszeichen Voreinstellung name optional Name des definierten Schemas Unter diesem Namen kann das Schema in der Funktion format number verwendet werden Wird kein Name angegeben gelten die Definitionen global NaN optional Zeichenkette die ausdrückt dass ein Wert keine gültige Zahl ist Voreinstellung ist NaN not a number pattern separator optional Zeichen dass zwischen positiver und negativer Formatdarstellung steht Voreinstellung ist das Semikolon per mille optional Zeichen mit dem Promillewerte gekennzeichnet werden Voreinstellung ist O percent optional Zeichen mit dem Prozentwerte gekennzeichnet werden Voreinstellung ist das Prozentzeichen zero digit optional Zeichen für die Darstellung führender Nullen Voreinstellung ist die Null 0 Kann innerhalb von xsl stylesheet vorkommen und muss außerhalb von xsl template notiert sein Beispieldatei decimal format xml Anzeigebeispiel So sieht s aus Ergebnisdatei decimal format htm Anzeigebeispiel So sieht s aus Datei decimal format xml XML XSLT fähiger Browser erforderlich xml version 1 0 encoding ISO 8859 1 xml stylesheet type text xsl href decimal format xsl test wert 1230348345 wert wert 17235807 wert wert 12345 wert test Beispieldatei decimal format xsl xml version 1 0 encoding iso 8859 1 xsl stylesheet version 1 0 xmlns xsl http www w3 org 1999 XSL Transform xsl decimal format name de decimal separator grouping separator xsl template match html head head body xsl apply templates body html xsl template xsl template match wert div xsl value of select format number 0 0 de div xsl template xsl stylesheet Erläuterung In den XML Daten werden einfach diverse Werte notiert und zwar jeweils in einem Element namens wert Im Beispiel Stylesheet wird mit xsl decimal format ein Schema für die Formatierung von Zahlen im Ergebnisbaum definiert Das Schema erhält den Namen de und bestimmt das Komma als Trennzeichen für Ganzzahl und Nachkommastellen sowie den Punkt als Trennzeichen für Tausendergruppen Für die Ausgabe eines Elements vom Typ wert wird mit xsl template match wert ein Template definiert Jeder Wert wird in einem HTML Element div ausgegeben Mit der Anweisung xsl value of select format number 0 0 de wird auf den jeweils aktuellen Inhalt von wert Bezug genommen und zwar durch Aufruf der Funktion format number Diese bekommt in den Klammern als ersten Parameter übergeben was für das aktuelle Element steht Der zweite Parameter ist ein Formatstring und der dritte Parameter der Name des Schemas das zuvor mit xsl decimal format definiert wurde xsl element Element erzeugen Erzeugt ein Element im Ergebnisbaum Zwar ist es üblich Elemente des Ergebnisbaums direkt zu notieren Doch etwa bei der Anwendung verschiedener Attribut Sets kann es sinnvoll sein die Elemente des Ergebnisbaums nicht direkt zu notieren sondern mit Hilfe von xsl element zu generieren Ein anderer Anwendungsfall ist wenn mit Hilfe von XSL ein Ergebnisbaum erzeugt werden soll dessen Zielsprache selbst XSL ist Hat folgende Attribute name obligatorisch Name des zu generierenden Elements z B table für das gleichnamige HTML Element namespace optional Namensraum dem das Element angehört use attribute sets optional definierte Attribut Sets die im einleitenden Tag des zu erzeugenden Elements eingesetzt werden sollen Kann innerhalb von xsl template vorkommen Beispieldatei element xml Anzeigebeispiel So sieht s aus Ergebnisdatei element htm Anzeigebeispiel So sieht s aus Datei element xml XML XSLT fähiger Browser erforderlich xml version 1 0 encoding ISO 8859 1 xml stylesheet type text xsl href element xsl test produkt name Schaukelstuhl name preis 99 preis produkt produkt name Kaffeemaschine name preis 49 95 preis produkt produkt name Schraubenzieher name preis 4 95 preis produkt produkt name Sofakissen name preis 29 95 preis produkt test Beispieldatei element xsl xml version 1 0 encoding iso 8859 1 xsl stylesheet version 1 0 xmlns xsl http www w3 org 1999 XSL Transform xsl attribute set name grau xsl attribute name bgcolor E0E0E0 xsl attribute xsl attribute set xsl attribute set name gelb xsl attribute name bgcolor FFFFD0 xsl attribute xsl attribute set xsl template match html head head body table xsl apply templates table body html xsl template xsl template match produkt xsl choose xsl when test position mod 2 0 xsl element name tr use attribute sets grau xsl apply templates xsl element xsl when xsl otherwise xsl element name tr use attribute sets gelb xsl apply templates xsl element xsl otherwise xsl choose xsl template xsl template match name td xsl value of select td xsl template xsl template match preis td xsl value of select td xsl template xsl stylesheet Erläuterung In den XML Daten des Beispiels gibt es eine Liste mit Produkten zu denen jeweils der Name des Produkts und der Preis notiert ist In der HTML Ausgabe soll daraus eine Tabelle erzeugt werden bei der jede zweite Tabellenzeile grau und die übrigen Reihen gelb hinterlegt sind Dazu werden im Beispiel Stylesheet mit xsl attribute set zwei entsprechende Attribut Schemata definiert Da für jedes Produkt eine Tabellenzeile erzeugt werden soll ist in dem Template das die HTML Ausgabe für das Element produkt steuert eine Abfrage enthalten ob es sich bei dem jeweils aktuellen Element produkt aus der Datenliste um eine gerade Positionsnummer handelt Wenn ja wird die aktuelle Tabellenzeile grau hinterlegt andernfalls gelb Die Abfrage wird über die Anweisungen xsl choose xsl when und xsl otherwise gesteuert Die Positionsnummer des jeweils aktuellen Elements liefert die Funktion position Der Ausdruck mod 2 0 fragt ob die Modulo Division des Positionswerts 0 ergibt also keinen Bruchrest erzeugt und somit eine gerade Zahl ist Abhängig von der Abfrage wird im when Zweig und im otherwise Zweig mit xsl element ein HTML Element tr Tabellenreihen erzeugt und mit den unterschiedlichen Attribut Schemata für grau und gelb ausgestattet Zwischen dem einleitenden Tag und seinem Gegenstück xsl element werden untergeordnete Templates für Namen und Preis des Produkts aufgerufen xsl fallback alternative Ausführungsanweisung Stellt für den XSLT Prozessor eine Alternativanweisung bereit für den Fall dass dieser eine nicht so gebräuchliche oder neuere XSLT Anweisung nicht kennt Hat keine Attribute Kann innerhalb von xsl template vorkommen Beispieldatei fallback xml xml version 1 0 encoding ISO 8859 1 xml stylesheet type text xsl href fallback xsl test text Es ist egal ob du A oder B sagst solange du C nicht kennst text text Worüber man nicht reden kann darüber soll man schweigen text test Beispieldatei fallback xsl xml version 1 0 encoding iso 8859 1 xsl stylesheet version 1 0 xmlns xsl http www w3 org 1999 XSL Transform xsl template match html head xsl processing instruction name xml stylesheet xsl fallback link rel stylesheet href fallbacktest css type text css xsl fallback xsl text href fallbacktest css type text css xsl text xsl processing instruction head body xsl apply templates body html xsl template xsl template match text p xsl value of select p xsl template xsl stylesheet Erläuterung Im Beispiel Stylesheet wird mit der Anweisung xsl processing instruction ein Stylesheet CSS in den HTML Ergebnisbaum eingebunden Für den Fall dass der XSLT Prozessor diese Anweisung nicht kennt wird mit xsl fallback eine Alternative notiert nämlich die direkte Notation des Befehls zum Einbinden des Stylesheets xsl for each für jedes Element aus einer Menge wiederholen Stellt eine Schleifenanweisung innerhalb einer Template Definition dar Das was innerhalb der Schleife steht wird auf alle Knoten innerhalb eines anzugebenden Knoten Sets angewendet Alle aufeinanderfolgenden Knoten werden dann der Reihe nach abgearbeitet So lassen sich beispielsweise alle Elemente listenpunkt die von einem Element namens liste abhängig sind direkt innerhalb der Template Definition für das Element liste abhandeln ohne dass noch mal eine untergeordnete Template Definition für das Element listenpunkt aufgerufen werden muss Hat folgende Attribute select obligatorisch Knoten Set bzw Pfad nach XPath Syntax für das die Schleife gelten soll Kann innerhalb von xsl template vorkommen Beispieldatei for each xml Anzeigebeispiel So sieht s aus Ergebnisdatei for each htm Anzeigebeispiel So sieht s aus Datei for each xml XML XSLT fähiger Browser erforderlich xml version 1 0 encoding ISO 8859 1 xml stylesheet type text xsl href for each xsl test klasse name 7a schueler Hans Bentop schueler schueler Anika Doll schueler schueler Phillip Kleiber schueler klasse test Beispieldatei for each xsl xml version 1 0 encoding iso 8859 1 xsl stylesheet version 1 0 xmlns xsl http www w3 org 1999 XSL Transform xsl template match html head head body xsl apply templates body html xsl template xsl template match klasse h3 Klasse xsl value of select name h3 p xsl for each select schueler xsl value of select br xsl for each p xsl template xsl stylesheet Erläuterung In den XML Daten des Beispiels werden Schulklassen und ihre Schülernamen notiert Im Beispiel Stylesheet wird in dem Template für das Element klasse das aus beliebig vielen Elementen schueler bestehen kann mit xsl for each eine Schleife erzeugt Darin wird im Ergebnisbaum der Reihe nach der Inhalt xsl value of jedes Elements schueler sowie ein Zeilenumbruch erzeugt xsl if Wenn Bedingung Macht die Ausführung einer Anweisung von einer Bedingung abhängig Hat folgende Attribute test obligatorisch formuliert die Bedingung Kann innerhalb von xsl template vorkommen Beispieldatei if xml Anzeigebeispiel So sieht s aus Ergebnisdatei if htm Anzeigebeispiel So sieht s aus Datei if xml XML XSLT fähiger Browser erforderlich xml version 1 0 encoding ISO 8859 1 xml stylesheet type text xsl href if xsl test ergebnis name Crystol Freak name punkte 453 punkte ergebnis ergebnis name Demian name punkte 199 punkte ergebnis ergebnis name Ueberflieger name punkte 347 punkte ergebnis ergebnis name CaptainX name punkte 106 punkte ergebnis test Beispieldatei if xsl xml version 1 0 encoding iso 8859 1 xsl stylesheet version 1 0 xmlns xsl http www w3 org 1999 XSL Transform xsl template match html head head body table border 1 xsl apply templates table body html xsl template xsl template match ergebnis xsl if test punkte gt 200 tr xsl apply templates tr xsl if xsl template xsl template match name td xsl value of select td xsl template xsl template match punkte td xsl value of select td xsl template xsl stylesheet Erläuterung Die XML Daten im Beispiel enthalten Spielergebnisse und zwar mit Spielernamen und erreichten Punkten Im Beispiel Stylesheet wird daraus eine HTML Tabelle erzeugt Es sollen jedoch nur Spieler in der Tabelle erscheinen die 200 Punkte oder mehr erreicht haben Dazu wird in dem Template das die HTML Ausgabe des XML Elements ergebnis steuert mit der Anweisung xsl if test punkte gt 200 abgefragt ob der Inhalt des untergeordneten Elements punkte größer oder gleich 200 ist Wenn ja wird eine Tabellenzeile erzeugt und innerhalb davon werden die Templates für die untergeordneten Elemente also für name und punkte aufgerufen Normalerweise würde der Operator für größer gleich einfach lauten Weil er aber innerhalb einer XML basierten Anweisung vorkommt muss das Größer als Zeichen umschrieben werden Welche Möglichkeiten es für die Formulierung von Bedingungen bei xsl if gibt wird im Abschnitt XPath Operatoren beschrieben xsl include Stylesheets inkludieren XSLT bietet zwei Möglichkeiten um Stylesheets miteinander zu kombinieren Die erste ist ein Inklusionsmechanismus der es erlaubt Stylesheets zu kombinieren wobei die Semantik der kombinierten Stylesheets nicht verändert wird Die andere Möglichkeit ist ein Importmechanismus der es Stylesheets erlaubt einander zu überschreiben Ein Stylesheet kann andere Stylesheets durch die Benutzung des xsl include Elements inkludieren Das xsl include Element ist nur als Element der obersten Ebene erlaubt Das bedeutet es kann nur innerhalb von xsl stylesheet vorkommen und muss außerhalb von xsl template notiert sein Hat folgende Attribute href obligatorisch gibt den URI der zu inkludierenden Datei an Beispieldatei include xml Anzeigebeispiel So sieht s aus Ergebnisdatei include htm Anzeigebeispiel So sieht s aus Datei include xml XML XSLT fähiger Browser erforderlich xml version 1 0 encoding ISO 8859 1 xml stylesheet type text xsl href include1 xsl test bild pinguin gif bild text Der Pinguin ist das Wahrzeichen von Linux text test Beispieldatei include1 xsl xml version 1 0 encoding iso 8859 1 xsl stylesheet version 1 0 xmlns xsl http www w3 org 1999 XSL Transform xsl include href include2 xsl xsl template match html head head body xsl apply templates body html xsl template xsl template match bild img xsl attribute name src xsl value of select xsl attribute img xsl template xsl stylesheet Beispieldatei include2 xsl xml version 1 0 encoding iso 8859 1 xsl stylesheet version 1 0 xmlns xsl http www w3 org 1999 XSL Transform xsl template match text p xsl value of select p xsl template xsl stylesheet Erläuterung Die durch den Wert des href Attributs angegebene XSL Datei wird als XML Dokument analysiert und die Kinder des xsl stylesheet Elements in diesem Dokument ersetzen das xsl include Element im inkludierenden Dokument Dass Template Regel und andere Definitionen inkludiert sind beeinflusst nicht die Art wie sie verarbeitet werden Beachten Sie Ein Stylesheet darf weder direkt noch indirekt sich selbst inkludieren So würde ein xsl import href include1 xsl in der include2 xsl einen Fehler verursachen denn auf diese Weise würde sich die Datei include1 xsl selbst inkludieren xsl import Stylesheets importieren Importiert Template Definitionen aus anderen Stylesheet Dateien die dann mit xsl apply imports an einer gewünschten Stelle angewendet werden können Hat folgende Attribute href obligatorisch gibt den URI der zu importierenden Datei an Kann innerhalb von xsl stylesheet vorkommen und muss außerhalb von xsl template notiert sein Beispiel siehe xsl apply imports Beachten Sie Im Konfliktfall haben Stylesheet Definitionen die in der aktuellen Stylesheet Datei definiert werden Vorrang vor importierten Definitionen xsl key Schlüssel für Auswahl von Elementen Definiert einen Zugriffsschlüssel auf Elemente oder Attribute Dadurch wird dem XSLT Prozessor die Arbeit erleichtert was die Verarbeitungsgeschwindigkeit erhöhen kann Über die Funktion key kann der Zugriffsschlüssel angewendet werden Hat folgende Attribute name obligatorisch legt einen Namen für den Schlüssel fest unter dem er angewendet werden kann use obligatorisch gibt an auf was der Schlüssel zugreifen soll match optional gibt das Knoten Set bzw einen Pfad nach XPath Syntax an an dem der Schlüssel im Elementenbaum ansetzen soll Kann innerhalb von xsl stylesheet vorkommen und muss außerhalb von xsl template notiert sein Beispieldatei key xml Anzeigebeispiel So sieht s aus Ergebnisdatei key htm Anzeigebeispiel So sieht s aus Datei key xml XML XSLT fähiger Browser erforderlich xml version 1 0 encoding ISO 8859 1 xml stylesheet type text xsl href key xsl test konfig typ user name docroot wert usr local web konfig typ user name cgibin wert usr local bin cgi konfig typ expert name timeout wert 60 test Beispieldatei key xsl xml version 1 0 encoding iso 8859 1 xsl stylesheet version 1 0 xmlns xsl http www w3 org 1999 XSL Transform xsl key name user only match konfig use typ xsl template match html head head body table border 1 xsl for each select key user only user tr td xsl value of select name td td xsl value of select wert td tr xsl for each table body html xsl template xsl stylesheet Erläuterung Die XML Daten stellen den Inhalt einer Konfigurationsdatei dar Jeder Konfigurationseintrag repräsentiert im Element konfig enthält die Daten in Form von Attributen Neben den für Konfigurationseinträge typischen Daten name und wert gibt es auch ein Attribut typ in dem die Werte user und expert zulässig sind Diese Information könnte beispielsweise helfen wenn bei der Anzeige der Konfigurationsdaten einem Bearbeiter der als user angemeldet ist die Daten des Experten Modus vorenthalten werden sollen Das Beispiel Stylesheet realisiert eine solche Beschränkung Mit xsl key name user only match konfig use typ wird ein Schlüssel definiert der auf das Attribut typ zugreift Zur Anwendung kommt dieser Schlüssel in der Anweisung xsl for each select key user only user Der Funktion key wird der Name des zuvor definierten Schlüssels und der gewünschte Attributwert übergeben Nur Einträge die diesen Attributwert haben werden ausgegeben xsl message Meldung beim Transformieren ausgeben Gibt während der Transformation der Daten eine Meldung aus Wird üblicherweise zur Fehlerbehandlung innerhalb einer Bedingung benutzt Hat folgende Attribute terminate optional gibt mit yes oder no Voreinstellung an ob der Transformationsvorgang abgebrochen werden soll Kann innerhalb von xsl template vorkommen Beispieldatei message xml Anzeigebeispiel So sieht s aus Datei message xml XML XSLT fähiger Browser meldet Message Fehler xml version 1 0 encoding ISO 8859 1 xml stylesheet type text xsl href message xsl test lottozahl 32 lottozahl lottozahl 8 lottozahl lottozahl 13 lottozahl lottozahl 40 lottozahl lottozahl 3 lottozahl lottozahl 59 lottozahl test Beispieldatei message xsl xml version 1 0 encoding iso 8859 1 xsl stylesheet version 1 0 xmlns xsl http www w3 org 1999 XSL Transform xsl template match html head head body xsl apply templates body html xsl template xsl template match lottozahl xsl variable name aktuellerwert select xsl if test aktuellerwert gt 49 xsl message terminate yes xsl text Die Zahl xsl text xsl value of select xsl text ist zu gross xsl text br xsl message xsl if xsl value of select br xsl template xsl stylesheet Erläuterung Im Beispiel sind Lottozahlen notiert Das Beispiel Stylesheet formuliert innerhalb der Template Definition für das Element lottozahl zunächst mit xsl variable eine Variable und weist dieser den Inhalt des aktuellen Elements zu Als nächstes wird mit xsl if geprüft ob der Inhalt der Variablen größer als 49 ist Für diesen Fall Fehlerfall wird mit xsl message eine Fehlermeldung konstruiert die statt der Zahl die Meldung schreibt dass die betreffende Zahl zu groß ist xsl namespace alias Stylesheet in anderes Stylesheet transformieren Erlaubt es ein XSL Stylesheet in ein anderes XSL Stylesheet zu transformieren Hat folgende Attribute stylesheet prefix obligatorisch gibt den Namen des Namensraums an der im aktuellen Stylesheet verwendet wird Dieser Name muss im xsl stylesheet Element mit dem Attribut xmlns Name vergeben werden result prefix optional gibt den Namen des Namensraums an der im Ergebnis Stylesheet anstelle des Namens verwendet werden soll der bei stylesheet prefix angegeben ist Kann innerhalb von xsl stylesheet vorkommen und muss außerhalb von xsl template notiert sein Beispieldatei namespace alias xml Anzeigebeispiel So sieht s aus Ergebnisdatei namespace out htm über den Umweg von von output xsl erzeugt Anzeigebeispiel So sieht s aus Datei namespace alias xml xml version 1 0 encoding ISO 8859 1 xml stylesheet type text xsl href namespace alias xsl test gruss Hallo Welt gruss test Beispieldatei namespace alias xsl xml version 1 0 encoding iso 8859 1 xsl stylesheet version 1 0 xmlns xsl http www w3 org 1999 XSL Transform xmlns out namespace out xsl xsl namespace alias stylesheet prefix out result prefix xsl xsl template match out stylesheet version 1 0 out template match html head head body h1 xsl value of select gruss h1 h1 out text Hallo Welt vom Output Stylesheet out text h1 body html out template out stylesheet xsl template xsl stylesheet Erläuterung Im XML Teil des Beispiels ist einfach ein Hallo Welt Gruß notiert Im zugehörigen Beispiel Stylesheet steckt die erste Besonderheit bereits im einleitenden xsl stylesheet Element Dort wird zwei mal das Attribut xmlns notiert einmal zur Deklaration des üblichen Namensraums xmlns xsl http www w3 org 1999 XSL Transform und einmal zur Deklaration eines eigenen Namensraums xmlns out output xsl Durch die Anweisung xsl namespace alias stylesheet prefix out result prefix xsl wird dann für den eigenen Namensraum der den Namen out erhalten hat festgelegt dass das aktuelle Stylesheet in das andere Stylesheet output xsl transformiert wird Das gilt allerdings nur für Notationen die den Namensraum out angeben Innerhalb der Template Definition des Beispiels werden solche Notationen definiert Die erste beginnt mit out stylesheet version 1 0 Die innere Definition xsl value of select gruss wird nicht in das Output Stylesheet übernommen stattdessen aber out text Hallo Welt vom Output Stylesheet out text Der HTML Code der am Ende erzeugt wird resultiert aus dem was im Output Stylesheet definiert ist xsl number fortlaufende Nummerierung Ermöglicht es sich wiederholende Elemente im Ergebnisbaum mit fortlaufender Nummerierung zu versehen Hat folgende Attribute count optional bestimmt das oder die Knoten Sets bzw Pfade nach XPath Syntax bei deren Auftreten der Zähler der Nummerierung erhöht werden soll format optional bestimmt die Art der Nummerierung Folgende Angaben sind möglich 1 Nummerierung der Art 1 2 3 4 01 Nummerierung der Art 01 02 03 04 10 11 a Nummerierung der Art a b c d A Nummerierung der Art A B C D i Nummerierung der Art i ii iii iv I Nummerierung der Art I III III IV Voreinstellung ist 1 Hinter dieser Angabe zur Art der Nummerierung können noch weitere Zeichen folgen mit denen die Nummerierung formatiert wird So bewirkt etwa die Angabe 1 dass hinter der jeweils aktuellen Ordnungszahl noch ein Punkt steht from optional bestimmt das Knoten Set bzw einen Pfad nach XPath Syntax bei dessen Auftreten die Nummerierung beendet werden soll grouping separator optional Trennzeichen für Zifferngruppen bei hohen Zahlen z B Tausender Trennzeichen In der deutschen Schreibweise von Zahlen üblicherweise ein Punkt grouping size optional Anzahl der Ziffern bei der ein Trennzeichen gesetzt wird Bei Tausender Trennzeichen wäre das der Wert 3 lang optional gibt die Sprache nach RFC 1766 an nach dessen Sprachkonventionen die Nummerierung erfolgen soll Anzugeben sind Kürzel der Art de für deutsch en für englisch fr für französisch letter value optional erlaubte Werte sind alphabetical oder traditional Eine Angabe die zusätzlich zu lang für einige Sprachen sinnvoll ist level optional erlaubte Werte sind single multiple oder any Die Angabe bezieht sich darauf was bei count angegeben wird single bedeutet der Nummerierungs Algorithmus arbeitet flach auf der aktuellen Ebene des Elementenbaums und kann Nummerierungen der Sorte 1 2 3 erzeugen Passt der aktuelle Knoten auf die Angabe bei count wird er nummeriert multiple bedeutet der Nummerierungs Algorithmus arbeitet hierarchisch über die aktuelle und alle übergeordneten Ebenen des Elementenbaums und kann Nummerierungen der Sorte 1 1 oder 1 1 1 erzeugen Passt der aktuelle Knoten auf die Angabe bei count wird er nummeriert Dabei wird für jede übergeordnete Ebene im Elementenbaum ermittelt ob die Angabe bei count auf einen Knoten zutrifft Aus diesen Informationen wird die hierarchische Nummerierung erzeugt Bei multiple sollte bei count die Sequenz derjenigen Knoten angegeben werden für die die hierarchische Nummerierung gelten soll Dies ist durch eine Angabe wie z B count kapitelueberschrift abschnittsueberschrift unterueberschrift möglich Die Elementnamen werden dabei durch Senkrechtstriche voneinander getrennt Beim Attribut format sollte in diesem Fall so etwas wie z B format 1 1 notiert werden any bedeutet der Nummerierungs Algorithmus arbeitet flach über die aktuelle und alle Ebenen des Elementenbaums und kann Nummerierungen der Sorte 1 2 3 erzeugen Passt der aktuelle Knoten auf die Angabe bei count wird er nummeriert Dabei wird für jede übergeordnete Ebene im Elementenbaum ermittelt ob die Angabe bei count auf einen Knoten zutrifft Die Nummerierung zählt alle Knoten zusammen value optional Kalkulationsausdruck der die Nummerierung bestimmt Eine mögliche Angabe ist z B value position Kann innerhalb von xsl template vorkommen Beispieldatei number xml Anzeigebeispiel So sieht s aus Ergebnisdatei number htm Anzeigebeispiel So sieht s aus Datei number xml XML XSLT fähiger Browser erforderlich xml version 1 0 encoding ISO 8859 1 xml stylesheet type text xsl href number xsl test link http aktuell de selfhtml org link link http alpentouren at link link http fr selfhtml org link test Beispieldatei number xsl xml version 1 0 encoding iso 8859 1 xsl stylesheet version 1 0 xmlns xsl http www w3 org 1999 XSL Transform xsl template match html head head body xsl apply templates body html xsl template xsl template match link xsl number level single count link format 1 a xsl attribute name href xsl value of select xsl attribute xsl value of select a br xsl template xsl stylesheet Erläuterung Die XML Daten im Beispiel enthalten eine Reihe von Links die bei der HTML Ausgabe durchnummeriert werden sollen Das Beispiel Stylesheet wendet zu diesem Zweck innerhalb der Template Definition für das link Element zu Beginn des zu erzeugenden HTML Codes die xsl number Anweisung an Es soll eine einfache Nummerierung durchgeführt werden level single Die Nummerierung soll bei jedem Auftreten des link Elements fortgesetzt werden count link Die Nummerierung soll in der Form 1 2 3 erscheinen format 1 Anschließend wird innerhalb der Template Definition ein HTML Link erzeugt der den Inhalt des jeweiligen link Elements in eine im Browser anklickbare Form bringt xsl otherwise Andernfalls Anweisung Bestimmt was getan werden soll wenn eine oder mehrere xsl when Bedingungen nicht zutreffen Hat keine Attribute Kann innerhalb von xsl choose vorkommen Beispiel siehe dort xsl output Erzeugen des Ergebnisbaums kontrollieren Gibt an wie der Ergebnisbaum ausgegeben bzw geschrieben werden soll Hat folgende Attribute cdata section elements optional bei method xml bestimmt Elemente deren Inhalt beim Erzeugen des Ergebnisbaums in CDATA Abschnitte geschrieben werden vergleiche CDATA Abschnitte Es können mehrere Elemente angegeben werden die durch Leerzeichen zu trennen sind doctype public optional bei method xml und method html wenn sich die Gültigkeitsüberprüfung des Ergebnisbaums auf eine öffentliche DTD Zuordnung public identifier bezieht erhält dieses Attribut als Wert die Zeichenkette des public identifiers doctype system optional bei method xml und method html wenn sich die Gültigkeitsüberprüfung des Ergebnisbaums auf eine adressierte DTD Zuordnung system identifier bezieht erhält dieses Attribut als Wert die Zeichenkette des system identifiers encoding optional bestimmt mit welcher Kodierung der Ergebnisbaum kodiert wird Sinnvoll ist eine Angabe nach RFC 2978 indent optional kann die Werte yes oder no haben Bei yes wird der Ergebnisbaum so formatiert dass untergeordnete Elemente weiter eingerückt werden Dies hat keine Auswirkung auf die Darstellung sondern ist eine kosmetische Angabe zur besseren Lesbarkeit des erzeugten Quelltextes Die Voreinstellung für dieses Attributs ist bei method html yes bei method xml no media type optional gibt den MIME Typ des Ergebnisbaums an Bei method xml ist beispielsweise text xml sinnvoll bei method html beispielsweise text html und bei method text beispielsweise text plain method optional gibt an nach welcher Art der Ergebnisbaum erzeugt werden soll Mögliche Werte sind xml html Voreinstellung text oder bestimmte eigene oder öffentliche XML Namensräume omit xml declaration optional bestimmt bei method xml ob im Ergebnisbaum eine XML Deklaration xml ausgegeben werden soll oder nicht Mögliche Werte sind yes für nein omit weglassen oder no für ja nicht weglassen standalone optional bestimmt bei omit xml declaration no dass sich die DTD Deklarationen in der aktuellen Datei befinden vergleiche Zusätzliche Angaben zur Zeichenkodierung und zum DTD Bezug version optional bestimmt bei omit xml declaration no die XML Versionsangabe Kann innerhalb von xsl stylesheet vorkommen und muss außerhalb von xsl template notiert sein Beispieldatei output xml Anzeigebeispiel So sieht s aus Ergebnisdatei output en xml XML fähiger Browser erforderlich der die Datenstruktur anzeigt xml version 1 0 encoding ISO 8859 1 xml stylesheet type text xsl href output xsl test ereignis beschreibung HH XY 1204 mit Tempo 95 in Zone 70 beschreibung zeitstempel 13 05 2001 22 25 zeitstempel ereignis test Beispieldatei output xsl xml version 1 0 encoding iso 8859 1 xsl stylesheet version 1 0 xmlns xsl http www w3 org 1999 XSL Transform xsl output method xml indent yes encoding ISO 8859 1 omit xml declaration yes xsl template match test en xsl apply templates test en xsl template xsl template match ereignis event xsl apply templates event xsl template xsl template match beschreibung description xsl value of select description xsl template xsl template match zeitstempel timestamp xsl value of select timestamp xsl template xsl stylesheet Erläuterung Die XML Daten im Beispiel enthalten Ereignisse wie sie eine Blitzanlage im Straßenverkehr aufzeichnen könnte Die Elementnamen sind dabei deutschsprachig In einer XSL gesteuerten Transformation sollen diese Daten in eine analoge XML Datei mit gleichem Elementenbaum Aufbau gebracht werden deren Elementnamen jedoch englisch sind In der xsl output Anweisung die im Beispiel Stylesheet vor den Template Definitionen steht wird dem XSL Parser mitgeteilt dass der Ergebnisbaum eine XML Struktur sein soll method xml Mit indent yes wird die saubere Formatierung des XML Quelltextes der Ausgabe geregelt und mit encoding ISO 8859 1 die Kodierung angegeben Damit die XML Ausgabe eine Dokumenttyp Deklaration und eine Verarbeitungsanweisung erhält wird mit omit xml declaration yes die XML Deklaration veranlasst In den nachfolgenden Template Definitionen wird der Datenbaum des Ausgangsdokuments mit den deutschsprachigen Elementnamen in den Ergebnisbaum mit den englischsprachigen Elementnamen übersetzt xsl param Parameter definieren Definiert einen Parameter zur Verwendung mit xsl with param Hat folgende Attribute name obligatorisch gibt den Namen der Parametervariablen an Unter diesem Namen kann auf ihren Wert zugegriffen werden select optional bestimmt einen Default Wert für die Parametervariable Wenn dieses Attribut angegeben wird handelt es sich um einen Parameter der dazu gedacht ist von einer Template Definition an eine andere übergeben zu werden Kann innerhalb von xsl stylesheet vorkommen und kann sowohl außerhalb als auch innerhalb von xsl template notiert sein Wenn außerhalb notiert ist es eine globale Variable die in allen Template Definitionen zur Verfügung steht Wenn innerhalb einer Template Definition notiert ist es eine lokale Variable innerhalb des Templates Beispiel siehe xsl with param xsl preserve space Leerraumzeichen beibehalten Bestimmt dass Leerraumzeichen die zwischen Elementen in der Datei enthalten sind bei der Ausgabe beibehalten werden Leerraumzeichen sind die Zeichen mit den Hexadezimalwerten x20 einfaches Leerzeichen x9 Tabulator Zeichen xD Wagenrücklaufzeichen und xA Zeilenvorschub Zeichen Es handelt sich nicht um den Textinhalt von Elementen sondern um die Formatierung der Elemente im Ergebnisbaum Hat folgende Attribute elements obligatorisch Namen von einem oder mehreren Elementen der Ausgangsdaten deren Leerraumzeichen in der Ausgabe beibehalten werden soll Mehrere Angaben sind durch Leerzeichen zu trennen Kann innerhalb von xsl stylesheet vorkommen und muss außerhalb von xsl template notiert sein Beispieldatei preserve space xml Anzeigebeispiel So sieht s aus Ergebnisdatei preserve space htm Anzeigebeispiel So sieht s aus Datei preserve space xml XML XSLT fähiger Browser erforderlich xml version 1 0 encoding ISO 8859 1 xml stylesheet type text xsl href preserve space xsl test kontakt Hannes Breuer breuer example org kontakt kontakt Eleonore Bleibtreu elblei example org kontakt test Beispieldatei preserve space xsl xml version 1 0 encoding iso 8859 1 xsl stylesheet version 1 0 xmlns xsl http www w3 org 1999 XSL Transform xsl preserve space elements test xsl template match html head head body pre xsl apply templates pre body html xsl template xsl template match kontakt b xsl value of select b xsl template xsl stylesheet Erläuterung In den notierten XML Daten ist zwischen den Elementen innerhalb des Dokument Elements test Leerraum notiert Im Beispiel Stylesheet wird durch die Anweisung xsl preserve space elements test sichergestellt dass diese Leerräume bei der Ausgabe erhalten bleiben In der Template Definition für die Dokumentwurzel wird der Inhalt dann für die HTML Ausgabe in das pre Element eingeschlossen damit die Leerräume in HTML auch zum Tragen kommen xsl processing instruction Stylesheet Code generieren Erzeugt im Ergebnisbaum eine Verarbeitungsanweisung Hat folgende Attribute name obligatorisch bestimmt den Namen der Verarbeitungsanweisung Kann innerhalb von xsl template vorkommen Beispieldatei processing instruction xml Anzeigebeispiel So sieht s aus Ergebnisdatei processing xml XML CSS fähiger Browser erforderlich xml version 1 0 encoding ISO 8859 1 xml stylesheet type text xsl href processing instruction xsl test text guten Tag text text und auf Wiedersehen text test Beispieldatei processing instruction xsl xml version 1 0 encoding iso 8859 1 xsl stylesheet version 1 0 xmlns xsl http www w3 org 1999 XSL Transform xsl output method xml Ergebnisbaumxml declaration no xsl template match xsl processing instruction name xml stylesheet xsl text href processing css type text css xsl text xsl processing instruction test xsl apply templates test xsl template xsl template match text xsl copy of select xsl template xsl stylesheet Beispieldatei processing css text font size 21px color blue Erläuterung Das XSLT Stylesheet erzeugt eine neue XML Datei in die alle Daten der Input Datei im Beispiel also von processing instruction xml kopiert werden Dazu dient einerseits die xsl output Anweisung mit der die XML Deklaration für die neue XML Datei erzeugt wird und andererseits das Kopieren der text Elemente mit Hilfe von xsl copy of in den Ergebnisbaum also die neue XML Datei Der Unterschied der neu erzeugten XML Datei zur alten ist dass sie eine Verarbeitungsanweisung zum Einbinden eines Stylesheets erhält Dazu ist zu Beginn der Template Definition für die Dokumentwurzel ein xsl processing instruction Element mit Namen xml stylesheet notiert das eine externe CSS Datei einbindet Das hat zur Folge dass die XML Daten direkt mit den Formaten aus der eingebundenen CSS Datei ausgegeben werden Im Ergebnisbaum wird die Prozessoranweisung wie folgt umgesetzt xml stylesheet href ausgabe css type text css Die Attribute werden im Beispiel zwischen einleitendem und schließenden Tag von xsl processing instruction mit xsl text notiert xsl sort Elemente nach Inhalt sortieren Sortiert Knoten aus einer Reihenfolge nach ihren Inhalten So lassen sich beispielsweise alle untergeordneten Elemente listenpunkt eines Elements namens liste bei der Transformation alphabetisch oder numerisch sortieren Hat folgende Attribute case order optional bestimmt ob in der Sortierung Großbuchstaben vor Kleinbuchstaben kommen oder umgekehrt Mögliche Werte sind upper first Großbuchstaben zuerst oder lower first Kleinbuchstaben zuerst Voreinstellung bei data type text data type optional bestimmt ob die Sortierung alphabetisch Voreinstellung oder numerisch erfolgen soll Bei alphabetischer Sortierung kommt z B 9 nach 10 bei numerischer 10 nach 9 Mögliche Werte sind text alphabetische Sortierung oder number numerische Sortierung lang optional gibt die Sprache nach RFC 1766 an nach dessen Sprachkonventionen die Sortierung erfolgen soll So wird beispielsweise der Buchstabe ä im Deutschen lang de anders im Alphabet eingeordnet als im Schwedischen lang se order optional bestimmt ob die Sortierung aufsteigend Voreinstellung also etwa von A nach Z oder absteigend also etwa von Z nach A erfolgen soll Mögliche Werte sind ascending aufsteigende Sortierung oder descending absteigende Sortierung select optional gibt an was sortiert werden soll Wird das Attribut weggelassen ist der Inhalt des betroffenen Elements dasjenige was sortiert wird Kann innerhalb von xsl apply templates oder xsl for each vorkommen Beispieldatei sort xml Anzeigebeispiel So sieht s aus Ergebnisdatei sort htm Anzeigebeispiel So sieht s aus Datei sort xml XML XSLT fähiger Browser erforderlich xml version 1 0 encoding ISO 8859 1 xml stylesheet type text xsl href sort xsl test spieler name Fridolin name punkte 12 punkte spieler spieler name Paolo name punkte 19 punkte spieler spieler name Richie name punkte 27 punkte spieler spieler name Winnie name punkte 10 punkte spieler test Beispieldatei sort xsl xml version 1 0 encoding iso 8859 1 xsl stylesheet version 1 0 xmlns xsl http www w3 org 1999 XSL Transform xsl template match html head head body table border 1 xsl for each select test spieler xsl sort select punkte order descending data type number tr td xsl value of select name td td xsl value of select punkte td tr xsl for each table

    Original URL path: http://html.ekiwi.de/xml/darstellung/xsltelemente.htm (2016-04-25)
    Open archived version from archive

  • SELFHTML: XML / Darstellung von XML-Daten / XPath-Funktionen
    format Klasse implementiert ist Allerdings gibt es keine zwingende Korrelation zwischen der XPath Syntax und der Java Implementierung Folgende Zeichen sind üblich 0 eine Ziffer eine Ziffer 0 wird jedoch nicht angezeigt Platzhalter für Dezimalpunkt Trennzeichen Platzhalter für ein Gruppierungs Trennzeichen z B für Tausender zum Trennen von mehreren Formaten negatives Vorzeichen als Voreinstellung Wert mit 100 multiplizieren und als Prozentwert anzeigen Wert mit 1000 multiplizieren und als Promillewert anzeigen Währungssymbol wird durch das voreingestellte Währungssymbol ersetzt noch nicht in Java 1 1 zum Maskieren von format bedeutenden Zeichen wie 0 usw Name optional Name eines Formats das mit xsl decimal format definiert wird Liefert eine Zeichenkette mit der formatierten Zahl zurück Beispielauszug aus einem XSL Stylesheet xsl template match wert xsl value of select format number 0 0 xsl template Erläuterung Das Beispiel nimmt ein XML Element namens wert an für dessen Ausgabe in den HTML Ergebnisbaum ein Template definiert wird Dabei wird der Inhalt des Elements wert angesprochen durch die Funktion current als erstes Argument der Funktion format number übergeben Für die Formatierung wird bestimmt dass es eine bis zu dreistellige Zahl mit einer Nachkommastelle sein kann die als Prozentwert ausgegeben wird Durch die Zuweisung dieses Konstrukts an das select Attribut von xsl value of wird bewirkt dass der Inhalt von wert entsprechend der Formatregel ausgegeben wird function available Verfügbarkeit einer XPath Funktion überprüfen Ermittelt ob eine XPath Funktion im verwendeten XSLT Parser verfügbar ist oder nicht Dient daher als Maßnahme zur Vermeidung von Fehlern Erwartet folgende Argumente Funktionsname Name einer XPath Funktion deren Verfügbarkeit überprüft werden soll Liefert true zurück wenn die Funktion verfügbar ist und false wenn sie nicht verfügbar ist Beispielauszug aus einem XSL Stylesheet xsl choose xsl when test function available normalize space xsl value of select normalize space xsl when xsl otherwise xsl value of select xsl otherwise xsl choose Erläuterung Das Beispiel überprüft mit Hilfe einer xsl choose Konstruktion ob die XPath Funktion normalize space verfügbar ist Wenn ja wird sie innerhalb der xsl value of Anweisung angewendet um bei der Ausgabe des aktuellen Elements das mit angegeben wird alle überflüssigen Leerraumzeichen am Anfang und am Ende zu entfernen Andernfalls wenn die Funktion nicht verfügbar ist wird der Inhalt des aktuellen Elements ohne weitere Vorbehandlung ausgegeben generate id eindeutigen Bezeichner für ein Element generieren Erzeugt im Ergebnisbaum automatisch einen eindeutigen Bezeichner Der Bezeichner muss nicht bei jedem Generierungsvorgang der gleiche sein könnte also zum Beispiel durch zeitabhängige Algorithmen erzeugt sein aber er ist in jedem Fall innerhalb des einzelnen Dokuments eindeutig Der generierte Bezeichner entspricht in jedem Fall den Konventionen für Bezeichner in XML Erwartet folgende Argumente Knoten Set optional Knoten Set bzw einen Pfad nach XPath Syntax der eine ID erhalten soll Liefert eine Zeichenkette mit dem generierten Bezeichner zurück Beispielauszug aus einem XSL Stylesheet xsl template match absatz p a name generate id xsl value of select a p xsl template Erläuterung Das Beispiel definiert ein Template für ein häufiger vorkommendes XML Element namens absatz Jedes dieser Elemente erhält bei der Übersetzung in ein HTML Konstrukt einen Anker definiert mit a name a Der Wert der jeweils beim Attribut name vergeben wird wird automatisch erzeugt und zwar durch Anwendung der Funktion generate id Als Argument wird das aktuelle Element übergeben Wichtig sind die geschweiften Klammern in denen die Funktion bei der Wertzuweisung an name zusätzlich steht Dies ist nötig weil die Funktion in diesem Beispiel nicht in der Wertzuweisung an ein Attribut einer XSLT Anweisung steht sondern in einer Wertzuweisung an ein Attribut eines Elements des Ergebnisbaums im Beispiel an das name Attribut des a Elements der Ergebnissprache HTML Beachten Sie generate id kann man auch dazu verwenden um herauszufinden ob Knoten identisch sind Beispiel xsl if test a b prüft nur ob a und b den gleichen Inhalt haben xsl if test generate id a generate id b prüft dagegen ob es wahr ist dass beide Knoten identisch sind id Element mit bestimmtem Bezeichner auswählen Wählt ein Element aufgrund einer ID aus Dazu muss das Element ein Attribut mit Identifikationswert besitzen das in der zugehörigen DTD entsprechend definiert sein muss Da die Wertzuweisungen an solche Attribute dokumentweit eindeutig sein müssen eignen sie sich hervorragend um das Element auszuwählen Erwartet folgende Argumente ID Wert Der ID Wert desjenigen Elements das ausgewählt werden soll Liefert das Element oder mehrere Elemente zurück deren ID Wert ausgewählt wurde Beispielauszug aus einem XSL Stylesheet xsl template match name li xsl value of select id p01 xsl value of select li xsl template Erläuterung Das Beispiel definiert ein Template für ein Element namens name Darin wird in einem HTML Aufzählungspunkt ein fixes Label denkbar wäre z B ein Wert wie Name Vorname und dahinter der aktuelle Wert des Elements name mit xsl value of select ausgegeben Der Wert des Labels wird ebenfalls mit einer xsl value of Anweisung ermittelt Dabei ist im select Attribut die Funktion id notiert die auf ein Element mit dem Identifikationswert p01 zugreift Dieses Element könnte in den XML Daten beispielsweise so notiert sein prefix x p01 Name Vorname prefix Dabei wäre das Attribut x in der zugehörigen DTD als Attribut mit Identifikationswert definiert key Elemente mit Hilfe eines Schlüsselwerts auswählen Wählt einen Knoten aus der für einen benannten Schlüssel einen bestimmten Wert besitzt Sinnvoll um etwa von allen Elementen nur solche auszuwählen die aufgrund von Inhalt oder Wertzuweisungen an Attribute bestimmte Kriterien erfüllen Erwartet folgende Argumente Name Name eines Schlüssels Der Schlüssel selbst muss zuvor mit Hilfe der xsl key Anweisung definiert worden sein und im name Attribut der Anweisung den hier angegebenen Namen erhalten haben Wert Der Wert der zur Eingrenzung auszuwählender Elemente dient Nur Elemente die dem Schlüssel entsprechen und dabei diesen Wert besitzen werden ausgewählt Liefert das erste Element zurück das den Auswahlkriterien entspricht Beispielauszug aus einem XSL Stylesheet xsl key name k3 match datensatz use handelsklasse xsl template match html head body xsl for each select key k3 III xsl apply templates xsl for each body html xsl template Erläuterung Im Beispiel wird mit Hilfe der xsl key Anweisung für ein Element namens datensatz ein Schlüssel definiert der den Namen k3 erhält und sich auf den Inhalt eines zu datensatz untergeordneten Elements namens handelsklasse bezieht Es wird angenommen dass die XML Daten unterhalb ihres Wurzelelements aus vielen Elementen vom Typ datensatz bestehen Durch Anwendung der xsl for each Anweisung in Verbindung mit der Funktion key im select Attribut werden nur solche Datensätze ausgewählt die im untergeordneten Element handelsklasse den Wert III enthalten Für diesen Fall werden mit xsl apply templates untergeordnete Template Definitionen aufgerufen lang Element auf bestimmten Sprachcode überprüfen Überprüft ob ein Element einen bestimmten Sprachcode verwendet Voraussetzung ist dass in dem Element das XML Attribut xml lang notiert ist also beispielsweise description xml lang de die Beschreibung zu irgendetwas description In der DTD wäre folgende zugehörige Definition erforderlich ATTLIST description xml lang NMTOKEN IMPLIED Die Angaben zum Attribut xml lang können Sprachenkürzel sein Erwartet folgende Argumente Zeichenkette für den Ländercode auf den hin überprüft werden soll z B de Liefert true zurück wenn das Element diesen Ländercode in seinem xml lang Attribut angibt und false wenn kein xml lang Attribut vorhanden ist oder wenn es einen anderen als den im Argument übergebenen Wert hat Beispielauszug aus einem XSL Stylesheet xsl template match description xsl choose xsl when test lang de h4 xsl text Beschreibung xsl text h4 xsl when xsl otherwise h4 xsl text Description xsl text h4 xsl otherwise p xsl value of select p xsl choose xsl template Erläuterung Das Beispiel sorgt dafür dass einem Element namens description im HTML Ergebnisbaum eine h4 Überschrift vorangestellt wird Dabei wird mit Hilfe der xsl choose Anweisung im when Zweig mit Hilfe der Funktion lang überprüft ob das description Element xml lang de als Attribut enthält Wenn ja wird als Text der h4 Überschrift das deutsche Wort Beschreibung ausgegeben andernfalls das englische Wort Description Am Ende wird dann noch mit xsl value of der Inhalt des description Elements ausgegeben last Positionsnummer des letzten Knotens einer Reihe ermitteln Ermittelt die Positionsnummer des letzten von mehreren Knoten eines Knoten Sets Erwartet keine Argumente Liefert die Positionsnummer des letzten Knotens zurück Beispielauszug aus einem XSL Stylesheet xsl template match zahl xsl value of select xsl if test position last xsl text xsl text xsl if xsl template Erläuterung Das Beispiel definiert ein Template für ein Element namens zahl Im Beispiel wird angenommen dass mehrere solcher Elemente nacheinander innerhalb eines gemeinsamen übergeordneten Elements notiert sind also beispielsweise die einzelnen Zahlen innerhalb einer Lottozahlenreihe Bei jeder Anwendung des Templates wird zunächst mit xsl value of die aktuelle Zahl ausgegeben Danach soll hinter allen außer der letzten Zahl ein Komma ausgegeben werden sodass eine Ausgabe wie z B 3 15 28 29 33 43 entsteht Dazu wird mit xsl if abgefragt ob die Positionsnummer des aktuellen Elements innerhalb der Reihe ermittelt mit position ungleich der Positionsnummer des letzten Elements ermittelt mit der last Funktion ist Ist dies der Fall wird ein Komma ausgegeben local name lokalen Namen eines Knoten Sets ermitteln Ermittelt aus einem Knotennamen mit Namensraumangabe den lokalen Namensteil aus einem Elementnamen wie xhtml blockquote würde also blockquote ermittelt Erwartet folgende Argumente Knoten Set optional Ein Knoten Set bzw einen Pfad nach XPath Syntax dessen lokaler Name ermittelt werden soll Fehlt die Angabe des Arguments wird die Funktion auf das jeweils aktuelle Element angewendet Liefert den lokalen Elementnamen zurück sofern der Elementname aus einer Namensraumangabe und dem lokalen Elementnamen besteht Ansonsten wird eine leere Zeichenkette zurückgeliefert Beispielauszug aus einem XSL Stylesheet xsl template match autor div p Name des Knotens b xsl value of select name b p p local name b xsl value of select local name b p p Inhalt b xsl apply templates b p div xsl template Erläuterung Der Beispielausschnitt zeigt eine Template Definition für angenommene Elemente die aus dem Namensraum autor stammen In XML wären das beispielsweise Elemente die in der Form autor vorname autor vorname notiert sind Das Template ermittelt mit name den vollständigen Namen des aktuellen Knotens also z B autor vorname und mit local name den lokalen Namensteil also z B vorname Anschließend werden mit xsl apply templates untergeordnete Template Definitionen angewendet name Namen eines Knoten Sets ermitteln Ermittelt den vollständigen Namen eines Knoten Sets gegebenenfalls auch mit XML Namensraumangabe Erwartet folgende Argumente Knoten Set optional Ein Knoten Set bzw einen Pfad nach XPath Syntax dessen vollständiger Name ermittelt werden soll Fehlt die Angabe des Arguments wird die Funktion auf das jeweils aktuelle Element angewendet Liefert den Namen des ausgewählten Knoten Sets zurück Beispielauszug aus einem XSL Stylesheet xsl template name Kurzbeschreibung b xsl value of select name xsl text xsl text b xsl value of select xsl template Erläuterung Das Beispiel definiert ein Template für ein XML Element namens Kurzbeschreibung Darin wird definiert dass zuerst der Name des Elements ausgegeben wird also Kurzbeschreibung dann ein Doppelpunkt und dann der Inhalt des Elements Die Ausgabe des Elementnamens wird erreicht durch die xsl value of Anweisung die im select Attribut als Wert die Funktion name zugewiesen bekommt namespace uri Namensraum eines Elements ermitteln Ermittelt den URI für die DTD zum verwendeten XML Namensraum Es handelt sich normalerweise um jene Angaben die bei der xsl stylesheet Anweisung im xmlns Attribut gemacht wurden Voraussetzung dafür dass ein Wert zurückgeliefert wird ist dass ein Element eine Namensraumangabe verwendet also z B xsl template oder xhtml div Erwartet folgende Argumente Knoten Set optional Ein Knoten Set bzw einen Pfad nach XPath Syntax dessen URI der DTD für den XSL Namensraum ermittelt werden soll Fehlt die Angabe des Arguments wird die Funktion auf das jeweils aktuelle Element angewendet Liefert den URI zurück die für den zugehörigen Namensraum des Elements zurückgegeben wurde Beispielauszug aus einem XSL Stylesheet xml version 1 0 encoding ISO 8859 1 xsl stylesheet version 1 0 xmlns xsl http www w3 org 1999 XSL Transform xsl template match html head head body b xsl text XSL URI dieses Stylesheets xsl text b xsl value of select namespace uri document body html xsl template xsl stylesheet Erläuterung Das Beispiel zeigt ein vollständiges XSLT Stylesheet Im einleitenden stylesheet Tag wird wie üblich mit xmlns xsl http www w3 org 1999 XSL Transform der URI der DTD für den XSL Namensraum angegeben Im weiteren Verlauf des Stylesheets wird ein Template für das Wurzelelement definiert Darin wird aber einfach nur der URI des XSL Namensraums für dieses Stylesheet ausgegeben Dazu wird bei der xsl value of Anweisung im select Attribut als Wert die Funktion namespace uri übergeben Die Ausgabe im Beispiel würde lauten XSL URI dieses Stylesheets http www w3 org 1999 XSL Transform Im Beispiel wird der Funktion namespace uri als Argument document übergeben Das ist folgendermaßen zu verstehen es soll das Dokument Element ermittelt werden was am einfachsten durch die Funktion document mit dem Leerstring als Parameter bewerkstelligt wird Mit dem daran anschließenden wird da sich der gesamte Ausdruck innerhalb eines Aufrufs von namespace uri befindet der Namensraum URI für alle Elemente innerhalb dieses Dokument Elements ermittelt normalize space Leerzeichen am Anfang und Ende einer Zeichenkette entfernen Entfernt am Anfang und am Ende der übergebenen Zeichenkette die Leerraumzeichen und ersetzt mehrere aufeinanderfolgende Leerraumzeichen in der Zeichenkette durch ein einziges Leerzeichen x20 Leerraumzeichen sind die Zeichen mit den Hexadezimalwerten x20 einfaches Leerzeichen x9 Tabulator Zeichen xD Wagenrücklaufzeichen und xA Zeilenvorschub Zeichen Erwartet folgende Argumente Zeichenkette optional Die Zeichenkette die behandelt werden soll Fehlt das Argument wird die Funktion auf den Inhaltsknoten des aktuellen Knotens angewendet bei einem Element name name beispielsweise auf dessen Inhalt also das was hier durch die drei Pünktchen markiert ist Liefert die behandelte Zeichenkette wieder zurück Beispielauszug aus einem XSL Stylesheet xsl template match augenfarbe tr td xsl text Augenfarbe xsl text td td xsl value of select normalize space td tr xsl template Erläuterung Das Beispiel definiert ein Template für ein XML Element namens augenfarbe Darin wird eine HTML Tabellenzeile konstruiert In der ersten Spalte steht der fixe Text Augenfarbe und in der zweiten Spalte wird der Wert des Elements ausgegeben Dabei werden jedoch zuvor führende und abschließende Leerraumzeichen die z B durch unachtsames Editieren oder Behandlung durch andere Programme entstanden sein könnten entfernt Um das zu erreichen wird nicht einfach xsl value of select notiert sondern xsl value of select normalize space not Argument verneinen Verneint das übergebene Argument und liefert dessen gegenteiliges Ergebnis zurück Erwartet folgende Argumente Bedingung Es kann sich um eine Vergleichsoperation handeln aber auch um eine andere Funktion die als Rückgabewert entweder true oder false liefert Liefert true zurück wenn die als Argument übergebene Bedingung false ergibt und false wenn die Bedingung true ergibt Beispielauszug aus einem XSL Stylesheet xsl template match geburtsjahr xsl if test not gt 1980 xsl value of select xsl if xsl template Erläuterung Das Beispiel zeigt die Template Definition eines XML Elements namens geburtsjahr Das Geburtsjahr soll nur dann ausgegeben werden wenn der aktuelle Wert nicht größer ist als 1980 Dazu wird mit Hilfe der xsl if Anweisung eine Bedingung formuliert Im test Attribut das die Bedingung enthält wird mit gt 1980 die Bedingung aktueller Wert größer 1980 formuliert Der gesamte Ausdruck wird jedoch der Funktion not als Argument übergeben sodass die Bedingung umgekehrt wird und lautet aktueller Wert nicht größer 1980 Dies ist übrigens das gleiche wie wenn als Bedingung notiert würde xsl if test lt 1980 number Argument in eine Zahl umwandeln Versucht eine übergebene Zeichenkette als Zahl zu interpretieren und gibt die ermittelte Zahl zurück Wenn beispielsweise 31 übergeben wird wird 31 zurückgeliefert Wird xyz übergeben wird NaN not a number zurückgeliefert Bei Übergabe von 3xy wird 3 zurückgeliefert Und bei Übergabe von booleschen Werten also true oder false wird 0 für false und 1 für true zurückgeliefert Führende und abschließende Leerraumzeichen der übergebenen Zeichenkette werden ignoriert Erwartet folgende Argumente Zeichenkette bzw Wert optional Es kann sich z B um den Inhalt eines Elements oder den Wert einer Variablen handeln oder um den Rückgabewert einer anderen Funktion Fehlt das Argument wird die Funktion auf den aktuellen Knoteninhalt angewendet z B auf den Inhalt eines Elements Liefert die ermittelte Zahl zurück Beispielauszug aus einem XSL Stylesheet xsl template match preis xsl value of select number xsl template Erläuterung Das Beispiel definiert ein Template für ein XML Element namens preis Das Template gibt den Wert des Elements aus jedoch wird dabei versucht den Wert numerisch zu interpretieren Dazu wird im select Attribut der xsl value of Anweisung die Funktion number angewendet Da number kein Argument übergeben wird bezieht sich die Funktion auf den Wert des aktuellen Elements preis position Positionsnummer des aktuellen Knotens ermitteln Ermittelt der wievielte Knoten ein aktueller Knoten in einem Knoten Set ist Bei einem Element namens liste mit beispielsweise 7 untergeordneten Elementen namens listeneintrag hat das zweite dieser Elemente in Bezug auf liste die Positionsnummer 2 Erwartet keine Argumente Liefert die Ordnungszahl des aktuellen Knotens zurück Beim ersten Knoten 1 beim zweiten 2 usw Beispielauszug aus einem XSL Stylesheet xsl variable name anzahl select count listeneintrag xsl template match liste xsl for each select listeneintrag p xsl value of select position xsl text von xsl text xsl value of select anzahl xsl text xsl text xsl value of select p xsl for each xsl template Erläuterung Das Beispiel nimmt an dass es ein XML Element namens liste gibt das aus mehreren Unterelementen listeneintrag besteht Zunächst wird mit xsl variable eine Variable namens anzahl definiert in der die Anzahl der Listeneinträge gespeichert wird Dazu wird im select Attribut die Funktion count angewendet Als Argument wird ihr das Element listeneintrag übergeben In der for each Schleife die alle Listeneinträge abarbeitet wird vor dem Text des Listeneintrags jeweils die aktuelle Positionsnummer mit position ausgegeben und dahinter die Gesamtzahl die in der Variablen anzahl gespeichert ist also etwa so 1 von 5 Text des ersten Listeneintrags 2 von 5 Text des zweiten Listeneintrags Beachten Sie xsl value of select listeneintrag position 1 kann auch so notiert werden xsl value of select listeneintrag 1 xsl value of select listeneintrag position last kann auch so notiert werden xsl value of select listeneintrag last xsl

    Original URL path: http://html.ekiwi.de/xml/darstellung/xpathfunktionen.htm (2016-04-25)
    Open archived version from archive

  • SELFHTML: XML / Regeln für XML-Dateien / XML-Deklaration und Verarbeitungsanweisungen
    und ein Ja Nein Attribut ob die zugehörige DTD in der aktuellen Datei steht oder in einer separaten Datei Beispiel xml version 1 0 encoding ISO 8859 1 standalone yes Erläuterung Mit dem Attribut encoding geben Sie an welchen Zeichenkodierung Sie zum Speichern der XML Datei verwenden Folgende Angaben sollte jeder XML Parser kennen Anweisung Bedeutung Hinweis encoding UTF 8 internationaler Kodierung auf Basis der ISO IEC 10646 Norm mit mindestens 8 Bit Zeichenbreite encoding UTF 16 internationale Kodierung auf Basis der ISO IEC 10646 Norm mit mindestens 16 Bit Zeichenbreite encoding ISO 8859 1 ISO Kodierung für westeuropäische Sprachen siehe ISO 8859 1 encoding ISO 8859 2 ISO Kodierung für osteuropäische Sprachen siehe ISO 8859 2 encoding ISO 8859 3 ISO Kodierung für südeuropäische Sprachen siehe ISO 8859 3 encoding ISO 8859 4 ISO Kodierung für nordeuropäische Sprachen siehe ISO 8859 4 encoding ISO 8859 5 ISO Kodierung für kyrillische Sprachen siehe ISO 8859 5 encoding ISO 8859 6 ISO Kodierung für arabische Sprachen siehe ISO 8859 6 encoding ISO 8859 7 ISO Kodierung für griechische Sprache siehe ISO 8859 7 encoding ISO 8859 8 ISO Kodierung für hebräische Sprache siehe ISO 8859 8 encoding ISO 8859 9 ISO Kodierung für türkische Sprache siehe ISO 8859 9 encoding ISO 8859 10 ISO Kodierung für nordische Sprache siehe ISO 8859 10 Wenn Sie keine Angaben zur Kodierung der XML Datei machen wird per Voreinstellung UTF 8 angenommen siehe dazu Standard Zeichenkodierung und Unicode Unterstützung Mit dem Attribut standalone können Sie dem XML Parser vorab mitteilen ob die vorliegende Datei sich auf eine externe DTD bezieht oder nicht Mit standalone yes geben Sie an dass sich die DTD innerhalb der aktuellen Datei befindet Mit standalone no teilen Sie mit dass sich die DTD in einer separaten Datei befindet Die Quelle müssen

    Original URL path: http://html.ekiwi.de/xml/regeln/xmldeklaration.htm (2016-04-25)
    Open archived version from archive

  • SELFHTML: XML / Dokumenttyp-Definitionen (DTDs) / Attribute und Wertzuweisungen
    intern vom Parser als notwendig interpretiert wird Wenn das Attribut in der Anwendung weggelassen wird wird automatisch der Default Wert angenommen Beispiel einer gültigen Anwendung Anzeigebeispiel So sieht s aus XML fähiger Browser zeigt z B die Datenstruktur an xml version 1 0 encoding ISO 8859 1 DOCTYPE hotels SYSTEM hotels dtd hotels hotel name Waldesruh klasse IV Hotel am Waldesrand gelegen 150 Betten ruhig und teuer hotel hotel name Arabesk klasse II doppelzimmer ja einzelzimmer ja Einfaches Stadthotel 400 Zimmer annehmbar ohne besonderen Komfort hotel hotel name Fridolin klasse III einzelzimmer nein Hotel in zentraler Lage 100 Betten angenehm gute Verkehrsanbindung hotel hotels Erläuterung Das Beispiel zeigt drei erlaubte Anwendungen des hotel Elements Im ersten Fall werden nur die beiden Attribute notiert die in der DTD als notwendig definiert wurden Für das Attribut doppelzimmer wird intern der Default Wert ja interpretiert Im zweiten Anwendungsfall wird das Attribut doppelzimmer explizit notiert und es wird der definierte Default Wert zugewiesen Genaugenommen ist diese Angabe überflüssig weil der Default Wert die Interpretation bereits abdeckt Die Notation entspricht etwa der Angabe align left in HTML wo die Wertzuweisung left als Default Wert definiert ist Das Attribut einzelzimmer das als optional IMPLIED definiert ist erhält im ersten Anwendungsfall gar keinen Wert Im zweiten Anwendungsfall wird es explizit auf ja im dritten Anwendungsfall auf nein gesetzt Beachten Sie Wertzuweisungen an Attribute mit festen alternativen Werten dürfen keine Leerzeichen enthalten also letztlich nicht aus mehr als einem Wort bestehen Es gibt auch die Möglichkeit für ein Attribut eine bestimmte Wertzuweisung zu erzwingen Dazu notieren Sie Beispiel typ hotel motel FIXED hotel Durch die Angabe FIXED erreichen Sie dass an das Attribut typ keine andere Wertzuweisung als hotel möglich ist obwohl noch eine andere Möglichkeit definiert ist Solche Konstrukte können sinnvoll sein wenn ein Attribut zu einem späteren Zeitpunkt noch andere Werte aufnehmen können aber schon mal etabliert werden soll Attribute mit Bezeichnerwert Token Neben Attributen mit beliebigen Zeichendaten CDATA als Wert oder mit festen alternativen Werten gibt es Attribute die als Wertzuweisung Bezeichnerwerte erwarten Bezeichnerwerte sind identifizierende Werte wie Namen oder Nummern Zu dieser Gruppe gehören Attribute mit Identifikationswert Attribute mit Identifikationsreferenzwert Attribute mit Entity Wert z B für externe Dateireferenzen Attribute mit nmtoken Wert auch für numerische Identifikationen Attribute mit Identifikationswert XML sieht eine Möglichkeit vor dem Parser mitzuteilen dass der zugewiesene Wert eines bestimmten Attributs dokumentweit nur einmal vorkommen darf Dies ist ein wichtiges Feature vor allem im Hinblick auf Script Sprachen Denn nur bei dokumentweit eindeutigen identifizierenden Werten ist es möglich ein Element über den Identifikationswert anzusprechen Beispiel DTD buecher dtd ELEMENT buecher buch ELEMENT buch PCDATA ATTLIST buch isbn ID REQUIRED titel CDATA REQUIRED autor CDATA REQUIRED Erläuterung Im Beispiel wird ein Elementtyp buch definiert Dem Elementtyp werden drei notwendige Attribute zugeordnet Zwei davon enthalten Zeichenwert einer Identifikationswert nämlich das Attribut isbn Um ein Attribut mit Identifikationswert zu definieren notieren Sie bei der Definition anstelle von CDATA den Schlüsselbezeichner ID Beispiel einer gültigen Anwendung Anzeigebeispiel So sieht s aus XML fähiger Browser zeigt z B die Datenstruktur an xml version 1 0 encoding ISO 8859 1 DOCTYPE buecher SYSTEM buecher dtd buecher buch isbn nr 3 90193 3949 7 titel Anbaggern leicht gemacht autor Dr Howtodo Ein Anleitung zwischen Genie und Wahnsinn buch buch isbn nr 3 90193 3950 2 titel Anbaggern leicht gemacht II autor Dr Howtodo Eine weitere Anleitung zwischen Genie und Wahnsinn buch buecher Erläuterung Das Beispiel zeigt wie zwei gleichnamige Elemente bei denen auch Attribute den gleichen Inhalt haben können sich doch durch ein als ID definiertes Attribut unterscheiden müssen Ein Parser der XML korrekt interpretiert müsste einen Fehler melden wenn die Wertzuweisung an das Attribut isbn im zweiten Datensatz buch den gleichen Wert hätte wie im ersten Beachten Sie Die Wertzuweisungen an ein Attribut vom Typ ID müssen den Regeln für Namen entsprechen Im obigen Beispiel wird den ISBN Nummern deshalb die Zeichenfolge nr vorangestellt da die eigentliche ISBN Nummer mit einer Ziffer beginnt was aber kein gültiger Name wäre Der Internet Explorer mit älterem Microsoft XML Parser akzeptiert zwar den Typ ID lässt aber trotzdem mehrere gleiche ID Werte in einem Dokument zu was nicht dem Sinn der Sache entspricht Neuere XML Parser von Microsoft ab msxml3 dll verhalten sich dagegen korrekt Attribute mit Identifikationsreferenzwert Wenn Sie für Elementtypen Attribute mit Identifikationswert definieren können Sie auch Attribute definieren deren Wert auf ein bestimmtes anderes Element verweist Auf diese Weise können Sie durch Attribute logische Abhängigkeitsbeziehungen zwischen Elementen definieren Beispiel DTD liste dtd ELEMENT liste eintrag ELEMENT eintrag PCDATA ATTLIST eintrag name ID REQUIRED elterneintrag IDREF IMPLIED Erläuterung Im Beispiel wird ein Elementtyp eintrag definiert Dieser Elementtyp könnte zum Beispiel Einträge eines Inhaltsverzeichnisses aufnehmen das baumartige Kapitelstrukturen definiert Diese Abhängigkeit wird im Beispiel in der Definition der Attribute ausgedrückt Der Elementtyp eintrag erhält ein Attribut name das als Attribut mit Identifikationswert definiert wird Jedes Element eintrag muss in der Anwendung also einen dokumentweit eindeutigen Wert für name zugewiesen bekommen Ferner wird dem Element eintrag ein Attribut elterneintrag zugeordnet Der Wert dieses Attributs muss der Definition zufolge der Name eines Eintrags sein auf den sich das aktuelle Element bezieht Solche Rückbeziehungen drücken Sie durch den Schlüsselbezeichner IDREF aus Durch die beiden definierten Attribute ist es nun möglich eine beliebige Baumstruktur abzubilden Beispiel einer gültigen Anwendung Anzeigebeispiel So sieht s aus XML fähiger Browser zeigt z B die Datenstruktur an xml version 1 0 encoding ISO 8859 1 DOCTYPE liste SYSTEM liste dtd liste eintrag name wurzel Inhalt eintrag eintrag name einleitung elterneintrag wurzel eine Einleitung eintrag eintrag name geschichte elterneintrag einleitung etwas zur Geschichte eintrag eintrag name heute elterneintrag einleitung heutiger Zustand eintrag eintrag name schritte elterneintrag wurzel Erste Schritte eintrag eintrag name beispiel elterneintrag schritte Ein kleines Beispiel eintrag liste Erläuterung Das Beispiel zeigt wie Sie allein mit Hilfe der beiden Attribute name als ID definiert und elterneintrag als IDREF definiert eine Baumstruktur abbilden können Die Struktur des Beispiels lässt sich optisch so darstellen Inhalt eine Einleitung etwas zur Geschichte heutiger Zustand Erste Schritte Ein kleines Beispiel

    Original URL path: http://html.ekiwi.de/xml/dtd/attribute.htm (2016-04-25)
    Open archived version from archive

  • SELFHTML: XML / Regeln für XML-Dateien / Zeichen, Zeichenkodierungen und nicht interpretierte Abschnitte
    Welt abdecken Seit der Unicode Version 1 1 entspricht ISO IEC 10646 dem Unicode System Um genau zu sein Erlaubt sind Unicode Zeichen mit den Hexadezimalwerten x20 bis xD7FF xE000 bis xFFFD und x10000 bis x10FFFF Nicht erlaubt sind lediglich die beiden Zeichen mit den Hexadezimalwerten xFFFE und xFFFF da diese beiden keine Unicode Zeichen darstellen Ferner sind folgende Steuerzeichen erlaubt Tabulator Zeichen hexadezimal x9 Zeilenvorschub Zeichen xA und Wagenrücklaufzeichen xD Diese drei Zeichen plus das normale Leerzeichen x20 bilden die so genannten Leerraumzeichen Wenn Sie in der XML Deklaration keine andere Kodierung angeben verarbeitet der Parser den Inhalt einer Datei gemäß der Kodierung UTF 8 oder UTF 16 Für die Praxis des Editierens ist zu beachten dass Ihr Editor die XML Datei stets unter Verwendung derjenigen Kodierung speichern muss die Sie in der XML Deklaration angeben Moderne Editoren erlauben das Wählen der Kodierung beim Speichern Beim Verwenden der fortschrittlichen Kodierungen UTF 8 oder UTF 16 können Sie alle Zeichen des Unicode Systems ohne Umschreibung über die Tastatur eingeben oder direkt einfügen Einige ältere Editoren unterstützen jedoch nur die herkömmlichen auf 256 Zeichen begrenzten ISO 8859 Kodierungen zum Beispiel die für westeuropäische Sprachen übliche Kodierung ISO 8859 1 Damit lassen sich lediglich die deutschen Umlaute und gewisse relevante Sonderzeichen ohne Umschreibung notieren Alle Zeichen des Unicode Zeichenvorrats die Sie mit Ihrem Editor nicht direkt eingeben können oder die im Zeichenvorrat der verwendeten Kodierung nicht vorkommen können Sie über eine numerische Angabe notieren Die Notationsweise ist dabei in XML die gleiche wie in HTML 4 0 also z B für den Buchstaben ü die Notation 252 dezimal oder xFC hexadezimal Siehe auch Allgemeines zur Zeichenreferenz HTML Nicht interpretierte Abschnitte CDATA XML Dokumente dürfen so genannte CDATA Abschnitte enthalten die vom Parser nicht als XML Quellcode interpretiert werden Im Unterschied zu Kommentaren

    Original URL path: http://html.ekiwi.de/xml/regeln/zeichen.htm (2016-04-25)
    Open archived version from archive

  • SELFHTML: XML / Regeln für XML-Dateien / Die Dokumenttyp-Deklaration
    Dokumenttyps muss mit dem Namen des Dokument Elements also dem äußersten Element in der XML Datei identisch sein Die DTD notieren Sie hinter dem Namen des Dokumenttyps in eckigen Klammern Die Definitionen können sich über mehrere Zeilen erstrecken Am Ende muss eine schließende eckige Klammer stehen und das abschließende der Dokumenttyp Deklaration Im Anschluss daran können Daten entsprechend der DTD notiert werden Zur Syntax von DTD Definitionen siehe Dokumenttyp Definitionen DTDs Beachten Sie Netscape Opera Firefox und Safari nehmen zwar von der internen DTD notiz beachten aber dessen Angaben bis auf wenige Ausnahmen nicht Dokumenttyp Deklaration mit externer DTD Die Dokumenttyp Deklaration muss auch hier zu Beginn einer XML Datei hinter der XML Deklaration xml folgen Innerhalb der Dokumenttyp Deklaration notieren Sie die Referenz zu der Datei mit den DTD Definitionen Beispiele für Dokumenttyp Deklaration mit externer DTD xml version 1 0 DOCTYPE EMail SYSTEM src email dtd xml version 1 0 DOCTYPE EMail SYSTEM http www example org xmlvorlagen email dtd xml version 1 0 DOCTYPE EMail PUBLIC MeineFirma Solutions DTD EMail V 1 0 DE http www example org dtds email dtd Erläuterung Die Dokumenttyp Deklaration beginnt mit DOCTYPE Dahinter folgt durch Leerraum getrennt der Name des Dokumenttyps in allen drei obigen Beispielen EMail Die nächste Angabe in den drei obigen Beispielen lautet entweder SYSTEM oder PUBLIC Eine dieser beiden Angaben ist nötig wenn sich die DTD Definitionen in einer separaten Datei befinden Verwenden Sie SYSTEM wenn Sie den Speicherort der DTD explizit angeben sei es auf dem eigenen Rechnersystem oder auf einem entfernten Rechner im Internet Die ersten beiden der obigen Beispiele zeigen entsprechende Adressierungen Verwenden Sie dagegen PUBLIC wenn Sie den Speicherort der Datei mit den DTD Definitionen nicht explizit sondern durch einen so genannten öffentlichen Bezeichner public identifier angeben Solche Angaben zu einem öffentlichen Bezeichner

    Original URL path: http://html.ekiwi.de/xml/regeln/dokumenttypdeklaration.htm (2016-04-25)
    Open archived version from archive



  •