XP Introducing XML XPbarney.gonzaga.edu/~chen/busn490/XML/chap_ppt/XML_ch01.pdf · not solve data...

12
1 1 XP 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 2 XP Introducing 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 XP Origin of XML XML SGML GML 4 XP Introducing 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 XP Differences to HTML Sto computer 6 XP Differences to HTML (Parser)

Transcript of XP Introducing XML XPbarney.gonzaga.edu/~chen/busn490/XML/chap_ppt/XML_ch01.pdf · not solve data...

1

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/~chen2

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)

2

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 code5. 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 tool6. 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

structure10

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 emerged8. 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 documents10. 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

3

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

4

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:1. Names consist of one or more nonspace

characters. If the name is a single character, it must be a letter

2. Names can only begin with a letter or underscore.Beyond the first character, any character can be used, including Unicode characters

3. Element and attribute names are case- sensitive(this one trips up a lot of people)

Well-formedness Constraintsfor 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>

Why not?

5

25

XPMore examples

Not Well Formed<CREW>

Sydney Pollak</crew>

<crew>Sydney Pollak

</Crew>

Well Formed

<crew>Sydney Pollak

</crew>

Why not?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 valueenclosed 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>

Why not?

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.

6

31

XPElements and Attributes

• All elements must be nested within a single document or root element. There can be only oneroot 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 FileThis 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

7

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

XPWell-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

] ]>

8

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.

9

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

XPJazz3.xml

52

XPJazz3.xml

53

XPHomework

• Using notepad create the following three files stored in the folder of \XML and save them in the floppy drive (or other source that you can make it work and show me)

• Test each file and make sure each demonstrate the required features

• 1. Jazz- 1.xml• 2. Jazz- 2.xml• 3. Jazz- 3.xml

54

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.

10

55

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.

56

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

57

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.

58

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.

59

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.

60

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

11

61

XPThe JW.css Style Sheet

This figure shows the cascading style sheet stored in the JW.css file

62

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

63

XP

64

XPThe Jazz.xml Document Formatted with the

JW.css Style SheetThis figure shows

the formatted Jazz.XML file

65

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}

66

XPLast Run

• Jazz- 4B.xml

• JW- B.css

<?xml-stylesheet type="text/css" href="JW-B.css" ?>

12

67

XPSummary

• Separate content from presentation style.• Data communication between applications.

Style 1

Style 2

Style N

Presentation 1

Presentation 1

Presentation N

XMLFILE … …

68

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