crash course in xslt - stuff.mit.edu: students' portal · 1 crash course in xslt: overview of...
TRANSCRIPT
![Page 1: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/1.jpg)
1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
Crash Course in XSLTOverview of XML and XSLTJan. 15, 2007David Z. Maze
![Page 2: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/2.jpg)
2 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
What is XSLT?* "XML Stylesheet Language: Transformations"* Convert XML to XML
* ...to XHTML* ...to XSL:FO (...to PDF)* ...to other XML
* Convert XML to HTML* Convert XML to text* Convert XML to LaTeX, etc. (with care!)* Language has XML syntax* Accessible via C, Java, C#, standalone interpreters, dedicated
hardware
![Page 3: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/3.jpg)
3 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
Use Case: DocumentsXML Source
XSL:FO
HTML
xsltproc xsltproc
fop
![Page 4: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/4.jpg)
4 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
Use Case: XML to XML* Application server expects SOAP-formatted message* Change SOAP headers* Convert from a different SOAP (or non-SOAP) format
![Page 5: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/5.jpg)
5 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
Class Structure* Three sessions, 15, 17, 22 January at 8:00* Today: XML, Namespaces, XPath* Wednesday: XSLT* Next week: Details* http://stuff.mit.edu/iap/xslt/
![Page 6: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/6.jpg)
6 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
Some XML Specs* Extensible Markup Language (XML) 1.0http://www.w3.org/TR/xml
* Namespaces in XML 1.0http://www.w3.org/TR/xml-names
* XML Path Language (XPath) 1.0http://www.w3.org/TR/xpath
* Extensible Stylesheet Language: Transformations (XSLT) 1.0http://www.w3.org/TR/xslt
![Page 7: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/7.jpg)
7 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
What's in XML?<xsl:stylesheet version="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output method="text"/><xsl:template match="/"><xsl:text>Hello, world!</xsl:text>
</xsl:template></xsl:stylesheet>
![Page 8: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/8.jpg)
8 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
What's in XML? Elements<xsl:stylesheet version="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output method="text"/><xsl:template match="/"><xsl:text>Hello, world!</xsl:text>
</xsl:template></xsl:stylesheet>* Elements are arranged in a tree structure* Exactly one document element* Every element has a parent* Elements can have children that are text or other elements* Tags are paired <tag>...</tag>* Empty element shorthand <tag/>
![Page 9: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/9.jpg)
9 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
What's in XML? Attributes<xsl:stylesheet version="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output method="text"/><xsl:template match="/"><xsl:text>Hello, world!</xsl:text>
</xsl:template></xsl:stylesheet>* Attributes are "properties" of elements* Meaning is typically specific to containing element* Value always quoted, either single or double quotes* Only has a text value* Has a parent element
![Page 10: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/10.jpg)
10 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
What's in XML? Text<xsl:stylesheet version="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output method="text"/><xsl:template match="/"><xsl:text>Hello, world!</xsl:text>
</xsl:template></xsl:stylesheet>* Text can appear inside elements* Mixed content: both text and elements appear inside the same
element (e.g., XHTML's <p> tag)* Text nodes always have a parent element* Entities let you write "forbidden" characters: < for <, > for>, & for &, ' for ', " for "
![Page 11: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/11.jpg)
11 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
XML Namespaces* Every element and attribute has a qualified name* (XPath spec says "expanded name" to same effect)* Three parts: namespace prefix, namespace URI, local name
![Page 12: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/12.jpg)
12 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
Namespace Bindings<xsl:stylesheet version="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
* Element's local name is stylesheet, prefix is xsl, namespaceURI is XSLT's
* Namespace-qualified names pfx:name must have a namespacebinding xmlns:pfx="urn:some:namespace" on the currentelement or an ancestor
![Page 13: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/13.jpg)
13 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
Default Namespaces<stylesheet version="1.0"xmlns="http://www.w3.org/1999/XSL/Transform">
* Element's local name is stylesheet, prefix is none, namespaceURI is XSLT's
* Attribute's local name is version, prefix is none, namespaceURI is none
* Default namespace doesn't apply to attributes
![Page 14: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/14.jpg)
14 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
Namespace Bindings are Inherited<root xsl:version="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:stylesheet version="1.0">
* Root element's local name is root, prefix is none, namespaceURI is none
* xsl:version attribute has XSLT namespace* Child element's local name is stylesheet, prefix is xsl,
namespace URI is XSLT's* version attribute has null namespace* Can't have two attributes on the same element with same
expanded name
![Page 15: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/15.jpg)
15 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
XPath Data ModelROOT
ELT xsl:stylesheet
ATTversion
ELT xsl:output
ATTmethod
ELT xsl:template
ATTmatch
ELT xsl:text
TXT
* Nodes have a type, name, stringvalue
* Fundamental data type is node set
![Page 16: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/16.jpg)
16 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
XPath Syntax* A path has a series of steps* start/step/step/...* Each step has an axis and a name (or * or pfx:*)* axis::pfx:lcl[pred]* /child::xsl:stylesheet/child::xsl:template* /descendant::*[attribute::id]* Names always match by expanded name; namespace prefixes
in expression and document need to be bound to the samenamespace
* Trivial axis: self
![Page 17: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/17.jpg)
17 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
XPath Axes: ChildROOT
ELT xsl:stylesheet
ATTversion
ELT xsl:output
ATTmethod
ELT xsl:template
ATTmatch
ELT xsl:text
TXT
* Child step goes from element or rootnode to its element or text children
* Shorthand: name with no axisspecifier means child::name
![Page 18: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/18.jpg)
18 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
XPath Axes: AttributeROOT
ELT xsl:stylesheet
ATTversion
ELT xsl:output
ATTmethod
ELT xsl:template
ATTmatch
ELT xsl:text
TXT
* Attribute step goes from element nodeto its attribute children
* Shorthand: @name meansattribute::name
![Page 19: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/19.jpg)
19 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
XPath Axes: ParentROOT
ELT xsl:stylesheet
ATTversion
ELT xsl:output
ATTmethod
ELT xsl:template
ATTmatch
ELT xsl:text
TXT
* Parent step goes from any node to itsimmediate element or root parent
![Page 20: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/20.jpg)
20 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
XPath Axes: Descendant (Ancestor)ROOT
ELT xsl:stylesheet
ATTversion
ELT xsl:output
ATTmethod
ELT xsl:template
ATTmatch
ELT xsl:text
TXT
* Descendant step goes from elementor root node to its element or textchildren, and their children, and...
* Descendant-or-self step also includescurrent node
* Ancestor step goes from any node toits parent, and its parent, and...
* Ancestor-or-self step also includescurrent node
* Shorthand: foo//baris reallyfoo/descendant-or-self::*/child::bar
![Page 21: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/21.jpg)
21 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
XPath Axes: Following (Preceding) SiblingROOT
ELT xsl:stylesheet
ATTversion
ELT xsl:output
ATTmethod
ELT xsl:template
ATTmatch
ELT xsl:text
TXT
* Following sibling step goes fromelement or text node to followingelement or text nodes with the sameparent
* Preceding sibling is similar
![Page 22: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/22.jpg)
22 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
XPath Axes: Following (Preceding)ROOT
ELT xsl:stylesheet
ATTversion
ELT xsl:output
ATTmethod
ELT xsl:template
ATTmatch
ELT xsl:text
TXT
* Following step goes from element ortext node to following element or textnodes anywhere in the document
* Preceding is similar* In practice, probably the most
expensive of the axes
![Page 23: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/23.jpg)
23 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
XPath EvaluationROOT
ELT xsl:stylesheet
ATTversion
ELT xsl:output
ATTmethod
ELT xsl:template
ATTmatch
ELT xsl:text
TXT
* //@match* /descendant-or-self::*/attribute::match
![Page 24: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/24.jpg)
24 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
XPath EvaluationROOT
ELT xsl:stylesheet
ATTversion
ELT xsl:output
ATTmethod
ELT xsl:template
ATTmatch
ELT xsl:text
TXT
* //@match* /descendant-or-self::*/attribute::match
![Page 25: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/25.jpg)
25 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
XPath EvaluationROOT
ELT xsl:stylesheet
ATTversion
ELT xsl:output
ATTmethod
ELT xsl:template
ATTmatch
ELT xsl:text
TXT
* //@match* /descendant-or-self::*/attribute::match
![Page 26: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/26.jpg)
26 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
XPath EvaluationROOT
ELT xsl:stylesheet
ATTversion
ELT xsl:output
ATTmethod
ELT xsl:template
ATTmatch
ELT xsl:text
TXT
* //@match* /descendant-or-self::*/attribute::match
![Page 27: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/27.jpg)
27 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
XPath Predicates* Only consider nodes where some expression is true* Wider expression language here* Node sets are considered "true" if non-empty* Strings are considered "true" if non-empty
![Page 28: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/28.jpg)
28 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
XPath PredicatesROOT
ELT xsl:stylesheet
ATTversion
ELT xsl:output
ATTmethod
ELT xsl:template
ATTmatch
ELT xsl:text
TXT
* //*[@match]* Each descendant node is considered
the context node for evaluating theattribute step
* "Set of element nodes anywhere inthe document such that, for eachnode, there is at least one attributenamed match"
![Page 29: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/29.jpg)
29 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
XPath Union* a|*[@foo]* "All a's, plus all children that have a foo attribute"* If any node is in both sets, it only appears in the result once
![Page 30: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/30.jpg)
30 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
More XPath Expressions* count(): size of parameter node set* local-name(), namespace-uri()* position(), last() within current node set* Equality, comparison (a < 3)* Numeric operations(+ - * div)* $variable
![Page 31: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/31.jpg)
31 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
More Little Details* Predicate ...[1] means ...[position() = 1]* Similarly child::foo[last()]* Paths can begin with /, $var, or nothing
![Page 32: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/32.jpg)
32 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
Caution the first<a><b>1</b><b>2</b>
</a>
* /a matches the root element* /a[b = 1] does too* /a[b != 1] does too!* /a[not(b = 1)] doesn't
![Page 33: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/33.jpg)
33 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
Caution the second<a><b><c/>
</b><b><c/>
</b></a>
* //c matches both c elements* e.g. /a/b[1] matches only the first b* //c[1] matches both cs!* /descendant-or-self::*/child::c[position() = 1]
* Consider (//c)[1]
![Page 34: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/34.jpg)
34 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
What Haven't I Said?* XML character entities, e.g.  * XML processing instructions* XML DTDs* XPath namespace axis
![Page 35: Crash Course in XSLT - stuff.mit.edu: students' portal · 1 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007 Crash Course in XSLT Overview of XML and XSLT Jan. 15, 2007](https://reader031.vdocuments.site/reader031/viewer/2022022602/5b506a907f8b9a346e8e72e8/html5/thumbnails/35.jpg)
35 Crash Course in XSLT: Overview of XML and XSLT Jan. 15, 2007
Next Time* So far: XPath in isolation* Next time: XSLT!