<!-- ===========================================================

    wandoc  (Wanda DOCUMENT  Modeling Language)
    
    author: Katrin Fanke, Lambert Schomaker, Isabelle Guyon
    institution: Fraunhofer IPK, Rijksuniversiteit Groningen, Clopinet
    version: 2.0
    created: 2002-04-11-00-00
    modified: 2003-05-08-00-00
    
 =========================================================== -->
<!ENTITY % anno_types 
    " * | document | writer | script | material | content ">
<!ENTITY % filter_types 
    " * | import | processing | feature_extract ">
<!ENTITY % input_types " * | stream | file | var ">
<!ENTITY % module_types " * | client | server | extern ">
<!ENTITY % output_types " * | stream | file | var ">
<!ENTITY % feature_types " * | boolean | decimal ">

<!-- ======================================================= -->
<!ELEMENT wandoc 
    (filters?, annotations?, pages? , wanda_link*, meta?)>
<!ATTLIST wandoc
    id CDATA #REQUIRED
    label CDATA "Enter label !"
    xmlns CDATA #IMPLIED
>

<!-- ======================================================= -->
<!ELEMENT pages (page+)>
<!ATTLIST pages
    number_of CDATA #IMPLIED
>
<!ELEMENT page 
    (filters?, annotations?, regions?, wanda_link*, meta?)>
<!ATTLIST page
    id CDATA #REQUIRED
    label CDATA #IMPLIED
    next CDATA #IMPLIED
>

<!-- ======================================================= -->
<!ELEMENT regions (region+)>
<!ATTLIST regions
    number_of CDATA #IMPLIED
>
<!ELEMENT region 
    (filters?, annotations?,  points+, regions?, wanda_link*)>
<!ATTLIST region
    id CDATA  #REQUIRED
    label CDATA #IMPLIED
    next CDATA #IMPLIED
>

<!-- ======================================================= -->
<!ELEMENT annotations (annotation+)>
<!ATTLIST annotations
    number_of CDATA #IMPLIED
>
<!ELEMENT annotation (comment?, wanda_link*)>
<!ATTLIST annotation
    type (%anno_types;) #IMPLIED
    xmlns CDATA #IMPLIED
>
<!ELEMENT comment (#PCDATA)>

<!-- ======================================================= -->
<!ELEMENT filters (filter+)>
<!ATTLIST filters
    number_of CDATA #IMPLIED
>
<!ELEMENT filter (inputs+, module+, outputs+, wanda_link*)>
<!ATTLIST filter
    type (%filter_types;) #IMPLIED
    label CDATA #IMPLIED
    xmlns CDATA #IMPLIED
>
<!ELEMENT inputs (input+, wanda_link*)>
<!ATTLIST inputs
    number_of CDATA #IMPLIED
>
<!ELEMENT input (#PCDATA)>
<!--type and  the n-th input for the module -->
<!ATTLIST input
    type (%input_types;) #REQUIRED
    number CDATA #IMPLIED
    label CDATA #IMPLIED
    xmlns CDATA #IMPLIED
>
<!ELEMENT module (#PCDATA)>
<!ATTLIST module
    type (%module_types;) #REQUIRED
    exec CDATA #REQUIRED
>
<!ELEMENT outputs (output+, wanda_link*)>
<!ATTLIST outputs
    number_of CDATA #IMPLIED
>
<!ELEMENT output (features?)>
<!ATTLIST output
    type (%output_types;) #REQUIRED
    number CDATA #IMPLIED
    label CDATA #IMPLIED
    xmlns CDATA #IMPLIED
>

<!-- ======================================================= -->
<!ELEMENT features (feature+)>
<!ATTLIST features
    number_of CDATA #IMPLIED
>
<!ELEMENT feature (#PCDATA)>
<!ATTLIST feature
     name CDATA #REQUIRED
     type (%feature_types;) #IMPLIED
     unit CDATA #IMPLIED
     value CDATA #REQUIRED
     number CDATA #IMPLIED
 >
 <!-- ====================================================== -->
<!ELEMENT points (point+)>
<!ELEMENT point EMPTY>
<!ATTLIST point
    x CDATA #REQUIRED
    y CDATA #REQUIRED
>

<!-- ======================================================= -->
<!ELEMENT wanda_link EMPTY>

<!ATTLIST wanda_link 
    href    CDATA    #REQUIRED
>
<!-- This is a proposition of definition of wanda_link as xlink:
<!ATTLIST wanda_link 
    xmlns:xlink   CDATA    #FIXED   "http://www.w3.org/1999/xlink"
    xlink:type    (simple) #FIXED   "simple"
    xlink:href    CDATA    #REQUIRED
    xlink:show    (embed)  #FIXED   "embed"
    xlink:actuate (onLoad) #FIXED   "onLoad"
>
We made a fix choice for the xlink behavior that will carry over
for the entire wandoc document. If attribute show is set to 
embed then the xlink replaces the element link. When attribute 
actuate is set to onLoad, replacement is immediate 
(similarly to well-known element <html:img src=... >).
For other options see: 
http://www.zvon.org/xxl/xlink/OutputExamples/frame_xlinksimple_html.html
or http://www.w3.org/TR/REC-xml-names/ -->

<!-- ======================================================= -->
<!ELEMENT meta EMPTY>
<!ATTLIST meta
    author CDATA #IMPLIED
    email CDATA #IMPLIED
    institution CDATA #IMPLIED
    version CDATA #IMPLIED
    created CDATA #IMPLIED
    modified CDATA #IMPLIED
>