The Cover PagesThe OASIS Cover Pages: The Online Resource for Markup Language Technologies
SEARCH | ABOUT | INDEX | NEWS | CORE STANDARDS | TECHNOLOGY REPORTS | EVENTS | LIBRARY
SEARCH
Advanced Search
ABOUT
Site Map
CP RSS Channel
Contact Us
Sponsoring CP
About Our Sponsors

NEWS
Cover Stories
Articles & Papers
Press Releases

CORE STANDARDS
XML
SGML
Schemas
XSL/XSLT/XPath
XLink
XML Query
CSS
SVG

TECHNOLOGY REPORTS
XML Applications
General Apps
Government Apps
Academic Apps

EVENTS
LIBRARY
Introductions
FAQs
Bibliography
Technology and Society
Semantics
Tech Topics
Software
Related Standards
Historic
Created: July 11, 2002.
News: Cover StoriesPrevious News ItemNext News Item

W3C Publishes Four Working Drafts for the XML Pointer Language (XPointer).

The W3C XML Linking Working Group has released four Working Drafts relating to XPointer. W3C XPointer "supports addressing into the internal structures of XML documents, allowing for traversals of a document tree and choice of its internal parts based on various properties, such as element types, attribute values, character content, and relative position." The four specifications refactor schemes presented in the earlier W3C Candidate Recommendation for XML Pointer Language (XPointer) Version 1.0. The XPointer Framework is "an extensible system for XML addressing and underlies additional schemes. Other XML-based media types are also encouraged to use this framework in defining their own fragment identifier languages. Many types of XML-processing applications need to address into the internal structures of XML-encoded resources using URI references, for example, the XML Linking Language (XLink), XML Inclusions (XInclude), the Resource Description Framework (RDF), and SOAP V1.2. The element() scheme allows basic addressing of XML elements, the xmlns() scheme is for interpreting namespace prefixes in pointers, and xpointer() scheme allows full XML addressing."

Summaries extracted from the document Introductions:

The XPointer Framework specification "defines the XML Pointer Language (XPointer) Framework, an extensible system for XML addressing that underlies additional XPointer scheme specifications. The framework is intended to be used as a basis for fragment identifiers for any resource whose Internet media type is one of text/xml, application/xml, text/xml-external-parsed-entity, or application/xml-external-parsed-entity. Other XML-based media types are also encouraged to use this framework in defining their own fragment identifier languages. Many types of XML-processing applications need to address into the internal structures of XML-encoded resources using URI references, for example, the XML Linking Language [XLink], XML Inclusions [XInclude], the Resource Description Framework [RDF], and SOAP V1.2 [SOAP12]. This specification does not constrain the types of applications that utilize URI references to XML-encoded resources, nor does it constrain or dictate the behavior of those applications once they locate the desired information in those resources."

"The XPointer element() scheme is intended to be used with the XPointer Framework to allow basic addressing of XML elements... The terms pointer, pointer part, scheme, XPointer processor, application, error, failure, and namespace binding context are used in this specification as defined in the XPointer Framework specification. Note that errors defined by this specification are distinct from XPointer Framework errors. The formal grammar for the element() scheme is given using simple Extended Backus-Naur Form (EBNF) notation, as described in the XML Recommendation. This specification normatively depends on the XPointer Framework specification."

"The XPointer xmlns() scheme is intended to be used with the XPointer Framework to allow correct interpretation of namespace prefixes in pointers. The use of this scheme in a pointer part allows for successful interpretation of element and attribute names used in pointer parts to the right when those names use namespace prefixes... The formal grammar for the xmlns() scheme is given using simple Extended Backus-Naur Form (EBNF) notation, as described in the XML Recommendation. This specification normatively depends on the XPointer Framework specification."

"The XPointer xpointer() scheme is intended to be used with the XPointer Framework to provide full XML addressing functionality. This scheme supports addressing into the internal structures of XML documents and external parsed entities. It allows for examination of a document's hierarchical structure and choice of its internal parts based on various properties, such as element types, attribute values, character content, and relative position. In particular, it provides for specific reference to elements, character strings, and other XML information, whether or not they bear an explicit ID attribute. The xpointer() scheme is built on top of the XML Path Language (XPath), which is an expression language underlying the XSL Transformations (XSLT) language. The xpointer() scheme's extensions to XPath allow it to address points and ranges as well as whole nodes, and to locate information by string matching. The xpointer() scheme does not cover addressing into the internal structures of DTDs or the XML declaration."

From the posting by John Cowan:

The framework document deals with bare identifiers (which can be DTD or WXS-based IDs) and with the general syntax of schemes.

The element() scheme allows references into frozen documents that don't have IDs present, using a syntax like "element(/1/2/3)" to mean the 3rd child of the 2nd child of the root element, or "element(foo/4/5)" to mean the 5th child of the 4th child of the element whose ID is "foo".

The xmlns() scheme provides a namespace context for XPath expressions in the xpointer() scheme; XPointers do not inherit the namespace context of the document in which they are embedded.

The xpointer() scheme, which is not yet a Last Call draft due to known minor editorial and definitional problems, provides for general reference into documents using XPath, extended by the here() and origin() functions for use with XLink, and the concept of points (similar to DOM Level 2 positions) and ranges (similar to DOM Level 2 ranges) to allow arbitrary transclusions.

The possibility that other schemes will be added remains open.

The purpose of factoring these schemes is to permit other standards to claim conformance to any or all of these documents (although it makes no sense to claim conformance to a scheme without also claiming conformance to the framework.

Because this is primarily a refactoring effort without any new semantics (except WXS-compliant IDs), and only trivial changes to syntax, these documents will probably go straight from Last Call to Proposed Recommendation; the review period is only three weeks. So get your comments in early and often.

Bibliographic information:


Hosted By
OASIS - Organization for the Advancement of Structured Information Standards

Sponsored By

IBM Corporation
ISIS Papyrus
Microsoft Corporation
Oracle Corporation

Primeton

XML Daily Newslink
Receive daily news updates from Managing Editor, Robin Cover.

 Newsletter Subscription
 Newsletter Archives
Bottom Globe Image

Document URI: http://xml.coverpages.org/ni2002-07-11-a.html  —  Legal stuff
Robin Cover, Editor: robin@oasis-open.org