Linex: Enumeration von externen Entities?

Beitrag lesen

Hallo, ich hab da ein kleines Problem.

Ich lese mit
<xsl:template match="piktos">
 <p>
   <xsl:apply-templates />
 </p>
</xsl:template>

alle Einträge zu den Element
                         <piktos>
<pikt typ="fluessigkeit"/>
<pikt typ="alkohol"/>
<pikt typ="fahrunf"/>
</piktos>

Hinter dem Attribut-Typ typ ist eine JPG-File zugewiesen das unter dem Verzeichnis

grafik/alkohol.jpg  liegt.

Ich hab's bis jetzt geschaff, daß ich die Namen angezeigt bekomme,
aber die Grafiken hab ich noch nicht einladen können. Wie mach ich das?
Ich hab erst vorgestern mit XML angefangen und deshalb noch nicht die Ahnung!

Gegeben ist

-XML-File (Haeder)
---------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE buch SYSTEM "dtd/test.dtd">
<?xml-stylesheet type="text/xsl" href="test.xsl" ?>
<buch typ="arz_profil" werknr="00010">
<abschnitt inhalt="profil">
<lieferinfo>
<copy_right>© 2009 DText</copy_right>
<update>150910</update>
<datenstand>04/2010</datenstand>
</lieferinfo>
<stoff>
<stoff_name>Aspirin</stoff_name>
<stoff_gruppe>
<stoff_gruppenname>Tricyclisches Antidepressivum</stoff_gruppenname>
</stoff_gruppe>
<piktos>
<pikt typ="fluessigkeit"/>
<pikt typ="alkohol"/>
<pikt typ="fahrunf"/>
</piktos>
 ...
 ...
 ...
</abschnitt>
</buch>

  • DTD-File:
    -----------------------------------------------
    <!ENTITY % inline_blocks SYSTEM
              "module/entities.ent">
    %inline_blocks;

<!ENTITY % inh-list SYSTEM "module/inh-list_profile.ent">
%inh-list;

...
...
...

<!-- piktos -->
<!ENTITY % piktos SYSTEM
          "module/piktos.ent">
%piktos;

<!-- Praeparate/Stoff-Inlines -->
<!ENTITY % preap-stoff SYSTEM
          "module/preap_stoff.ent">
%preap-stoff;

Das File module/piktos.ent:

<!ELEMENT piktos (pikt*, p*)>
<!ATTLIST piktos
id CDATA #IMPLIED

<!ELEMENT pikt EMPTY>
<!ATTLIST pikt
id CDATA #IMPLIED
typ %piktlist; #REQUIRED

und abschliesend das XSL - File:
------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:htm="http://www.w3.org/1999/xhtml">

<xsl:template match="/">
 <xhtml>
 <head>
 <link href="dtd/test.css" rel="stylesheet" type="text/css"></link>
  </head>
 <tbody>
  <xsl:apply-templates />
 </tbody>
 </xhtml>
</xsl:template>

<xsl:template match="abschnitt">
<p>
   <xsl:apply-templates />
</p>
</xsl:template>

<xsl:template match="stoff">
 <p>
   <xsl:apply-templates />
 </p>
</xsl:template>

<xsl:template match="piktos">
 <p>
   <xsl:apply-templates />
 </p>
</xsl:template>

<xsl:template match="stoff_gruppe">
 <p>
   <xsl:apply-templates />
 </p>
</xsl:template>

<xsl:template match="stoff_beschreibung">
 <p>
   <xsl:apply-templates />
 </p>
</xsl:template>

<xsl:template match="stoff_name">
 <h1><xsl:value-of select="." /></h1>
</xsl:template>

<xsl:template match="stoff_gruppenname">
 <p><xsl:value-of select="." /></p>
</xsl:template>

<xsl:template match="stoff_beschreibung">
<xsl:apply-templates />
</xsl:template>

...
...
  HIER LIEGT DAS PROBLEM!!!!!!!!!!!!!!!!!

<xsl:template match="pikt">
<img><xsl:attribute name="typ"><xsl:value-of select="grafik/@typ.jpg" /></xsl:attribute></img>
</xsl:template>

</xsl:stylesheet>

Danke im Vorraus

Linex