« Kurs-Start

Tipps und Tricks#

../_images/kornfeld.jpg

Lernziel#

Was sonst noch nicht erwähnt wurde, finden Sie vielleicht hier wieder.

CDATA Sections#

Angenommen, Sie wollen in einer XML-Datei wiederum XML- oder HTML-Quellcode speichern. Es läßt sich denken, dass es ohne eine besondere Deklarierung zu Fehlern kommen würde. Für solche Fälle gibt es CDATA Section. Das Ziel ist also, beliebige Zeichenfolgen, so auch Quellcode, in einer XML-Datei zu speichern. Schauen wir uns dazu den Quellcode an :emphasize-lines: 6, 14:

 1<?xml version="1.0" encoding="UTF-8"?>
 2<codesammlung>
 3 <beispiel nr="1">
 4  <beschreibung>Das ist das Grundgerüst einer HTML-Seite!</beschreibung>
 5    <quellcode>
 6      <![CDATA[
 7          <html>
 8          <head>
 9              <Title>Dies ist der Titel</title>
10          </head>
11          <body>
12          </body>
13          </html>
14         ]]>
15   </quellcode>
16 </beispiel>
17</codesammlung>
Erklärungen:

Die hervorgehobenen Zeilen schließen definieren den CDATA-Bereich, sie darf also selbst nicht im Text vorkommen. Hier kann nun nichtvaliedes XML, wie z.B. JavaScript eingefügt werden.

DOCTYPE-Declaration für HTML 5#

  • Viele Beispiele zeigen nur HTML-Fragmente!

  • Wer ein valides HTML-5-Dokument erzeugen will, muss im Root-Element das folgende Konstrukt mit einbauen (siehe Zeile 9):

 1<?xml version="1.0" encoding="UTF-8"?>
 2<xsl:stylesheet version="2.0"
 3     xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 4<xsl:output method="html" />
 5
 6<xsl:template match="/">
 7
 8<!-- Ausgabe DOTYPE für HTML 5 -->
 9<xsl:text disable-output-escaping="yes">&lt;!DOCTYPE html></xsl:text>
10  <html>
11  <head>
12       <title>Eine HTML-5-Seite</title>
13       <meta charset="UTF-8" />
14  </head>
15  <body>
16  ...
17  </body>
18  </html>
19</xsl:template>
20<!-- weitere TemplateRules ... -->
21</xsl:stylesheet>

XML-Declaration unterdrücken#

Wie kann die Ausgabe der ersten Zeile mit der XML-Deklaration verhindert werden?

  1. Umstellen der Ausgabe auf html

    <xsl:output method="html"
                indent="yes"
                encoding="UTF-8" />
    
  2. Verwendung von omit-xml-declaration

     <xsl:output method="xm"
                 indent="yes"
                 encoding="UTF-8"
                 omit-xml-declaration="yes"/>
    

XPATH#

In Postgres XPath anwenden (ein Beispiel):

https://blog.sznapka.pl/using-xml-and-xpath-in-postgresql-database/

XSD#

Zwei XSD mergen#

Wie können zwei XSD kombiniert werden?