Introduction to XML: www.w3schools.com Yong Choi CSU Bakersfield.
Published byModified over 4 years ago
Presentation on theme: "Introduction to XML: www.w3schools.com Yong Choi CSU Bakersfield."— Presentation transcript:
1 Introduction to XML: www.w3schools.com Yong ChoiCSUBakersfield
2 What is XML? XML stands for EXtensible Markup Language XML is a markup language much like HTMLXML was designed to describe dataXML will be the most common tool for all data manipulation and data transmission.XML tags are not predefined in XML. You must define your own tagsXML uses a Document Type Definition (DTD) or an XML Schema to describe the dataXML with a DTD or XML Schema is designed to be self-descriptive
3 What is DTD?It defines the document structure with a list of legal elements.A DTD can be declared inline in your XML document, or as an external reference.Why use a DTD?With DTD, each of your XML files can carry a description of its own format with it.With a DTD, independent groups of people can agree to use a common DTD for interchanging data.Your application can use a standard DTD to verify that the data you receive from the outside world is valid.You can also use a DTD to verify your own data.
4 The main difference between XML and HTML XML is not a replacement for HTML.XML and HTML were designed with different goals:XML was designed to describe data and to focus on what data is.HTML was designed to display data and to focus on how data looks.HTML is about displaying information, while XML is about describing information.
5 Example: A note to Tove from Jani <to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>Just pure information wrapped in XML tags
6 XML is free and extensible XML tags are not predefined. You must "invent" your own tags.The tags used to mark up HTML documents and the structure of HTML documents are predefined. The author of HTML documents can only use tags that are defined in the HTML standard (like <p>, <h1>, etc.).XML allows the author to define his own tags and his own document structure.The tags in the example above (like <to> and <from>) are not defined in any XML standard. These tags are "invented" by the author of the XML document.
7 XML is a complement to HTML XML is not a replacement for HTML.It is important to understand that XML is not a replacement for HTML. In future Web development it is most likely that XML will be used to describe the data, while HTML will be used to format and display the same data.Best description of XML:XML is a cross-platform, software and hardware independent tool for transmitting information.
8 XML can Separate Data from HTML With XML, your data is stored outside your HTML.When HTML is used to display data, the data is stored inside your HTML. With XML, data can be stored in separate XML files. This way you can concentrate on using HTML for data layout and display, and be sure that changes in the underlying data will not require any changes to your HTML.XML data can also be stored inside HTML pages as "Data Islands". You can still concentrate on using HTML only for formatting and displaying the data.
9 XML is used to Exchange Data With XML, data can be exchanged between incompatible systems.In the real world, computer systems and databases contain data in incompatible formats. One of the most time-consuming challenges for developers has been to exchange data between such systems over the Internet.Converting the data to XML can greatly reduce this complexity and create data that can be read by many different types of applications.Especially in B2B (financial institutions)
10 An example XML document <?xml version="1.0" encoding="ISO "?><note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>
11 First Line The XML declaration Defines the XML version and the character encoding used in the document.Conforms to the 1.0 specification of XMLUses the ISO (Latin-1/West European) character set.
12 Second and other linesThe second line describes the root element of the document (like it was saying: "this document is a note"Lines from 3 to 6 describe 4 child elements of the rootto, from, heading, and bodyThe last line defines the end of the root element
14 XML ParsersAn XML processor (also called XML parser) evaluates the document to make sure it conforms to all XML specifications for structure and syntax.XML parsers are strict and ensure XML code accepted by the parser will work the same everywhere.Microsoft’s parser is called MSXML and is built directly in IE versions 5.0 and above.Netscape developed its own parser, called Mozilla, which is built into version 6.0 and above.
15 Well-Formed and Valid XML Documents There are two categories of XML documentsWell-formedValidAn XML document is well-formed if it contains no syntax errors and fulfills all of the specifications for XML code as defined by the W3C.An XML document is valid if it is well-formed and also satisfies the rules laid out in the DTD or schema attached to the document.
16 The Document Creation Process This figure shows the document creation process
18 XML syntax vs. HTML syntax With XML, it is illegal to omit the closing tag.Paragraph tag <P> in HTMLXML tags are case sensitiveUnlike HTML, XML tags are case sensitive<Message>This is incorrect</message><message>This is correct</message>All XML elements must be properly nestedImproper nesting of tags makes no sense to XML.In HTML some elements can be improperly nested<b><i>This text is bold and italic</i></b>
19 XML syntax vs. HTML syntax All XML documents must have a root elementAll XML documents must contain a single tag pair to define a root element.All other elements must be within this root element.All elements can have sub elements (child elements). Sub elements must be correctly nested within their parent element:<root><child><subchild>.....</subchild></child></root>
20 XML syntax vs. HTML syntax Attribute values must always be quotedWith XML, it is illegal to omit quotation marks around attribute values. <?xml version="1.0" encoding="ISO "?><note date="12/11/2002"><to>Tove</to><from>Jani</from></note>
21 XML syntax vs. HTML syntax With XML, white space is preservedWith XML, the white space in your document is not truncated.Using XMLHello my name is Tove,Using HTMLHello my name is Tove,HTML strips off the white space.The syntax for writing comments in XML is similar to that of HTML.<!-- This is a comment -->
22 XML Elements XML Elements are Extensible XML documents can be extended to carry more information.XML Elements have RelationshipsElements are related as parents and children.Elements have ContentElements can have different content types.
23 Extensible Extracted output by an application <note> <to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>Extracted output by an applicationMESSAGETo: ToveFrom: JaniDon't forget me this weekend!
24 Extensible<note><date> </date> // new added information<to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>Should the application break or crash because we added new information?
25 Relationships A description of a book My First XML Introduction to XML What is HTMLWhat is XMLXML SyntaxElements must have a closing tagElements must be properly nested
26 Relationships A description of the book in XML <book> <title>My First XML</title><prod id="33-657" media="paper"></prod><chapter>Introduction to XML<para>What is HTML</para><para>What is XML</para></chapter><chapter>XML Syntax<para>Elements must have a closing tag</para><para>Elements must be properly nested</para></book>
27 Relationships Book is the root element. Title, prod, and chapter are child elements of book.Book is the parent element of title, prod, and chapter.Title, prod, and chapter are siblings (or sister elements) because they have the same parent.
28 Content In previous example, Only the prod element has attributes. book has element content, because it contains other elements.Chapter has mixed content because it contains both text and other elements.Para has simple content (or text content) because it contains only text.Prod has empty content, because it carries no information.Only the prod element has attributes.The attribute named id has the value "33-657".The attribute named media has the value "paper".
29 Element NamingNames can contain letters, numbers, and other charactersNames must not start with a number or punctuation characterNames must not start with the letters xml (or XML or Xml ..)Names cannot contain spacesAny name can be used, no words are reserved, but the idea is to make names descriptive. Names with an underscore separator are nice.
30 XML Attributes XML elements can have attributes. From HTML: <IMG SRC="computer.gif">. The SRC attribute provides additional information about the IMG element.<file type="gif">computer.gif</file>Attribute values must always be enclosed in quoteseither single or double quotes can be usedIf the attribute value itself contains double quotes, it is necessary to use single quotes or vice versa.
31 Use of Elements vs. Attributes Data can be stored in child elements or in attributes both below examples provide same information.Sex is an attribute<person sex="female"><firstname>Anna</firstname><lastname>Smith</lastname></person>Sex is an element<person><sex>female</sex>
32 Problems using Attributes attributes cannot contain multiple values (child elements can)attributes are not easily expandable (for future changes)attributes cannot describe structures (child elements can)attributes are more difficult to manipulate by program codeattribute values are not easy to test against a DTD<note day="12" month="11" year="2002" to="Tove" from="Jani" heading="Reminder" body="Don't forget me this weekend!"> </note>
33 Linking to a Style Sheet There are two main style sheet languages used with XML:Cascading Style Sheets (CSS)Extensible Style Sheets (XSL)
34 CSSBecause HTML uses predefined tags, the meanings of these tags are well understood:The <p> element defines a paragraph and the <h1> element defines a heading; and the browser knows how to display them.Adding styles to HTML elements with CSS is simple.Telling a browser to display each element in a special font or color, is easy to do and easy for a browser to understand.
35 XSLBecause XML does not use predefined tags (we can use any tags we want), the meanings of these tags are not understood:<table> could mean an HTML table, a piece of furniture, or something else. A browser does not know how to display an XML document.Therefore there must be something in addition to the XML document that describes how the document should be displayed; and that is XSL!
36 XSL XSL is the preferred style sheet language of XML. XSL (the eXtensible Stylesheet Language) is far more sophisticated than CSS.Below is a fraction of the XML file, with an added XSL reference.<?xml-stylesheet type="text/xsl" href="simple.xsl"?>