Presentation is loading. Please wait.

Presentation is loading. Please wait.

XP New Perspectives on XML, 2nd Edition Tutorial 2 1 TUTORIAL 2 WORKING WITH NAMESPACES.

Similar presentations


Presentation on theme: "XP New Perspectives on XML, 2nd Edition Tutorial 2 1 TUTORIAL 2 WORKING WITH NAMESPACES."— Presentation transcript:

1 XP New Perspectives on XML, 2nd Edition Tutorial 2 1 TUTORIAL 2 WORKING WITH NAMESPACES

2 XP New Perspectives on XML, 2nd Edition Tutorial 2 2 COMBINING XML VOCABULARIES A document that combines several vocabularies is known as a compound document

3 XP New Perspectives on XML, 2nd Edition Tutorial 2 3 WORKING WITH NAMESPACES Name collision occurs when elements from two or more documents share the same name. Name collision is not 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.

4 XP New Perspectives on XML, 2nd Edition Tutorial 2 4 NAME COLLISION This figure shows name collision Parts vocabulary Model vocabulary

5 XP New Perspectives on XML, 2nd Edition Tutorial 2 5 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.

6 XP New Perspectives on XML, 2nd Edition Tutorial 2 6 DECLARING A NAMESPACE A namespace can be declared in the prolog or as an element attribute. The syntax for an attribute used to declare a namespace in the prolog is: xmlns:prefix=“URI” where URI is a Uniform Resource Identifier that assigns a unique name to the namespace prefix is a string of letters “Short hand name”Full, unique name

7 XP New Perspectives on XML, 2nd Edition Tutorial 2 7 DECLARING A NAMESPACE For example, xmlns:mod=“http://jacksonelect.com/models” declares a namespace with the prefix “mod” and the URI http://jacksonelect.com/models The URI is not a Web address. A URI (Uniform Resource Identifier) identifies a physical or an abstract resource. URI (Uniform Resource Identifier) URL (Uniform Resource Locator) Physical Resource: file, a Web page, or an e-mail address URN (Uniform Resource Name) Persistent name for a resource

8 XP New Perspectives on XML, 2nd Edition Tutorial 2 8 URIs, URLs, AND URNs URN (Universal Resource Name) is a persistent resource identifier, meaning the user need only know the name of a resource. URNs take the form: urn:NID:NSS NID = namespace identifier NSS = text string specific to that the namespace Example –urn: isbn: 0-619-01969-7

9 XP New Perspectives on XML, 2nd Edition Tutorial 2 9 APPLYING A NAMESPACE TO AN ELEMENT Use prefix instead of the URI to qualify element names General form: content For example xmlns:mod=http://jacsonelect.com/models Laser4C (PR205)

10 XP New Perspectives on XML, 2nd Edition Tutorial 2 10 APPLYING A NAMESPACE TO AN ELEMENT Prefixed names are called qualified names Example: Laser4C (PR205) A name without a namespace prefix is called an unqualified name. Example: Laser4C (PR205)

11 XP New Perspectives on XML, 2nd Edition Tutorial 2 11 DECLARING A NAMESPACE AS AN ELEMENT ATTRIBUTE For example, the code: Laser4C (PR205) Entry level color laser printer color laser 320 …applies the namespace http://jacksonelect.com/models to the model element and all of its child elements.

12 XP New Perspectives on XML, 2nd Edition Tutorial 2 12 DECLARING A DEFAULT NAMESPACE You can specify a default namespace by omitting the prefix in the namespace declaration. Example: Laser4C (PR205) Entry level color laser printer color laser 320 All elements including the model element, are considered to be part of the name space :mod removed

13 XP New Perspectives on XML, 2nd Edition Tutorial 2 13 USING NAMESPACES WITH ATTRIBUTES Attributes, like elements, can become qualified by adding the namespace prefix to the attribute name. The syntax is: … For example: <mod:model xmlns:mod=http://jacksonelect.com/models mod:id=“pr205”> …. Attributes inherit their namespace from their parent element: For example: <mod:model xmlns:mod=http://jacksonelect.com/models id=“pr205”> …..

14 XP New Perspectives on XML, 2nd Edition Tutorial 2 14 ADDING A NAMESPACE TO A STYLE SHEET: DECLARING A NAMESPACE To declare a namespace in a style sheet, you add the following rule to the style sheet file @namespace prefix url(uri); Where prefix is the namespace previx and uri is the URI of the namespace Example: @namespace mod url(http://jacksonelect.com/models)

15 XP New Perspectives on XML, 2nd Edition Tutorial 2 15 APPLYING A NAMESPACE TO A SELECTOR Once you’ve declared a namespace in a style sheet, you can associate selectors with that namespace using the syntax: prefix|selector {attribute1:value1; attribute2:value2;…} For example: mod|title {width: 150px} You also can use the wildcard symbol (*) to apply a style to any element within a namespace or to elements across different namespaces

16 XP APPLYING A NAMESPACE TO A SELECTOR You also can use the wildcard symbol (*) to apply a style to any element within a namespace or to elements across different namespaces mod | title {width: 15px} applies width style to all title elements in the models namespace mod | * {font-size: 12 pt} applies the font-sie style to any element within the models namespace title {witdth: 15p} applies a width of 150 pixels to any element named title Not supported by Firefox, Opera, and Netscape New Perspectives on XML, 2nd Edition Tutorial 2 16

17 XP New Perspectives on XML, 2nd Edition Tutorial 2 17 COMBINING STANDARD VOCABULARIES Standard vocabularies may be combined within single documents

18 XP A compound XHTML and MathML document See page XML 68 New Perspectives on XML, 2nd Edition Tutorial 2 18

19 XP New Perspectives on XML, 2nd Edition Tutorial 2 19 XHTML

20 XP Summary Combining vocabularies in a single document can result in name collisions Use namespaces to resolve collisions Namespaces use URI to provide unique identification for each vocabulary in a document CSS style sheets can be modified to accommodate namespaces You can create an XHTML document that combines features from XHTML and other XML vocabularies New Perspectives on XML, 2nd Edition Tutorial 2 20


Download ppt "XP New Perspectives on XML, 2nd Edition Tutorial 2 1 TUTORIAL 2 WORKING WITH NAMESPACES."

Similar presentations


Ads by Google