Presentation is loading. Please wait.

Presentation is loading. Please wait.

DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of.

Similar presentations


Presentation on theme: "DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of."— Presentation transcript:

1 DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of Architecture Wei Peng wpeng@arch.usyd.edu.au  What is XML Schema ?  XML Schema is an XML based description of your data’s business rules – alternative to DTD;  An XML schema expresses the structure of an XML document as DTD does;  The XML Schema language is also referred to as XML Schema Definition (XSD);  What XML Schema can while DTD can’t – complex datatype of elements or attributes – think about how to describe an attribute which is an integer ranges from 1 to 100?

2 DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of Architecture Wei Peng wpeng@arch.usyd.edu.au  Validate your XML documents I:

3 DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of Architecture Wei Peng wpeng@arch.usyd.edu.au  Validate your XML documents II:  Online Validate (This version is for schema documents with the namespace URI http://www.w3.org/2001/XMLSchema) at http://www.w3.org/2001/03/webdata/xsvhttp://www.w3.org/2001/03/webdata/xsv  Topologi at http://www.topologi.com/http://www.topologi.com/  DTD to Schema Converter at:  LuMriX dtd2xs http://lists.w3.org/Archives/Public/xmlschema-dev/2001Jun/0116.htmlhttp://lists.w3.org/Archives/Public/xmlschema-dev/2001Jun/0116.html  Syntext Dtd2Xs http://www.syntext.com/products/index.htm#Dtd2Xshttp://www.syntext.com/products/index.htm#Dtd2Xs  GUI Oriented:  XML Spy – http://www.xmlspy.comhttp://www.xmlspy.com  Turbo XML– http://www.extensibility.comhttp://www.extensibility.com

4 DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of Architecture Wei Peng wpeng@arch.usyd.edu.au  Why DTD is out?  You have to learn different syntax – a syntax different and inconsistent with XML files you are working on;  Limited datatype capability – DTDs support a very limited capability for specifying datatypes. For example, you can not express "I want the element to hold an integer with a range of 1 to 100“;  DTD supports 10 datatypes;  XML Schema supports 44+ datatypes.

5 DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of Architecture Wei Peng wpeng@arch.usyd.edu.au  Why Schema I?  XML Schema has Support for Data Types – it is easier to describe permissible document content and validate the correctness of data, etc.  XML Schemas use XML Syntax – You don't have to learn another language – you can use your XML editor and parser;  XML Schemas Secure Data Communication – with XML Schemas, the sender can describe the data in a way that the receiver will understand – a “Key”;  XML Schemas are Extensible – just like XML, because they are written in XML – reuse your Schema in other Schemas, create your own data types, etc.

6 DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of Architecture Wei Peng wpeng@arch.usyd.edu.au  Why Schema II?  Well-Formed is not Enough – a well-formed XML document is a document that conforms to the XML syntax rules;  Even if documents are Well-Formed can have serious consequences because the XML file may violate business rules;  Such as: you order 5 gross of laser printers, and you make a mistake in your XML file – 5 laser printers. With XML Schemas, most of these errors can be caught by your validating software.

7 DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of Architecture Wei Peng wpeng@arch.usyd.edu.au  Why Schema III – Namespace:  The main reason for using a schema instead of a DTD is the ability to mix namespaces;  An XML namespace is a collection of names, identified by a URI reference [RFC2396], which are used in XML documents as element types and attribute names;  XML document may contain elements and attributes that are defined for and used by multiple software modules – However, such XML files contain multiple markup vocabularies which can pose problems of recognition and collision;  These require components have universal names – XML namespace is the mechanism to solve this problem.

8 DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of Architecture Wei Peng wpeng@arch.usyd.edu.au  Compare Schema with the Related XML <shiporder orderid="889923" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="example.xsd"> John Smith Ola Nordmann Langgt 23 4000 Stavanger Norway Empire Burlesque Special Edition 1 10.90

9 DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of Architecture Wei Peng wpeng@arch.usyd.edu.au  Compare DTD with the Related Schema

10 DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of Architecture Wei Peng wpeng@arch.usyd.edu.au  DTD:

11 DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of Architecture Wei Peng wpeng@arch.usyd.edu.au  Schema:

12 DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of Architecture Wei Peng wpeng@arch.usyd.edu.au  Schema Tips: For Tag <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.books.org" xmlns="http://www.books.org" elementFormDefault="qualified">  All Schema has “schema” as root element. And xmlns:xsd = "http://www.w3.org/2001/XMLSchema" indicates that all XML-Schema elements are to be prefixed with an xsd: tag;  Target nameplace can act as an identification in the data streams when more than one schemas are involved in – it is optional;  The elements and datatypes that are used to construct schemas – schema, element, complexType, sequence, string, etc. are come from the http://www.w3.org/2001/XMLSchema namespace; http://www.w3.org/2001/XMLSchema  The default namespace is http://www.books.org which is the targetNamespace;http://www.books.org  elementFormDefault="qualified“ – This is a directive to any instance documents which conform to this schema: Any elements used by the instance document which were declared in this schema must be namespaced – for example Boeing 747.

13 DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of Architecture Wei Peng wpeng@arch.usyd.edu.au  Referencing Schema in XML instance document I: <BookStore xmlns ="http://www.books.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.books.org BookStore.xsd"> My Life and Times Paul McCartney July, 1998 94303-12021-43892 McMillin Publishing...  The line xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" indicates that we want to use elements defined in the http://www.w3.org/2001/XMLSchema-instance definition;

14 DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of Architecture Wei Peng wpeng@arch.usyd.edu.au  Referencing Schema in XML instance document II:  First, using a default namespace declaration, tell the schema-validator that all of the elements used in this instance document come from the http://www.books.org namespace.  Second, with schemaLocation tell the schema-validator that the http://www.books.org namespace is defined by BookStore.xsd, Note: The xsi:schemaLocation and xsi:noNamespaceSchemaLocation attributes can be used in a document to provide hints as to the physical location of schema documents which may be used for assessment.  Third, tell the schema-validator that the schemaLocation attribute we are using is the one in the XMLSchema-instance namespace.

15 DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of Architecture Wei Peng wpeng@arch.usyd.edu.au  No targetNamespace (noNamespaceSchemaLocation  Sometimes you may wish to create a schema but without associating the elements with a namespace;  The targetNamespace attribute is actually an optional attribute of. Thus, if you don’t want to specify a namespace for your schema then simply don’t use the targetNamespace attribute;  Note that there is no default namespace declaration. So, none of the elements are associated with a namespace;  Note that we do not use xsi:schemaLocation (since it requires a pair of values - a namespace and a URL to the schema for that namespace). Instead, use xsi:noNamespaceSchemaLocation  For Example, in XML instance file: <shiporder orderid="889923" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="example.xsd">

16 DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of Architecture Wei Peng wpeng@arch.usyd.edu.au  Assembling an Instance Document from More than one schema An instance document may be composed of elements from multiple schemas. <Library xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.book.org Book.xsd http://www.employee.org Employee.xsd"> My Life and Times Paul McCartney 1998 1-56592-235-2 Macmillan Publishing John Doe 123-45-6789

17 DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of Architecture Wei Peng wpeng@arch.usyd.edu.au  Include method: <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema“ targetNamespace="http://www.library.org" xmlns="http://www.library.org“ elementFormDefault="qualified">

18 DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of Architecture Wei Peng wpeng@arch.usyd.edu.au  Building a Schema from Multiple Schema Documents with Different Namespaces – use import method <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.camera.org" xmlns:nikon="http://www.nikon.com" xmlns:olympus="http://www.olympus.com" xmlns:pentax="http://www.pentax.com" elementFormDefault="qualified"> <xsd:import namespace="http://www.nikon.com" schemaLocation="Nikon.xsd"/> <xsd:import namespace="http://www.olympus.com" schemaLocation="Olympus.xsd"/> <xsd:import namespace="http://www.pentax.com" schemaLocation="Pentax.xsd"/>

19 DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of Architecture Wei Peng wpeng@arch.usyd.edu.au  References:  http://www.w3schools.com/default.asp http://www.w3schools.com/default.asp  http://www.w3.org/XML/Schema http://www.w3.org/XML/Schema  http://www.w3.org/TR/xmlschema-0/ http://www.w3.org/TR/xmlschema-0/  http://www.w3.org/TR/xmlschema-1/ http://www.w3.org/TR/xmlschema-1/  http://www.w3.org/TR/xmlschema-2/ http://www.w3.org/TR/xmlschema-2/ Roger L. Costello, XML Technologies Course at http://www.xfront.com/http://www.xfront.com/


Download ppt "DECO 3002 Advanced Technology Integrated Design Computing Studio Tutorial 6 – XML Schema School of Architecture, Design Science and Planning Faculty of."

Similar presentations


Ads by Google