SlideShare une entreprise Scribd logo
1  sur  66
Télécharger pour lire hors ligne
Lecture 1 (1 hour and half)




    XML Overview
Topics

!   What is XML?
!   Why XML?
    " XML   feautures and value-propositions
!   Where does XML come from?
!   Where is XML being used today?
!   What do you do with XML document?
!   What is going on standards front?
Objectives

!   Understand fundamental concept and
    features of XML
!   Get some perspective on how XML is
    being used in real-world
What is XML?

!   eXtensible Markup Language
!   is Meta-Markup language
!   is Not just a markup language
The Data Problem

!   Fundamental “issues”: How do I
    represent my “application” data?
       # Performance (speed/time)
       # Persistence(short/long lived)

       # Mutability

       # Composition

       # Security (encryption/identity)
Data Problem (Cont.)

!   Open Information Management:
    " Interpretation

    " Presentation

    " Interoperation

    " Portability

    " Interrogation
Markup Language

!   Used to markup data
    " Methodology   for encoding data with some
      information
!   Examples
    " Yellow highlighter on a string of text as
      emphasizer
    " Comma between pieces of data as
      separator
Markup Language

!   Two important aspects
    "A     standard for “valid markup”
       #   HTML - tags
    "A     standard for “what markup means”
       #   HTML - tags “communicate” layout and
           formatting information
!   Typical markup languages define a set
    of tags each of which has some
    associated meaning
Markup Language Usage
Examples
!   Word processing documents
!   Data on the network
!   Database
!   Multi-media contents
!   HTML
HTML

!   The most popular markup language
!   Defines a set of tags
!   Designed for presentation for data
!   HTML documents are processed by
    HTML processing application
    (Browser)
Strengths of HTML

!   Easy to implement and author
    " Small number of tags
    " Simple relationship between tags

    " Syntax-checking is very forgiving

    " Limited number of formats possible

    " Viewers can be small and simple

!   HTML trades power for ease of use
Weaknesses of HTML

!   Fixed set of tags
    " Not   user extensible
       #   Dependency to “markup language” definition
           process
    " Dependency        to vendors
       # Vendor proprietary tags
       # Implementation not in sync
            – Netscape browser vs. IE

!   Predefined semantics for each tag
!   Predefined data structure
Weaknesses of HTML

!   No formal validation
!   Does not support semantic search
!   Based on solely on appearance
    (rendering) NOT on content
!   Formatting too simple
    " Limited   control
!   Won’t do complex documents
!   Poor support for print and other media
So HTML is Not suited for
handling
!   Large and complex data
!   Data that must be used in different
    ways
!   Data with long life-cycle
!   Data intended to drive scripts and Java
    applets
So XML is Born!

!   Motivations
    " HTML   would not work for publishing in
      general case
    " Web application would require a method
      of encoding data that could drive
      arbitrarily complex distributed processes
    " Without XML, HTML would be replaced
      by a more powerful binary and proprietary
      format
XML Design Goals

!   XML shall be straightforwardly usable
    over the Internet.
!   XML shall support a wide variety of
    applications.
!   XML shall be compatible with SGML.
!   It shall be easy to write programs
    which process XML documents.
XML Design Goals

!   The number of optional features in
    XML is to be kept to the absolute
    minimum, ideally zero.
!   XML documents should be human-
    legible and reasonably clear.
!   The XML design should be prepared
    quickly.
XML Design Goals

!   The design of XML shall be formal and
    concise.
!   XML documents shall be easy to
    create.
!   Terseness in XML markup is of
    minimal importance.
Key Features of XML

!   Extensibility
!   Media and Presentation independence
    " Separation   of contents from presentation
!   Structure
!   Validation
Extensibility

!   XML is Meta-markup language
!   You define your own markup
    languages (tags) for your own problem
    domain
!   Infinite number of tags can be defined
    " Need   for domain-specific standards
    " XSLT
Extensibility

!   Tags can be more than formatting
!   Tags can be anything
    " Semantic data representation
    " Business rules
       #   ebXML
    " Data    relationship
       #   EJB 2.0 Containter Managed Persistence
    " Formatting
       #   XSL
    " Anything     you want
Extensibility

!   Many domain-specific markup
    languages
    " Portable   data within domain-specific
      industry
    " Portable across the various domain
      # Healthcare and Insurance
      # Chemical and Medicine
Media (Presentation)
Independence
!   Clear separation between contents
    and presentation
!   Contents of data
    " What  the data is
    " Is represented by XML document

!   Presentation of data
    " What the data looks like
    " Can be specified by stylesheet
Media (Presentation)
Independence
!   Same data can be presented to
    different communication medium
    " HTML  browser
    " Voice device

!   Same data can be presented to
    different format
    " Cell
         phone as WML
    " Desktop as HTML

!   Via stylesheet
Media (Presentation)
Independence
!   Stylesheet
    " Instruction   of how to present XML data
    " CSS
       #   Tailored for HTML browser
    " XSL
       # XML based
       # General purpose

       # Work with XSLT
Separation of Contents from
Presentation
!   Searching and retrieving data is easy
    and efficient
    " Tags   give search’able information
!   Many applications use the same data
    in different ways
    " Employee    data can be used by
       # Payroll application
       # Facilities application

       # Human resource application
Separation of Contents from
Presentation
!   Enables portability of data
!   Portable over time and space
XSLT Transformation

!   Example (XML -> HTML)
    XML data:
       <destination>sang.shin@sun.com</destination>
    XSLT stylesheet can say:
       # Start a new line.

       # Convert “destination” XML tag to “To:” HTML tag.

       # Display "To:" in bold, followed by a space.

       # Display your email address.



    Which produces:
       To: sang.shin@sun.com
Structure: HTML vs. XML

 HTML (Automatic Presentation of Data)

    <b> John Doe 1234   </b> // Display in bold

 XML (Automatic Interpretation of Data)

   <Employee>
     <Name>
         <firstName> John </firstName>
         <lastName> Doe </lastName>
     </Name>
     <EmployeeID> 1234 </EmployeeID>
    </Employee>
Structure

!   Relationship
    " Employee is made of Name and employ-ID
    " Name is made of firstName and LastName

!   Hierarchical (Tree-form)
    " Faster to access
    " Easier to rearrange

    " Can be any number of depth
Structure

!   Enables to build large and complex
    data
!   Portability of relationship and
    hierarchical structure
Validation

!   XML data is “constrained” by a Rule
    (or Syntax)
    " Employee data has to have Name and Employee
      ID elements
    " Name has to have both firstName and LastName
      elements
    <Employee>
      <Name>
         <firstName>John</firstName>
         <lastName>Doe</lastName>
      </Name>
      <EmployeeID>1234</EmployeeID>
    </Employee>
XML Schema

!   Defines Syntax
    " Structure

    " Vocabulary

!   XML document + XML schema work
    together
    " XML  document alone has to be “well-
      formed”
    " XML schema checks “validity”
XML Schema

!   DTD (Data Type Definition) is the most
    popular XML schema language for
    now
!   DTD is pretty weak schema language
    " You   can’t define “range check”
!   There are other emerging XML
    schema languages
    " W3C  XML schema
    " Relax
Misc. Features of XML

!   Semantics of data
!   Plain Text
!   Easily Processed
!   Inline usability
!   Linkability
!   Internationalized
Semantics of Data

!   Meaning of data
!   XML tags “indirectly” specifies the
    semantical meaning
    " does<firstName> really mean “first
      name”?
!   Potential for divergence
    " Industrycollaboration to agree upon the
      semantical meanings of tags
    " Need for transformation (XSLT)
Plain Text

!   Can use any text-editing tool
!   Easier for humans to read
    " Configuration   information
Easily Processed

!   Set of Well-formed rules
!   Validity checking
!   Ready-to-use tools
    " parsers (and validators)
    " transformers

    " browsers

    " class generators

    " IDE
Inline Usability

!   Can integrate data from multiple
    sources
    " Can  be displayed or processed as a
      single document
!   Modularization without using Linking
!   Example
    "A  book made of independently written
      chapters
    " Same Copyright text in many books
Linkability

!   Much more powerful and flexible
    linking capabilities than HTML’s
!   Bi-directional
!   Mutli-directional
!   W3C Xlink and Xpointer specifications
Internationalized

!   XML is Unicode-based
    " You   can mix languages
!   Both markup and content
!   XML tools must support both UTF-8
    and UTF-16 encodings
!   Critical for world-wide adoption of XML
    as universal data representation
XML History

!   Emerged as a way to overcome the
    shortcomings of its two predecessors
    " SGML

    " HTML
XML History

!   SGML
    " Powerful   and extensible
      #   Good for cataloging and indexing data
    " Too   complex and expensive
!   HTML
    " Simple and widely supported
    " Not extensible

!   XML
    " “Lean   and mean SGML”
XML Evolution

!   Discussion got started in 1996 by Jon
    Bosak of Sun
!   W3C-approved XML 1.0 spec in 1998
!   XML-related standard activities are
    moving in dizzying speed
    " Horizontal

    " Vertical

    " E-Commerce
Where Does XML Get Used?

!   Simple and complex data
    representation
!   Integration of heterogeneous
    applications
!   Portable data representation
!   Displaying and publishing
!   Archiving
!   Data manipulation
!   Business logic representation
Data representation

!   XML encodes the data for a program
    to process
!   Readable by humans
!   Process’able by computers
!   Complex relationship can be
    represented
!   Internationalized
!   Many 3rd-party tools
    " Editing,   Syntax checking
Data representation

!   Examples
    " Configuration   files
      #   EJB deployment descriptor
    " “make”   files (Apache ANT project)
Integration of heterogeneous
applications
!   Typically used with Messaging system
!   XML message is minimum contract for
    communication
    " Loosely-coupled     communication
!   Enables easy EAI (Enterprise
    Application Integration)
    " Payroll,   Finance, Products
!   E-Commerce
    " Supplier,   distributor, manufacturer, retail
Portable data representation

!   Non-proprietary
    " Application independent
    " Object-model independent

    " Language independent

    " Platform independent

    " Communication protocol independent

    " Communication media independent

!   Used for means of “information
    exchange”
Portable data representation

!   Examples
    " Purchase  order, Invoice
    " Business transactional semantics

    " Patient record

    " Mathematical formula

    " Musical notation

    " Manufacturing process
Displaying and publishing

!   Common data for different
    presentations
!   Separation of contents from
    presentation
!   Examples
    " Web   information presented to different
      client types
    " Information rendered to different medium
Archiving

!   XML data can be data storage format
    of choice
    " Betterversion management
    " Easy to process

    " Availability of read-to-use tools
       #   Report generation
!   Standard XML query language
!   Examples
    " XML-based      data repository
Data manipulation

!   Many tools available for XML data
    manipulation
!   Examples
    " Datafrom relational data converted to
      XML for easy manipulation
Business logic representation

!   XML tag can be anything
!   It could be business logic or action
!   Basis for XML-RPC movement
!   Examples
    " “Withdraw $40 from my savings account”
      can be represented as XML
Developer Activities on XML

!   Creating XML document
    " Mostlyby text-editor or WISWIG tools
    " Programmatically

!   Sending and Receiving XML document
    " Over   any kind of transports
      #   HTTP, SMTP, FTP, ...
    " Through   programming APIs
      # JMS API, JAXM API
      # Socket APIs
Developer Activities on XML

!   Parsing XML document
    " Convert   XML document into programming
      objects
!   Manipulating programming objects
    " Application   specific way
    " Examples
       # Display
       # Save them in database

       # Create new XML document
Developer Activities on XML

!   “XML document” can be
    " URI
      # File
      # URL

    " InputStream

    " SAXInput source
    " DOM tree
Java™ Technology + XML:
Symbiotic Relationship
!   It’s a “Match made in Heaven”
    " Javaenables Portable Code
    " XML enables Portable Data

!   XML tools and programs are mostly
    written in the Java programming
    language
!   Better API support for Java platform
    than any other language
Standardization Activities

!   XML core standards
    " ThroughStandard organisations
    " W3C, OASIS, UN/CEFACT

!   XML domain-specific standards
    " Through  domain-specific standard
      organizations
!   Java technology-based APIs for XML
    " Through   JCP (Java Community Process)
!   E-commerce standards
XML Standards

!   XML, DTD
!   XSL, XSLT, XPath
!   DOM, SAX
!   W3C XML Schema
!   Namespaces
!   XLink, XPointer
!   XHTML
!   XQL
Domain-specific XML
Standards
!   Chemical - CML
!   2D Graphics - SVG
!   Math - MathML
!   Music - MusicML
!   Travel -OTA
!   Many more ...
    " http://xml.org/xmlorg_registry/index.shtml
Core Java APIs for XML

!   JAXP: Parsing and Transforming
!   JAXB: High-level XML programming
!   JAXM: Messaging
!   JAXR: Registry APIs
!   JDOM: Java-optimized Parsing
E-Commerce Standards

!   ebXML
!   UDDI (Universal Description,
    Discovery and Integration)
!   SOAP (Simple Open Access Protocol)
!   W3C XP (XML Protocol)
!   WSDL (Web Services Definition Lang.)
!   S2ML (Security Services ML)
!   XAML (Transaction Authority ML)
Summary

!   XML is the next Big thing
!   Is it being hype’d? Maybe yes, then
    again, it deserves the hype.
Key Future Predictions in
summer in 1999 by Jon Bosak
!   XML will be the basis for future Web
    standards
!   XML will become universal format for
    data exchange in heterogenous
    environments
!   XML will become the basis for
    international publishing
!   XML and XSL will replace all existing
    word processing and desktop
    publishing formats
Homework of Lecture 1

!   Download AMAYA browser and try to
    display a couple of MathML data (See
    the class website for details)
    " http://www.w3.org/Amaya/

!   No need for submission

Contenu connexe

Tendances (18)

Soa unit-1-well formed and valid document08.07.2019
Soa unit-1-well formed and valid document08.07.2019Soa unit-1-well formed and valid document08.07.2019
Soa unit-1-well formed and valid document08.07.2019
 
Document Object Model (DOM)
Document Object Model (DOM)Document Object Model (DOM)
Document Object Model (DOM)
 
Introduction to DOM
Introduction to DOMIntroduction to DOM
Introduction to DOM
 
Dom structure
Dom structureDom structure
Dom structure
 
Dom in javascript
Dom in javascriptDom in javascript
Dom in javascript
 
Web engineering notes unit 4
Web engineering notes unit 4Web engineering notes unit 4
Web engineering notes unit 4
 
XHTML
XHTMLXHTML
XHTML
 
UNIT-1 Web services
UNIT-1 Web servicesUNIT-1 Web services
UNIT-1 Web services
 
XML - Extensive Markup Language
XML - Extensive Markup LanguageXML - Extensive Markup Language
XML - Extensive Markup Language
 
HTML
HTMLHTML
HTML
 
Web Development - HTML, CSS, JavaScript
Web Development - HTML, CSS, JavaScriptWeb Development - HTML, CSS, JavaScript
Web Development - HTML, CSS, JavaScript
 
Document Object Model
Document Object ModelDocument Object Model
Document Object Model
 
28 accessible digital office document (adod) project
28 accessible digital office document (adod) project28 accessible digital office document (adod) project
28 accessible digital office document (adod) project
 
Xml interview questions
Xml interview questionsXml interview questions
Xml interview questions
 
Web engineering notes unit 3
Web engineering notes unit 3Web engineering notes unit 3
Web engineering notes unit 3
 
Understanding the dom by Benedict Ayiko
Understanding the dom by Benedict AyikoUnderstanding the dom by Benedict Ayiko
Understanding the dom by Benedict Ayiko
 
Document Object Model
Document Object ModelDocument Object Model
Document Object Model
 
Document Object Model
Document Object ModelDocument Object Model
Document Object Model
 

Similaire à xml test (20)

Xml
XmlXml
Xml
 
Xml iet 2015
Xml iet 2015Xml iet 2015
Xml iet 2015
 
Xml
XmlXml
Xml
 
Differences between HTML and XML.pdf
Differences between HTML and XML.pdfDifferences between HTML and XML.pdf
Differences between HTML and XML.pdf
 
Xml
XmlXml
Xml
 
XML1.pptx
XML1.pptxXML1.pptx
XML1.pptx
 
XML Unit 01
XML Unit 01XML Unit 01
XML Unit 01
 
Xml programming language myassignmenthelp.net
Xml programming  language myassignmenthelp.netXml programming  language myassignmenthelp.net
Xml programming language myassignmenthelp.net
 
Xml material
Xml materialXml material
Xml material
 
Xml material
Xml materialXml material
Xml material
 
xml and xhtml.pptx
xml and xhtml.pptxxml and xhtml.pptx
xml and xhtml.pptx
 
01 Xml Begin
01 Xml Begin01 Xml Begin
01 Xml Begin
 
00 introduction
00 introduction00 introduction
00 introduction
 
Unit 3 WEB TECHNOLOGIES
Unit 3 WEB TECHNOLOGIES Unit 3 WEB TECHNOLOGIES
Unit 3 WEB TECHNOLOGIES
 
Xml and xml processor
Xml and xml processorXml and xml processor
Xml and xml processor
 
Xml and xml processor
Xml and xml processorXml and xml processor
Xml and xml processor
 
BITM3730 10-31.pptx
BITM3730 10-31.pptxBITM3730 10-31.pptx
BITM3730 10-31.pptx
 
What is xml
What is xmlWhat is xml
What is xml
 
Markup For Dummies (Russ Ward)
Markup For Dummies (Russ Ward)Markup For Dummies (Russ Ward)
Markup For Dummies (Russ Ward)
 
Oracle soa xml faq
Oracle soa xml faqOracle soa xml faq
Oracle soa xml faq
 

Dernier

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Dernier (20)

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

xml test

  • 1. Lecture 1 (1 hour and half) XML Overview
  • 2. Topics ! What is XML? ! Why XML? " XML feautures and value-propositions ! Where does XML come from? ! Where is XML being used today? ! What do you do with XML document? ! What is going on standards front?
  • 3. Objectives ! Understand fundamental concept and features of XML ! Get some perspective on how XML is being used in real-world
  • 4. What is XML? ! eXtensible Markup Language ! is Meta-Markup language ! is Not just a markup language
  • 5. The Data Problem ! Fundamental “issues”: How do I represent my “application” data? # Performance (speed/time) # Persistence(short/long lived) # Mutability # Composition # Security (encryption/identity)
  • 6. Data Problem (Cont.) ! Open Information Management: " Interpretation " Presentation " Interoperation " Portability " Interrogation
  • 7. Markup Language ! Used to markup data " Methodology for encoding data with some information ! Examples " Yellow highlighter on a string of text as emphasizer " Comma between pieces of data as separator
  • 8. Markup Language ! Two important aspects "A standard for “valid markup” # HTML - tags "A standard for “what markup means” # HTML - tags “communicate” layout and formatting information ! Typical markup languages define a set of tags each of which has some associated meaning
  • 9. Markup Language Usage Examples ! Word processing documents ! Data on the network ! Database ! Multi-media contents ! HTML
  • 10. HTML ! The most popular markup language ! Defines a set of tags ! Designed for presentation for data ! HTML documents are processed by HTML processing application (Browser)
  • 11. Strengths of HTML ! Easy to implement and author " Small number of tags " Simple relationship between tags " Syntax-checking is very forgiving " Limited number of formats possible " Viewers can be small and simple ! HTML trades power for ease of use
  • 12. Weaknesses of HTML ! Fixed set of tags " Not user extensible # Dependency to “markup language” definition process " Dependency to vendors # Vendor proprietary tags # Implementation not in sync – Netscape browser vs. IE ! Predefined semantics for each tag ! Predefined data structure
  • 13. Weaknesses of HTML ! No formal validation ! Does not support semantic search ! Based on solely on appearance (rendering) NOT on content ! Formatting too simple " Limited control ! Won’t do complex documents ! Poor support for print and other media
  • 14. So HTML is Not suited for handling ! Large and complex data ! Data that must be used in different ways ! Data with long life-cycle ! Data intended to drive scripts and Java applets
  • 15. So XML is Born! ! Motivations " HTML would not work for publishing in general case " Web application would require a method of encoding data that could drive arbitrarily complex distributed processes " Without XML, HTML would be replaced by a more powerful binary and proprietary format
  • 16. XML Design Goals ! XML shall be straightforwardly usable over the Internet. ! XML shall support a wide variety of applications. ! XML shall be compatible with SGML. ! It shall be easy to write programs which process XML documents.
  • 17. XML Design Goals ! The number of optional features in XML is to be kept to the absolute minimum, ideally zero. ! XML documents should be human- legible and reasonably clear. ! The XML design should be prepared quickly.
  • 18. XML Design Goals ! The design of XML shall be formal and concise. ! XML documents shall be easy to create. ! Terseness in XML markup is of minimal importance.
  • 19. Key Features of XML ! Extensibility ! Media and Presentation independence " Separation of contents from presentation ! Structure ! Validation
  • 20. Extensibility ! XML is Meta-markup language ! You define your own markup languages (tags) for your own problem domain ! Infinite number of tags can be defined " Need for domain-specific standards " XSLT
  • 21. Extensibility ! Tags can be more than formatting ! Tags can be anything " Semantic data representation " Business rules # ebXML " Data relationship # EJB 2.0 Containter Managed Persistence " Formatting # XSL " Anything you want
  • 22. Extensibility ! Many domain-specific markup languages " Portable data within domain-specific industry " Portable across the various domain # Healthcare and Insurance # Chemical and Medicine
  • 23. Media (Presentation) Independence ! Clear separation between contents and presentation ! Contents of data " What the data is " Is represented by XML document ! Presentation of data " What the data looks like " Can be specified by stylesheet
  • 24. Media (Presentation) Independence ! Same data can be presented to different communication medium " HTML browser " Voice device ! Same data can be presented to different format " Cell phone as WML " Desktop as HTML ! Via stylesheet
  • 25. Media (Presentation) Independence ! Stylesheet " Instruction of how to present XML data " CSS # Tailored for HTML browser " XSL # XML based # General purpose # Work with XSLT
  • 26. Separation of Contents from Presentation ! Searching and retrieving data is easy and efficient " Tags give search’able information ! Many applications use the same data in different ways " Employee data can be used by # Payroll application # Facilities application # Human resource application
  • 27. Separation of Contents from Presentation ! Enables portability of data ! Portable over time and space
  • 28. XSLT Transformation ! Example (XML -> HTML) XML data: <destination>sang.shin@sun.com</destination> XSLT stylesheet can say: # Start a new line. # Convert “destination” XML tag to “To:” HTML tag. # Display "To:" in bold, followed by a space. # Display your email address. Which produces: To: sang.shin@sun.com
  • 29. Structure: HTML vs. XML HTML (Automatic Presentation of Data) <b> John Doe 1234 </b> // Display in bold XML (Automatic Interpretation of Data) <Employee> <Name> <firstName> John </firstName> <lastName> Doe </lastName> </Name> <EmployeeID> 1234 </EmployeeID> </Employee>
  • 30. Structure ! Relationship " Employee is made of Name and employ-ID " Name is made of firstName and LastName ! Hierarchical (Tree-form) " Faster to access " Easier to rearrange " Can be any number of depth
  • 31. Structure ! Enables to build large and complex data ! Portability of relationship and hierarchical structure
  • 32. Validation ! XML data is “constrained” by a Rule (or Syntax) " Employee data has to have Name and Employee ID elements " Name has to have both firstName and LastName elements <Employee> <Name> <firstName>John</firstName> <lastName>Doe</lastName> </Name> <EmployeeID>1234</EmployeeID> </Employee>
  • 33. XML Schema ! Defines Syntax " Structure " Vocabulary ! XML document + XML schema work together " XML document alone has to be “well- formed” " XML schema checks “validity”
  • 34. XML Schema ! DTD (Data Type Definition) is the most popular XML schema language for now ! DTD is pretty weak schema language " You can’t define “range check” ! There are other emerging XML schema languages " W3C XML schema " Relax
  • 35. Misc. Features of XML ! Semantics of data ! Plain Text ! Easily Processed ! Inline usability ! Linkability ! Internationalized
  • 36. Semantics of Data ! Meaning of data ! XML tags “indirectly” specifies the semantical meaning " does<firstName> really mean “first name”? ! Potential for divergence " Industrycollaboration to agree upon the semantical meanings of tags " Need for transformation (XSLT)
  • 37. Plain Text ! Can use any text-editing tool ! Easier for humans to read " Configuration information
  • 38. Easily Processed ! Set of Well-formed rules ! Validity checking ! Ready-to-use tools " parsers (and validators) " transformers " browsers " class generators " IDE
  • 39. Inline Usability ! Can integrate data from multiple sources " Can be displayed or processed as a single document ! Modularization without using Linking ! Example "A book made of independently written chapters " Same Copyright text in many books
  • 40. Linkability ! Much more powerful and flexible linking capabilities than HTML’s ! Bi-directional ! Mutli-directional ! W3C Xlink and Xpointer specifications
  • 41. Internationalized ! XML is Unicode-based " You can mix languages ! Both markup and content ! XML tools must support both UTF-8 and UTF-16 encodings ! Critical for world-wide adoption of XML as universal data representation
  • 42. XML History ! Emerged as a way to overcome the shortcomings of its two predecessors " SGML " HTML
  • 43. XML History ! SGML " Powerful and extensible # Good for cataloging and indexing data " Too complex and expensive ! HTML " Simple and widely supported " Not extensible ! XML " “Lean and mean SGML”
  • 44. XML Evolution ! Discussion got started in 1996 by Jon Bosak of Sun ! W3C-approved XML 1.0 spec in 1998 ! XML-related standard activities are moving in dizzying speed " Horizontal " Vertical " E-Commerce
  • 45. Where Does XML Get Used? ! Simple and complex data representation ! Integration of heterogeneous applications ! Portable data representation ! Displaying and publishing ! Archiving ! Data manipulation ! Business logic representation
  • 46. Data representation ! XML encodes the data for a program to process ! Readable by humans ! Process’able by computers ! Complex relationship can be represented ! Internationalized ! Many 3rd-party tools " Editing, Syntax checking
  • 47. Data representation ! Examples " Configuration files # EJB deployment descriptor " “make” files (Apache ANT project)
  • 48. Integration of heterogeneous applications ! Typically used with Messaging system ! XML message is minimum contract for communication " Loosely-coupled communication ! Enables easy EAI (Enterprise Application Integration) " Payroll, Finance, Products ! E-Commerce " Supplier, distributor, manufacturer, retail
  • 49. Portable data representation ! Non-proprietary " Application independent " Object-model independent " Language independent " Platform independent " Communication protocol independent " Communication media independent ! Used for means of “information exchange”
  • 50. Portable data representation ! Examples " Purchase order, Invoice " Business transactional semantics " Patient record " Mathematical formula " Musical notation " Manufacturing process
  • 51. Displaying and publishing ! Common data for different presentations ! Separation of contents from presentation ! Examples " Web information presented to different client types " Information rendered to different medium
  • 52. Archiving ! XML data can be data storage format of choice " Betterversion management " Easy to process " Availability of read-to-use tools # Report generation ! Standard XML query language ! Examples " XML-based data repository
  • 53. Data manipulation ! Many tools available for XML data manipulation ! Examples " Datafrom relational data converted to XML for easy manipulation
  • 54. Business logic representation ! XML tag can be anything ! It could be business logic or action ! Basis for XML-RPC movement ! Examples " “Withdraw $40 from my savings account” can be represented as XML
  • 55. Developer Activities on XML ! Creating XML document " Mostlyby text-editor or WISWIG tools " Programmatically ! Sending and Receiving XML document " Over any kind of transports # HTTP, SMTP, FTP, ... " Through programming APIs # JMS API, JAXM API # Socket APIs
  • 56. Developer Activities on XML ! Parsing XML document " Convert XML document into programming objects ! Manipulating programming objects " Application specific way " Examples # Display # Save them in database # Create new XML document
  • 57. Developer Activities on XML ! “XML document” can be " URI # File # URL " InputStream " SAXInput source " DOM tree
  • 58. Java™ Technology + XML: Symbiotic Relationship ! It’s a “Match made in Heaven” " Javaenables Portable Code " XML enables Portable Data ! XML tools and programs are mostly written in the Java programming language ! Better API support for Java platform than any other language
  • 59. Standardization Activities ! XML core standards " ThroughStandard organisations " W3C, OASIS, UN/CEFACT ! XML domain-specific standards " Through domain-specific standard organizations ! Java technology-based APIs for XML " Through JCP (Java Community Process) ! E-commerce standards
  • 60. XML Standards ! XML, DTD ! XSL, XSLT, XPath ! DOM, SAX ! W3C XML Schema ! Namespaces ! XLink, XPointer ! XHTML ! XQL
  • 61. Domain-specific XML Standards ! Chemical - CML ! 2D Graphics - SVG ! Math - MathML ! Music - MusicML ! Travel -OTA ! Many more ... " http://xml.org/xmlorg_registry/index.shtml
  • 62. Core Java APIs for XML ! JAXP: Parsing and Transforming ! JAXB: High-level XML programming ! JAXM: Messaging ! JAXR: Registry APIs ! JDOM: Java-optimized Parsing
  • 63. E-Commerce Standards ! ebXML ! UDDI (Universal Description, Discovery and Integration) ! SOAP (Simple Open Access Protocol) ! W3C XP (XML Protocol) ! WSDL (Web Services Definition Lang.) ! S2ML (Security Services ML) ! XAML (Transaction Authority ML)
  • 64. Summary ! XML is the next Big thing ! Is it being hype’d? Maybe yes, then again, it deserves the hype.
  • 65. Key Future Predictions in summer in 1999 by Jon Bosak ! XML will be the basis for future Web standards ! XML will become universal format for data exchange in heterogenous environments ! XML will become the basis for international publishing ! XML and XSL will replace all existing word processing and desktop publishing formats
  • 66. Homework of Lecture 1 ! Download AMAYA browser and try to display a couple of MathML data (See the class website for details) " http://www.w3.org/Amaya/ ! No need for submission