XML Catalog Format

This is an early version of the specification. - Jonathan Borden, December 31,2000

Note: you are looking at the actual XML Catalog for the "http://www.openhealth.org/XMLCatalog/" namespace.

Introduction

This proposal defines a format for an XML Catalog. An XML Catalog serves as a text description of an XML Namespace [1] and includes links to resources associated with the namespace such as schemata. An XML Catalog may also map Formal Public Identifiers into System Identifiers defined as URI references [2]. It is expected that an XML Catalog will be returned on resolving a namespace URI.

The format of an XML Catalog is XHTML [3]. Links are defined as XLinks [4] originating from LINK elements within the XHTML header.

link

An XHTML link. XML Catalog extends XHTML. The XHTML 1.0 DTD has been directly modified to add attributes to the link element. The XHTML 1.1 DTD has been extended using XHTML Modulatization.
<!ELEMENT link                      -- a media-independent link -->
<!ATTLIST link
  %attrs;                              -- %coreattrs, %i18n, %events --
  charset     %Charset;      #IMPLIED  -- char encoding of linked resource --
  href        %URI;          #IMPLIED  -- URI for linked resource --
  hreflang    %LanguageCode; #IMPLIED  -- language code --
  type        %ContentType;  #IMPLIED  -- advisory content type --
  rel         %LinkTypes;    #IMPLIED  -- forward link types --
  rev         %LinkTypes;    #IMPLIED  -- reverse link types --
  media       %MediaDesc;    #IMPLIED  -- for rendering on these media --
  xlink:type  (simple)		 #FIXED "simple"
  xlink:role  CDATA			 #IMPLIED
  xlink:arcrole CDATA		 #IMPLIED
  xlink:title CDATA			 #IMPLIED
  xlink:href	CDATA		 #REQUIRED
  public	  CDATA			 #IMPLIED	-- public identifier
  version	  CDATA			 #IMPLIED
  >

An example:

<html xmlns="http://www.openhealth.org/XMLCatalog/"
	xmlns:xcat="http://www.openhealth.org/XMLCatalog/">
   <head>
     <link type="text/xml-dtd"
	   rel="alternate"
	   xlink:type="simple"
	   xlink:role="http://www.w3.org/tr/xhtml1/DTD/xhtml1-strict.dtd"
	   xlink:title="XHTML1 Strict DTD"
	   xlink:arcrole="http://www.w3.org/tr/xhtml1"
	   xlink:href="xcat-xhtml1-strict.dtd" 
	   public="-//XML Catalog//DTD XHTML Strict 1.0//EN"
	   version="1.0" />
	   
 	<link type="text/xml-dtd"
	   rel="alternate"
	   xlink:type="simple"
	   xlink:role="http://www.w3.org/tr/xhtml1/DTD/xhtml1-transitional.dtd"
	   xlink:title="XHTML1 Transitional DTD"
	   xlink:arcrole="http://www.w3.org/tr/xhtml1"
	   xlink:href="xcat-xhtml1-transitional.dtd" 
	   public="-//XML Catalog//DTD XHTML Transitional 1.0//EN"
	   version="1.0" />

	<link type="text/xml-dtd"
	   rel="alternate"
	   xlink:type="simple"
	   xlink:role="http://www.w3.org/tr/xhtml1/DTD/xhtml1-frameset.dtd"
	   xlink:title="XHTML1 Frameset DTD"
	   xlink:arcrole="http://www.w3.org/tr/xhtml1"
	   xlink:href="xcat-xhtml1-frameset.dtd" 
	   public="-//XML Catalog//DTD XHTML Frameset 1.0//EN"
	   version="1.0" />
	   
    <link type="text/xml-dtd"
	   rel="alternate"
	   xlink:type="simple"
	   xlink:arcrole="http://www.w3.org/tr/xhtml11"
	   xlink:href="xcat-xhtml11.dtd" 
	   public="-//XML Catalog//DTD XHTML 1.1//EN"
	   version="1.1" />
	   
 	<link 
	   type="application/xml"
	   rel="alternate"
	   xlink:type="simple"
	   xlink:title="XML Schema"
	   xlink:arcrole="http://www.w3.org/2000/10/XMLSchema"
	   xlink:href="xcat-xhtml1.xsd" 
	   public="-//XML Catalog//XSD XHTML 1.0//EN"
	   />

	<link 
	   type="application/rdf+xml"
	   rel="alternate"
	   xlink:type="simple"
	   xlink:title="RDF Schema"
	   xlink:arcrole="http://www.w3.org/2000/01/rdf-schema"
	   xlink:href="http://www.openhealth.org/XMLCatalog/xcat-schema.rdfs" 
	   public="-//XML Catalog//RDFS XML Catalog 1.0//EN"
	   />
	<link 
	   type="application/SGML-Open-Catalog"
	   rel="alternate"
	   xlink:type="simple"
	   xlink:title="OASIS-Catalog"
	   xlink:arcrole="http://www.oasis-open.org/html/a401.htm"
	   xlink:href="xcat-xhtml.soc" 
	   public="-//XML Catalog//SOC XCAT XHTML 1.0//EN"
	   />
 </head>
 <body>...description goes here ...</body>
</html>

type [optional]

The value of the "type" attribute contains a content type.

public [optional]

The value of the "public" attribute contains an optional formal public identifier.

version [optional]

The value of the "version" attribute.

xlink:role

The xlink:role of the link can be used to distinguish among related schemata such as for strict, transitional and frameset

xlink:arcrole

The xlink:arcrole references a schema defining the referenced document, e.g. xhtml, XSD, RDF Schema

xlink:href

The xlink:href contains a mandatory URI referencing the target document

References

  1. XML Names
  2. RFC 2396
  3. XHTML 1.0
  4. XLink