1 / 23

Digital Media Technology

Digital Media Technology. Week 6. XSLT. XML Source. XSLT Stylesheet. XML Result. Tree diagram of an XSLT stylesheet. <xsl:stylesheet> </xsl:stylesheet>. <xsl:template match=“collection” > </xsl:template>. <xsl:template match=“letter” > </xsl:template>. Example: XML source.

nerea-hale
Download Presentation

Digital Media Technology

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Digital Media Technology Week 6

  2. XSLT XML Source XSLT Stylesheet XML Result

  3. Tree diagram of an XSLT stylesheet

  4. <xsl:stylesheet> </xsl:stylesheet> <xsl:template match=“collection” ></xsl:template> <xsl:template match=“letter” ></xsl:template>

  5. 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>

  6. 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>

  7. XSLT XML Source <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="letter"> </xsl:template> </xsl:stylesheet> <?xml version="1.0" encoding="UTF-8"?> <letter> … </letter> XML Result

  8. 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 directlye.g.<i><xsl:text>This text will be italicised<xsl:text></i>

  9. 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>

  10. XSLT stylesheet <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 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>

  11. Exercise 1

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

  13. XSLT stylesheet <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 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>

  14. <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.

  15. XSLT stylesheet <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 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>

  16. Exercise 2

  17. <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>)

  18. Exercise 3

  19. <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>

  20. Exercise 4

  21. 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:

  22. Exercise 5

  23. Elements within <xsl:template> • <xsl:value-of> • <xsl:text> • <xsl:for-each> • <xsl:sort> • <xsl:if>

More Related