<!-- SVF v2.0 -->
<!-- (C) Copyright 1994-2000 by SoftSource.  All rights reserved. -->
<!-- last modified Dec 6 2000 -->

<!ENTITY % bodyobjects "(a | arc | bezier | circle | clipping | current | data |
	ellipse | line | object | point | polyline | rectangle | stream | text)">
<!ELEMENT svf (head?, (body | %bodyobjects;*))>

<!ATTLIST svf
	min	CDATA #IMPLIED
	max	CDATA #IMPLIED
	viewmin	CDATA #IMPLIED
	viewmax	CDATA #IMPLIED>

<!-- header - non displaying information -->

<!ELEMENT head (background | base | colors | datatypes | extents |
	flags | fonts | initialview | layers | name | nextid | notifications |
	size | transform | transparent | views)*>

<!ELEMENT background EMPTY>
<!ELEMENT base EMPTY>
<!ELEMENT colors (color+)>
<!ELEMENT color EMPTY>
<!ELEMENT datatypes (datatype+)>
<!ELEMENT datatype EMPTY>
<!ELEMENT extents EMPTY>
<!ELEMENT flags EMPTY>
<!ELEMENT fonts (font+)>
<!ELEMENT font EMPTY>
<!ELEMENT initialview EMPTY>
<!ELEMENT layers (layer+)>
<!ELEMENT layer EMPTY>
<!ELEMENT name EMPTY>
<!ELEMENT nextid EMPTY>
<!ELEMENT notifications (zoomin?, zoomout?)>
<!ELEMENT zoomin (notify+)>
<!ELEMENT zoomout (notify+)>
<!ELEMENT notify EMPTY>
<!ELEMENT size EMPTY>
<!ELEMENT transform EMPTY>
<!ELEMENT transparent EMPTY>
<!ELEMENT views (view+)>
<!ELEMENT view EMPTY>

<!ATTLIST background
	color	CDATA #REQUIRED>
<!ATTLIST base
	href	CDATA #REQUIRED>
<!ATTLIST colors
	count	CDATA #IMPLIED
	background CDATA #IMPLIED
	transparent CDATA #IMPLIED>
<!ATTLIST color
	color	CDATA #REQUIRED>
<!ATTLIST datatypes
	count	CDATA #IMPLIED>
<!ATTLIST datatype
	company	CDATA #IMPLIED
	type	CDATA #REQUIRED
	comments CDATA #IMPLIED
	href	CDATA #IMPLIED>
<!ATTLIST extents
	min	CDATA #IMPLIED
	max	CDATA #REQUIRED>
<!ATTLIST flags
	rearrange (true|false|on|off) "false"
	upperleft (true|false|on|off) "false">
<!ATTLIST fonts
	count	CDATA #IMPLIED>
<!ATTLIST font
	font	CDATA #REQUIRED
	family	(monospaced|sansserif|serif|symbol|cursive|decorative|other) "serif">
<!ATTLIST initialview
	min	CDATA #IMPLIED
	max	CDATA #REQUIRED>
<!ATTLIST layers
	count	CDATA #IMPLIED>
<!ATTLIST layer
	name	CDATA #REQUIRED
	state	(true|false|on|off) "on">
<!ATTLIST name
	name	CDATA #REQUIRED>
<!ATTLIST nextid
	id	CDATA #REQUIRED>
<!ATTLIST zoomin
	count	CDATA #IMPLIED>
<!ATTLIST zoomout
	count	CDATA #IMPLIED>
<!ATTLIST notify
	width	CDATA #REQUIRED
	href	CDATA #REQUIRED>
<!ATTLIST size
	width	CDATA #REQUIRED>
<!ATTLIST transform
	scale	CDATA #IMPLIED
	base	CDATA #IMPLIED>
<!ATTLIST transparent
	color	CDATA #REQUIRED>
<!ATTLIST views
	count	CDATA #IMPLIED>
<!ATTLIST view
	name	CDATA #IMPLIED
	min	CDATA #REQUIRED
	max	CDATA #REQUIRED>


<!-- body - graphic information -->

<!ELEMENT body (%bodyobjects;*)>

<!ELEMENT a (%bodyobjects;)*>
<!ELEMENT arc EMPTY>
<!ELEMENT bezier EMPTY>
<!ELEMENT circle EMPTY>
<!ELEMENT clipping (%bodyobjects;)*>
<!ELEMENT current EMPTY>
<!ELEMENT data (#PCDATA)*>
<!ELEMENT ellipse EMPTY>
<!ELEMENT line EMPTY>
<!ELEMENT object (#PCDATA)*>
<!ELEMENT point EMPTY>
<!ELEMENT polyline EMPTY>
<!ELEMENT rectangle EMPTY>
<!ELEMENT stream EMPTY>
<!ELEMENT text (#PCDATA)*>

<!-- current state -->

<!ATTLIST current
	color	CDATA #IMPLIED
	id	CDATA #IMPLIED
	layer	CDATA #IMPLIED
	transform	(true|false|on|off) "on"
	visibility	(true|false|on|off) "on"

	fill	(true|false|on|off) "off"
	fixedwidth	CDATA #IMPLIED
	linetype	(solid|dash|dot|dashdot|dashdotdot) "solid"
	penwidth	CDATA #IMPLIED
	point	CDATA #IMPLIED

	text-angle	CDATA #IMPLIED
	text-font	CDATA #IMPLIED
	text-height	CDATA #IMPLIED
	text-bold	(true|false|on|off) "false"
	text-italics	(true|false|on|off) "false"
	text-base-method	(baseline|bottom) "baseline"
	text-height-method	(M|cell) "M">

<!-- graphic objects -->

<!ATTLIST arc
	point	CDATA #IMPLIED
	radius	CDATA #REQUIRED
	startangle	CDATA #REQUIRED
	endangle	CDATA #REQUIRED>
<!ATTLIST bezier
	point	CDATA #IMPLIED
	point2	CDATA #REQUIRED
	point3	CDATA #REQUIRED
	point4	CDATA #REQUIRED>
<!ATTLIST circle
	point	CDATA #IMPLIED
	radius	CDATA #REQUIRED>
<!ATTLIST ellipse
	point	CDATA #IMPLIED
	width	CDATA #REQUIRED
	height	CDATA #REQUIRED
	angle	CDATA #IMPLIED
	startangle	CDATA #IMPLIED
	endangle	CDATA #IMPLIED>
<!ATTLIST line
	point	CDATA #IMPLIED
	point2	CDATA #REQUIRED>
<!ATTLIST object
	point	CDATA #IMPLIED
	width	CDATA #REQUIRED
	height	CDATA #IMPLIED
	data	CDATA #REQUIRED
	type	CDATA #IMPLIED>
<!ATTLIST point
	point	CDATA #REQUIRED>
<!ATTLIST polyline
	points	CDATA #REQUIRED
	count	CDATA #IMPLIED>
<!ATTLIST rectangle
	point	CDATA #IMPLIED
	width	CDATA #REQUIRED
	height	CDATA #REQUIRED>
<!ATTLIST text
	point	CDATA #IMPLIED
	width	CDATA #IMPLIED>

<!-- non-graphic objects -->

<!ATTLIST a
	href	CDATA #REQUIRED
	title	CDATA #IMPLIED
	target	CDATA #IMPLIED
	dimension (1|2) "2"
	query	(true|false|on|off) "false"
	shortform	(true|false|on|off) "false"
	base	CDATA #IMPLIED
	scale	CDATA #IMPLIED>
<!ATTLIST clipping
	count CDATA #IMPLIED>
<!ATTLIST data
	format	CDATA 'binary'
	type	CDATA #IMPLIED
	company	CDATA #IMPLIED>
<!ATTLIST stream
	status (end|reset) #REQUIRED>
