XMLXSLTypexempel för XSLMixed Mode och text()
[ Hem ] Allmänt ASP XML SQL ADO HTML CSS VB Java Design Karta
Grunderna XSL Dynamiska sidor XML i praktiken

Mixed Mode och text()

 Typexempel för XSL
* Mixed Mode och text()
* ID, IDREF och IDREFS

Tema:

  • Mixed Mode XML
  • Attribut
  • xsl:choose

xml_ex_1.xml

<?xml version="1.0" encoding="iso-8859-1" ?> 
<?xml-stylesheet type="text/xsl" href="xml_ex_1.xsl"?>
<!DOCTYPE person [
   <!ELEMENT person (data*)>
   <!ELEMENT data (#PCDATA | lastname | firstname )*>
   <!ELEMENT lastname (#PCDATA)>
   <!ELEMENT firstname (#PCDATA)>
   <!ATTLIST firstname typ ( smeknamn | verkligt ) #IMPLIED>
]>
<person>
   <data>
     Hans förnamn är <firstname typ="verkligt">Kalle</firstname>
     och efternamnet är <lastname>Anka</lastname>
   </data>
   <data>
     Han kallades <firstname typ="smeknamn">Svullo</firstname>
   </data>
   <data>
     Jag vet bara hans efternamn, som är <lastname>Persson</lastname>
   </data>

</person>
Öppna XML filen   Öppna XML konverterad till HTML (Även NS)

xml_ex_1.xsl

<?xml version='1.0' encoding="iso-8859-1" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

   <!--  matcha roten -->
   <xsl:template match="/">

   <!--  vanlig html -->
   <html>
     <head>
       <title>Mixed Mode XML</title>
     </head>
     <body bgcolor="#FFFFFF" text="#000000">
  
     <xsl:apply-templates select="person/data" /><br />
  
     </body>
   </html>
   </xsl:template>

   <!--  template för data noder -->
   <xsl:template match="data">
     <!-- 
       kör templates på eventella undernoder
       och även för texten
     -->

     <xsl:apply-templates />
     <hr />
   </xsl:template>

   <!--  template för text() - dvs. sådant som inte är noder -->
   <xsl:template match="text()">
     <font face="courier"><xsl:value-of select="." /></font>
   </xsl:template>

   <!--  template för firstame och lastname -->
   <xsl:template match="firstname | lastname">
     <font face="verdana,arial,sans-serif">
     <xsl:choose>
       <xsl:when test="@typ[.='smeknamn']">
         <b style="color:blue"><i><xsl:value-of select="." /></i></b>
       </xsl:when>
       <xsl:otherwise>
         <b style="color:blue"><u><xsl:value-of select="." /></u></b>
       </xsl:otherwise>
     </xsl:choose>
     </font>
   </xsl:template>
</xsl:stylesheet>
Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken

Observera användningen av text() som matchar text som inte hör till någon specifik nod.

 

 

  Typexempel för XSLID, IDREF och IDREFS
XSL
XSL i praktiken
XSL loopar
XSL programmering
XSL patterns
Patterns exempel
Programkoden
xsl:if
xsl:choose
xsl:for-each
xsl:apply-templates
XSL Övningar
XML versioner
Microsofts lösning
Nummer och datum
Typexempel för XSL ...


Top
< Typexempel för XSL ID, IDREF och IDREFS>
© Anders Enges, Vörå 2002  | 15.10.01 11:25 Visa asp koden