new perspectives on xml tutorial 1 – creating an xml document
DESCRIPTION
New Perspectives on XML Tutorial 1 – Creating an XML Document. Jason C. H. Chen, Ph.D. Professor of MIS School of Business Administration Gonzaga University Spokane, WA 99223 USA [email protected] http://barney.gonzaga.edu/~chen. Introducing XML. - PowerPoint PPT PresentationTRANSCRIPT
1
XP
New Perspectives on XMLTutorial 1 – Creating an XML
Document
Jason C. H. Chen, Ph.D.Professor of MIS
School of Business AdministrationGonzaga University
Spokane, WA 99223 [email protected]
http://barney.gonzaga.edu/~chen
2
XPIntroducing XML
• XML stands for Extensible Markup Language. A markup language specifies the structure and content of a document.
• Because it is extensible, XML can be used to create a wide variety of document types.
3
XPOrigin of XML
XML
SGML
GML
4
XPIntroducing XML
• XML is a subset of a the Standard Generalized Markup Language (SGML) which was introduced in the 1980s. SGML is very complex and can be costly.
• These reasons led to the creation of Hypertext Markup Language (HTML), a more easily used markup language. XML can be seen as sitting between SGML and HTML – easier to learn than SGML, but more robust than HTML.
5
XPDifferences to HTML
Sto computer
6
XPDifferences to HTML
(Parser)
7
XPThe Limits of HTML• HTML was designed for formatting text on a Web page. It
was not designed for dealing with the content of a Web page. Additional features have been added to HTML, but they do not solve data description or cataloging issues in an HTML document.
• Because HTML is not extensible, it cannot be modified to meet specific needs. Browser developers have added features making HTML more robust, but this has resulted in a confusing mix of different HTML standards.
• HTML cannot be applied consistently. Different browsers require different standards making the final document appear differently on one browser compared with another.
8
XPThe 10 Primary XML Design Goals
1. XML must be easily usable over the Internet• XML was developed with the Web in mind.
• XML supports major Web protocols such as HTTP and MIME
2. XML must support a wide variety of applications• XML can be used for other applications such as
databases, financial transactions, and voice mail
3. XML must be compatible with SGML• because XML is a subset of SGML, many software tools
developed for SGML cab be adapted to XML
9
XPThe 10 Primary XML Design Goals
4. It must be easy to write programs that process XML documents
• It is easy for nonprogrammers to write XML code
5. The number of optional features in XML must be kept small
• SGML supports a wide range of optional features and can be large and cumbersome.
• XML removed this aspect of SGML making it a more suitable Web-development tool
6. XML documents should be clear and easily understood
• Like HTML, XML documents are text files.• The contents of an XML document follow a tree-like
structure
10
XPThe 10 Primary XML Design Goals
7. The XML design should be prepared quickly• If the Web community adopted XML, it was going to
be a viable alternative to HTML• The W3C had to quickly settle on a design for XML
before competing standards emerged
8. The design of XML must be exact and concise• XML can be easily processed by computer programs
making it easy for programmers to develop programs
9. XML documents must be easy to create• for XML to be practical, XML documents must be as
easy to create as HTML documents
10. Terseness in XML markup is of minimal importance
11
XPXML Parsers
• An 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. It is this rigidity built into XML that ensures 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.
12
XPThe Document Creation Process
This figure shows the document creation process
13
XPWorking with XML Applications
• XML has the ability to create markup languages, called XML applications. Many have been developed to work with specific types of documents.
• Each application uses a defined set of tag names called a vocabulary. This makes it easier to exchange information between different organizations and computer applications.
14
XPXML ApplicationsThis figure shows some XML applications
15
XPThe Structure of an XML Document
• XML documents consist of three parts– The prolog– The document body– The epilog
• The prolog is optional and provides information about the document itself
• The document body contains the document’s content in a hierarchical tree structure.
• The epilog is also optional and contains any final comments or processing instructions.
16
XPThe Structure of an XML Document:
Creating the Prolog
• The prolog consists of four parts in the following order:– XML declaration– Miscellaneous statements or comments– Document type declaration– Miscellaneous statements or comments
• This order has to be followed or the parser will generate an error message.
• None of these four parts is required, but it is good form to include them.
17
XPWell-Formed and Valid XML
Documents
• There are two categories of XML documents– Well-formed
– Valid
• An 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 (Document Type Definition) or schema attached to the document.
18
XPWell-formedness Constraints
• Follow the syntax rules setup by W3C – XML 1.0 Specification (http://www.w3.org/TR/REC-xml)
• The first line must be a declaration– <? .. ?> Prolog declaration
19
XPWell-formedness constraints
for data document
• A unique Root Element must contain all the other elements
• Tags must use strict nesting
– Each element nests inside any enclosing elements properly
– Tags can't overlap
20
XP
• Naming conventions:– Names consist of one or more nonspace
characters. If the name is a single character, it must be a letter
– Names can only begin with a letter or underscore. Beyond the first character, any character can be used, including Unicode characters
– Element and attribute names are case-sensitive (this one trips up a lot of people)
Well-formedness Constraints for data document
21
XPThe Structure of an XML Document: The
XML Declaration
• The XML declaration is always the first line of code in an XML document. It tells the processor what follows is written using XML. It can also provide any information about how the parser should interpret the code.
• The complete syntax is: <?xml version=“version number” encoding=“encoding type”
standalone=“yes | no” ?>
• A sample declaration might look like this: <?xml version=“1.0” encoding=“UTF-8”
standalone=“yes” ?>
22
XPXML Declaration
xml-stylesheet type=“text/xsl” href=“my.xsl”
Processing Instructions
23
XPExamples
Not Well Formed
<title>Tootsie</title>
<title>Jurassic Park</title>
<title>
Mission Impossible
</title>
Well Formed <videocollection>
<title>Tootsie</title>
<title>Jurassic Park</title>
<title>
Mission Impossible
</title>
</videocollection>Why not?
24
XPMore examples
Well Formed
<videocollection><title>Tootsie</title><title>Jurassic Park</title><title>
Mission Impossible
</title><title>Tootsie</title>
</videocollection>
Not Well Formed
<videocollection>
<title>
Tootsie
</videocollection>
</title>
25
XPMore examples
Not Well Formed
<CREW>Sydney Pollak
</crew>
<crew> Sydney Pollak</Crew>
Well Formed
<crew>Sydney Pollak
</crew>
26
XPWell-formedness Constraints
for data document
• Start tag with a mapping end tag
– Also allow EmptyElement
– e.g., <EmptyElement attribute=“ ” />
– <Cover_image Source=“leaves.gif” />
• Attributes are only allowed a single value enclosed in quotes, in start tag
– e.g., <Weight unit = ‘lb’>165</Weight>
27
XPMore examples
Well Formed
<title id="1">Tootsie
</title>
Not Well Formed
<title id="1>Tootsie
</title><title id=1>
Tootsie</title>
28
XPThe Structure of an XML Document:
Inserting Comments
• Comments or miscellaneous statements go after the declaration. Comments may appear anywhere after the declaration.
• The syntax for comments is: <!- - comment text - ->
• This is the same syntax for HTML comments
29
XPElements and Attributes
• Elements are the basic building blocks of XML files.
• XML supports two types of elements:– Closed elements, and – empty elements
• A closed element, has the following syntax: <element_name>Content</element_name>
• Example: <Artist>Miles Davis</Artist>
30
XPElements and Attributes
• Element names are case sensitive• Elements can be nested, as follows:
<CD>Kind of Blue<TRACK>So What ((:22)</TRACK>
<TRACK>Blue in Green (5:37)</TRACK>
</CD>
• Nested elements are called child elements.• Elements must be nested correctly. Child elements
must be enclosed within their parent elements.
31
XPElements and Attributes
• All elements must be nested within a single document or root element. There can be only one root element.
• An open or empty element is an element that contains no content. They can be used to mark sections of the document for the XML parser.
• An attribute is a feature or characteristic of an element. Attributes are text strings and must be placed in single or double quotes. The syntax is:
<element_name attribute=“value”> … </element_name>
32
XPElements and Attributes: Adding elements to
the Jazz.XML File
This figure shows the revised document
prolog
document elements{
33
XPXML Editors
This figure shows available XML editors
34
XPYour turn …
• Type in the code using Notepad• Click File then “Save As”• Change “Save as type“ from “*.txt” to “All Files”• Type in Jazz-1.xml on the “File name” prompt
See next slide
35
XPUse of Notepad as xml editor
36
XP
37
XPCharacter References
• Special characters, such as the symbol for the British pound, can be inserted into your XML document by using a character reference. The syntax is:
&#character;
• Character is a entity reference number or name from the ISO/IEC character set.
• Character references in XML are the same as in HTML.
38
XPCharacter References
This figure shows commonly used character reference numbers
39
XPCharacter References
This figure shows the revised Jazz.XML file
character reference
40
XPYour turn …
• Modify Jazz-1.xml by adding Character References
• Save the new version as Jazz-2.xml
41
XP
42
XP Well-formedness constraints: Character Data
Sections - CDATA
• A CDATA section is a large block of text the XML processor will interpret only as text.
• Used to include characters that could be confused with markup delimiters, such as “<“ or “>”
• to be displayed as they are within the inner [ ]• The syntax to create a CDATA section is:
<! [CDATA [Text Block
] ]>
43
XPCDATA Sections: An Example
44
XPCDATA Sections
• In this example, a CDATA section stores several HTML tags within an element named HTMLCODE:
<HTMLCODE> <![CDATA[ <h1>The Jazz Warehouse</h1> <h2>Your Online Store for Jazz Music</h2> ] ]> </HTMLCODE>
45
XPCDATA Sections
CDATA section
This figure shows the revised Jazz.xml file
46
XPYour turn …
• Modify Jazz-2.xml by creating CDATA section• Save the version as Jazz-3.xml
47
XP
48
XPDisplaying an XML Document in a Web
Browser
• XML documents can be opened in Internet Explorer or in Netscape Navigator.
• If there are no syntax errors. IE will display the document’s contents in an expandable/collapsible outline format including all markup tags.
• Netscape will display the contents but neither the tags nor the nested elements.
49
XPDisplaying an XML Document in a Web
Browser
• To display the Jazz.xml file in a Web browser:
1. Start the browser and open the Jazz.xml file located in the Tutorial.01/Tutorial folder of your Data Disk.
2. Click the minus (-) symbols.
3. Click the resulting plus (+) symbols.
50
XPDisplaying an XML Document in a Web
BrowserThis figure shows the revised Jazz.XML file as seen in Internet
Explorer 6.0 and Netscape 6.2
Netscape 7.2 can display the same result as I.E.
51
XP
52
XP
53
XPLinking to a Style Sheet
• The easiest way to turn an XML document into a formatted document is to link the document to a style sheet.
• The XML document and the style sheet are combined by the XML processor to display a single formatted document.
54
XPLinking to a Style Sheet
There are two main style sheet languages used with XML:– Cascading Style Sheets (CSS) and Extensible Style
Sheets (XSL)
• CSS is supported by most browsers and is relatively easy to learn and use.
• XSL is more powerful, but not as easy to use as CSS.
55
XPLinking to a Style Sheet
• There are some important benefits to using style sheets:– By separating content from format, you can concentrate
on the appearance of the document
– Different style sheets can be applied to the same XML document
– Any style sheet changes will be automatically reflected in any Web page based upon the style sheet
56
XPApplying a Style to an Element
• To apply a style sheet to a document, use the following syntax:
selector {attribute1:value1; attribute2:value2; …}
• selector is an element (or set of elements) from the XML document.
• attribute and value are the style attributes and attribute values to be applied to the document.
57
XPApplying a Style to an Element
• For example:
ARTIST {color:red; font-weight:bold}
• will display the text of the ARTIST element in a red boldface type.
58
XPCreating Processing Instructions
• The link from the XML document to a style sheet is created using a processing statement.
• A processing instruction is a command that gives instructions to the XML parser.
• For example:
<?xml-stylesheet type=“style” href=“sheet” ?>
• Style is the type of style sheet to access and sheet is the name and location of the style sheet.
59
XPLinking to the JW.css Style Sheet
This figure shows how to link the JW.css style sheet to the Jazz.xml file
processing instruction to access the JW.css style
sheet
60
XPThe JW.css Style Sheet
This figure shows the cascading style sheet stored in the JW.css file
61
XPFinal Turn …
Part I.• Modify Jazz-3.xml by creating Processing
Instruction• Add style sheet
<?xml-stylesheet type="text/css" href="JW.css" ?>• Save the final version as Jazz-4.xml Part II.• Create the JW.css style sheet (How?)• Part III.• Open the Jazz-4.xml from the Web Browser
62
XP
63
XPThe Jazz.xml Document Formatted with the
JW.css Style Sheet
This figure shows the formatted Jazz.XML file
64
XPAnother Run
• Jazz-4A.xml
• JW-A.css<?xml-stylesheet type="text/css" href="JW-A.css" ?>
ARTIST {display:block; font-size: 12pt; color: gold; font-style:italic; font-family:Times New Roman, Serif; margin-left: 12pt}
TRACK {display:list-item; font-size: 12pt; color:black; list-style-type: disc; font-family: Aria; margin-left: 25pt}
65
XPLast Run
• Jazz-4B.xml
• JW-B.css<?xml-stylesheet type="text/css" href="JW-B.css" ?>
66
XPSummary
• Separate content from presentation style.
• Data communication between applications.
Style 1
Style 2
Style N
Presentation 1
Presentation 1
Presentation N
XMLFILE … …
67
XP
• To be well formed– the first requirement for a XML document
• Conditions– Only one root element– Elements are well nested and mapped– Naming conventions– Use of Character Data Section– Use of Comments
Summary