1 / 21

XML

XML. XML stands for EXtensible Markup Language XML is a markup language much like HTML XML was designed to carry data, not to display data XML tags are not predefined. You must define your own tags XML is designed to be self-descriptive XML is a W3C Recommendation. XML (2).

perrin
Download Presentation

XML

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. XML • XML stands for EXtensible Markup Language • XML is a markup language much like HTML • XML was designed to carry data, not to display data • XML tags are not predefined. You must define your own tags • XML is designed to be self-descriptive • XML is a W3C Recommendation

  2. XML (2) • XML Does Not DO Anything • With XML You Invent Your Own Tags • XML is Not a Replacement for HTML • XML is Everywhere • XML Separates Data from HTML • XML Simplifies Data Sharing, Data Transport & Platform Changes • XML is Used to Create New Internet Languages

  3. XML (3) • All XML Elements Must Have a Closing Tag • XML Tags are Case Sensitive • XML Elements Must be Properly Nested • XML Documents Must Have a Root Element • Comments in XML <!– This is a comment --> • White-space is Preserved in XML • XML Stores New Line as LF

  4. Pre defined entries

  5. XML 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

  6. XML Attributes <file type="gif">computer.gif</file> <person sex="female"> <friend name=‘Abdul Rauf “Ansari” '> <person gender="female">  <firstname>Anna</firstname>  <lastname>Smith</lastname></person> <person>  <sex>gender</sex>  <firstname>Anna</firstname>  <lastname>Smith</lastname></person> In the first example gender is an attribute and in 2nd it is element

  7. <note date="10/01/2008">  <to>Tove</to>  <from>Jani</from>  <heading>Reminder</heading>  <body>Don't forget me this weekend!</body></note> <note>  <date>10/01/2008</date>  <to>Tove</to>  <from>Jani</from>  <heading>Reminder</heading>  <body>Don't forget me this weekend!</body></note>

  8. <note>  <date>    <day>10</day>    <month>01</month>    <year>2008</year>  </date>  <to>Tove</to>  <from>Jani</from>  <heading>Reminder</heading>  <body>Don't forget me this weekend!</body></note>

  9. Avoid XML Attributes? • 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. Use attributes for information that is not relevant to the data.

  10. XML Attributes for Metadata <messages>  <note id="501">    <to>Tove</to>    <from>Jani</from>    <heading>Reminder</heading>    <body>Don't forget me this weekend!</body>  </note>  <note id="502">    <to>Jani</to>    <from>Tove</from>    <heading>Re: Reminder</heading>    <body>I will not</body>  </note></messages>

  11. Well formed XML Documents • XML documents must have a root element • XML elements must have a closing tag • XML tags are case sensitive • XML elements must be properly nested • XML attribute values must be quoted

  12. XML and CSS • http://www.w3schools.com/xml/tryxslt.asp?xmlfile=simple&xsltfile=simple

  13. XML NameSpaces <root><h:tablexmlns:h="http://www.w3.org/TR/html4/">  <h:tr>    <h:td>Apples</h:td>    <h:td>Bananas</h:td>  </h:tr></h:table><f:tablexmlns:f="http://www.w3schools.com/furniture">  <f:name>African Coffee Table</f:name>  <f:width>80</f:width>  <f:length>120</f:length></f:table></root> <table>  <name>African Coffee Table</name>  <width>80</width>  <length>120</length></table> <table>  <name>African Coffee Table</name>  <width>80</width>  <length>120</length></table>

  14. XML CDATA • All text in an XML document will be parsed by the parser. But text inside a CDATA section will be ignored by the parser. • PCDATA • CDATA • Characters like "<" and "&" are illegal in XML elements.

  15. Generating XML with PHP <?phpheader("Content-type: text/xml");echo "<?xml version='1.0' encoding='ISO-8859-1'?>";echo "<note>";echo "<from>Jani</from>";echo "<to>Tove</to>";echo "<message>Remember me this weekend</message>";echo "</note>";?>

  16. DTD The DTD above is interpreted like this: !DOCTYPE note defines that the root element of this document is note !ELEMENT note defines that the note element contains four elements: "to,from,heading,body" !ELEMENT to defines the to element  to be of type "#PCDATA" !ELEMENT from defines the from element to be of type "#PCDATA" !ELEMENT heading defines the heading element to be of type "#PCDATA" !ELEMENT body defines the body element to be of type "#PCDATA" <?xml version="1.0"?><!DOCTYPE note [<!ELEMENT note (to,from,heading,body)><!ELEMENT to (#PCDATA)><!ELEMENT from (#PCDATA)><!ELEMENT heading (#PCDATA)><!ELEMENT body (#PCDATA)>]><note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend</body></note>

  17. DTD • <!DOCTYPE NEWSPAPER [<!ELEMENT NEWSPAPER (ARTICLE+)><!ELEMENT ARTICLE (HEADLINE,BYLINE,LEAD,BODY,NOTES)><!ELEMENT HEADLINE (#PCDATA)><!ELEMENT BYLINE (#PCDATA)><!ELEMENT LEAD (#PCDATA)><!ELEMENT BODY (#PCDATA)><!ELEMENT NOTES (#PCDATA)> <!ATTLIST ARTICLE AUTHOR CDATA #REQUIRED><!ATTLIST ARTICLE EDITOR CDATA #IMPLIED><!ATTLIST ARTICLE DATE CDATA #IMPLIED><!ATTLIST ARTICLE EDITION CDATA #IMPLIED>]>

  18. Internal DTD Declaration • <?xml version="1.0"?><!DOCTYPE note [<!ELEMENT note (to,from,heading,body)><!ELEMENT to (#PCDATA)><!ELEMENT from (#PCDATA)><!ELEMENT heading (#PCDATA)><!ELEMENT body (#PCDATA)>]><note><to>Faculty</to><from>Director</from><heading>Reminder</heading><body>Please be regular in your classes</body></note>

  19. XML Schema • <xs:element name="note"><xs:complexType>  <xs:sequence>    <xs:element name="to" type="xs:string"/>    <xs:element name="from" type="xs:string"/>    <xs:element name="heading" type="xs:string"/>    <xs:element name="body" type="xs:string"/>  </xs:sequence></xs:complexType></xs:element>

  20. Hierarchy (root structure in XML)

  21. <bookstore>  <book category="COOKING">    <title lang="en">Everyday Italian</title>    <author>Giada De Laurentiis</author>    <year>2005</year>    <price>30.00</price>  </book>  <book category="CHILDREN">    <title lang="en">Harry Potter</title>    <author>J K. Rowling</author>    <year>2005</year>    <price>29.99</price>  </book>  <book category="WEB">    <title lang="en">Learning XML</title>    <author>Erik T. Ray</author>    <year>2003</year>    <price>39.95</price>  </book> </bookstore> The <book> element has 4 children: <title>,< author>, <year>, <price>.

More Related