1 / 13

XML

XML. eXtensible Markup Language. XML. A method of defining a format for exchanging documents and data. Allows one to define a dialect of XML A library of tags, with associated structure. <config> <descriptor type="FILE" name="source"> <attribute name="media_type" type="svalue"/>

marlin
Télécharger la présentation

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 eXtensible Markup Language

  2. XML • A method of defining a format for exchanging documents and data. • Allows one to define a dialect of XML • A library of tags, with associated structure <config> <descriptor type="FILE" name="source"> <attribute name="media_type" type="svalue"/> <attribute name="frame_rate" type="svalue"/> </descriptor> </config>

  3. The Social Benefits • Can specify an interchange format concisely and accurately enough to set up a validation service easily • There is plenty of available software for dealing with XML files and translating from one format into another

  4. Downsides • Sometimes defining a representation can be a pain • Deciding what to leave as content and what to move to attributes. • XML Schemas are confusing, while DTDs do not offer enough control • Verbose • ViPER increased about 2x uncompressed, 4/3x gzip compressed • Difficult to read • Lots of </…> and end tags get in the way of the data

  5. The Real Benefits to The Programmer • XML Schema (or DTDs) allow you to validate a document without having to examine it • Xpath allows you to specify a node, or set of nodes, in a document quickly and easily • SAX makes it easy to write a quick parser • DOM makes it so you don’t even have to do that • XSL:T allows you to transform from an XML document into another document, possibly not even standard XML • Etc.

  6. XML As A File Format • Makes parsing simpler, but currently no methods for making saving easier • Saves you from dealing with things like character encoding and date formatting • No more difficult than making up your own • An unfamiliar or forgotten file grants more affordances than an XML or binary file

  7. Defining A Dialect • XML Schema – Structure and Data • Define elements and attributes • Associate them with data types <?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://lamp.cfar.umd.edu/viper" xmlns:viper="http://lamp.cfar.umd.edu/viper" elementFormDefault="qualified"> <xsd:element name="viper"/> <xsd:element name="config"/> </xsd:schema>

  8. Schema Datatypes • Can create and assign datatypes to attributes and elements. For example: <xsd:element name="data" type="xsd:base64Binary"/> <xsd:attribute name="span" type="viper:framespanType"/> <xsd:simpleType name="framespanType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="\d+\:\d+" /> </xsd:restriction> </xsd:simpleType>

  9. Schema Structures • Can specify order and contents of elements • Sequence, choice, mixed, etc. allow specifying how and where elements appear • Substitution groups allow one tag to take the place of another • Can group elements without placing the into types

  10. Extensiblity • Inheritance • Can extend complex elements by adding more attributes and elements to the bottom • Can restrict the data using the <restriction/> elements • The <any/> and <anyAttribute/> elements • The ultimate in extensibility, allow any valid XML in from a given namespace or range of namespaces

  11. Parsing • Using the DOM: • The DOM provides a tree structure that represents the document • Memory heavy • Using SAX: • Event driven • Lightweight • Better for large documents

  12. Xpath • The common language for selecting individual pieces of an XML document shared between X-Link and XSL:T • Also used for defining uniqueness constraints in Schemas • DOM Level 3 will support selecting by Xpath • Looks sort of like a JavaScript DOM call: • /viper/config/descriptor[@type=“FILE”] • Selects all of the file descriptor nodes that are of type “FILE”

  13. Resources • www.xml.com • O'Reilly's XML resource • www.w3.org • The standards themselves, and lots of good links to implementations. • xml.apache.org • DOM, SAX, and XSLT for C and Java

More Related