next up previous contents
Next: About this document ... Up: Metadata and P2P optimizing Previous: Further information   Contents

Database Schema

Below the database grammar is displayed. The grammar has been written down in a special XML format called XML Schema. Please visit the World Wide Web Consortium's homepage (23) for more information about XML Schema.

<!-- http://atoms.sourceforge.net/atomsnet.xsd redirection page -->

<?xml version="1.0" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:include href="http://atoms.sourceforge.net/atomsnet-1.0.xsd"/> 
</xsd:schema>

<!-- http://atoms.sourceforge.net/atomsnet-1.0.xsd latest version -->
<?xml version="1.0" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  
  <!-- element definitions -->
  <xsd:element name="plugin" minOccurs="0" maxOccurs="unbounded">
    <xsd:complexType>
  	<xsd:attribute name="name" type="xsd:string" use="required"/>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="resource" minOccurs="0" maxOccurs="unbounded">
    <xsd:complexType>
		  <xsd:attribute name="id" type="xsd:ID" use="required"/>
		  <xsd:attribute name="sysref" type="xsd:IDREF" use="required"/>
		  <xsd:attribute name="catref" type="xsd:IDREF" use="required"/>
          <xsd:attribute name="name" type="xsd:string" use="required"/>
          <xsd:attribute name="title" type="xsd:string"/>
          <xsd:attribute name="description" type="xsd:string"/>
          <xsd:attribute name="publisher" type="xsd:string"/>
          <xsd:attribute name="subject" type="xsd:string"/>
          <xsd:attribute name="creator" type="xsd:string"/>
          <xsd:attribute ref="xml:lang" use="required"/>
          <xsd:attribute name="size" type="xsd:long"/>
          <xsd:attribute name="date" type="xsd:date"/>
		  <xsd:attribute name="mimeref" type="xsd:IDREF"/>
  	      <xsd:attribute name="path" type="xsd:string"/>
		  <xsd:attribute name="id" type="xsd:ID"/>
		  <xsd:attribute name="mimeref" type="xsd:IDREF"/>
	</xsd:complexType>
  </xsd:element>

  <xsd:element name="sub">
    <xsd:complexType>
		  <xsd:attribute name="id" type="xsd:ID"/>
	      <xsd:attribute name="name" type="xsd:string"/>
		<xsd:sequence>
	      <xsd:element ref="sub" minOccurs="0" maxOccurs="unbounded"/>
	      <xsd:element ref="resource" minOccurs="0" maxOccurs="unbounded"/>
	      <xsd:element ref="plugin" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
  </xsd:element>
  
  <xsd:element name="index">
    <xsd:complexType>
	  <xsd:element ref="dir" minOccurs="0" maxOccurs="unbounded"/>
	</xsd:complexType>
  </xsd:element>
  
  <xsd:element name="programdata">
    <xsd:complexType>
	    <xsd:attribute name="version" type="integer" use="required"/>
		<xsd:attribute name="idcount" type="integer" use="required"/>
	</xsd:complexType>
  </xsd:element>
  
  <xsd:element name="atomsnet">
    <xsd:complexType>
    	  <xsd:attribute name="ip" type="xsd:string"/>
	  <xsd:sequence>
	    <xsd:element ref="programdata"/>
		<xsd:element ref="index"/>
	  </xsd:sequence>
	  <xsd:key name="resourceid">
        <xsd:selector xpath="resource"/>
        <xsd:field xpath="id"/>
	  </xsd:key>
	  <xsd:keyref name="resourceidref" refer="resourceid">
	    <xsd:selector xpath="resource"/>
		<xsd:field xpath="catref"/>
	  </xsd:keyref>
	  <xsd:keyref name="resourceidref" refer="resourceid">
	    <xsd:selector xpath="resource"/>
		<xsd:field xpath="mimeref"/>
	  </xsd:keyref>
	  <xsd:keyref name="resourceidref" refer="resourceid">
	    <xsd:selector xpath="resource"/>
		<xsd:field xpath="sysref"/>
	  </xsd:keyref>
	</xsd:complexType>
  </xsd:element>
  <!-- attribute definitions -->

</xsd:schema>


2002-08-28