# xsd

xsd_schema:
<rule:schema xmlns:rule="http://www.w3.org/2001/XMLSchema">

    <rule:annotation>
        <rule:documentation xml:lang="en">
            Object file for SIS Objects
            Copyright: Kongsberg
        </rule:documentation>
    </rule:annotation>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            This is the structure of the definition file.
            First there is a header, then a list of object types
        </rule:documentation>
    </rule:annotation>
    <rule:element name="ObjectFile">
        <rule:complexType>
            <rule:sequence>
                <rule:element name="FileVersion" type="rule:integer"/>
                <rule:element name="Created" type="rule:dateTime"/>
                <rule:element name="ObjectFileItem" type="ObjectFileUnion" minOccurs="0" maxOccurs="unbounded"/>
            </rule:sequence>
        </rule:complexType>
    </rule:element>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            Point 2D
        </rule:documentation>
    </rule:annotation>
    <rule:group name="Point2D">
        <rule:sequence>
            <rule:element name="Point2D_ID" type="rule:integer"/>
            <rule:element name="Point2D_Objtype" type="rule:string"/>
            <rule:element name="Point2D_Time" type="rule:dateTime" minOccurs="0" maxOccurs="1"/>
            <rule:element name="Point2D_NorthDegr" type="rule:double"/>            
            <rule:element name="Point2D_EastDegr" type="rule:double"/>            
        </rule:sequence>
    </rule:group>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            Point 3D
        </rule:documentation>
    </rule:annotation>
    <rule:group name="Point3D">
        <rule:sequence>
            <rule:element name="Point3D_ID" type="rule:integer"/>            
            <rule:element name="Point3D_Objtype" type="rule:string"/>
            <rule:element name="Point3D_Time" type="rule:dateTime" minOccurs="0" maxOccurs="1"/>
            <rule:element name="Point3D_NorthDegr" type="rule:double"/>            
            <rule:element name="Point3D_EastDegr" type="rule:double"/>            
            <rule:element name="Point3D_DepthMeters" type="rule:double"/>            
        </rule:sequence>
    </rule:group>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            Line, 2D. Also areas are created here; typename defines how this line is used.
        </rule:documentation>
    </rule:annotation>
    <rule:group name="Line">
        <rule:sequence>
            <rule:element name="Line_ID" type="rule:integer"/>
            <rule:element name="Line_Time" type="rule:dateTime" minOccurs="0" maxOccurs="1"/>
            <rule:element name="Line_Coordinates2D" type="Coordinates2D" minOccurs="2" maxOccurs="unbounded"/>
            <rule:element name="Line_Objtype" type="rule:string"/>
        </rule:sequence>
    </rule:group>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            Line 2.5D
        </rule:documentation>
    </rule:annotation>
    <rule:group name="Line25D">
        <rule:sequence>
            <rule:element name="Line25D_ID" type="rule:integer"/>
            <rule:element name="Line25D_Time" type="rule:dateTime" minOccurs="0" maxOccurs="1"/>
            <rule:element name="Line25D_Depth" type="rule:double"/>
            <rule:element name="Line25D_Coordinates2D" type="Coordinates2D" minOccurs="0" maxOccurs="unbounded"/>
            <rule:element name="Line25D_Objtype" type="rule:string"/>
        </rule:sequence>
    </rule:group>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            Text
        </rule:documentation>
    </rule:annotation>
    <rule:group name="Text">
        <rule:sequence>
            <rule:element name="Text_ID" type="rule:integer"/>            
            <rule:element name="Text_Objtype" type="rule:string"/>
            <rule:element name="Text_Time" type="rule:dateTime" minOccurs="0" maxOccurs="1"/>
            <rule:element name="Text_NorthDegr" type="rule:double"/>            
            <rule:element name="Text_EastDegr" type="rule:double"/>            
            <rule:element name="Text_text" type="rule:string"/>            
        </rule:sequence>
    </rule:group>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            Image
        </rule:documentation>
    </rule:annotation>
    <rule:group name="Image">
        <rule:sequence>
            <rule:element name="Image_ID" type="rule:integer"/>            
            <rule:element name="Image_Objtype" type="rule:string"/>
            <rule:element name="Image_Time" type="rule:dateTime" minOccurs="0" maxOccurs="1"/>
            <rule:element name="Image_NorthDegr" type="rule:double"/>            
            <rule:element name="Image_EastDegr" type="rule:double"/>            
        </rule:sequence>
    </rule:group>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            Video
        </rule:documentation>
    </rule:annotation>
    <rule:group name="Video">
        <rule:sequence>
            <rule:element name="Video_ID" type="rule:integer"/>            
            <rule:element name="Video_Objtype" type="rule:string"/>
            <rule:element name="Video_Time" type="rule:dateTime" minOccurs="0" maxOccurs="1"/>
            <rule:element name="Video_NorthDegr" type="rule:double"/>            
            <rule:element name="Video_EastDegr" type="rule:double"/>            
            <rule:element name="Video_path" type="rule:string"/>            
        </rule:sequence>
    </rule:group>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            Html
        </rule:documentation>
    </rule:annotation>
    <rule:group name="Html">
        <rule:sequence>
            <rule:element name="Html_ID" type="rule:integer"/>            
            <rule:element name="Html_Objtype" type="rule:string"/>
            <rule:element name="Html_Time" type="rule:dateTime" minOccurs="0" maxOccurs="1"/>
            <rule:element name="Html_NorthDegr" type="rule:double"/>            
            <rule:element name="Html_EastDegr" type="rule:double"/>            
            <rule:element name="Html_path" type="rule:string"/>            
        </rule:sequence>
    </rule:group>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            This is a union of all object types.
        </rule:documentation>
    </rule:annotation>
    <rule:complexType name="ObjectFileUnion">
        <rule:sequence>
            <rule:choice>
                <rule:group ref="Line"/>
                <rule:group ref="Line25D"/>
                <rule:group ref="Point2D"/>
                <rule:group ref="Point3D"/>
                <rule:group ref="Image"/>
                <rule:group ref="Text"/>
                <rule:group ref="Video"/>
                <rule:group ref="Html"/>
            </rule:choice>
        </rule:sequence>
    </rule:complexType>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            2D coordinate
        </rule:documentation>
    </rule:annotation>
    <rule:complexType name="Coordinates2D">
        <rule:sequence>
            <rule:element name="NorthDegr" type="rule:double"/>            
            <rule:element name="EastDegr" type="rule:double"/>
        </rule:sequence>
    </rule:complexType>

</rule:schema>


xsd_schema:
<rule:schema xmlns:rule="http://www.w3.org/2001/XMLSchema">

    <rule:annotation>
        <rule:documentation xml:lang="en">
            Object definition file for SIS Objects
            Copyright: Kongsberg
        </rule:documentation>
    </rule:annotation>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            This is the structure of the definition file.
            First there is a header, then a list of object types
        </rule:documentation>
    </rule:annotation>
    <rule:element name="ObjectDefinitionFile">
        <rule:complexType>
            <rule:sequence>
                <rule:element name="FileVersion" type="rule:integer"/>
                <rule:element name="Created" type="rule:dateTime"/>
                <rule:element name="ObjectDefinition" type="ObjectUnion" minOccurs="0" maxOccurs="unbounded"/>
            </rule:sequence>
        </rule:complexType>
    </rule:element>


    <rule:annotation>
        <rule:documentation xml:lang="en">
            Line 2D
        </rule:documentation>
    </rule:annotation>
    <rule:group name="Line2D">
        <rule:sequence>
            <rule:element name="ObjectTypeNameLine2D" type="rule:string"/>
            <rule:element name="LineType" type="rule:string"/>
            <rule:element name="Width" type="rule:integer"/>
            <rule:element name="Color" type="rule:string"/>
        </rule:sequence>
    </rule:group>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            Line 2.5D
        </rule:documentation>
    </rule:annotation>
    <rule:group name="Line25D">
        <rule:sequence>
            <rule:element name="ObjectTypeNameLine25D" type="rule:string"/>
            <rule:element name="LineType" type="rule:string"/>
            <rule:element name="Width" type="rule:integer"/>
            <rule:element name="Color" type="rule:string"/>
        </rule:sequence>
    </rule:group>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            Area
        </rule:documentation>
    </rule:annotation>
    <rule:group name="Area">
        <rule:sequence>
            <rule:element name="ObjectTypeNameArea" type="rule:string"/>
            <rule:element name="LineType" type="rule:string"/>
            <rule:element name="Width" type="rule:integer"/>
            <rule:element name="AreaColor" type="rule:string"/>
            <rule:element name="AreaTransparency" type="rule:integer"/>
            <rule:element name="Color" type="rule:string"/>
        </rule:sequence>
    </rule:group>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            Area 3D
        </rule:documentation>
    </rule:annotation>
    <rule:group name="Area3D">
        <rule:sequence>
            <rule:element name="ObjectTypeNameArea3D" type="rule:string"/>
            <rule:element name="LineType" type="rule:string"/>
            <rule:element name="Width" type="rule:integer"/>
            <rule:element name="AreaColor" type="rule:string"/>
            <rule:element name="AreaTransparency" type="rule:integer"/>
            <rule:element name="Color" type="rule:string"/>
        </rule:sequence>
    </rule:group>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            Point 2D
        </rule:documentation>
    </rule:annotation>
    <rule:group name="Point2D">
        <rule:sequence>
            <rule:element name="ObjectTypeNamePoint2D" type="rule:string"/>
            <rule:element name="Width" type="rule:integer"/>
            <rule:element name="Color" type="rule:string"/>
        </rule:sequence>
    </rule:group>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            Point 3D
        </rule:documentation>
    </rule:annotation>
    <rule:group name="Point3D">
        <rule:sequence>
            <rule:element name="ObjectTypeNamePoint3D" type="rule:string"/>
            <rule:element name="Width" type="rule:integer"/>
            <rule:element name="Color" type="rule:string"/>
        </rule:sequence>
    </rule:group>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            Image
        </rule:documentation>
    </rule:annotation>
    <rule:group name="Image">
        <rule:sequence>
            <rule:element name="ObjectTypeNameImage" type="rule:string"/>
            <rule:element name="ImagePath" type="rule:string"/>
        </rule:sequence>
    </rule:group>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            Point with video
        </rule:documentation>
    </rule:annotation>
    <rule:group name="Video">
        <rule:sequence>
            <rule:element name="ObjectTypeNameVideo" type="rule:string"/>
            <rule:element name="Width" type="rule:integer"/>
            <rule:element name="Color" type="rule:string"/>
        </rule:sequence>
    </rule:group>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            Point with html
        </rule:documentation>
    </rule:annotation>
    <rule:group name="Html">
        <rule:sequence>
            <rule:element name="ObjectTypeNameHtml" type="rule:string"/>
            <rule:element name="Width" type="rule:integer"/>
            <rule:element name="Color" type="rule:string"/>
        </rule:sequence>
    </rule:group>

    <rule:annotation>
        <rule:documentation xml:lang="en">
            This is a union of all object types.
        </rule:documentation>
    </rule:annotation>
    <rule:complexType name="ObjectUnion">
        <rule:sequence>
            <rule:choice>
                <rule:group ref="Line2D"/>
                <rule:group ref="Line25D"/>
                <rule:group ref="Area"/>
                <rule:group ref="Area3D"/>
                <rule:group ref="Point2D"/>
                <rule:group ref="Point3D"/>
                <rule:group ref="Image"/>
                <rule:group ref="Video"/>
                <rule:group ref="Html"/>
            </rule:choice>
        </rule:sequence>
    </rule:complexType>

</rule:schema>


# parameters

params:
LINETYPES_START
Coastline
Depthcontour_2m
Dryfall
LINETYPES_END
DEFAULT_LINETYPE FALSE
LINETYPE_AS_DEFAULT Coastline
LINEDEPTH 0
POINTTYPES_START
Marker
Shoal
POINTTYPES_END
DEFAULT_POINTTYPE FALSE
POINTTYPE_AS_DEFAULT Marker
POINTDEPTH 0
MARKERTYPES_START
Marker
Shoal
MARKERTYPES_END
MARKERTYPE Marker
AVAILABLE_TYPES_START
Coastline
Depthcontour_2m
Dryfall
Marker
Shoal
SurveyedArea
AVAILABLE_TYPES_END
DATABASESERVER localhost
SENDTOHOST 127.0.0.1:6978
VIDEOPLAYER vlc
HTML explorer
SHOWHIDE_START
Coastline
ON
Depthcontour_2m
ON
Dryfall
ON
Marker
ON
Shoal
ON
SurveyedArea
ON
html
ON
texts
ON
video
ON
SHOWHIDE_END


