XML / XML-Entitäten

XML-Entitäten

XML-Entitäten

➪ XML-Entitäten finden Verwendung in Form von Standard-, selbst definierten Entitäten, Einbindung separater XML-Dokumente sowie zur Entitätsdeklaration in XSLT.

Auf dieser Seite:

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 so 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

Je nach können im Vorspann zu XSLT auch Entitäten deklariert werden (bei diversen Prozessorvarianten habe ich hier temporäre Probleme gefunden, die teilweise bereits beseitigt sind).


<?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:decimal-format 
        name="df" 
        decimal-separator="," 
        grouping-separator="." 
        minus-sign="-" 
        digit="#"/>
 <xsl:template match="/">
  <html>
   <head>
     <meta 
      http-equiv="Content-Type" 
      content="text/html; charset=UTF-8"/>
   </head>
   <body>
    <xsl:value-of 
         select="format-number( 
                 sum(//Gehalt), 
                 '#.##0,00 &euro;', 
                 'df')" />    
    <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.png

wg / 12. April 2018



Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf.




XML

XML Encoding



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/Entitaeten.html