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


XSL: Schattenkabinett

Zusammenfassung:

shadow attributes ermöglichen, mit einem statischen Wert während der Präprozessing-Phase zu arbeiten.

XSL: Schattenkabinett

Ein Schattenattribut (shadow attribute) trägt denselben Namen wie ein anderes Attribut, jedoch mit einem "_" als Präfix. Es erlaubt, mit einem statischen Wert während der Präprozessing-Phase zu arbeiten.

<xsl:stylesheet 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
  version="3.0">
  <xsl:output method="xml" version="1.0" 
       encoding="UTF-8" indent="yes"/>
  <xsl:param name="pOrt" 
       static="yes" 
       as="xs:string" 
       select="&quot;Ort/name&quot;"/>
  <xsl:param name="pMensch" 
       static="yes" 
       as="xs:string" 
       select="'Mensch[Gehalt &gt; 1000]'"/>
  <xsl:template match="/*" name="xsl:initial-template">
    <ROOT>
      <xsl:apply-templates _select="/Orte/{$pOrt}, //{$pMensch}"/>
      <xsl:for-each _select="//{$pMensch}">
        <m>
          <xsl:for-each select="child::*[local-name() !='Kauf']">
            <xsl:attribute name="{local-name()}">
              <xsl:value-of select="text()"/>
            </xsl:attribute>
          </xsl:for-each>
        </m>
      </xsl:for-each>
    </ROOT>
  </xsl:template>
  <xsl:template _match="{$pOrt}">
    <Stadt>
      <xsl:value-of select="text()"/>
    </Stadt>
  </xsl:template>
  <xsl:template _match="{$pMensch}">
    <Person einkommen="{Gehalt}">
      <xsl:value-of select="vorname/text()"/>
    </Person>
  </xsl:template>
</xsl:stylesheet>

Ergebnis:

<ROOT>
  <Stadt>Neustadt</Stadt>
  <Stadt>Darmstadt</Stadt>
  <Stadt>Kapstadt</Stadt>
  <Person einkommen="1234.56">Nicole</Person>
  <Person einkommen="5430">Stefan</Person>
  <Person einkommen="6789">Willi</Person>
  <Person einkommen="3450">Betty</Person>
  <m id="4" name="Nixlos" vorname="Nicole" Gehalt="1234.56" idOrt="1"/>
  <m id="9" name="Sprachlos" vorname="Stefan" Gehalt="5430" idOrt="1"/>
  <m id="5" name="Wasistlos" vorname="Willi" Gehalt="6789" idOrt="3"/>
  <m id="6" name="Bodenlos" vorname="Betty" Gehalt="3450" idOrt="3"/>
</ROOT>

qrpic/XSL30_Schattenkabinett.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