the xslt paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · the...
TRANSCRIPT
![Page 1: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/1.jpg)
The XSLT Paradigm
David J. Birnbaum, Martin Holmes
![Page 2: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/2.jpg)
The XSLT Paradigm
2
Nuts and bolts of an XSLT stylesheet• <xsl:stylesheet>• <xsl:output>• <xsl:template>• <xsl:apply-templates>• Creating the XHTML output framework
<xsl:stylesheet>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xpath-default-namespace="http://www.tei-c.org/ns/1.0" version="2.0">
Wrapper element that contains the entire stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
Always required
xmlns="http://www.w3.org/1999/xhtml"
Required if the output is XHTML
xpath-default-namespace="http://www.tei-c.org/ns/1.0"
• Optional, but useful when transforming TEI input documents• Tells the stylesheet to assume input is in the TEI namespace unless specified otherwise
version="2.0"
Required
![Page 3: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/3.jpg)
The XSLT Paradigm
3
<xsl:output>
<xsl:output method="xhtml" indent="yes" encoding="utf-8"/>
Empty element; describes output formatting
method="xhtml"
May be xhtml, xml, text, html (but we sneer at html; use xhtml instead)
indent="yes"
Set to yes to wrap long lines and indent nested elements for ease in reading the output
<xsl:template match="XPath">
Contains instructions to be executed when the template fires
<xsl:template match="div">
The match attribute specifies an XPath to which the template will be applied. This examplesmatches any <div> element.
<xsl:template match="div"> <p><xsl:apply-templates/></p></xsl:template>
When you encounter a <div>, create a <p>. Then process the contents of the <div>, puttingany output of those template rules inside the <p>.
<xsl:apply-templates select="XPath"/>
• Empty element.• The select attribute identifies the XPath of the nodes to process at this point.• What process means is determined by the template rule for the node selected.
![Page 4: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/4.jpg)
The XSLT Paradigm
4
<xsl:apply-templates select="head"/>
Process all of the <head> children of the context node.
<xsl:apply-templates select="//body/div/div/sp[1]"/>
Process the first speech (<sp>) of the first <div> that is immediately under another <div>immediately under the <body>. In Hamlet, this is the first speech of each scene.
<xsl:apply-templates/>
Process all of the children of the context node.
Creating the XHTML output framework
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xpath-default-namespace="http://www.tei-c.org/ns/1.0" version="2.0"> <xsl:output method="xhtml" indent="yes"/> <xsl:template match="/"> <html> <head> <title>Title goes here</title> </head> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <!-- other template rules go here --></xsl:stylesheet>
![Page 5: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/5.jpg)
The XSLT Paradigm
5
Stepping through the stylesheet (1)
![Page 6: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/6.jpg)
The XSLT Paradigm
6
Stepping through the stylesheet (2)
![Page 7: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/7.jpg)
The XSLT Paradigm
7
Stepping through the stylesheet (3)
![Page 8: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/8.jpg)
The XSLT Paradigm
8
Stepping through the stylesheet (4)
![Page 9: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/9.jpg)
The XSLT Paradigm
9
Stepping through the stylesheet (5)
![Page 10: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/10.jpg)
The XSLT Paradigm
10
Stepping through the stylesheet (6)
![Page 11: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/11.jpg)
The XSLT Paradigm
11
Stepping through the stylesheet (7)
![Page 12: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/12.jpg)
The XSLT Paradigm
12
Stepping through the stylesheet (8)
![Page 13: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/13.jpg)
The XSLT Paradigm
13
Stepping through the stylesheet (9)
![Page 14: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/14.jpg)
The XSLT Paradigm
14
Stepping through the stylesheet (10)
![Page 15: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/15.jpg)
The XSLT Paradigm
15
Stepping through the stylesheet (11)
![Page 16: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/16.jpg)
The XSLT Paradigm
16
Stepping through the stylesheet (12)
![Page 17: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/17.jpg)
The XSLT Paradigm
17
Stepping through the stylesheet (13)
![Page 18: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/18.jpg)
The XSLT Paradigm
18
Stepping through the stylesheet (14)
![Page 19: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/19.jpg)
The XSLT Paradigm
19
Stepping through the stylesheet (15)
![Page 20: The XSLT Paradigm - web.uvic.caweb.uvic.ca/~mholmes/dhoxss2013/handouts/xslt-paradigm.pdf · The XSLT Paradigm 3](https://reader033.vdocuments.site/reader033/viewer/2022042809/5f96122db05e766be7258a8f/html5/thumbnails/20.jpg)
The XSLT Paradigm
20
Stepping through the stylesheet (16)