special topic xml. introducing xml xml (extensible markup language) ◦a language used to create...
TRANSCRIPT
![Page 1: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/1.jpg)
SPECIAL TOPICXML
![Page 2: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/2.jpg)
Introducing XML XML (eXtensible Markup Language)
◦ A language used to create structured documents
XML vs HTML◦ XML is designed to transport and store data (carry)◦ HTML was designed to display data (show)◦ Shares common structure with HTML documents
◦ Elements are indicated with markup tags that contain textual content; element names are descriptive
◦ A markup tag can contain attributes that describe a feature of the element, and a single root element contains all other elements in the document
![Page 3: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/3.jpg)
Introducing XML XML does not DO anything. XML was created to structure, store, and transport information.
The following example is a note to Tove, from Jani, stored as XML<note>
< to>Tove</to>< from>Jani</from>< heading>Reminder</heading>< body>Don't forget me this weekend!</body>
< /note>
![Page 4: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/4.jpg)
XML Tree Structure With XML You Invent Your Own Tags
◦ the XML language has no predefined tags
XML documents form a tree structure that starts at "the root" and branches to "the leaves".
<root><child>
<subchild>...
![Page 5: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/5.jpg)
Introducing XML
XML declarationIt defines the XML version (1.0) and the encoding used (UTF-8).
Single root element (students)
Student, name, and photo elements and the id and grade attributes provide information about individual students
![Page 6: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/6.jpg)
Syntax Ruleso Must have closing tags
o Case sensitive tags
o Proper tag nesting
o Must have a Root element
o Attributes must be quoted
o Uses HTML comments
o Special symbols > < & ‘ “o Use entity references: < >
![Page 7: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/7.jpg)
Syntax Rules Comments are similar to HTML comment
<!-- comment -->
White-space is Preserved in XML
Naming rules◦ XML elements must follow these naming rules:◦ Names can contain letters, numbers, and other characters◦ Names cannot start with a number or punctuation character◦ Names cannot start with the letters xml (or XML, or Xml, etc)◦ Names cannot contain spaces◦ Any name can be used, no words are reserved
![Page 8: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/8.jpg)
XML Elements An XML element is everything from (including) the element's start tag to (including) the element's end tag
An element can contain:◦ other elements◦ text◦ attributes◦ or a mix of all of the above
<bookstore>< book category="CHILDREN">
<title>Harry Potter</title><author>J K. Rowling</author><year>2005</year><price>29.99</price>
< /book>< /bookstore>
![Page 9: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/9.jpg)
XML attributes XML elements can have attributes.
◦ Attributes provide additional information about an element.<file type="gif">computer.gif</file>
![Page 10: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/10.jpg)
XML Elements vs. Attributes
Take a look at these examples:
< person sex="female"><firstname>Anna</firstname><lastname>Smith</lastname>
< /person>
< person><sex>female</sex><firstname>Anna</firstname><lastname>Smith</lastname>
< /person>
![Page 11: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/11.jpg)
Attributes vs. Elements Some of the problems with using attributes are:
◦ attributes cannot contain multiple values (elements can)◦ attributes cannot contain tree structures (elements can)◦ attributes are not easily expandable (for future changes)
Attributes are difficult to read and maintain ◦ Use elements for data, and attributes for information that is not
relevant to the data
![Page 12: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/12.jpg)
Namespaces XML Namespaces provide a method to avoid element name conflicts
Defined by the xmlns attribute
Tags that are not HTML tags have the prefix xsl, identified by the namespace xmlns:xsl="http://www.w3.org/1999/XSL/Transform":
Name conflicts in XML can easily be avoided using a name prefixxmlns:h="http://www.w3schools.com/html4">
xmlns:f="http://www.w3schools.com/furniture"><h:table><f:table>
![Page 13: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/13.jpg)
eXtensible Style sheet Language Translation.XSLT
![Page 14: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/14.jpg)
Styles Can use a CSS style sheet to format an XML document
<?xml-stylesheet type="text/css" href=“style.css"?>
Better approach is to use XSL (eXtensible Stylesheet Language)◦ can transform an XML document into HTML, using◦ XSLT (eXtensible Stylesheet Language Transformation)
<?xml-stylesheet type="text/xsl" href=“style.xsl"?>
![Page 15: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/15.jpg)
Transforming XML with XSLT
Extensible Stylesheet Language Transformation (XSLT)◦ A style language developed for XML documents◦ Allows developers to easily transform contents of an XML
document into another document format◦ A more efficient approach to transforming an XML
document into HTML format than working with the document object model
![Page 16: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/16.jpg)
The <xsl:template> Element
The match attribute is used to associate a template with an XML element
<xsl:template match="/">
match="/" indicates the stylesheet template applies to the entire XML file
<?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> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Title</th> <th>Artist</th> </tr> <tr> <td>.</td> <td>.</td> </tr> </table> </body> </html> < /xsl:template>< /xsl:stylesheet>
![Page 17: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/17.jpg)
<xsl:value-of> Used to extract the value of an XML element and add to output.
<?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> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Title</th> <th>Artist</th> </tr> <tr> <td> <xsl:value-of select="catalog/cd/title"/></td> <td> <xsl:value-of select="catalog/cd/artist"/></td> </tr></table></body></html>< /xsl:template>
< /xsl:stylesheet>
![Page 18: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/18.jpg)
The <xsl:for-each> Element
Allows you to do looping
<?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> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Title</th> <th>Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td> <xsl:value-of select="title"/> </td> <td> <xsl:value-of select="artist"/> </td> </tr> </xsl:for-each> </table> </body> </html>< /xsl:template>< /xsl:stylesheet>
![Page 19: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/19.jpg)
XSLT <xsl:sort> Element
used to sort the output
<?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><body><h2>My CD Collection</h2><table border="1"><tr bgcolor="#9acd32"><th>Title</th><th>Artist</th></tr><xsl:for-each select="catalog/cd"><xsl:sort select="artist"/><tr><td> <xsl:value-of select="title"/> </td><td> <xsl:value-of select="artist"/> </td></tr></xsl:for-each></table></body></html>< /xsl:template>< /xsl:stylesheet>
![Page 20: SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport](https://reader031.vdocuments.mx/reader031/viewer/2022031807/56649c7d5503460f9493291d/html5/thumbnails/20.jpg)
XSLT <xsl:if> Element
used to put a conditional test against the content of the XML file
<?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><body><h2>My CD Collection</h2><table border="1"><tr bgcolor="#9acd32"><th>Title</th><th>Artist</th></tr><xsl:for-each select="catalog/cd"> <xsl:if test="price > 10"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:if></xsl:for-each></table></body></html>< /xsl:template>< /xsl:stylesheet>