24
Introduction to XML ISYS 573

Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

Introduction to XML

ISYS 573

Page 2: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

HTML vs XML

• HTML is a language specifically designed for displaying information in browser. It doesn’t carry information about the structure of the content held within its page.

• XML (Extensible MarkUp Language) is a language used to represent data in a form that does not rely on any particular proprietary technology. It uses user-defined tags to give meaningful names to data elements. With XML, we separate the data content from the data presentation.

Page 3: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

HTML

<body>

<h1>My Favorite Book</h1>

<h1>ISBN - 1-34567-04-01</h1>

<H1>Authors:</H1>

<h3>John Smith</h1>

<h3>Peter Chen</h1>

<h1>Price: $45.00</h1>

<h1>Description: This is a grerat book</h1>

</body>

Page 4: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

XML<?xml version="1.0" ?>

<Books>

<Book>

<ISBN>1-34567-04-01</ISBN>

<Authors>

<AuthorName>John Smith</AuthorName>

<AuthorName>Peter Chen</AuthorName>

<AuthorName>David Chao</AuthorName>

</Authors>

<Price> $45.00</Price>

<Description>This is a grerat book</Description>

</Book>

<Book>

<ISBN>1-34567-04-02</ISBN>

<Authors>Adam Smith</Authors>

<Price> $25.00</Price>

<Description>This is a second great book</Description>

</Book>

</Books>

Page 5: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

XML Document

• Well-formed documents:– Documents comply with the rules of XML

syntax.

• Valid documents:– Documents that are well-formed and comply

with a XML schema or Document Type Definition (DTD is a file containing the rules used to define the document).

Page 6: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

Well-Formed Documents

• There is only one root node.• All elements must have a start tag and an end tag

(except for an empty element, see example below) Elements must be nested correctly.

• If an element has an attribute, the attribute value must be quoted.– An empty element with an attribute:

• <price US=“$49” />

• Note: XML is case sensitive.

Page 7: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

XML Documents• The XML declaration:

– <?xml version=“1.0” ?>– Note: xml should be in lower case.

• Namespaces– Define a namespace: xmlns:”uri” where the Uniform

Resource Identifier is a unique identifier and is often a URL.– Use a namespace to make a tag unique:

• <namespace: TagName>

• Elements: – Each start-tag/end-tag pair, with the data that lies between

them, is an element.– Ex. <AuthorName>John Smith</AuthorName>– The start and end tag must be in the same case.

Page 8: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

• Attributes: Elements can have attributes. These are values that are passed to the application, but not constitute part of the content of the element. Attributes are included as part of the element’s start tag, and values must be enclosed in quote marks.– <Food healthy=“yes”>Spinach</Food>

– <Food healthy=“yes” tasty=“no”>Carrot</Food>

Page 9: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

• Comments:– <!--This is a comment -->

• Processing instructions: These allow documents to contain instructions for applications using XML data.– <?NameOfTargetApplication Instructions for

application?>

Page 10: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

Tree View of XML

Books

Book

ISBN Authors Price Description

Book

ISBN Authors Price Description

Author Author Author

Page 11: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

Valid Documents

• Well-formed documents that conform to an XML schema or DTD.

• XML parsers are programs that are able to validate an XML document against schema or DTD.

• XML parsers are included in IE5 and Netscapt 6 and onwards.

Page 12: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

XML SchemaDefinition of an XML Document

• Namespaces: Allow element names to be qualified to avoid name collisions.

• Complex and simple types:– Elements that contains other elements are complex type.

• Cardinality: – minOccurs: 0 for optional element.– maxOccurs: specified number or unbounded

• Compositor:– Sequence: defines an ordered sequence of subelements.– Choice: defines a choice between several possible elements.

• Constraints:– Uniqueness contraint

Page 13: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

VS.Net Tools for XML Document and Schema

• Dataset schema

• XML Schema

• XML Document

Page 14: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

Style Sheets

• XSL: Extensible Stylesheet Language

• Tell the browser how to display the XML document.

• With a style sheet, all of the style rules are kept in one file and the source document simply links to this file.

• File extension: .CSS

Page 15: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

Benefits of Using Style Sheets

• Improve document clarity: No tags such as <font> in an XML document.

• Allow you to modify the presentation of several pages by altering just one file.

• Allow you to present the same data in different ways for different purposes.

• Reduce download time by caching the style sheet on the client.

Page 16: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

• Browser screen structure:– Page

• Area– Block Flow Object: Taking up the whole line.

– In-Line Flow Object: Several in-line objects may be on the same line.

Page 17: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

<?xml version="1.0" ?>

<?xml:stylesheet href="books.css" type="text/css" ?><Books><Book><btitle>My Favorite Book</btitle><ISBN>1-34567-04-01</ISBN>

<Authors><AuthorName>John Smith</AuthorName><AuthorName>Peter Chen</AuthorName>

</Authors><Price> $45.00</Price><Description>This is a grerat book</Description>

</Book><Book><btitle>My Second Favorite Book</btitle><ISBN>1-34567-04-02</ISBN>

<Authors>Adam Smith</Authors><Price> $25.00</Price><Description>This is a second great book</Description>

</Book></Books>

Page 18: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

btitle {display:block;font-family: Aerial, Helvetica;font-weight: bold;font-size: 20pt;color: #9370db;text-align: center;}

ISBN {display:block;font-family: Aerial, Helvetica;font-weight: bold;font-size: 12pt;color: #c71585;text-align: left;}

Authors {display:inline;font-family: Aerial, Helvetica;font-style: italic;font-size: 10pt;color: #9370db;text-align: left;}

Page 19: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

Price {

display:block;

font-family: Aerial, Helvetica;

font-size: 12pt;

color: #ff1010;

text-align: left;

}

Description {

display:block;

font-family: Aerial, Helvetica;

font-size: 12pt;

color: #ff1010;

text-align: left;

}

Page 20: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

Styling XML with XSLT

• XSLT: Extensible Stylesheet Language Transforms

• XSLT provides a means of transforming one XML document into HTML or another XML document.

Page 21: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

Creating XML From DataSet

• DataSet object:– WriteXML(xml file path and name)– WriteXMLSchema(xml schema path and name)

• Demo:ASPNet/XMLWrite.ASPX

Page 22: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

dim strConn as string ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source = c:\sales2k.mdb"

dim objConn as new OledbConnection(strConn)

dim strSQL as string = "select * from customer;"

dim objDataSet as new Dataset()

dim objAdapter as new OledbDataAdapter(strSQL, objConn)

objAdapter.Fill(objDataSet, "Cust")

dim objDataView as new DataView(objDataSet.tables("Cust"))

dgCustomer.Datasource=objDataView

dgCustomer.DataBind()

objDataSet.writeXML("c:\inetpub\wwwroot\testWriteXML.XML")

Page 23: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

Reading Data into a DataSet from an XML File

• Dataset object:– ReadXMLSchema(file path and name)– ReadXML(file path and name)

• Demo: ASPNet/XMLRead.aspx

Page 24: Introduction to XML ISYS 573. HTML vs XML HTML is a language specifically designed for displaying information in browser. It doesn’t carry information

dim objDataSet as new Dataset()

objDataSet.ReadXML("c:\inetpub\wwwroot\testWriteXML.XML")

dim objDataView as new DataView(objDataSet.tables("Cust"))

dgCustomer.Datasource=objDataView

dgCustomer.DataBind()

end sub