{small lecturenumber - heblocknumber :} Outlineaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} XMLaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Advantages of XMLaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Things to noteaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Exampleaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} XML documents as treesaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Outlineaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Elementsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Tags and elementsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Attributes and Valuesaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Attributes vs. Sub-elementsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} ID attributesaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Document Prologaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Document Prologaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Document Prologaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Document Prologaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Document Prologaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Entitiesaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Outlineaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Data Interchangeaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} XML Schemaaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} An exampleaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Schema datatypesaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Complex typesaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Complex typesaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Value Restrictionsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Value Restrictionsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Value Restrictionsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Groupingsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Validating with XML Schemaaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Outlineaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Using CSS to display XMLaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} An exampleaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Outlineaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Parsing XMLaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Parsing XMLaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Librariesaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Parsing a document in Pythonaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Traversing the treeaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Finding specific elementsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Finding attribute/value pairsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} An exampleaddtocounter {blocknumber}{1}Distributed Software DevelopmentXMLChris BrooksDepartment of Computer ScienceUniversity of San FranciscoDepartment of Computer Science — University of San Francisco – p.1/??5-0: OutlineAbout XMLStructuring XML documentsValidating XML with schemaUsing CSS to display XMLParsing with DOMDepartment of Computer Science — University of San Francisco – p.2/??5-1: XMLXML is a language for describing dataReally more of a meta-languageXML itself provides metadataData types, relations between data objects, etc.Designed to be read, created, and consumed byprograms.Department of Computer Science — University of San Francisco – p.3/??5-2: Advantages of XMLWell-defined, easy-to-manipulate structureHuman-readableExtensibleMetadata can be included directly with dataWidely usedDepartment of Computer Science — University of San Francisco – p.4/??5-3: Things to noteAn XML document has two components:tags (metadata)content (data)Metadata serves to help an application make sense of thedata.Department of Computer Science — University of San Francisco – p.5/??5-4: Example<?xml version="1.0"?><book><author> J.R.R. Tolkien </author><title> The Lord of the Rings </title><volumes><volume> Fellowship of The Ring </volume><volume> The Two Towers </volume><volume> Return of the King </volume></volumes><price> 14.95 </price><publisher> Ballantine </publisher><isbn> 0345340426 </isbn></book>Department of Computer Science — University of San Francisco – p.6/??5-5: XML documents as treesAn XML document can also be represented as a tree.This makes XML very easy to parse.The outermost element is the root element, and elementscontained within it are children of that element.Content is stored at the leavesWhat would the tree for our Tolkien example look like?Department of Computer Science — University of San Francisco – p.7/??5-6: OutlineAbout XMLStucturing XML documentsValidating XML with schemaUsing CSS to display XMLParsing with DOMDepartment of Computer Science — University of San Francisco – p.8/??5-7: ElementsXML requires that every starting tag have a correspondingclosing tag.Everything between a starting tag and a closing tag iscalled an elementFor example, <volume>Return of The King </volume> isan elementSo is everything between <volumes> and </volumes>As is everything between <book> and </book>.This means that elements must be nested.Department of Computer Science — University of San Francisco – p.9/??5-8: Tags and elementsTags form the boundaries of elements, and giveprocessing instructions to parsers.Empty elements: <coAuthor /> All information iscontained in the tag.Container elements: <price> 14.95 </price>Comments: <!-- here’s a comment -->Declaration: <!ENTITY jrrt ‘‘J.R.R. Tolkien>This provides a way to define variables or constants ina single location.Entity reference: <author> &jrrt </author>Department of Computer Science — University of San Francisco – p.10/??5-9: Attributes and ValuesYou can also specify that
View Full Document