1 / 35

XML Overview

XML Overview. Introduction to XML for the MultiValue Developer. Why are we here?. XML is the post-SQL database environment. MultiValue developers are starting to integrate to data in this format To understand the document structure of XML files To know how XML is used

thina
Download Presentation

XML Overview

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 Overview Introduction to XML for the MultiValue Developer

  2. Why are we here? • XML is the post-SQL database environment. • MultiValue developers are starting to integrate to data in this format • To understand the document structure of XML files • To know how XML is used • To see how it relates to MultiValue systems. • To add more buzzwords on your resume

  3. eris • Database to Web integration since 1992 • Customers with up to $2 Billion in annual revenue • Clients throughout North America • Education, Medical, Manufacturing, EDI, Distribution, Sales Force Automation, Help Desk, and Reporting Systems • e-Commerce and database product development, e.g., WebWizard, DataReady, mv://e-Store • Los Angeles and Chicago offices

  4. Agenda • About eris • What is XML? • How is XML used? • Integration with MultiValue • Syntax • Advanced Issues

  5. What is XML? XML is a cross-platform,software and hardware independent toolfor transmitting information

  6. Main XML Features • Like HTML, it's just ordinary ASCII text • It’s an Extensible Markup Language • Resembles HTML, but does not replace HTML • Delivers or describes data • It doesn't PERFORM anything • Unlike HTML, there are no standard tags. • Advanced XML users deploy Document Type Definition (DTD) and/or XML Schema • DTD and Schema resemble MultiValue dictionaries • Can be viewed using browsers

  7. How is XML used? • For web developers, it separates web pages from the data in the web pages • For interdependent companies, it allows data to be exchanged between incompatible databases • For interdependent software programs, it allows data to be exchanged between software packages • For interdependent companies on the internet, it's the primary language for B2B

  8. Other uses for XML • XML can be used as a database directly • XML has been extended into WAP and WML

  9. Syntax • Requirements • Elements • Attributes • Validation

  10. Example XML Document <?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>Monica</to> <from>Gus</from> <subject>See you soon</subject> <delivery date="sent">September 21, 2004</delivery> <body>Do you want to grab a drink after the Spectrum show?</body> </note>

  11. This line is a given <?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>Monica</to> <from>Gus</from> <subject>See you soon</subject> <delivery date="sent">September 21, 2004</delivery> <body>Do you want to grab a drink after the Spectrum show?</body> </note>

  12. A new element called “note” <?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>Monica</to> <from>Gus</from> <subject>See you soon</subject> <delivery date="sent">September 21, 2004</delivery> <body>Do you want to grab a drink after the Spectrum show?</body> </note>

  13. 5 elements that belong to note <?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>Monica</to> <from>Mel</from> <subject>See you soon</subject> <delivery date="sent">September 21, 2004</delivery> <body>Do you want to grab a drink after the Spectrum show?</body> </note>

  14. The end of the note tag <?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>Monica</to> <from>Gus</from> <subject>See you soon</subject> <delivery date="sent">September 21, 2004</delivery> <body>Do you want to grab a drink after the Spectrum show?</body> </note>

  15. Requirements • Unlike HTML, closing tags are required • Unlike HTML, the tags are case sensitive • Unlike HTML, the tags can nest but must nest themselves correctly • Unlike HTML, space characters are not ignored

  16. More Requirements • XML documents require a root element • Descriptive attributes need quotation marks (double or single) • <!-- Comments are similar to HTML -->

  17. Elements • Programs that deal with XML pay attention to only the element tags they care about • For example, programs that pay attention to just "to" and "body" can ignore "from", "subject" and "delivery"

  18. Element Relationships • Parent • Child • Siblings

  19. Another Example <?xml version="1.0" encoding="ISO-8859-1"?> <spectrum> <location id="UK">London <when day="23" month="09" year="2004"></when> </location> <location id="AU">Sydney <when day="13" month="10" year="2004"></when> </location> <talk>Introduction to XML <topic>What is XML</topic> <topic>XML Syntax</topic> </talk> <talk>Introduction to SQL <topic>SQL versus Multi-Value</topic> <topic>Popular SQL databases</topic> </talk> </spectrum>

  20. The Element jargon continues • element content - <spectrum> • simple or text content - <topic> • mixed content - <talk> and <location> • empty content - <when> • attributes - month and year • values for the attributes - "09", "10" and "2004"

  21. Element – Naming Rules • Names can contain letters, numbers, and other characters (except spaces and colons) • Names must begin with a letter • Names must not begin with the letters "XML" in any case combination • Suggestions • Don't use periods or hyphens • Keep them simple but descriptive • Try to use names similar to how the data • Perhaps use underscores instead of periods

  22. Attributes [ <when day="23" month="09" year="2004"></when> ]

  23. Elements versus Attributes [ <when day="23" month="09" year="2004"></when> ] [ <when> <day>23</day> <month>09</month> <year>2004</year> </when> ]

  24. Why Avoid Attributes? • Might be obvious for MultiValue developers • They cannot contain multiple values (child elements can) • They are not easily expandable (for future changes) • They cannot nest • Document Type Definition have a harder time validating attributes

  25. Imagine the following bad attribute situation <?xml version="1.0" encoding="ISO-8859-1"?> <note to="Monica" from=“Mel" subject="See you soon" delivery_day="23" delivery_month="09" delivery_year="2004" body="Do you want to grab a drink after the Spectrum show?" </note>

  26. When attributes make sense:Describing the element, not the data <location id="UK">London <when day="23" month="09" year="2004"></when> </location> <location id="AU">Sydney <when day="13" month="10" year="2004"></when> </location>

  27. Advanced Issue: Validation • Valid documents have rules that they can be compared against • Documents that have any errors whatsoever are supposed to be rejected

  28. Example for validation <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE note SYSTEM "note.dtd"> <note to="Monica" from=“Mel" subject="See you soon" delivery_day="23" delivery_month="09" delivery_year="2004" body="Do you want to grab a drink after the Spectrum show?" </note>

  29. Two types of advanced XML design • Document Type Definition (DTD) allows you to create a validation • Internal Definition • External Definition • Schemas allow you to create validations and database structures

  30. DTD Syntax • Internal<!DOCTYPE root-element [element-declarations]> • External<!DOCTYPE root-element SYSTEM "filename">

  31. Example of an Internal DTD <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE note [ <!ELEMENT note (to,from,subject,delivery,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT subject (#PCDATA)> <!ELEMENT delivery (#PCDATA)> <!ELEMENT body (#PCDATA)> ]> <note> <to>Monica</to> <from>Mel</from> <subject>See you soon</subject> <delivery date="sent">September 21, 2004</delivery> <body>Do you want to grab a drink after the Spectrum show?</body> </note>

  32. Example of an External DTD <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE note SYSTEM "http://somewhere.com/note.dtd" > <note> <to>Monica</to> <from>Mel</from> <subject>See you soon</subject> <delivery date="sent">September 21, 2004</delivery> <body>Do you want to grab a drink after the Spectrum show?</body> </note>

  33. Sample Product Catalog (Page 1 of 2) <!DOCTYPE CATALOG [ <!ENTITY AUTHOR "John Doe"> <!ENTITY COMPANY "JD Power Tools, Inc."> <!ENTITY EMAIL "jd@jd-tools.com"> <!ELEMENT CATALOG (PRODUCT+)> <!ELEMENT NOTES (#PCDATA)> <!ELEMENT PRODUCT (SPECIFICATIONS+,OPTIONS?,PRICE+,NOTES?)> <!ATTLIST PRODUCT NAME CDATA #IMPLIED CATEGORY (HandTool|Table|Shop-Professional) "HandTool" PARTNUM CDATA #IMPLIED PLANT (Pittsburgh|Milwaukee|Chicago) "Chicago" INVENTORY (InStock|Backordered|Discontinued) "InStock">

  34. Sample Product Catalog (Page 2 of 2) <!ELEMENT SPECIFICATIONS (#PCDATA)> <!ATTLIST SPECIFICATIONS WEIGHT CDATA #IMPLIED POWER CDATA #IMPLIED> <!ELEMENT OPTIONS (#PCDATA)> <!ATTLIST OPTIONS FINISH (Metal|Polished|Matte) "Matte" ADAPTER (Included|Optional|NotApplicable) "Included" CASE (HardShell|Soft|NotApplicable) "HardShell"> <!ELEMENT PRICE (#PCDATA)> <!ATTLIST PRICE MSRP CDATA #IMPLIED WHOLESALE CDATA #IMPLIED STREET CDATA #IMPLIED SHIPPING CDATA #IMPLIED> ]>

  35. Contact us Main Office: 199 S. Los Robles Ave, Suite 860 Pasadena, CA 91101 Tel: (626) 535-9658 Fax: (626) 628-3229 www.eriscorp.com info @ eriscorp.com

More Related