SpeexX Ocean annotation XML Description - Version 1.0

Namespace

The SpeexX Ocean annotation namespace is http://www.speexx.de/ocean/ns/annotation/1.0/#.

It is recommended, that the namespace must be declared in the XML root element. It is also recommended, that the namespace is used as base namespace for so called nested annotations with equals namespace and localname.

Example:
Nested Annotations

If such an annotation comes up, the namespace is appended by a count (base 36 encoded), followed by a numer sign (#), followed by the original namespace.

Example:
http://www.speexx.de/ocean/ns/annotation/1.0/#count#original-namespace

The a:annotation container element attributes

The root element of all annotations is annotation. This element can contains the following attributs. a:annotation has two nested elements: a:meta and a:text

The a:meta element.

The a:meta contains meta information about the document. The elements contains one or more a:property elements.
Note: At this time the elements is not yet supported by the API.

The a:property element.

The a:property element contains the value of a meta information.
Note: At this time the element is not supported by the API.

The attributes of a:property.

The a:text element.

The a:text contains the textvalue of the document. The value of xml:space is allways preserve. The a:text could contain ANY other XML elements.

Attributes for a:text.

There are three defined attributes which can be used in all annotations.

Common attributes for ANY

There are three defined attributes which can be used in all annotations.

An example DTD

This XML DTD is only an schematic representation of how an annotation format maybe looks like.
  <!ELEMENT a:annotation (a:meta, a:text) >
  <!ATTLIST a:annotation a:version CDATA #FIXED '1'
                         a:source CDATA #IMPLIED
                         a:mimetype CDATA #IMPLIED
                         xmlns:a CDATA #FIXED 'http://www.speexx.de/ocean/ns/annotation/1.0/#'
                         xml:lang NMTOKEN #IMPLIED>

  <!ELEMENT a:meta (a:property)* >
  <!ELEMENT a:property (EMPTY) >
  <!ATTLIST a:property a:key CDATA #REQUIRED
                       a:value CDATA #REQUIRED>
  <!ELEMENT a:text (#PCDATA | ANY)* >
  <!ATTLIST a:text xml:space NMTOKEN #FIXED 'preserve' >
  <!ATTLIST ANY a:weight CDATA #IMPLIED
                a:id ID #IMPLIED
                a:ref IDREF #IMPLIED>

© 2004-2005 by Sascha Kohlmann under the terms of the GNU General Public Licence.

Last change: 2005-06-07 - webmaster@speexx.de
CSS Valid CSS!  Valid XHTML 1.0!