eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA XML Overview Introduction to XML for the MultiValue Developer
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA 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
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA 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
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA Agenda About eris What is XML? How is XML used? Integration with MultiValue Syntax Advanced Issues
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA What is XML? XML is a cross-platform, software and hardware independent tool for transmitting information
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA 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
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA 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
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA Other uses for XML XML can be used as a database directly XML has been extended into WAP and WML
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA Syntax Requirements Elements Attributes Validation
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA Example XML Document Monica Gus See you soon September 21, 2004 Do you want to grab a drink after the Spectrum show?
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA This line is a given Monica Gus See you soon September 21, 2004 Do you want to grab a drink after the Spectrum show?
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA A new element called “note” Monica Gus See you soon September 21, 2004 Do you want to grab a drink after the Spectrum show?
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA elements that belong to note Monica Mel See you soon September 21, 2004 Do you want to grab a drink after the Spectrum show?
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA The end of the note tag Monica Gus See you soon September 21, 2004 Do you want to grab a drink after the Spectrum show?
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA 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
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA More Requirements XML documents require a root element Descriptive attributes need quotation marks (double or single)
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA 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"
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA Element Relationships Parent Child Siblings
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA London Sydney Introduction to XML What is XML XML Syntax Introduction to SQL SQL versus Multi-Value Popular SQL databases Another Example
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA The Element jargon continues element content - simple or text content - mixed content - and empty content - attributes - month and year values for the attributes - "09", "10" and "2004"
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA 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
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA Attributes [ ]
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA Elements versus Attributes [ ] [ ]
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA 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
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA Imagine the following bad attribute situation <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?"
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA When attributes make sense: Describing the element, not the data London Sydney
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA Advanced Issue: Validation Valid documents have rules that they can be compared against Documents that have any errors whatsoever are supposed to be rejected
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA Example for validation <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?"
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA 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
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA DTD Syntax Internal External
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA Example of an Internal DTD <!DOCTYPE note [ ]> Monica Mel See you soon September 21, 2004 Do you want to grab a drink after the Spectrum show?
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA Example of an External DTD <!DOCTYPE note SYSTEM " > Monica Mel See you soon September 21, 2004 Do you want to grab a drink after the Spectrum show?
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA Sample Product Catalog (Page 1 of 2) <!DOCTYPE CATALOG [ <!ATTLIST PRODUCT NAME CDATA #IMPLIED CATEGORY (HandTool|Table|Shop-Professional) "HandTool" PARTNUM CDATA #IMPLIED PLANT (Pittsburgh|Milwaukee|Chicago) "Chicago" INVENTORY (InStock|Backordered|Discontinued) "InStock">
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA Sample Product Catalog (Page 2 of 2) <!ATTLIST SPECIFICATIONS WEIGHT CDATA #IMPLIED POWER CDATA #IMPLIED> <!ATTLIST OPTIONS FINISH (Metal|Polished|Matte) "Matte" ADAPTER (Included|Optional|NotApplicable) "Included" CASE (HardShell|Soft|NotApplicable) "HardShell"> <!ATTLIST PRICE MSRP CDATA #IMPLIED WHOLESALE CDATA #IMPLIED STREET CDATA #IMPLIED SHIPPING CDATA #IMPLIED> ]>
eagle rock information systems 199 So Los Robles, Suite 860, Pasadena, CA USA Contact us Main Office:199 S. Los Robles Ave, Suite 860 Pasadena, CA Tel: (626) Fax: (626) eriscorp.com