Home
Über mich
Blog
Veröffentlichungen
IT-Trainings
Impressum


XML Entitäten

Zusammenfassung:

Die Seite stellt die Funktionsweise von XML Entitäten dar, am Beispiel von Standard-, selbst definierten Entitäten, Einbindung separater XML-Dokumente sowie zur Entitätsdeklaration in XSLT.

XML Entitäten

Entitäten sind definierte Kurzausdrücke. Folgende Standard-Entitäten sollten geläufig sein:

&lt; für <
&gt; für >
&quot; für "
&amp; für &

Selbst definierte Entitäten

Ergänzend können selbst definierte Entitäten zum Einsatz kommen:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE mytext [
<!ENTITY LvH "Leute von heute" >
]>
<mytext>
Hallo, &LvH;
</mytext>

Das Ergebnis sieht im Browser dann so aus:

pic/entity1.jpg

Entitäten als externe Dokumente

Darüber hinaus besteht die Möglichkeit, mittels selbst definierter Entitäten externe XML Dokumente in ein größeres Dokument einzubinden. Auf diese Weise können mehrere Autoren parallel an unterschiedlichen Dokumenten arbeiten; nach abgeschlossener Arbeit werden die XML Dokumente in ein umfassenderes Dokument eingefügt.

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE article [
<!ENTITY KAP1 SYSTEM "Kapitel1.xml">
]>
<article>
  <chapter>
    <title>XML-Basics</title>
    &KAP1;
  </chapter>
</article>

wobei das externe Dokument etwa folgendermaßen aussehen könnte:

<?xml version="1.0" encoding="ISO-8859-1"?>
<section>
  <title>Attribute</title>
  <para>Attribute sind ebenso sinnvoll wie Elemente.</para>
</section> 

Im Arbeitsspeicher werden die Dokumente dann zusammengefügt zu:

<?xml version="1.0" encoding="ISO-8859-1"?>
<article>
  <chapter>
    <title>XML-Basics</title>
    <section>
      <title>Attribute</title>
      <para>Attribute sind ebenso sinnvoll wie Elemente.</para>
    </section> 
  </chapter>
</article>

Entitätsdeklaration in XSLT

Mit älteren Saxon-Versionen wie 6.5 oder auch neueren wie saxon9pe ist eine vorherige Entitäten-Deklaration möglich, so daß auch HTML-Entitäten generiert werden können (lediglich Saxon9ee meldet hier Vorbehalte an):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE stylesheet [ 
<!ENTITY euro  "&#8364;" > 
<!ENTITY auml  "&#228;" >
<!ENTITY Auml  "&#196;" >
<!ENTITY ouml  "&#246;" >
<!ENTITY Ouml  "&#214;" >
<!ENTITY uuml  "&#252;" >
<!ENTITY Uuml  "&#220;" >
<!ENTITY szlig  "&#223;" >
]>
<xsl:stylesheet version="2.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="html" />
 <xsl:template match="/">
  <html>
   <body>
    <xsl:value-of select="sum(//Gehalt)" />
    <xsl:text> &euro;</xsl:text>
    <br />
    <table>
     <tr>
      <td>ae</td>
      <td>&auml;</td>
      <td>
       <xsl:text>&auml;</xsl:text>
      </td>
     </tr>
     <tr>
      <td>Ae</td>
      <td>&Auml;</td>
      <td>
       <xsl:text>&auml;</xsl:text>
      </td>
     </tr>
     <tr>
      <td>oe</td>
      <td>&ouml;</td>
      <td>
       <xsl:text>&ouml;</xsl:text>
      </td>
     </tr>
     <tr>
      <td>Oe</td>
      <td>&Ouml;</td>
      <td>
       <xsl:text>&Ouml;</xsl:text>
      </td>
     </tr>
     <tr>
      <td>ue</td>
      <td>&uuml;</td>
      <td>
       <xsl:text>&uuml;</xsl:text>
      </td>
     </tr>
     <tr>
      <td>Ue</td>
      <td>&Uuml;</td>
      <td>
       <xsl:text>&Uuml;</xsl:text>
      </td>
     </tr>
     <tr>
      <td>szlig</td>
      <td>&szlig;</td>
      <td>
       <xsl:text>&szlig;</xsl:text>
      </td>
     </tr>
    </table>
   </body>
  </html>
 </xsl:template>
</xsl:stylesheet>

Das Ergebnis sieht im Browser dann so aus:

pic/xsl_Entities.jpg

qrpic/Entitaeten.jpg

wg / 30. September 2017




Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf (info10@wilfried-grupe.de).



Vielen Dank für Ihr Interesse an meiner Arbeit.


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

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