Docstoc

XML_2

Document Sample
XML_2 Powered By Docstoc
					            XML_2
             Ch. 7




2/14/2012    Comp Sci 346   1
             XML Vocabularies
 MathML
 An  application to parse, render, and edit
    MathML: Amaya
   http://www.w3.org/Amaya/User/BinDist.html




2/14/2012                Comp Sci 346           2
2/14/2012   Comp Sci 346   3
            Rendering with Amaya
 Mathml1.xml
 Mathml2.xml
 Mathml3.xml




2/14/2012           Comp Sci 346   4
               Mathml1.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN"
  "http://www.w3.org/TR/MathML2/dtd/mathml2.dtd">
<!-- Fig. 14.16: mathml1.mml -->
<!-- MathML equation. -->
<math xmlns="http://www.w3.org/1998/Math/MathML">
  <mn>2</mn>
  <mo>+</mo>
  <mn>3</mn>
  <mo>=</mo>
  <mn>5</mn>
</math>




2/14/2012                   Comp Sci 346             5
                Mathml2.xml
<math xmlns="http://www.w3.org/1998/Math/MathML">
  <mn>3</mn>
  <mo>&InvisibleTimes;</mo>
  <msup>
    <mi>x</mi>
    <mn>2</mn>
  </msup>
  <mo>+</mo>
  <mi>x</mi>
  <mo>&minus;</mo>
  <mfrac>
    <mn>2</mn>
    <mi>x</mi>
  </mfrac>
  <mo>=</mo>
  <mn>0</mn>
</math>


2/14/2012                    Comp Sci 346           6
                         Mathml3.xml
<math
xmlns="http://www.w3.org/1998/Math/MathML"
>
  <mrow>
    <msubsup>
      <mo>&int;</mo>
      <mn>0</mn>
      <mrow>
         <mn>1</mn>
         <mo>&minus;</mo>
         <mi>y</mi>
      </mrow>
    </msubsup>
    <msqrt>
      <mn>4</mn>
      <mo>&InvisibleTimes;</mo>
      <msup>
        <mi>x</mi>
        <mn>2</mn>
      </msup>
      <mo>+</mo>
      <mi>y</mi>
    </msqrt>
    <mi>&delta;</mi>
    <mi>x</mi>
  </mrow>
</math>


2/14/2012                                    Comp Sci 346   7
   Rendering with Firefox and IE
 Download            and install additional fonts for
   Firefox
        www.mozilla.org/projects/mathml/fonts/ or
        https://developer.mozilla.org/en/Mozilla_MathML_Project/Fonts

 Internet        Explorer, get a plug in (Exercise)
        www.dessci.com/en/products/mathplayer/




2/14/2012                       Comp Sci 346                             8
2/14/2012   Comp Sci 346   9
            Plug-in Mathplayer for IE




2/14/2012             Comp Sci 346      10
2/14/2012   Comp Sci 346   11
     How to render an XML Document?

 Extensible Stylesheet Language (XSL)
 Specify how programs should render XML
  document data
        XSL-FO (XSL Formatted Objects)
            • Vocabulary for specifying formatting
        XSLT (XSL Transformation)
            • Defines rules for transforming one XML documment to
              another
            • From Source tree to Result tree
        Xpath
            • Locate parts of the source tree document that match
              templates defined in the XSL stylesheet

2/14/2012                         Comp Sci 346                      12
<?xml version = "1.0"?>
<?xml:stylesheet type = "text/xsl" href = "games.xsl"?>

<!-- Fig. 20.28 : games.xml -->
<!-- Sports Database      -->

<sports>                                   Processing Instruction (PI)
                                           references the XSL stylesheet
 <game id = "783">                         games.xsl
  <name>Cricket</name>
                                           Specifies location of XSLT
   <paragraph>                             <? ?> delimits a PI target
     Popular in Commonwealth nations.
   </paragraph>
 </game>




2/14/2012                          Comp Sci 346                            13
      Games.xml continued


       <game id = "239">
          <name>Baseball</name>

              <paragraph>
                Popular in America.
              </paragraph>
            </game>

            <game id = "418">
             <name>Soccer (Football)</name>

              <paragraph>
                Popular sport in the world.
              </paragraph>
            </game>

       </sports>



2/14/2012                             Comp Sci 346   14
                    XSL style sheet
<?xml version = "1.0"?>
                                                         Start style sheet
<!-- Fig. 20.29 : games.xsl    -->
<!-- A simple XSLT transformation -->
                                                         Binds namespace xsl to
<!-- reference XSL stylesheet URI -->                    W3C XSLT URI
<xsl:stylesheet version = "1.0"
  xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">
                                                                 Output as xhtml
 <xsl:output method = "html" omit-xml-declaration = "no"         file. Doctype as
   doctype-system =                                              xhtml
     "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
   doctype-public = "-//W3C//DTD XHTML 1.0 Strict//EN"/>
                                                                 “/” is used to select
<xsl:template match = "/"> <!-- match root element -->           the root



2/14/2012                         Comp Sci 346                                   15
 Extensible Stylesheet Language (XSL)
      Element                        Description
      <xsl:apply-templates>          Applies the templates of the XSL document to the children of
                                     the current node.
     <xsl:apply-templates            Applies the templates of the XSL document to the children of
     match =                         expression. The value of the attribute match (i.e., expression)
          "expression">              must be some XPath expression that specifies elements.
     <xsl:template>                  Contains rules to apply when a specified node is matched.
     <xsl:value-of select =          Selects the value of an XML element and adds it to the output
          "expression">              tree of the transformation. The required select attribute
                                     contains an XPath expression.
     <xsl:for-each select =          Implicitly contains a template that is applied to every node
          "expression">              selected by the XPath specified by the select attribute.
     <xsl:sort select =              Used as a child element of an <xsl:apply-templates> or
          "expression">              <xsl:for-each> element. Sorts the nodes selected by the
                                     <apply-template> or <for-each> element so that the
                                     nodes are processed in sorted order.
     <xsl:output>                    Has various attributes to define the format (e.g., xml, html),
                                     version (e.g., 1.2, 2.0), document type and media type of the
                                     output document. This tag is a top-level element, which means
                                     that it can be used only as a child element of a stylesheet.
     <xsl:copy>                      Adds the current node to the output tree.
     Fig. 20.27      Commonly used XSL stylesheet elements.



2/14/2012                                    Comp Sci 346                                              16
            Rendering games.xml




2/14/2012          Comp Sci 346   17
   Using XSLT to Sort and Format Data

      Compare the source in
      sorting.xml (chapters are
      out of order) and the
      rendering




2/14/2012                         Comp Sci 346   18
2/14/2012   Comp Sci 346   19
    Other applications using XML
 DOM
 PHP




2/14/2012      Comp Sci 346        20
                  DOM
 Document    Object Model
 Syntax tree for XML document
 Tree is passed to application (e.g.browser)
 Application can modify the document via
  the tree
 Browser-independent JavaScript
  functionality


2/14/2012          Comp Sci 346             21
              Use XML with PHP
 XML    functionality is based on libxml2
   library
        Enabled by default on Windows and
         Linux/Unix
 Check       for the following with phpinfo()
        dom
        libxml
        simplexml

2/14/2012                Comp Sci 346            22
            Parsing XML with PHP
 Example   1: Load an xml file into the XML
   parser and dump the contents
        Use 25-2xmlload.php to load 25-
         1messages.xml as an object
        Dump the contents of the object




2/14/2012                Comp Sci 346          23
            Parsing XML with PHP
 Example   2: Load an xml file into the XML
   parser and display the contents
        Load 25-3 books.xml into XML parser 25-
         4xmlparse.php
        Break up the elements
        and display the contents
 Reference       on objects in PHP
http://us2.php.net/manual/en/language.oop5.php#op5.intro


2/14/2012                Comp Sci 346                      24
            Parsing XML with PHP
 Example     3: Rewrite example 1 to load an
   xml file into the XML parser and display
   the contents
        Use 25-4xmlload1.php to load 25-
         1messages.xml as an object
        Display the contents of the object
 What       are the changes?


2/14/2012                 Comp Sci 346          25
                    Summary
 Conclusions?
        Description of data
        Method of data exchange
        Well structured files




2/14/2012               Comp Sci 346   26

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:14
posted:2/14/2012
language:
pages:26