XPointer

Last updated
XPointer
XPointer Framework
Native name
XPointer Framework
StatusW3C Recommendation
Year started1997;25 years ago (1997)
First publishedApril 6, 1997;25 years ago (1997-04-06) [1] [2]
Latest versionXPointer Framework Recommendation [3]
March 25, 2003;19 years ago (2003-03-25) [3]
Organization W3C
CommitteeW3C XML Linking Working Group [4]
Editors
  • Paul Grosso
  • Eve Maler
  • Jonathan Marsh
  • Norman Walsh
[3]
Base standards XML, XPath
Website www.w3.org/TR/xptr-framework/

XPointer is a system for addressing components of XML-based Internet media. It is divided among four specifications: a "framework" that forms the basis for identifying XML fragments, a positional element addressing scheme, a scheme for namespaces, and a scheme for XPath-based addressing. XPointer Framework is a W3C recommendation since March 2003. [3] [5]

Contents

The XPointer language is designed to address structural aspects of XML, including text content and other information objects created as a result of parsing the document. Thus, it could be used to point to a section of a document highlighted by a user through a mouse drag action.

During development, and until 2016, XPointer was covered by a royalty-free technology patent held by Sun Microsystems. [6]

Positional Element Addressing

The element() scheme [7] introduces positional addressing of child elements. This is similar to a simple XPath address, but subsequent steps can only be numbers representing the position of a descendant relative to its branch on the tree.

For instance, given the following fragment:

<foobarid="foo"><bar/><baz><boma="1"/></baz><boma="2"/></foobar>

results as the following examples:

 xpointer(id("foo")) => foobar  xpointer(/foobar/1) => bar  xpointer(//bom) => bom (a=1), bom (a=2)  element(/1/2/1) => bom (a=1) (/1 descend into first element (foobar),                                /2 descend into second child element (baz),                                /1 select first child element (bom))

See also

Related Research Articles

The terms foobar, foo, bar, baz, and others are used as metasyntactic variables and placeholder names in computer programming or computer-related documentation. They have been used to name entities such as variables, functions, and commands whose exact identity is unimportant and serve only to demonstrate a concept.

In computing, a namespace is a set of signs (names) that are used to identify and refer to objects of various kinds. A namespace ensures that all of a given set of objects have unique names so that they can be easily identified.

A Uniform Resource Identifier (URI) is a unique sequence of characters that identifies a logical or physical resource used by web technologies. URIs may be used to identify anything, including real-world objects, such as people and places, concepts, or information resources such as web pages and books. Some URIs provide a means of locating and retrieving information resources on a network ; these are Uniform Resource Locators (URLs). A URL provides the location of the resource. A URI identifies the resource by name at the specified location or URL. Other URIs provide only a unique name, without a means of locating or retrieving the resource or information about it, these are Uniform Resource Names (URNs). The web technologies that use URIs are not limited to web browsers. URIs are used to identify anything described using the Resource Description Framework (RDF), for example, concepts that are part of an ontology defined using the Web Ontology Language (OWL), and people who are described using the Friend of a Friend vocabulary would each have an individual URI.

XML Markup language by the W3C for encoding of data

Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. The World Wide Web Consortium's XML 1.0 Specification of 1998 and several other related specifications—all of them free open standards—define XML.

In computing, the term Extensible Stylesheet Language (XSL) is used to refer to a family of languages used to transform and render XML documents.

XSD, a recommendation of the World Wide Web Consortium (W3C), specifies how to formally describe the elements in an Extensible Markup Language (XML) document. It can be used by programmers to verify each piece of item content in a document, to assure it adheres to the description of the element it is placed in.

XML Signature defines an XML syntax for digital signatures and is defined in the W3C recommendation XML Signature Syntax and Processing. Functionally, it has much in common with PKCS #7 but is more extensible and geared towards signing XML documents. It is used by various Web technologies such as SOAP, SAML, and others.

An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntactical constraints imposed by XML itself. These constraints are generally expressed using some combination of grammatical rules governing the order of elements, Boolean predicates that the content must satisfy, data types governing the content of elements and attributes, and more specialized rules such as uniqueness and referential integrity constraints.

SimpleXML is a PHP extension that allows users to easily manipulate/use XML data. It was introduced in PHP 5 as an object oriented approach to the XML DOM providing an object that can be processed with normal property selectors and array iterators. It represents an easy way of getting an element's attributes and textual content if you know the XML document's structure or layout.

In computer hypertext, a URI fragment is a string of characters that refers to a resource that is subordinate to another, primary resource. The primary resource is identified by a Uniform Resource Identifier (URI), and the fragment identifier points to the subordinate resource.

XML namespaces are used for providing uniquely named elements and attributes in an XML document. They are defined in a W3C recommendation. An XML instance may contain element or attribute names from more than one XML vocabulary. If each vocabulary is given a namespace, the ambiguity between identically named elements or attributes can be resolved.

The following tables compare XML compatibility and support for a number of browser engines.

XML documents have a hierarchical structure and can conceptually be interpreted as a tree structure, called an XML tree.

Web template system System in web publishing

A web template system in web publishing lets web designers and developers work with web templates to automatically generate custom web pages, such as the results from a search. This reuses static web page elements while defining dynamic elements based on web request parameters. Web templates support static content, providing basic structure and appearance. Developers can implement templates from content management systems, web application frameworks, and HTML editors.

SXML is an alternative syntax for writing XML data as S-expressions, to facilitate working with XML data in Lisp and Scheme. An associated suite of tools implements XPath, SAX and XSLT for SXML in Scheme and are available in the GNU Guile implementation of that language.

JsonML, the JSON Markup Language is a lightweight markup language used to map between XML and JSON. It converts an XML document or fragment into a JSON data structure for ease of use within JavaScript environments such as a web browser, allowing manipulation of XML data without the overhead of an XML parser.

The Internationalization Tag Set (ITS) is a set of attributes and elements designed to provide internationalization and localization support in XML documents.

XPath is an expression language designed to support the query or transformation of XML documents. It was defined by the World Wide Web Consortium (W3C) and can be used to compute values from the content of an XML document. Support for XPath exists in applications that support XML, such as web browsers, and many programming languages.

XQuery is a query and functional programming language that queries and transforms collections of structured and unstructured data, usually in the form of XML, text and with vendor-specific extensions for other data formats. The language is developed by the XML Query working group of the W3C. The work is closely coordinated with the development of XSLT by the XSL Working Group; the two groups share responsibility for XPath, which is a subset of XQuery.

Virtual Token Descriptor for eXtensible Markup Language (VTD-XML) refers to a collection of cross-platform XML processing technologies centered on a non-extractive XML, "document-centric" parsing technique called Virtual Token Descriptor (VTD). Depending on the perspective, VTD-XML can be viewed as one of the following:

References

  1. "XPointer Framework Publication History - W3C". W3C. n.d. Retrieved 2021-04-08.
  2. Bray, Tim; DeRose, Steve, eds. (1997-04-06). "Extensible Markup Language (XML): Part 2. Linking Version 1.0". W3C. Retrieved 2021-04-08.
  3. 1 2 3 4 Grosso, Paul; Maler, Eve; Marsh, Jonathan; Walsh, Norman, eds. (2003-03-25). "XPointer Framework". W3C. W3C. Retrieved 2021-04-08.
  4. "W3C XML Pointer, XML Base and XML Linking". W3C. 2000. Archived from the original on 2021-03-25. Retrieved 2021-04-08.
  5. Bikakis N.; Tsinaraki C.; Gioldasis N.; Stavrakantonakis I.; Christodoulakis S. "The XML and Semantic Web Worlds: Technologies, Interoperability and Integration. A survey of the State of the Art" (PDF). Archived from the original (PDF) on 2019-10-26. Retrieved 2021-04-08.
  6. Daniel, Ron (2002-06-10). "XPointer Patent Statements". www.w3.org. Retrieved 2021-04-08.
  7. Grosso, Paul; Maler, Eve; Marsh, Jonathan; Walsh, Norman, eds. (2003-03-23). "XPointer element() Scheme". W3C. W3C. Retrieved 2021-04-08.