catalogResolve

0th

Percentile

Look up an element via the XML catalog mechanism

XML parsers use a catalog to map generic system and public addresses to actual local files or potentially different remote files. We can use a catalog to map a reference such as http://www.omegahat.net/XSL/ to a particular directory on our local machine and then not have to modify any of the documents if we move the local files to another directory, e.g. install a new version in an alternate directory.

This function provides a mechanism to query the catalog to resolve a URI, PUBLIC or SYSTEM identifier.

This is now vectorized, so accepts a character vector of URIs and recycles type to have the same length.

If an entry is not resolved via the catalog system, a NA is returned for that element. To leave the value unaltered in this case, use asIs = TRUE .

Keywords
IO
Usage
catalogResolve(id, type = "uri", asIs = FALSE, debug = FALSE)
Arguments
id

the name of the (generic) element to be resolved

type

a string, specifying whether the lookup is for a uri, system or public element

asIs

a logical. If TRUE any element of id which is not resolved by the catalog system will be left as given in the call. If FALSE, such unresolved elements are identified by NA.

debug

logical value indicating whether to turn on debugging output written to the console (TRUE) or not (FALSE).

Value

A character vector. If the element was resolved, the single element is the resolved value. Otherwise, the character vector will contain no elements.

References

http://www.xmlsoft.org http://www.sagehill.net/docbookxsl/Catalogs.html provides a short, succinct tutorial on catalogs.

See Also

xmlTreeParse

Aliases
  • catalogResolve
Examples
# NOT RUN {
if(!exists("Sys.setenv")) Sys.setenv = Sys.putenv

Sys.setenv("XML_CATALOG_FILES" = system.file("exampleData", "catalog.xml", package = "XML"))



catalogResolve("-//OASIS//DTD DocBook XML V4.4//EN", "public")

catalogResolve("http://www.omegahat.net/XSL/foo.xsl")

catalogResolve("http://www.omegahat.net/XSL/article.xsl", "uri")
catalogResolve("http://www.omegahat.net/XSL/math.xsl", "uri")


  # This one does not resolve anything, returning an empty value.
catalogResolve("http://www.oasis-open.org/docbook/xml/4.1.2/foo.xsl", "uri")


   # Vectorized and returns NA for the first and /tmp/html.xsl
   # for the second.

 catalogAdd("http://made.up.domain", "/tmp")
 catalogResolve(c("ddas", "http://made.up.domain/html.xsl"), asIs = TRUE)
# }
Documentation reproduced from package XML, version 3.98-1.19, License: BSD_2_clause + file LICENSE

Community examples

Looks like there are no examples yet.