<!--

  DTD for Neuro - a PCM data format for 1+ dimensional signals over
  an ALingA Manifold. It is serialized as an Ogg bit stream for transport.
  It can be interleaved into an ALingA bit stream.
  (see ALingA.dtd).

  The latest version of this document may be found at http://www.ihear.com.

  Copyright 2007, 2008  Elaine Tsiang YueLien
  Use of this document is governed by Creative Commons Attribution-No Derivative Works 3.0 Unported License
  See http://creativecommons.org/licenses/by-nd/3.0/.

  This DTD pertains only to the header packets of Neuro. The Neuro data are
  in the encoding format specified by the header, packed at the specified
  number of frames per packet. The data packets go after the header packets.

-->

<!ENTITY % declareMetas SYSTEM "Metas.dtd">
%declareMetas;

<!ENTITY % declareManifoldAttrs SYSTEM "ManifoldAttrs.entity">
%declareManifoldAttrs;


<!--

  The Neuro start tag goes into header packet 0, which is the Ogg identity header.
  The FrameType start tag goes into header packet 1.

-->
<!Element Neuro
  ( FrameType
  )
  >
<!ATTLIST Neuro
    %manifoldAttrs;
    dtdVersion		NMTOKEN	#FIXED		"0.1"
    xmlns		CDATA	#FIXED		"http://www.ihear.com/dtds/Neuro/0.1/Neuro.dtd"
    xmlns:xlink		CDATA	#FIXED		"http://www.w3.org/1999/xlink"
>

<!ELEMENT FrameType
  ( Metas?
  )
  >
<!ATTLIST FrameType
    encoding		CDATA	#REQUIRED
    framesPerPacket	NMTOKEN	#REQUIRED
    >

<!--

  If there are any Metas, these go into header packet 1.
  After these go the FrameType end tag, and the Neuro end tag.

  If there isn't any Metas, then the FrameType element
  is EMPTY. The Neuro end tag goes into header packet 1.

  Metas may be used to specify information about channels.

  At least one data frame follow in packets, at the specified framesPerPacket.

-->
