Letter from De Erven F. Bohn to W. Blackwood and sons, January 22nd, 1873 Haarlem 22 January 1873 Dear Sirs!

We beg to apply to you the kind request for sending us one week before the publication one copy of Bulwer's novel: Kenelm Chillingly, His adventures and opinions, which book you have in the press, for what we are inclined to pay 30 £. When it were possible to send us already now the first volume by the post; it would be yet more agreeable. Mr H.A. Kramers at Rotterdam readily will be our pledge.

your truly De Erven F. Bohn
"> Letter from De Erven F. Bohn to W. Blackwood and sons, January 22nd, 1873 Haarlem 22 January 1873 Dear Sirs!

We beg to apply to you the kind request for sending us one week before the publication one copy of Bulwer's novel: Kenelm Chillingly, His adventures and opinions, which book you have in the press, for what we are inclined to pay 30 £. When it were possible to send us already now the first volume by the post; it would be yet more agreeable. Mr H.A. Kramers at Rotterdam readily will be our pledge.

your truly De Erven F. Bohn
">

Presentation is loading. Please wait.

Presentation is loading. Please wait.

Digital Media Technology

Similar presentations


Presentation on theme: "Digital Media Technology"— Presentation transcript:

1 Digital Media Technology
Week 6: Introduction to XSLT Peter Verhaar

2 Example: XML source <?xml version="1.0" encoding="UTF-8"?>
<letter> <head>Letter from De Erven F. Bohn to W. Blackwood and sons, January 22nd, 1873</head> <body> <dateline> <place>Haarlem</place> <date>22 January 1873</date> </dateline> <greeting>Dear Sirs!</greeting> <p>We beg to apply to you the kind request for sending us one week before the publication one copy of Bulwer&apos;s novel: <title>Kenelm Chillingly, His adventures and opinions</title>, which book you have in the press, for what we are inclined to pay 30 £. When it were possible to send us already now the first volume by the post; it would be yet more agreeable. Mr H.A. Kramers at Rotterdam readily will be our pledge.</p> <salute> your truly</salute> <signed>De Erven F. Bohn</signed> </body> </letter>

3 Getting started Include a template that points to the root element of the XML source. <?xml version="1.0" encoding="UTF-8"?> <letter> <head>Letter from De Erven F. Bohn to W. Blackwood and sons, January 22nd, 1873</head> <body> …. </body> </letter>

4 XML Result XSLT XML Source
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl=" Transform" version="1.0"> <xsl:template match="letter"> </xsl:template> </xsl:stylesheet> <?xml version="1.0" encoding="UTF-8"?> <letter> </letter> XML Result

5 Elements within <xsl:template>
Literal text can be added with the <xsl:text>element. e.g. <xsl:text>This sentence will be visible in the result.</xsl:text> HTML tags may be added directly e.g. <i><xsl:text>This text will be italicised<xsl:text></i>

6 Elements within <xsl:template>
Use <xsl:value-of> to select text from the XML source. e.g. <xsl:value-of select=“head”/> <xsl:value-of select=“body/dateline”/> Note that the paths in the select-attribute must depart from the element mentioned in the match-attribute of <xsl:template>

7 XSLT stylesheet <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:template match=“letter"> <html> <head> <title> <xsl:text>XSLT transformation</xsl:text> </title> </head> <body> <h2> <xsl:value-of select=“head”> </h2> </body> </html> </xsl:template> </xsl:stylesheet>

8 Exercise 1

9 Example: XML source <?xml version="1.0" encoding="UTF-8"?>
<EU> <country> <name> Belgium </name> <capital>Brussels</capital> </country> <name>Cyprus </name> <capital>Nicosia</capital> <name>Denmark </name> <capital>Copenhagen</capital> </EU>

10 XSLT stylesheet <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:template match="EU"> <ul><li> <xsl:text>The capital of </xsl:text> <xsl:value-of select="country/name"/> <xsl:text> is </xsl:text> <xsl:value-of select="country/capital"/> <xsl:text>.</xsl:text> </li></ul> </xsl:template> </xsl:stylesheet>

11 <xsl:for-each> needs to be used if all the elements on a certain level need to be shown.
This XSLT element takes a select-attribute Note that the paths within <xsl:for-each> must depart from the element that is mentioned mentioned in the select-attribute.

12 XSLT stylesheet <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:template match="EU"> <ul> <xsl:for-each select="country"> <li> <xsl:text>The capital of </xsl:text> <xsl:value-of select="name"/> <xsl:text> is </xsl:text> <xsl:value-of select="capital"/> <xsl:text>.</xsl:text> </li> </xsl:for-each> </ul> </xsl:template> </xsl:stylesheet>

13 Exercise 2

14 <xsl:sort> Use <xsl:sort> to sort a list alphabeticaly or numerically This XSLT element also takes a select-attribute. It refers to the element the XSLT processor must sort by <xsl:sort> must be the direct child of <xsl:for-each> (or <xsl:apply-templates>)

15 Exercise 3

16 <xsl:if> <xsl:if> takes a “test” attribute
The instructions within <xsl:if> will only be carried out if the criterion in the test attribute can be evaluated as true Example: <xsl:if test=“date”> <xsl:value=“date”/> </xsl:if>

17 Exercise 4

18 Operators that can be used to formulate such tests:
The items that will be selected within the <xsl:for-each> loop can be filtered by adding a criterion within square brackets, directly after the element name. Operators that can be used to formulate such tests: = Equal to != Not equal to < Less than > Greater than

19 Exercise 5

20 Elements within <xsl:template>
<xsl:value-of> <xsl:text> <xsl:for-each> <xsl:sort> <xsl:if>


Download ppt "Digital Media Technology"

Similar presentations


Ads by Google