1 / 23

XSL

XSL. Unit 6 November 2. XSL. XSL eXtensible Stylesheet Language Basically a stylesheet for XML documents XSL has three parts: XSLT XPath XSL-FO. XSLT. The most important bit of XSL XSLT allows us to transform an XML document into another XML document

kane
Télécharger la présentation

XSL

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. XSL Unit 6 November 2

  2. XSL • XSL • eXtensible Stylesheet Language • Basically a stylesheet for XML documents • XSL has three parts: • XSLT • XPath • XSL-FO

  3. XSLT • The most important bit of XSL • XSLT allows us to transform an XML document into another XML document • For instance, transform an XML document into an XHTML document • XSLT relies on using XPath • We’re going to use it, but not cover it • Don’t have to go into detail in order to create simple, effective XSL documents

  4. XSLT Basics • The whole idea behind XSLT is template matching • What’s a template? • Let’s say we have a list of students like what we’ve done in class: <student> <firstName>Marky</firstName> <lastName>Mark</lastName> <studentNumber>2001-22222</studentNumber> </student>

  5. Templates, cont. • We know what one student “looks” like • All students follow the same format: Student: first name last name student number • Every single one of the students in our XML document are described in exactly the same manner • We can use a template to identify and use the parts of each student

  6. Templates, cont. <studentList> <student> <firstName>Marky </firstName> <lastName>Mark </lastName> <studentNumber>200122222 </lastname> </student> <student> <firstName>Selma </firstName> <lastName>Blair </lastName> <studentNumber>200133333 </lastname> </student> …… </studentList>

  7. Creating a New XSL Stylesheet • Created with a text editor • Saved with file extension “.xsl” • Just like with HTML, we have to put some “bits” at the top of our XSL file • Again, you do not have to have these memorized completely • I will provide a blank version online when/if needed

  8. Creating an XSL Stylesheet, cont. <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> Or <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> • You can use either “xls:stylesheet” or “xls:transform”, they are identical

  9. Linking the XSL file to the XML file • The top of our XML file should read something like this: <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/xsl" href=“studentlist.xsl"?> • This is nearly identical to how we link HTML pages to CSS files • Again, an empty file will be provided for you if needed • But! You do need to know how to link to an XSL file

  10. xsl:template • xsl:template is an XSL element • We are going to use it to apply rules when the template match is found • <xsl:template match = “/”> • match = “/” means that we’ll apply the template to the entire XML document • This is the next line of our XSL file

  11. XSL File, so far <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match = “/”> ………. </xsl:template> </xsl:stylesheet>

  12. Beginning the Transformation to HTML • What do we need for an html file? • <html> • <body> • Maybe a <head> tag? • This is what we’ll add next to our XSL file

  13. Beginning HTML <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match = “/”> <html> <head><title>XML Example</title></head> <body> ………. </body> </html> </xsl:template> </xsl:stylesheet>

  14. In-Class Example • Adding some HTML

  15. How do we add data? • <xsl:value-of> gives us the value of a certain bit of our xml file • Which bit? • We’ll use the select property and the information about our tag • <xsl:value-of select =“studentList/student/first_name”/> • This long value for select is based on the structure of our XML document • <studentList> is our root element • <student> is contained within <studentList> • <first_name> is the data we’re interested in • Just like paths for URLs

  16. In class Example • Adding some data to our html • Using more html tags

  17. More than Student? • We can get the data for a single student, but what about our list of 3 students? • Or 300 for that matter? • We don’t want to cut and paste for every student • What if the number of students changes? • We can use the <xsl:for-each> element to loop through each of our students • Can use it to look through any “sets” of data nodes (think items with (+) marks)

  18. Using <xsl:for-each> • <xsl:for-each> requires the use of the select attribute • <xsl:for-each select = “some expression”> • But what to use? • Depends on the repeat of the data • In the case of having a list of students • select = “studentList/student” • Basically you can read this as “for each student, apply these rules below” • <xsl:for-each select=“studentList/student”>

  19. In Class Example • Adding for-each to loop through the students in the XML document • Reversing last and first name • Changing the format of the data

  20. Sorting the Data • We can sort the data in our XML files • For instance, we can alphabetize our student list • Even if it’s not alphabetical in the XML file, the HTML output will have the items in alphabetical order • We are going to use the element <xsl:sort>

  21. Using <xsl:sort> • We can specify what we are sorting on • First name? • Last name? • <xsl:sort select=“last_name”> • Default is to sort ascending (A, B…Z) • But we can reverse it by using the order property: <xsl:sort select=“last_name” order=“descending”/>

  22. In Class Example • Sorting the student list ascending and descending • Using both first and last name • Another XML file with products

  23. Questions?

More Related