1 / 17

Intro to XML

Intro to XML. Originally Presented by Clifford Lemoine Modified by Box. Introduction to XML. Review of XML What is different XML parsing? Simple Example program Wrap-up References. Quick XML Review. XML – Wave of the future Method of representing data

natasha
Download Presentation

Intro to 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. Intro to XML Originally Presented by Clifford Lemoine Modified by Box

  2. Introduction to XML • Review of XML • What is different XML parsing? • Simple Example program • Wrap-up • References

  3. Quick XML Review • XML – Wave of the future • Method of representing data • Differs from HTML by storing and representing data instead of displaying or formatting data • Tags similar to HTML tags, only they are user-defined • Follows a small set of basic rules • Stored as a simple ASCII text file, so portability is insanely easy

  4. Quick XML Review • Syntax • Every XML document has a preamble • <?xml version=“1.0” ?> • An XML document may or may not have a DTD (Document Type Definition) or Schema • <!DOCTYPE catalog>

  5. Quick XML Review • Syntax cont. • Every element has a start and end tag, with optional attributes • <catalog version=“1.0”> … </catalog> • If an element does not contain any data (or elements) nested within, the closing tag can be merged with the start tag like so: • <catalog version=“1.0”/>

  6. Quick XML Review • Syntax cont. • Elements must be properly nested • The outermost element is called the root element • An XML document that follows the basic syntax rules is called well-formed • An XML document that is well-formed and conforms to a DTD or Schema is called valid • Once again, XML documents do not always require a DTD or Schema, but they must be well-formed

  7. Quick XML Review • Sample XML files • Catalog.xml

  8. <?xml version="1.0"?> <catalog library="somewhere"> <book> <author>John Doe</author> <title>Title 1</title> </book> <book> <author>Phill Smith</author> <title>His One Book</title> </book> <magazine> <name>PC Mag</name> <article page="17"> <headline>Second Headline</headline> </article> </magazine> </catalog>

  9. Let’s work in our project input • Back to our original class diagram (network configuration) • Define your input • xml\net.xml

  10. What is XML Parser? • A program or module that checks a well-formed syntax and provides a capability to manipulate XML data elements. • Navigate thru the XML document (DOM or SAX) • extract or query data elements • Add/delete/modify data elements

  11. XML Parsing • DOM (Document Object Model). • Reads the whole document and builds DOM tree. • Simple API for XML = SAX • SAX is an event-based parsing method • reads an XML document, firing (or calling) callback methods when certain events are found (e.g. elements, attributes, start/end tags, etc.) • Pull parser (won’t talk more here)

  12. DOM vs. SAX Parsing? • Unlike DOM (Document Object Model), SAX does not store information in an internal tree structure • Because of this, SAX is able to parse huge documents (think gigabytes) without having to allocate large amounts of system resources • Really great if the amount of data you’re looking to process is relatively large (no waste of memory on tree) • If processing is built as a pipeline, you don’t have to wait for the data to be converted to an object; you can go to the next process once it clears the preceding callback method

  13. DOM vs. SAX Parsing? • Most limitations are the programmer’s problem, not the API’s • SAX does not allow random access to the file; it proceeds in a single pass, firing events as it goes • Makes it hard to implement cross-referencing in XML (ID and IDREF) as well as complex searching routines

  14. XML Parser implementations • Apache.org Xerces package at http://xml.apache.org/ • JDOM.org jdom package www.jdom.org

  15. Simple Example Program • WarReader.java • Build document from xml file. • SAXBuilder builder = new SAXBuilder(); • Document doc = builder.build(new File(filename)); • Get the root element (node) • Element root = doc.getRootElement(); • Get children of the root • List servlets = root.getChildren("servlet"); • Iterate thru each child and extract more detailed info • xml\WarReader.java

  16. Using XML for your Final Term Project • Each team spends 10 mins to come up with data structure and XML representation • xml\NetReader.java • Demonstration here

  17. References Gittleman, Art. Advanced Java: Internet Applications (Second Edition). Scott Jones Publishers. El Granada, California. 2002. pp. 504-511. "JDOM Makes XML Easy" slides from JavaOne 2002, http://www.servlets.com/speaking/descriptions.html#jdom Janert, Phillip K. “Simple XML Parsing with SAX and DOM.” http://www.onjava.com/pub/a/onjava/2002/06/26/xml.html Published June 26, 2002. Accessed February 10, 2003. Wati, Anjini. “E-Catalog for a Small to Medium Enterprise.” http://ispg.csu.edu.au/subjects/itc594/reports/Tr-005.doc Accessed February 10, 2003.

More Related