XML

Document Sample
XML Powered By Docstoc
					          XML
eXtensible Markup Language



    http://www.w3schools.com/xml

    http://www.cafeconleche.org

                                   1/23
    What is XML
● stands for eXtensible Markup Language

● a markup language much like HTML

● designed to describe data

● tags not predefined

● you must describe your own tags

● uses a Document Type Definition (DTD)
  or an XML Schema to describe data
                                          2/23
XML and HTML
● different goals

● HTML designed to display data
  ● how data looks
  ● about displaying information


● XML designed to describe data
  ● what data is
  ● about describing information
  ● structuring, storing & sending information

                                                 3/23
what does XML do?
          XML doesn’t do anything


● XML can be used to exchange data
  ● many different applications
  ● over the internet


● XML can be used to create new languages
  ● WAP (Wireless Application Protocol)
  ● WML (Wireless Markup Language)
                                            4/23
             XML

          a cross-platform,

software & hardware independent tool

    for transmitting information



                                       5/23
                                         5/23
    XML example
<?xml version=“1.0” encoding=“ISO-8859-1”?>

<car make= “Honda Jazz”>
         <model> Vti </model>
         <engine capacity> 1.3 litres </engine capacity>
         <max power> 81kW @ 6000 rpm </max power>
         <fuel tank capacity>
                <quantity> 42 </quantity>
                <units> litres </units>
         </fuel tank capacity>
</car>                                                     9

                                                           6/23
XML syntax

  ● XML declaration

  ● root element

  ● XML elements




                      7/23
 XML elements
● everything from (including) start tag to
  (including) end tag

● tags are case sensitive
  ● <LETTER> != <letter>

● can have sub elements
   <root>
      <child>
        <subchild> … </subchild>
      </child>
   </root>
                                             8/23
XML attributes
● XML elements can have attributes
  in the start tag
  ● <student SID= “123456”>
  ● <polygon name= “square” colour= “red” >



● additional information about elements
  ● not part of data


                                              7
● elements or attributes?

                                              9/23
elements or attributes
   ● example 1 – date attribute
         <letter date=‘1/9/05’>
            <contents> ….. </contents>
         </letter>
   ● example 2 - date element
         <letter>
            <date> 1/9/05 </date>
            <contents> ….. </contents>
         </letter>
   ● example 3 – expanded date element
         <letter>
            <date>
               <day> 1 </day>
               <month> 9 </month>
               <year> 05 </year>
            </date>
            <contents> ….. </contents>
         </letter>
                                         10/23
avoid attributes
 ● cannot contain multiple values


 ● not easily expandable – future


 ● cannot describe structures


 ● more difficult to read
                                    11/23
rule of thumb

 metadata should be stored
       as attributes
 the data should be stored
       as elements



                             12/23
XML validation
● XML with correct syntax is Well Formed


● a DTD (Document Type Definition) defines
  the legal contents of an XML document


● an XML schema is an alternative to a DTD



                                             13/23
 XML schemas
● ability to specify data types for content
  and attribute values


● ability to validate complex structures



● namespace awareness


                                              14/23
     why not DTDs
● no data typing ability
  ● e.g. can’t say element must be an integer 1-12

● non-XML syntax
  ● cannot be parsed by same parser

● difficult to modularize and combine

● cannot enforce order or number of
  child elements


                                                     15/23
what is a schema
 ● hypothetical outline - pattern

 ● document that describes permissible
   content of a database

 ● many schema languages for XML
   ● W3C XML Schema Language

 ● by convention – in .xsd extension

                                         16/23
schema example
<?xml version=“1.0”?>            <?xml version=“1.0”?>
<GREETING>                       <GREETING>
  Hello XML!                        How are you?
</GREETING>                      </GREETING>


<?xml version=“1.0”?>
<xsd:schema xmlns:xsd=“http://www.w3.org/2001/XML Schema”>
  <xsd:element name=“GREETING” type=“xsd:string”>
</xsd:schema>


<?xml version=“1.0”?>
<GREETING xsi:noNamespaceSchemaLocation=“Greeting.xsd”
  xmlns:xsi=“http://www.w3.org/2001/XML Schema - instance”>
  Hello XML!
</GREETING>

                                                              17/23
schema structure
● root element - schema
  ● usually namespace bound to prefix xsd or xs

● elements declared using xsd:element
  ● name attribute specifies which element declared
  ● type attribute declares data type

● attach schema to XML document by adding
  xsi:noNamespaceSchemaLocation attribute
  to the document’s root element


                                                      18/23
    XML example
<?xml version=“1.0” encoding=“ISO-8859-1”?>

<car make= “Honda Jazz”>
         <model> Vti </model>
         <engine capacity> 1.3 litres </engine capacity>
         <max power> 81kW @ 6000 rpm </max power>
         <fuel tank capacity>
                <quantity> 42 </quantity>
                <units> litres </units>
         </fuel tank capacity>
</car>                                                     20

                                                           19/23
 schema example
<?xml version=“1.0”?>
<xsd:schema xmnls:xsd=“http://www.w3.org/2001/XML Schema”>
<xsd:element name=“car” type=“vehicletype” />
  <xsd:complexType name=“vehicletype”>
     <xsd:attribute name=“make” type=“xsd:string/>
     <xsd:sequence>
        <xsd:element name=“model” type=“xsd:string”/>
        <xsd:element name=“engine capacity” type=“xsd:string”/>
        <xsd:element name=“max power ” type=“xsd:string”/>
        <xsd:element name=“fuel tank capacity”>
           <xsd:complexType>
             <xsd:sequence>
                <xsd:element name=“quantity” type=“xsd:positiveInteger”/>
                <xsd:element name=“units” type=“xsd:string”/>
             </xsd:sequence>
           </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
   </xsd:complexType>                                                       19
</xsd:schema>                                                               20/23
    XML example
<?xml version=“1.0” encoding=“ISO-8859-1”?>

<building id= “myHouse”>
      <type> house </type>
      <no. of storeys> 3 </no. of storeys>
      <area> 180 </area>
      <component> storey1 </component
      <component> storey2 </component>
      <component> storey3 </component>
</building>
                                              22

                                              21/23
 schema example
<?xml version=“1.0”?>
<xsd:schema xmnls:xsd=“http://www.w3.org/2001/XML Schema”>
<xsd:element name=“building”>
  <xsd:complexType>
     <xsd:attribute name=“id” type=“xsd:string/>
     <xsd:sequence>
       <xsd:element name=“type” type=“xsd:string”/>
       <xsd:element name=“no.of storeys” type=“xsd:positiveInteger”
                 maxInclusive=“4”/>
       <xsd:element name=“area ” type=“xsd:float”/>
       <xsd:element name=“component” type=“xsd:string
                 maxOccurs=“unbounded”/>
     </xsd:sequence>
  </xsd:complexType>
</xsd:element>                                                      21
</xsd:schema>
                                                                    22/23
           aecXML
● working group – 1999
  ● for exchange of AEC specific information
  ● http://xml.coverpages.org/aecXML.html

● XML schemas for communication
  ● designing, specifying, estimating, sourcing,
    installing & maintaining products & materials
    over the Internet

● AISC steel information in XML
  ● Bentley -2001

● aecXML & IFC
  ● http://www.cadinfo.net/editorial/aecxml.htm     23/23

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:0
posted:5/28/2013
language:English
pages:23
tang shuming tang shuming
About