XML - PowerPoint PPT Presentation

1 / 57
About This Presentation
Title:

XML

Description:

3. Data Types ... xml – PowerPoint PPT presentation

Number of Views:146
Avg rating:3.0/5.0
Slides: 58
Provided by: PUSH79
Category:
Tags: xml | mscit

less

Transcript and Presenter's Notes

Title: XML


1
XML
2
What is XML?

  • The Extensible Markup Language (XML) is a
    general-purpose markup language.
  • It is classified as an extensible language
    because it allows its users to define their own
    tags.
  • XML is a markup language for documents containing
    structured information.
  • Its primary purpose is to facilitate the sharing
    of structured data across different information
    systems, particularly via the Internet.
  • XML is recommended by the World Wide Web
    Consortium. It is a fee-free open standard.

3
So XML is Just Like HTML?
  • No. In HTML, both the tag semantics and the tag
    set are fixed.
  • An lth1gt is always a first level heading and the
    tag ltmscitgt is meaningless.
  • XML specifies neither semantics nor a tag set.

4
Why Is XML Important?
  • Plain Text
  • Since XML is not a binary format, you can create
    and edit files with anything from a standard text
    editor to a visual development environment.
  • That makes it easy to debug your programs, and
    makes it useful for storing small amounts of
    data.
  • XML provides scalability for anything from small
    configuration files to a company-wide data
    repository.
  • Data Identification
  • XML tells you what kind of data you have, not how
    to display it.

5
Why Is XML Important?
  • XML can Separate Data from HTML
  • With XML, your data is stored outside your HTML.
  • XML is Used to Exchange Data
  • With XML, data can be exchanged between
    incompatible systems.
  • XML and B2B
  • With XML, financial information can be exchanged
    over the Internet.

6
Why Is XML Important?
  • XML Can be Used to Share Data
  • With XML, plain text files can be used to share
    data.
  • Since XML data is stored in plain text format,
    XML provides a software- and hardware-independent
    way of sharing data.
  • In the real world, computer systems and databases
    contain data in incompatible formats. One of the
    most time-consuming challenges for developers has
    been to exchange data between such systems over
    the Internet.
  • Converting the data to XML can greatly reduce
    this complexity and create data that can be read
    by many different types of applications.

7
Why Is XML Important?
  • XML Can Be Used to Create Specialized
    Vocabularies
  • XML is an extensible standard.
  • By using XML as a base, you can create your own
    vocabularies. Wireless Application Protocol
    (WAP), Wireless Markup Language (WML), and Simple
    Object Access Protocol (SOAP) are some examples
    of specialized XML vocabularies.

8
Other Applications of XML
  • Molecular sciences with CML
  • Peter Murray-Rusts Chemical Markup Language
    (CML)
  • Science and math with MathML
  • The Mathematical Markup Language (MathML) is an
    XML application for mathematical equations.
  • Webcasting with CDF
  • Microsofts Channel Definition Format (CDF) is an
    XML application for defining channels. Web sites
    use channels to upload information to readers who
    subscribe to the site rather than waiting for
    them to come and get it. This is alternately
    called Webcasting or push.

9
Other Applications of XML
  • Software updates through OSD
  • The Open Software Description (OSD) format is an
    XML application co-developed by Marimba and
    Microsoft for updating software automatically.
    OSD defines XML tags that describe software
    components. The description of a component
    includes the version of the component, its
    underlying structure, and its relationships to
    and dependencies on other components
  • Vector graphics with both PGML and VML
  • Vector graphics better than GIF, JPEG images
  • The Precision Graphics Markup Language (PGML)
    from IBM, Adobe, Netscape, and Sun.
  • The Vector Markup Language (VML) from Microsoft,
    Macromedia, Autodesk, Hewlett-Packard, and Visio

10
Other Applications of XML
  • Financial data with OFX
  • the Open Financial Exchange Format (OFX) is an
    XML application used to describe financial data
    of the type youre likely to store in a personal
    finance product like Money or Quicken. Any
    program that understands OFX can read OFX data.
    And since OFX is fully documented and
    non-roprietary (unlike the binary formats of
    Money, Quicken, and other programs) its easy for
    programmers to write the code to understand OFX.

11
Other Applications of XML
  • Financial data with OFX

12
Other Applications of XML
  • Financial data with OFX

13
Other Applications of XML
  • Automated voice responses with VoxML
  • Financial data with OFX
  • Legally binding forms with XFDL
  • Human resources job information with HRML
  • Meta-data through RDF
  • Internal use of XML by various companies,
    including Microsoft, Federal Express, and Netscape

14
XML Syntax
  • The syntax rules of XML are very simple and very
    strict.
  • An Example XML Document
  • XML documents use a self-describing and simple
    syntax.
  • lt?xml version"1.0" encoding"ISO-8859-1"?gt
  • ltnotegt
  • lttogtStudentslt/togt
  • ltfromgtFacultylt/fromgt
  • ltheadinggtReminderlt/headinggt
  • ltbodygtLearn XMLlt/bodygt
  • lt/notegt

15
XML Syntax
  • lt?xml version"1.0" encoding"ISO-8859-1"?gt
  • defines the XML version and the character
    encoding used in the document.
  • In this case the document conforms to the 1.0
    specification of XML and uses the ISO-8859-1
    (Latin-1/West European) character set.
  • ltnotegt
  • The next line describes the root element of the
    document

16
XML Syntax
  • The next 4 lines describe 4 child elements of the
    root (to, from, heading, and body)
  • lttogtStudentslt/togt
  • ltfromgtFacultylt/fromgt
  • ltheadinggtReminderlt/headinggt
  • ltbodygtLearn XMLlt/bodygt
  • lt/notegt
  • last line defines the end of the root element

17
XML Syntax
  • All XML Elements Must Have a Closing Tag
  • With XML, it is illegal to omit the closing tag.
  • In HTML some elements do not have to have a
    closing tag.
  • The following code is legal in HTML
  • ltpgtThis is a paragraph
  • ltpgtThis is another paragraph
  • XML all elements must have a closing tag, like
    this
  • ltpgtThis is a paragraphlt/pgt
  • ltpgtThis is another paragraphlt/pgt

18
XML Syntax
  • XML Tags are Case Sensitive
  • ltMessagegtThis is incorrectlt/messagegt
  • ltmessagegtThis is correctlt/messagegt

19
XML Syntax
  • XML Elements Must be Properly Nested
  • Improper nesting of tags makes no sense to XML.
  • ltbgtltigtThis text is bold and italiclt/bgtlt/igt
  • In XML all elements must be properly nested
    within each other like this
  • ltbgtltigtThis text is bold and italiclt/igtlt/bgt

20
XML Syntax
  • XML Documents Must Have a Root Element
  • All XML documents must contain a single tag pair
    to define a root element.
  • All other elements must be within this root
    element.
  • All elements can have sub elements (child
    elements). Sub elements must be correctly nested
    within their parent element
  • ltrootgt
  • ltchildgt
  • ltsubchildgt.....lt/subchildgt
  • lt/childgt
  • lt/rootgt

21
XML Syntax
  • XML Attribute Values Must be Quoted
  • With XML, it is illegal to omit quotation marks
    around attribute values. 
  • XML elements can have attributes in name/value
    pairs just like in HTML.
  • In XML the attribute value must always be quoted.
  • lt?xml version"1.0" encoding"ISO-8859-1"?gt
  • ltnote date12/11/2002gt
  • lttogtStudentslt/togt
  • lt/notegt
  • lt?xml version"1.0" encoding"ISO-8859-1"?gt
  • ltnote date"12/11/2002"gt
  • lttogtStudentslt/togt
  • lt/notegt

22
XML Syntax
  • With XML, White Space is Preserved
  • With XML, the white space in your document is not
    truncated.
  • Comments in XML
  • The syntax for writing comments in XML is similar
    to that of HTML.
  • lt!-- This is a comment --gt

23
XML Sibling Elements
  • ltbookgt
  • lttitlegtMy First XMLlt/titlegt
  • ltprod id"33-657" edia"paper"gtlt/prodgt
  • ltchaptergtIntroduction to XML
  • ltparagtWhat is HTMLlt/paragt
  • ltparagtWhat is XMLlt/paragt
  • lt/chaptergt
  • ltchaptergtXML Syntax
  • ltparagtElements must have a closing taglt/paragt
  • ltparagtElements must be properly nestedlt/paragt
  • lt/chaptergt
  • lt/bookgt
  • Sibling Elements Title, prod, and chapter are
    siblings
  • (or sister elements) because they have the same
    parent.

24
Use of Elements vs. Attributes
  • Data can be stored in child elements or in
    attributes.
  • ltperson gender"female"gt
  • ltfirstnamegtABClt/firstnamegt
  • ltlastnamegtXYZlt/lastnamegt
  • lt/persongt
  • ltpersongt
  • ltgendergtfemalelt/gendergt
  • ltfirstnamegtABClt/firstnamegt
  • ltlastnamegtXYZlt/lastnamegt
  • lt/persongt

25
Use of Elements vs. Attributes
  • Some of the problems with using attributes are
  • attributes cannot contain multiple values (child
    elements can)
  • attributes are not easily expandable (for future
    changes)
  • attributes cannot describe structures (child
    elements can)
  • attributes are more difficult to manipulate by
    program code
  • attribute values are not easy to test against a
    Document Type Definition (DTD) - which is used to
    define the legal elements of an XML document

26
Well Formed XML Document
  • Well Formed XML Documents
  • A "Well Formed" XML document has correct XML
    syntax.
  • A "Well Formed" XML document is a document that
    conforms to the following
  • 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 always be quoted

27
Why usa a DTD?
  • With a DTD, each of your XML files can carry a
    description of its own format.
  • With a DTD, independent groups of people can
    agree to use a standard DTD for interchanging
    data.
  • Your application can use a standard DTD to verify
    that the data you receive from the outside world
    is valid.
  • You can also use a DTD to verify your own data.

28
Valid XML
  • Valid XML Documents
  • A "Valid" XML document also conforms to a DTD.
  • A "Valid" XML document is a "Well Formed" XML
    document, which also conforms to the rules of a
    Document Type Definition (DTD)

29
Valid XML
  • XML DTD
  • This is a statement of rules for an XML document
  • The purpose of a DTD is to define the legal
    building blocks of an XML document.
  • It helps ensure the accuracy of the information
    you collect.
  • It helps ensure that the information gathered is
    in the most usable format for your business needs.

30
DTD
  • A DTD can be declared inline inside an XML
    document, or as an external reference.
  • Internal DTD Declaration
  • If the DTD is declared inside the XML file, it
    should be wrapped in a DOCTYPE definition with
    the following syntax
  • lt!DOCTYPE root-element element-declarationsgt

31
DTD Terms
32
Inline to DTD
  • lt?xml version"1.0"?gt
  • lt!DOCTYPE note
  • lt!ELEMENT note (to,from,heading,body)gt
  • lt!ELEMENT to (PCDATA)gt
  • lt!ELEMENT from (PCDATA)gt
  • lt!ELEMENT heading (PCDATA)gt
  • lt!ELEMENT body (PCDATA)gt gt
  • ltnotegt
  • lttogtStudentslt/togt
  • ltfromgtFacultylt/fromgt
  • ltheadinggtReminderlt/headinggt
  • ltbodygtDon't forget to learn XML !!!lt/bodygt
  • lt/notegt

33
External DTD Declaration
  • If the DTD is declared in an external file, it
    should be wrapped in a DOCTYPE definition with
    the following syntax
  • lt!DOCTYPE root-element SYSTEM "filename"gt
  • lt?xml version"1.0"?gt
  • lt!DOCTYPE note SYSTEM "note.dtd"gt
  • ltnotegt
  • File "note.dtd" which contains the DTD
  • lt!ELEMENT note (to,from,heading,body)gt
  • lt!ELEMENT to (PCDATA)gt
  • lt!ELEMENT from (PCDATA)gt
  • lt!ELEMENT heading (PCDATA)gt
  • lt!ELEMENT body (PCDATA)gt

34
DTD Explanation
  • !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"

35
DTD Elements
  • DTD elements can be defined as follows
  • lt!ELEMENT Name EMPTYgt
  • Sometimes, you may want an element type to remain
    empty with no content to call its own
  • lt!ELEMENT Name ANYgt
  • If you want your element to serve as a catch-all
    box that you can put anything in, you may want to
    use another type of content specification ANY.
  • If you declare an element to contain ANY content,
    you allow that element type to hold any element
    or character data.

36
Element Attribute
  • lt!ATTLIST element-name attribute-name datatype
    defaultvaluegt
  • The attribute-list declaration begins with the
    !ATTLIST string, followed by white space.
  • Next is the element name, the associated
    attributes name, its type, and a default value.
  • For Example
  • lt!ATTLIST customer custType CDATA REQUIREDgt
  • lt!ATTLIST price priceType (Retail Wholesale)
    REQUIREDgt

37
Element Attribute
  • REQUIRED means you must always include the
    attribute when the element is used.
  • No specific default value for the attribute can
    be included in this case, so you must include a
    value for it in your
  • lt!ATTLIST element-name attribute-name CDATA
    REQUIREDgt
  • IMPLIED means the attribute is optional. The
    attribute may be used in an element, but no
    default value is provided if the attribute isnt
    used.
  • lt!ATTLIST element-name attribute-name CDATA
    IMPLIEDgt

38
Element Attribute
  • FIXED means the attribute is optional, but if
    used, the attribute must always take on the
    default value assigned in the DTD.
  • lt!ATTLIST element-name attribute-name FIXED
    valuegt

39
Element and its attribute example
40
DTD PCDATA
  • PCDATA means parsed character data.
  • Think of character data as the text found between
    the start tag and the end tag of an XML element.
  • PCDATA is text that WILL be parsed by a parser.

41
DTD CDATA
  • CDATA means character data.
  • CDATA is text that will NOT be parsed by a
    parser.
  • Tags inside the text will NOT be treated as
    markup and entities will not be expanded.

42
XML Schema
  • XML Schema is an XML-based alternative to DTDs.
  • An XML Schema describes the structure of an XML
    document.
  • The XML Schema language is also referred to as
    XML Schema Definition (XSD).

43
An XML Schema
  • The purpose of an XML Schema is to define the
    legal building
  • blocks of an XML document, just like a DTD.
  • defines elements that can appear in a document
  • defines attributes that can appear in a document
  • defines which elements are child elements
  • defines the order of child elements
  • defines the number of child elements
  • defines whether an element is empty or can
    include text
  • defines data types for elements and attributes
  • defines default and fixed values for elements and
    attributes

44
XML Schema
  • XML Schemas use XML Syntax
  • You don't have to learn a new language
  • You can use your XML editor to edit your Schema
    files
  • You can use your XML parser to parse your Schema
    files
  • You can manipulate your Schema with the XML DOM

45
XML Schema Example
  • The following example is an XML Schema file
    called "note.xsd" that defines the elements of
    the XML document ("note.xml")
  • ltxselement name"note"gt
  • ltxscomplexTypegt
  • ltxssequencegt
  • ltxselement name"to" type"xsstring"/gt
  • ltxselement name"from" type"xsstring"/gt
  • ltxselement name"heading" type"xsstring"/gt
    ltxselement name"body" type"xsstring"/gt
  • lt/xssequencegt
  • lt/xscomplexTypegt
  • lt/xselementgt

46
XML Schema
  • The note element is a complex type because it
    contains other elements.
  • The other elements (to, from, heading, body) are
    simple types because they do not contain other
    elements.

47
XML Schema
  • Simple element is an XML element that contains
    only text. It cannot contain any other elements
    or attributes.
  • The text can be of many different types. It can
    be one of the types included in the XML Schema
    definition (boolean, string, date, etc.), or it
    can be a custom type that you can define
    yourself.
  • You can also add restrictions (facets) to a data
    type in order to limit its content, or you can
    require the data to match a specific pattern.

48
XML Schema
  • The syntax for defining a simple element is
  • ltxselement nameabc" typexyz"/gt
  • Where abc is the name of the element and xyz is
    the data type of the element.
  • XML Schema has a lot of built-in data types. The
    most common types are
  • xsstring
  • xsdecimal
  • xsinteger
  • xsboolean
  • xsdate
  • xstime

49
XML Schema
  • Here are some simple XML elements
  • ltlastnamegtRajlt/lastnamegt
  • ltagegt36lt/agegt
  • ltdateborngt1987-03-27lt/dateborngt
  • Here are the corresponding simple element
    definitions
  • ltxselement name"lastname" type"xsstring"/gt
  • ltxselement name"age" type"xsinteger"/gt
  • ltxselement name"dateborn" type"xsdate"/gt

50
XML Schema
  • Simple elements may have a default value OR a
    fixed value specified.
  • Default value is automatically assigned to the
    element when no other value is specified. In the
    following example the default value is "red"
  • ltxselement name"color" type"xsstring
    default"red"/gt
  • Fixed value is also automatically assigned to the
    element, and you cannot specify another value.
    In the following example the fixed value is
    "red"
  • ltxselement name"color" type"xsstring"
    fixed"red"/gt

51
XML Schema
  • The syntax for defining an attribute is
  • ltxsattribute nameabc" typexyz"/gt
  • Where abc is the name of the attribute and xyz
    specifies the data type of the attribute.
  • Simple elements cant have attributes!

52
XML Schema
  • When an XML element or attribute has a data type
    defined, it puts restrictions on the element's or
    attribute's content.
  • If an XML element is of type "xsdate" and
    contains a string like "Hello World", the element
    will not validate.
  • With XML Schemas, you can also add your own
    restrictions to your XML elements and attributes.

53
XML Schema
  • The following example defines an element called
    "age" with a restriction. The value of age cannot
    be lower than 0 or greater than 120
  • ltxselement name"age"gt
  • ltxssimpleTypegt
  • ltxsrestriction base"xsinteger"gt
  • ltxsminInclusive value"0"/gt
  • ltxsmaxInclusive value"120"/gt
  • lt/xsrestrictiongt
  • lt/xssimpleTypegt
  • lt/xselementgt

54
XML Schema
  • The example below defines an element called "car"
    with a restriction. The only acceptable values
    are Audi, Ford, BMW
  • ltxselement name"car" type"carType"/gt
  • ltxssimpleType name"carType"gt
  • ltxsrestriction base"xsstring"gt
  • ltxsenumeration value"Audi"/gt
  • ltxsenumeration valueFord"/gt
  • ltxsenumeration value"BMW"/gt
  • lt/xsrestrictiongt
  • lt/xssimpleTypegt
  • Note In this case the type "carType" can be used
    by other elements because it is not a part of the
    "car" element.

55
(No Transcript)
56
(No Transcript)
57
An XML Document
Write a Comment
User Comments (0)
About PowerShow.com