0
XML and XSL <ul><ul><li>Institutional Web Management 2001: </li></ul></ul><ul><ul><li>Organising Chaos </li></ul></ul>
Running order <ul><li>Background </li></ul><ul><li>All about XML </li></ul><ul><li>All about XSL </li></ul><ul><li>Hands-o...
Background <ul><li>Mark Ray and Andrew Savory </li></ul><ul><li>Using XML since 1996 </li></ul><ul><li>Used a variety of t...
XML and XSL <ul><li>W3C specifications </li></ul><ul><li>Separation of Concerns </li></ul><ul><ul><li>Reuse of data </li><...
Applications of XML and XSL <ul><li>Static information </li></ul><ul><ul><li>Institutional web sites </li></ul></ul><ul><u...
Benefits of XML and XSL <ul><li>Standards-based, format-independent </li></ul><ul><li>Serve sites and formats based on use...
The management bit <ul><li>Management </li></ul><ul><ul><li>Decide what the site should contain, how it should behave and ...
The management bit <ul><li>Logic </li></ul><ul><ul><li>Responsible for integration with dynamic content generation </li></...
What is XML? <ul><li>eXtensible Markup Language </li></ul><ul><ul><li>Not a fixed format </li></ul></ul><ul><ul><li>'Metal...
XML Design Goals <ul><ul><li>XML shall be straightforwardly usable over the Internet.  </li></ul></ul><ul><ul><li>XML shal...
XML Design Goals <ul><ul><li>XML documents should be human-legible and reasonably clear. </li></ul></ul><ul><ul><li>The XM...
Structure of an XML document <ul><li><?xml version=&quot;1.0&quot;?> </li></ul><ul><li><PARENT> </li></ul><ul><ul><li><CHI...
A first XML document <ul><li>Construct a well-formed XML document using the following tags: </li></ul><ul><ul><li>xml open...
Differences to HTML <ul><li>Order: </li></ul><ul><ul><ul><li><tag1><tag2></tag1></tag2>  WRONG </li></ul></ul></ul><ul><ul...
Differences to HTML <ul><li>Attributes </li></ul><ul><ul><ul><li><tag1 class=wrong>  WRONG </li></ul></ul></ul><ul><ul><ul...
Well-formed vs. Valid <ul><li>Exactly what they say: </li></ul><ul><ul><li>Well-formed means it's written correctly </li><...
A well-formed example <ul><li><?xml version=&quot;1.0&quot;?> </li></ul><ul><li><PARENT> </li></ul><ul><ul><li><CHILD> </l...
A valid example <ul><li><?xml version=&quot;1.0&quot;?> </li></ul><ul><li><!DOCTYPE PARENT [ </li></ul><ul><ul><li><!ELEME...
Document Type Definitions <ul><li>First standard mechanism for XML validation </li></ul><ul><li>Define the role and struct...
XSchema  <ul><li>XML structural definition language of choice </li></ul><ul><li>Defines a class of XML document </li></ul>...
Xschema example  <ul><li><?xml version=&quot;1.0&quot;?> </li></ul><ul><li><xsd:schema xmlns:xsd=&quot;http://www.w3.org/2...
What is XSL? <ul><li>Preferred style sheet language of XML </li></ul><ul><ul><li>a method for transforming XML documents <...
Hands-on XML <ul><li>Create the following XML document: </li></ul><ul><ul><ul><ul><li><?xml version=&quot;1.0&quot;?> </li...
Uploading the file <ul><li>Navigate to the site provided </li></ul><ul><li>Click on &quot;upload.html&quot; </li></ul><ul>...
Viewing the file <ul><ul><li>If you see the file you wanted to upload and receive a &quot;File written successfully&quot; ...
Structure of an XSL stylesheet <ul><li>Most templates have the following form: </li></ul><ul><ul><ul><li><xsl:template mat...
Structure of an XSL stylesheet <ul><li>Literal result element(s) come from non-XSL namespace(s) </li></ul><ul><li>XSLT ele...
Hands-on XSL <ul><li>Create the following XSL stylesheet: </li></ul><ul><li><?xml version=&quot;1.0&quot;?> </li></ul><ul>...
Uploading the file <ul><li>Navigate to the site provided </li></ul><ul><li>Click on &quot;upload.html&quot; </li></ul><ul>...
Publishing engines <ul><li>Cocoon </li></ul><ul><ul><li>Java-based </li></ul></ul><ul><li>AxKit </li></ul><ul><ul><li>Perl...
Viewing the file <ul><ul><li>If you see the file you wanted to upload and receive a &quot;File written successfully&quot; ...
Hands-on XSL <ul><li>Add the following to the XSL stylesheet: </li></ul><ul><ul><li><xsl:template match=&quot;title&quot;>...
New platforms, new beginnings? <ul><li>The old way of publishing </li></ul><ul><ul><li>Repurposing </li></ul></ul><ul><li>...
Browser-specific content <ul><li><map:select> </li></ul><ul><ul><li><map:when test=&quot;lynx&quot;> </li></ul></ul><ul><u...
Lynx-friendly XSL stylesheet <ul><li>Add the following to your XSL stylesheet: </li></ul><ul><ul><li><h2>This site is lynx...
Uploading the file <ul><li>Navigate to the site provided </li></ul><ul><li>Click on &quot;upload.html&quot; </li></ul><ul>...
Viewing the file <ul><ul><li>If you see the file you wanted to upload and receive a &quot;File written successfully&quot; ...
Where next? <ul><li>The semantic web </li></ul>
References <ul><li>http://www.ibm.com/developerworks/papers.nsf/dw/xml-papers-bytopic?OpenDocument&Count=500 </li></ul><ul...
Upcoming SlideShare
Loading in...5
×

XML and XSLT

1,814

Published on

This workshop introduced the power of XML and XSLT to delegates. It used an innovative solution of Apache Cocoon on a single server and form-based file upload to allow delegates to quickly and simply see the effect of applying XSL transformations on their markup.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,814
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
65
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • How many people have heard of W3C?
  • Web created to reduce information management costs by distributing back on information owners.
  • How many people know what XML is? How many people have used it or seen it used? What context?
  • How many people here have heard of XSL? How many people know what it is? How many people have used it?
  • Explain the need for publishing engines Benefits of publishing engines over browser-based xml translations
  • Transcript of "XML and XSLT"

    1. 1. XML and XSL <ul><ul><li>Institutional Web Management 2001: </li></ul></ul><ul><ul><li>Organising Chaos </li></ul></ul>
    2. 2. Running order <ul><li>Background </li></ul><ul><li>All about XML </li></ul><ul><li>All about XSL </li></ul><ul><li>Hands-on XML and XSL </li></ul><ul><li>Publishing engines </li></ul><ul><li>Example applications </li></ul><ul><li>Crystal balls </li></ul>
    3. 3. Background <ul><li>Mark Ray and Andrew Savory </li></ul><ul><li>Using XML since 1996 </li></ul><ul><li>Used a variety of tools and methods </li></ul>
    4. 4. XML and XSL <ul><li>W3C specifications </li></ul><ul><li>Separation of Concerns </li></ul><ul><ul><li>Reuse of data </li></ul></ul><ul><ul><li>Multiple output formats </li></ul></ul><ul><ul><li>Styles tailored to reader / Standardised styles </li></ul></ul>
    5. 5. Applications of XML and XSL <ul><li>Static information </li></ul><ul><ul><li>Institutional web sites </li></ul></ul><ul><ul><li>Prospectuses </li></ul></ul><ul><ul><li>Course catalogues </li></ul></ul><ul><li>Dynamic information </li></ul><ul><ul><li>News or event information services </li></ul></ul><ul><ul><li>Course catalogues </li></ul></ul><ul><ul><li>Staff directories </li></ul></ul>
    6. 6. Benefits of XML and XSL <ul><li>Standards-based, format-independent </li></ul><ul><li>Serve sites and formats based on user need </li></ul><ul><ul><li>Text-based (text readers, slow links, low-tech) </li></ul></ul><ul><ul><li>Netscape / Internet Explorer specifc </li></ul></ul><ul><ul><li>TV, Phone, PDA </li></ul></ul><ul><ul><li>PDF, SVG, VRML, ... </li></ul></ul><ul><li>Simplification of web site management... </li></ul>
    7. 7. The management bit <ul><li>Management </li></ul><ul><ul><li>Decide what the site should contain, how it should behave and how it should appear </li></ul></ul><ul><li>Content </li></ul><ul><ul><li>Responsible for writing, owning, managing the site content </li></ul></ul>
    8. 8. The management bit <ul><li>Logic </li></ul><ul><ul><li>Responsible for integration with dynamic content generation </li></ul></ul><ul><li>Style </li></ul><ul><ul><li>Responsible for information presentation, look & feel, site graphics and maintenance </li></ul></ul>
    9. 9. What is XML? <ul><li>eXtensible Markup Language </li></ul><ul><ul><li>Not a fixed format </li></ul></ul><ul><ul><li>'Metalanguage' </li></ul></ul><ul><ul><li>For describing information </li></ul></ul>
    10. 10. XML Design Goals <ul><ul><li>XML shall be straightforwardly usable over the Internet. </li></ul></ul><ul><ul><li>XML shall support a wide variety of applications. </li></ul></ul><ul><ul><li>XML shall be compatible with SGML. </li></ul></ul><ul><ul><li>It shall be easy to write programs which process XML documents. </li></ul></ul><ul><ul><li>The number of optional features in XML is to be kept to the absolute minimum, ideally zero. </li></ul></ul>
    11. 11. XML Design Goals <ul><ul><li>XML documents should be human-legible and reasonably clear. </li></ul></ul><ul><ul><li>The XML design should be prepared quickly. </li></ul></ul><ul><ul><li>The design of XML shall be formal and concise. </li></ul></ul><ul><ul><li>XML documents shall be easy to create. </li></ul></ul><ul><ul><li>Terseness is of minimal importance. </li></ul></ul>
    12. 12. Structure of an XML document <ul><li><?xml version=&quot;1.0&quot;?> </li></ul><ul><li><PARENT> </li></ul><ul><ul><li><CHILD> </li></ul></ul><ul><ul><ul><li>This is content. </li></ul></ul></ul><ul><ul><li></CHILD> </li></ul></ul><ul><ul><li><EMPTY/> </li></ul></ul><ul><li></PARENT> </li></ul>
    13. 13. A first XML document <ul><li>Construct a well-formed XML document using the following tags: </li></ul><ul><ul><li>xml opening tag </li></ul></ul><ul><ul><li>page </li></ul></ul><ul><ul><li>title </li></ul></ul><ul><ul><li>content </li></ul></ul><ul><ul><li>para </li></ul></ul><ul><li>Don't forget to add the closing tags! </li></ul>
    14. 14. Differences to HTML <ul><li>Order: </li></ul><ul><ul><ul><li><tag1><tag2></tag1></tag2> WRONG </li></ul></ul></ul><ul><ul><ul><li><tag1><tag2></tag2></tag1> RIGHT </li></ul></ul></ul><ul><li>Balance </li></ul><ul><ul><ul><li><tag1><tag2></tag2> WRONG </li></ul></ul></ul><ul><ul><ul><li><tag1><tag2></tag2></tag1> RIGHT </li></ul></ul></ul><ul><li>Case </li></ul><ul><ul><ul><li><tag1><tag2></TAG2></TAG1> WRONG </li></ul></ul></ul><ul><ul><ul><li><tag1><tag2></tag2></tag1> RIGHT </li></ul></ul></ul>
    15. 15. Differences to HTML <ul><li>Attributes </li></ul><ul><ul><ul><li><tag1 class=wrong> WRONG </li></ul></ul></ul><ul><ul><ul><li><tag1 class=&quot;right&quot;> RIGHT </li></ul></ul></ul><ul><li>Empty Tags </li></ul><ul><ul><ul><li><tag1 class=&quot;wrong&quot;> WRONG </li></ul></ul></ul><ul><ul><ul><li><tag1 class=&quot;wrong&quot; /> RIGHT </li></ul></ul></ul><ul><li>XML is stricter </li></ul><ul><ul><li>...and therefore better! </li></ul></ul>
    16. 16. Well-formed vs. Valid <ul><li>Exactly what they say: </li></ul><ul><ul><li>Well-formed means it's written correctly </li></ul></ul><ul><ul><li>Valid means we can validate it </li></ul></ul>
    17. 17. A well-formed example <ul><li><?xml version=&quot;1.0&quot;?> </li></ul><ul><li><PARENT> </li></ul><ul><ul><li><CHILD> </li></ul></ul><ul><ul><ul><li><MARK NUMBER=&quot;1&quot; LISTED=&quot;yes&quot; TYPE=&quot;natural&quot;/> </li></ul></ul></ul><ul><ul><ul><li><NAME> </li></ul></ul></ul><ul><ul><ul><ul><li><LASTNAME>child</LASTNAME> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><FIRSTNAME>second</FIRSTNAME> </li></ul></ul></ul></ul><ul><ul><ul><li></NAME> </li></ul></ul></ul><ul><ul><li></CHILD> </li></ul></ul><ul><li></PARENT> </li></ul>
    18. 18. A valid example <ul><li><?xml version=&quot;1.0&quot;?> </li></ul><ul><li><!DOCTYPE PARENT [ </li></ul><ul><ul><li><!ELEMENT PARENT (CHILD*)> </li></ul></ul><ul><ul><li><!ELEMENT CHILD (MARK?,NAME+)> </li></ul></ul><ul><ul><li><!ELEMENT MARK EMPTY> </li></ul></ul><ul><ul><li><!ELEMENT NAME (LASTNAME+,FIRSTNAME+)*> </li></ul></ul><ul><ul><li><!ELEMENT LASTNAME (#PCDATA)> </li></ul></ul><ul><ul><li><!ELEMENT FIRSTNAME (#PCDATA)> </li></ul></ul><ul><ul><li><!ATTLIST MARK </li></ul></ul><ul><ul><ul><li>NUMBER ID #REQUIRED </li></ul></ul></ul><ul><ul><ul><li>LISTED CDATA #FIXED &quot;yes&quot; </li></ul></ul></ul><ul><ul><ul><li>TYPE (natural|adopted) &quot;natural&quot;> </li></ul></ul></ul><ul><ul><li><!ENTITY STATEMENT &quot;This is well-formed XML&quot;> </li></ul></ul><ul><li>]> </li></ul><ul><li><PARENT> </li></ul><ul><ul><li>&STATEMENT; </li></ul></ul><ul><ul><li><CHILD> </li></ul></ul><ul><ul><ul><li><MARK NUMBER=&quot;1&quot; LISTED=&quot;yes&quot; TYPE=&quot;natural&quot;/> </li></ul></ul></ul><ul><ul><ul><li><NAME> </li></ul></ul></ul><ul><ul><ul><ul><li><LASTNAME>child</LASTNAME> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><FIRSTNAME>second</FIRSTNAME> </li></ul></ul></ul></ul><ul><ul><ul><li></NAME> </li></ul></ul></ul><ul><ul><li></CHILD> </li></ul></ul><ul><li></PARENT> </li></ul>
    19. 19. Document Type Definitions <ul><li>First standard mechanism for XML validation </li></ul><ul><li>Define the role and structure of XML elements </li></ul><ul><li>Sufficient for simple XML schemas </li></ul><ul><li>Don't support namespaces </li></ul><ul><li>Use non-XML syntax </li></ul>
    20. 20. XSchema <ul><li>XML structural definition language of choice </li></ul><ul><li>Defines a class of XML document </li></ul><ul><li>Supports name spaces </li></ul><ul><li>More powerful </li></ul>
    21. 21. Xschema example <ul><li><?xml version=&quot;1.0&quot;?> </li></ul><ul><li><xsd:schema xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;> </li></ul><ul><li><xsd:annotation> </li></ul><ul><li><xsd:documentation xml:lang=&quot;en&quot;> </li></ul><ul><li>Example Schema for IWM workshop </li></ul><ul><li></xsd:documentation> </li></ul><ul><li></xsd:annotation> </li></ul><ul><li><xsd:element name=&quot;page&quot; type=&quot;page&quot;/> </li></ul><ul><li><xsd:complexType name=&quot;page&quot;> </li></ul><ul><li><xsd:sequence> </li></ul><ul><li><xsd:element name=&quot;title&quot; type=&quot;xsd:string&quot;/> </li></ul><ul><li><xsd:element name=&quot;content&quot; type=&quot;pageContent&quot;/> </li></ul><ul><li></xsd:sequence> </li></ul><ul><li></xsd:complexType> </li></ul><ul><li><xsd:complexType name=&quot;pageContent&quot;> </li></ul><ul><li><xsd:sequence> </li></ul><ul><li><xsd:element name=&quot;para&quot; type=&quot;xsd:string&quot; minOccurs=&quot;0&quot;/> </li></ul><ul><li></xsd:sequence> </li></ul><ul><li></xsd:complexType> </li></ul><ul><li></xsd:schema> </li></ul>
    22. 22. What is XSL? <ul><li>Preferred style sheet language of XML </li></ul><ul><ul><li>a method for transforming XML documents </li></ul></ul><ul><ul><li>a method for defining XML parts and patterns </li></ul></ul><ul><ul><li>a method for formatting XML documents </li></ul></ul><ul><li>An application of XML (same formatting rules) </li></ul>
    23. 23. Hands-on XML <ul><li>Create the following XML document: </li></ul><ul><ul><ul><ul><li><?xml version=&quot;1.0&quot;?> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><page> </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li><title>Hello</title> </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li><content> </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li><para>This is my first XML page!</para> </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li></content> </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li></page> </li></ul></ul></ul></ul><ul><li>Save it as hello_world.xml </li></ul>
    24. 24. Uploading the file <ul><li>Navigate to the site provided </li></ul><ul><li>Click on &quot;upload.html&quot; </li></ul><ul><li>Beside the &quot;file to upload&quot; box, click on &quot;choose&quot; </li></ul><ul><li>Select the file you want to upload </li></ul><ul><li>Click on &quot;upload&quot; </li></ul>
    25. 25. Viewing the file <ul><ul><li>If you see the file you wanted to upload and receive a &quot;File written successfully&quot; message... </li></ul></ul><ul><li>Click on &quot;Content&quot;, then the name of the file </li></ul>
    26. 26. Structure of an XSL stylesheet <ul><li>Most templates have the following form: </li></ul><ul><ul><ul><li><xsl:template match=&quot;emphasis&quot;> </li></ul></ul></ul><ul><ul><ul><ul><li><i><xsl:apply-templates/></i> </li></ul></ul></ul></ul><ul><ul><ul><li></xsl:template> </li></ul></ul></ul><ul><li>The whole <xsl:template> element is a template </li></ul><ul><li>The match pattern determines where this template applies </li></ul>
    27. 27. Structure of an XSL stylesheet <ul><li>Literal result element(s) come from non-XSL namespace(s) </li></ul><ul><li>XSLT elements come from the XSL namespace </li></ul>
    28. 28. Hands-on XSL <ul><li>Create the following XSL stylesheet: </li></ul><ul><li><?xml version=&quot;1.0&quot;?> </li></ul><ul><li><xsl:stylesheet version=&quot;1.0&quot; xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;> </li></ul><ul><ul><li><xsl:template match=&quot;page&quot;> </li></ul></ul><ul><ul><ul><li><html> </li></ul></ul></ul><ul><ul><ul><ul><li><head> </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li><title><xsl:value-of select=&quot;title&quot;/></title> </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li></head> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><body bgcolor=&quot;white&quot; alink=&quot;red&quot; link=&quot;blue&quot; vlink=&quot;blue&quot;> </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li><xsl:apply-templates/> </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li></body> </li></ul></ul></ul></ul><ul><ul><ul><li></html> </li></ul></ul></ul><ul><ul><li></xsl:template> </li></ul></ul><ul><li></xsl:stylesheet> </li></ul>
    29. 29. Uploading the file <ul><li>Navigate to the site provided </li></ul><ul><li>Click on &quot;upload.html&quot; </li></ul><ul><li>Beside the &quot;file to upload&quot; box, click on &quot;choose&quot; </li></ul><ul><li>Select the file you want to upload </li></ul><ul><li>Click on &quot;upload&quot; </li></ul>
    30. 30. Publishing engines <ul><li>Cocoon </li></ul><ul><ul><li>Java-based </li></ul></ul><ul><li>AxKit </li></ul><ul><ul><li>Perl-based </li></ul></ul><ul><li>4Suite </li></ul><ul><ul><li>Python </li></ul></ul><ul><li>Others or roll your own </li></ul>
    31. 31. Viewing the file <ul><ul><li>If you see the file you wanted to upload and receive a &quot;File written successfully&quot; message... </li></ul></ul><ul><li>Click on &quot;View site in cocoon&quot; </li></ul><ul><li>Select the file you uploaded and the stylesheet you want to view it in </li></ul>
    32. 32. Hands-on XSL <ul><li>Add the following to the XSL stylesheet: </li></ul><ul><ul><li><xsl:template match=&quot;title&quot;> </li></ul></ul><ul><ul><ul><li><h2 style=&quot;color: navy; text-align: center&quot;> </li></ul></ul></ul><ul><ul><ul><ul><li><xsl:apply-templates/> </li></ul></ul></ul></ul><ul><ul><ul><li></h2> </li></ul></ul></ul><ul><ul><li></xsl:template> </li></ul></ul><ul><ul><li><xsl:template match=&quot;para&quot;> </li></ul></ul><ul><ul><ul><li><p align=&quot;left&quot;> </li></ul></ul></ul><ul><ul><ul><ul><li><i><xsl:apply-templates/></i> </li></ul></ul></ul></ul><ul><ul><ul><li></p> </li></ul></ul></ul><ul><ul><li></xsl:template> </li></ul></ul>
    33. 33. New platforms, new beginnings? <ul><li>The old way of publishing </li></ul><ul><ul><li>Repurposing </li></ul></ul><ul><li>The new way of publishing </li></ul><ul><ul><li>Target multiple platforms </li></ul></ul><ul><ul><li>Multiple stylesheets </li></ul></ul><ul><ul><li>Multiple formats </li></ul></ul>
    34. 34. Browser-specific content <ul><li><map:select> </li></ul><ul><ul><li><map:when test=&quot;lynx&quot;> </li></ul></ul><ul><ul><ul><li><map:transform src=&quot;stylesheets/simple-page2html-lynx.xsl&quot;/> </li></ul></ul></ul><ul><ul><li></map:when> </li></ul></ul><ul><ul><li><map:otherwise> </li></ul></ul><ul><ul><ul><li><map:transform src=&quot;stylesheets/simple-page2html.xsl&quot;/> </li></ul></ul></ul><ul><ul><li></map:otherwise> </li></ul></ul><ul><li></map:select> </li></ul>
    35. 35. Lynx-friendly XSL stylesheet <ul><li>Add the following to your XSL stylesheet: </li></ul><ul><ul><li><h2>This site is lynx-friendly</h2> </li></ul></ul><ul><li>Save the stylesheet as </li></ul><ul><ul><li>simple-page2html-lynx.xsl </li></ul></ul>
    36. 36. Uploading the file <ul><li>Navigate to the site provided </li></ul><ul><li>Click on &quot;upload.html&quot; </li></ul><ul><li>Beside the &quot;file to upload&quot; box, click on &quot;choose&quot; </li></ul><ul><li>Select the file you want to upload </li></ul><ul><li>Click on &quot;upload&quot; </li></ul>
    37. 37. Viewing the file <ul><ul><li>If you see the file you wanted to upload and receive a &quot;File written successfully&quot; message... </li></ul></ul><ul><li>Click on &quot;View site in cocoon&quot; </li></ul><ul><li>Select the file you uploaded and the stylesheet you want to view it in </li></ul>
    38. 38. Where next? <ul><li>The semantic web </li></ul>
    39. 39. References <ul><li>http://www.ibm.com/developerworks/papers.nsf/dw/xml-papers-bytopic?OpenDocument&Count=500 </li></ul><ul><li>http://www.xml101.com/ </li></ul><ul><li>http://nwalsh.com/docs/tutorials/xsl/ </li></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×