New Perspectives on XML

Slides:



Advertisements
Similar presentations
What is XML? a meta language that allows you to create and format your own document markups a method for putting structured data into a text file; these.
Advertisements

1 Web Data Management XML Schema. 2 In this lecture XML Schemas Elements v. Types Regular expressions Expressive power Resources W3C Draft:
An Introduction to XML Based on the W3C XML Recommendations.
Tutorial 9 Working with XHTML
Tutorial 9 Working with XHTML. XP Objectives Describe the history and theory of XHTML Understand the rules for creating valid XHTML documents Apply a.
Sunday, June 28, 2015 Abdelali ZAHI : FALL 2003 : XML Schemas XML Schemas Presented By : Abdelali ZAHI Instructor : Dr H.Haddouti.
Tutorial 11 Creating XML Document
XP New Perspectives on XML, 2nd Edition Tutorial 2 1 TUTORIAL 2 WORKING WITH NAMESPACES.
Unit 4 – XML Schema XML - Level I Basic.
Introduction to XML This material is based heavily on the tutorial by the same name at
1 understanding xml namespaces. 2 understanding namespaces Namespaces are the source of much confusion in XML, especially for those new to the technology.
Introducing HTML & XHTML:. Goals  Understand hyperlinking  Understand how tags are formed and used.  Understand HTML as a markup language  Understand.
ECA 228 Internet/Intranet Design I Intro to XML. ECA 228 Internet/Intranet Design I HTML markup language very loose standards browsers adjust for non-standard.
Working with Namespaces Combining XML Vocabularies in a Compound Document.
XML 2nd EDITION Tutorial 2 Working With Namespaces.
WORKING WITH NAMESPACES
XP New Perspectives on XML Tutorial 4 1 XML Schema Tutorial – Carey ISBN Working with Namespaces and Schemas.
XP New Perspectives on XML Tutorial 3 1 DTD Tutorial – Carey ISBN
XP Tutorial 9New Perspectives on Creating Web Pages with HTML, XHTML, and XML 1 Working with XHTML Creating a Well-Formed Valid Document Tutorial 9.
Introduction to XML cs3505. References –I got most of this presentation from this site –O’reilly tutorials.
Why XML ? Problems with HTML HTML design - HTML is intended for presentation of information as Web pages. - HTML contains a fixed set of markup tags. This.
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation XML Schema 1 Lecturer.
Neminath Simmachandran
XP 1 CREATING AN XML DOCUMENT. XP 2 INTRODUCING XML XML stands for Extensible Markup Language. A markup language specifies the structure and content of.
XP 1 DECLARING A DTD A DTD can be used to: –Ensure all required elements are present in the document –Prevent undefined elements from being used –Enforce.
Session IV Chapter 9 – XML Schemas
Processing of structured documents Spring 2002, Part 2 Helena Ahonen-Myka.
1 Tutorial 13 Validating Documents with DTDs Working with Document Type Definitions.
XP 1 TUTORIAL 1 CREATING AN XML DOCUMENT. XP 2 INTRODUCING XML XML stands for Extensible Markup Language. A markup language specifies the structure and.
Of 33 lecture 3: xml and xml schema. of 33 XML, RDF, RDF Schema overview XML – simple introduction and XML Schema RDF – basics, language RDF Schema –
Beginning XML 4th Edition. Chapter 5: XML Schemas.
New Perspectives on XML, 2nd Edition
XP 1 New Perspectives on XML Binding XML Data with Internet Explorer.
XML Schema. Why Schema? To define a class of XML documents Serve same purpose as DTD “Instance document" used for XML document conforming to schema.
An OO schema language for XML SOX W3C Note 30 July 1999.
XP New Perspectives on XML, 2nd Edition Tutorial 2 1 TUTORIAL 2 WORKING WITH NAMESPACES.
XML – Part III. The Element … This type of element either has the element content or the mixed content (child element and data) The attributes of the.
Sheet 1XML Technology in E-Commerce 2001Lecture 2 XML Technology in E-Commerce Lecture 2 Logical and Physical Structure, Validity, DTD, XML Schema.
XML 2nd EDITION Tutorial 4 Working With Schemas. XP Schemas A schema is an XML document that defines the content and structure of one or more XML documents.
1 Tutorial 14 Validating Documents with Schemas Exploring the XML Schema Vocabulary.
Tutorial 13 Validating Documents with Schemas
1 Tutorial 12 Working with Namespaces Combining XML Vocabularies in a Compound Document.
Processing of structured documents Spring 2003, Part 3 Helena Ahonen-Myka.
Internet & World Wide Web How to Program, 5/e. © by Pearson Education, Inc. All Rights Reserved.2.
Working with XML Schemas ©NIITeXtensible Markup Language/Lesson 3/Slide 1 of 36 Objectives In this lesson, you will learn to: * Declare attributes in an.
XML Module 1 Creating an XML Document. XP Objectives Session 1.1 – Describe the history of XML and the uses of XML documents – Understand XML vocabularies.
1 Compound Documents: Combining XML Vocabularies.
XSD: XML Schema Language Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
XML Schema Definition (XSD). Definition of a Schema It is a model for describing the structure and content of data The XML Schema was developed as a content.
XP Tutorial 9New Perspectives on HTML and XHTML, Comprehensive 1 Working with XHTML Creating a Well-Formed Valid Document Tutorial 9.
Tutorial 2: XML Working with Namespaces. 2 Name Collision This figure shows two documents each with a Name element.
XML Validation II Advanced DTDs + Schemas Robin Burke ECT 360.
Tutorial 9 Working with XHTML. New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition 2 Objectives Describe the history and theory of XHTML.
Tutorial 9 Working with XHTML. XP Objectives Describe the history and theory of XHTML Understand the rules for creating valid XHTML documents Apply a.
CITA 330 Section 4 XML Schema. XML Schema (XSD) An alternative industry standard for defining XML dialects More expressive than DTD Using XML syntax Promoting.
Web Services: Principles & Technology Slide 3.1 Chapter 3 Brief Overview of XML COMP 4302/6302.
Creating a Well-Formed Valid Document
Tutorial 9 Working with XHTML
Tutorial 9 Working with XHTML
WORKING WITH NAMESPACES
XML QUESTIONS AND ANSWERS
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
Introducing HTML & XHTML:
Tutorial 9 Working with XHTML
Namespace Review 21-Nov-18.
ece 720 intelligent web: ontology and beyond
Namespace Review 29-Dec-18.
New Perspectives on XML
Working with Namespaces and Schemas
Namespace Review 14-Oct-19.
Presentation transcript:

New Perspectives on XML Tutorial 4 – Working with Namespaces and Schemas Creating Web Pages with XML Tutorial 4

Working with Namespaces Name collision occurs when elements from two or more documents share the same name. Name collision isn’t a problem if you are not concerned with validation. The document content only needs to be well-formed. However, name collision will keep a document from being validated. Creating Web Pages with XML Tutorial 4

Name Collision This figure shows two documents each with a Name element Creating Web Pages with XML Tutorial 4

Layout of the UHOSP.XML Document This figure shows the structure of the UHSOP.xml file and the collision between the Name element. Creating Web Pages with XML Tutorial 4

Using Namespaces to Avoid Name Collision This figure shows how to use a namespace to avoid collision Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Declaring a Namespace A namespace is a defined collection of element and attribute names. Names that belong to the same namespace must be unique. Elements can share the same name if they reside in different namespaces. Namespaces must be declared before they can be used. Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Declaring a Namespace A namespace can be declared in the prolog or as an element attribute. The syntax to declare a namespace in the prolog is: <?xml:namespace ns=“URI” prefix=“prefix”?> Where URI is a Uniform Resource Identifier that assigns a unique name to the namespace, and prefix is a string of letters that associates each element or attribute in the document with the declared namespace. Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Declaring a Namespace For example, <?xml:namespace ns=http://uhosp/patients/ns prefix=“pat”> Declares a namespace with the prefix “pat” and the URI http://uhosp/patients/ns. The URI is not a Web address. A URI identifies a physical or an abstract resource. Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML URIs, URLs, and URNs A physical resource is a resource one can access and work with such as a file, a Web page, or an e-mail address. A URL is one type of URI. An abstract resource is one that doesn’t have any physical existence, the URI is used as an identifier or an ID. The URI http://uhosp/patients/ns is simply a text identifier. Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML URIs, URLs, and URNs A proposed type of URI is the URN or Universal Resource Name. A URN is a persistent resource identifier, meaning the user need only know the name of a resource. An agency would then retrieve a copy of the resource independent of its location. URNs take the form: urn:NID:NSS Creating Web Pages with XML Tutorial 4

Applying a Namespace to an Element Once it has been declared and its URI specified, the namespace is applied to elements and attributes by inserting the namespace prefix before each element name that belongs to the namespace. <prefix:element> content </prefix:element> Here, prefix is the namespace prefix and element is the local part of the element name. Creating Web Pages with XML Tutorial 4

Applying a Namespace to an Element Prefixed names are called qualified names and an element name without a namespace prefix is called an unqualified name. Qualified names can be added to a document using code entered directly into the document. However, the more common way is to add the xmlns attribute to an element. Creating Web Pages with XML Tutorial 4

Declaring a Namespace as an Element Attribute The syntax is: xmlns:prefix=“URI” Where prefix and URI are the prefix and URI for the namespace. Creating Web Pages with XML Tutorial 4

Declaring a Namespace as an Element Attribute For example, the code: <pat:Patients xmlns:pat=“http://uhosp/patients/ns”> <Patient> <Name>Cynthia Dibbs</Name> <ID>MR890-041-02</ID> <DOB>1945-05-22</DOB> <Age>58</Age> <Stage>II</Stage> <Performance Scale=“Karnofsky”>0.81</Performance> </Patient> </pat:Patients> Creating Web Pages with XML Tutorial 4

Declaring a Namespace as an Element Attribute …applies the namespace http://uhosp/patients/ns namespace to the Patient element and all of its child elements. While the “pat” prefix was only added to the Patients element name, the XML parser considers the other elements parts of the Patients namespace and they inherit the namespace. Creating Web Pages with XML Tutorial 4

Declaring a Namespace as an Element Attribute They are unqualified elements, though, because they lack a namespace prefix. Declaring a namespace by adding it as an attribute of the document’s root element places all elements in the namespace. All elements thus are children of the root element. Creating Web Pages with XML Tutorial 4

Declaring a Default Namespace You can specify a default namespace by omitting the prefix in the namespace declaration. The element containing the namespace attribute and all of its child elements are assumed to be part of the default namespace. Creating Web Pages with XML Tutorial 4

Using Namespaces with Attributes Attributes, like elements, can become qualified by adding the namespace prefix to the attribute name. For example, prefix:attribute=“value” Creating Web Pages with XML Tutorial 4

Using Namespaces with Attributes No element may contain two attributes with the same name. Doing so would create a function with two values. No element may contain two qualified attribute names with the same local part, pointing to identical namespaces, even if the prefixes are different. Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Namespaces and DTDs Documents that contain namespaces must follow the same rules for XML validity as ones without namespaces. An xmlns attribute used to declare a namespace must be included in the DTD, declared as a fixed value. Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Schemas A schema is an XML document that defines the content and structure of one or more XML documents. To avoid confusion, the XML document containing the content is called the instance document. It represents a specific instance of the structure defined in the schema. Creating Web Pages with XML Tutorial 4

Comparing Schemas and DTDs This figure compares schemas and DTDs Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Schema Dialects There is no single schema form. Several schema “dialects” have been developed in the XML language. Support for a particular schema depends on the XML parser being used for validation. Creating Web Pages with XML Tutorial 4

Schema Dialects This figure shows a few schema dialects Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Starting a Schema File A schema is always placed in a separate XML document that is referenced by the instance document. Creating Web Pages with XML Tutorial 4

Elements and Attributes of the Patient Document This figure shows the elements and attributes of the Patient document Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Schema Types XML Schema recognize two categories of element types: complex and simple. A complex type element has one or more attributes, or is the parent to one or more child elements. A simple type element contains only character data and has no attributes. Creating Web Pages with XML Tutorial 4

Schema Types This figure shows types of elements Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Simple Type Elements Use the following syntax to declare a simple type element in XML Schema: <element name=“name” type =“type”/> Here, name is the name of the element in the instance document and type is the data type of the element. If a namespace prefix is used with the XML Schema namespace, any XML Schema tags must be qualified with the namespace prefix. Creating Web Pages with XML Tutorial 4

Understanding Data Types XML Schema supports two data types: built-in and user-derived. A built-in data type is part of the XML Schema specifications and is available to all XML Schema authors. A user-derived data type is created by the XML Schema author for specific data values in the instance document. Creating Web Pages with XML Tutorial 4

Understanding Data Types A primitive data type, also called a base type, is one of 19 fundamental data types not defined in terms of other types. A derived data type is a collection of 25 data types that the XML Schema developers created based on the 19 primitive types. Creating Web Pages with XML Tutorial 4

Understanding Data Types This figure shows the 44 built-in data types Creating Web Pages with XML Tutorial 4

Understanding Data Types This figure shows a partial description of XML Schema data types Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Complex Type Elements The syntax for complex type elements is: <element name=“name”> <complexType> compositor element declarations attribute declarations </complexType> </element> Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Complex Type Elements Here, name is the name of the element in the instance document, element declarations are simple type element declarations for each child element, compositors define how the list of elements is to be organized, and attribute declarations define any of the attributes of the elements. Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Compositors A compositor is a schema tag that defines how the list will be treated. Three types of compositors are supported: sequence, choice, and all. The sequence compositor forces elements to be entered in the same order as indicated in the schema. Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Compositors The choice compositor allows any one of the items in the list to be used. The all compositor allows any of the items to appear in any order. Compositors may be nested inside of one another. Creating Web Pages with XML Tutorial 4

Declaring an Attribute Any element that contains an attribute is also a complex type. The syntax to declare an attribute is: <attribute name=“name” type=“type” use=“use” default=“default” fixed=“fixed”/> Creating Web Pages with XML Tutorial 4

Attaching a Schema to a Namespace By attaching a schema to a namespace, each part of the combined document can be associated with a different namespace and can draw upon a different schema for validation. The schemas are combined when the data are combined. Creating Web Pages with XML Tutorial 4

Validating a Combined Document This figure shows how schemas are combined when the data is combined Creating Web Pages with XML Tutorial 4

Attaching a Schema to a Namespace The syntax to associate the schema with a namespace is: <prefix:schema xmlns:prefix=http://www.w3.org/2001/ XMLSchema xmlns=“URI” targetNamespace=“URI”> Creating Web Pages with XML Tutorial 4

Attaching a Schema to a Namespace Here, URI is the URI for the schema’s namespace. The schema element has two namespaces. The first is for the W3C’s XML Schema specifications. The second is a namespace for the validation rules declared in this particular schema file. Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Structuring a Schema Schemas can be structured in a number of ways. One structure is called a Russian Doll design. This design involves sets of nested declarations. While this design makes it easy to associate the schema with the instance document, it can be confusing and difficult to maintain. Creating Web Pages with XML Tutorial 4

Russian Doll Design This figure shows a Russian Doll design Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Structuring a Schema Another schema design is a Flat Catalog Design. In this design, all element declarations are made globally. The structure of the instance document is created by referencing the global element declarations. The syntax is: <element ref=“name”> Creating Web Pages with XML Tutorial 4

Flat Catalog Design This figure shows a Flat Catalog design Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Named Schema Elements A structure can be named creating a named complex type that can be used elsewhere in the schema. This has the advantage of “storing” the structure so it can be applied to the type attribute. Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Named Model Groups A named model group is a collection of elements. The syntax is: <group name=“name”> element declarations </group> The element declarations must be enclosed within a sequence, all compositor, or choice. Creating Web Pages with XML Tutorial 4

Named Attribute Groups Attributes can be placed within named attribute groups. The syntax is: <attributeGroup name=“name”> attribute declarations </attributeGroup> This can be useful if you want to use attributes with several different elements in the schema Creating Web Pages with XML Tutorial 4

Comparing Schema Designs This figure compares the three schema designs Creating Web Pages with XML Tutorial 4

Deriving New Data Types Three components are involved in deriving new data types: Value space: the set of values that correspond to the data type. Lexical space: the set of textual representations of the value space. Facets: the properties of the data type that distinguish one data type from another. Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML User Derived Data New data types fall into three categories: List: a list of values where each list is derived from a base type. Union: the combination of two or more data types. Restriction: a limit placed on the facet of a base type. Creating Web Pages with XML Tutorial 4

Deriving a Restricted Data Type The most common way to derive a new data type is to restrict the properties of a base type. XML Schema provides twelve constraining facets for this purpose. Creating Web Pages with XML Tutorial 4

Constraining Facets This figure shows the 12 constraining facets Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML The Patterns Facet A pattern can be created with a formatted text string called a regular expression or regex. The basic unit of a regex is called an atom. It can be a single character, a group of characters, or another regex enclosed in parenthesis. A quantifier can be added to the atom to specify the number of occurrences for a particular character. Creating Web Pages with XML Tutorial 4

Pattern Quantifiers This figure shows pattern quantifiers Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Annotating a Schema It is helpful to include comments about a created schema for other XML developers. An annotation element stores information about the schema. The syntax is: <annotation> <documentation> documentation comments </documentation> <appinfo> application information </appinfo> </annotation> Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Summary Name collision occurs when elements from two or more documents share the same name. Name collision will keep a document from being validated. A namespace is a defined collection of element and attribute names. Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Summary A namespace can be declared in the prolog or as an element attribute. A physical resource is a resource one can access and work with such as a file, a Web page, or an e-mail address. A URL is one type of URI. An abstract resource is one that doesn’t have any physical existence, the URI is used as an identifier or an ID. Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Summary Attributes, like elements, can become qualified by adding the namespace prefix to the attribute name. No element may contain two attributes with the same name. Doing so would create a function with two values. No element may contain two qualified attribute names with the same local part, pointing to identical namespaces, even if the prefixes are different. Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Summary A schema is an XML document that defines the content and structure of one or more XML documents. A schema is always placed in a separate XML document that is referenced by the instance document. XML Schema recognize two categories of element types: complex and simple. Creating Web Pages with XML Tutorial 4

Creating Web Pages with XML Summary XML Schema supports two data types: built-in and user-derived. By attaching a schema to a namespace, each part of the combined document can be associated with a different namespace and can draw upon a different schema for validation. Creating Web Pages with XML Tutorial 4