SWFML

ShockWaveFile Markup Language ( SWFML )

Introduction

ShockWaveFile Markup Language is a simple text format designed to allow composition
and realtime control of swf files which are executed within the Macromedia Flash
player. This page describes the format and includes links to other resources which
pertain to swfml.

Top

SWFML Tags

Top

SWFML Example Files

Top

Schema

			
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<xs:element name="swfml">
		<xs:complexType>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="callFunction"/>
				<xs:element ref="clear"/>
				<xs:element ref="fade"/>
				<xs:element ref="getsoap"/>
				<xs:element ref="getVar"/>
				<xs:element ref="learn"/>
				<xs:element ref="loadJPG"/>
				<xs:element ref="loadMP3"/>
				<xs:element ref="loadSWF"/>
				<xs:element ref="move"/>
				<xs:element ref="popup"/>
				<xs:element ref="rotate"/>
				<xs:element ref="setVar"/>
				<xs:element ref="speak"/>
				<xs:element ref="SQL"/>
				<xs:element ref="text"/>
				<xs:element ref="unloadSWF"/>
				<xs:element ref="visibility"/>
			</xs:choice>
		</xs:complexType>
	</xs:element>
	<xs:element name="callFunction">
		<xs:complexType>
			<xs:attribute name="delay" type="xs:float" use="optional" default="0"/>
			<xs:attribute name="time" type="xs:string" use="optional" default="NA"/>
			<xs:attribute name="name" type="xs:string" use="required"/>
			<xs:attribute name="params" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="clear">
		<xs:complexType>
			<xs:attribute name="delay" type="xs:float" use="optional" default="0"/>
			<xs:attribute name="time" type="xs:string" use="optional" default="NA"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="fade">
		<xs:complexType>
			<xs:attribute name="delay" type="xs:float" use="optional" default="0"/>
			<xs:attribute name="time" type="xs:string" use="optional" default="NA"/>
			<xs:attribute name="target" type="xs:string" use="required"/>
			<xs:attribute name="type" use="optional">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="absolute"/>
						<xs:enumeration value="add"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="mode" use="optional">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="immediate"/>
						<xs:enumeration value="gradual"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="value" type="xs:positiveInteger" use="required"/>
			<xs:attribute name="fadetime" type="xs:float" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="getsoap">
		<xs:complexType>
			<xs:attribute name="endpoint" type="xs:anyURI" use="required"/>
			<xs:attribute name="AreaCode" type="xs:string"/>
			<xs:attribute name="PhoneNumber" type="xs:string"/>
			<xs:attribute name="symbol" type="xs:string"/>
			<xs:attribute name="sourceData" type="xs:string"/>
			<xs:attribute name="Mode" type="xs:string"/>
			<xs:attribute name="FromCountry" type="xs:string"/>
			<xs:attribute name="ToCountry" type="xs:string"/>
			<xs:attribute name="pattern" type="xs:string"/>
			<xs:attribute name="that" type="xs:string"/>
			<xs:attribute name="topic" type="xs:string"/>
			<xs:attribute name="mood" type="xs:string"/>
			<xs:attribute name="context" type="xs:string"/>
			<xs:attribute name="userid" type="xs:string"/>
			<xs:attribute name="referrerid" type="xs:string"/>
			<xs:attribute name="language" type="xs:string"/>
			<xs:attribute name="Relevance" type="xs:byte"/>
			<xs:attribute name="hops" type="xs:byte"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="getVar">
		<xs:complexType>
			<xs:attribute name="name" type="xs:string" use="required"/>
			<xs:attribute name="value" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="learn">
		<xs:complexType>
			<xs:attribute name="delay" type="xs:float" use="optional" default="0"/>
			<xs:attribute name="time" type="xs:string" use="optional" default="NA"/>
			<xs:attribute name="filelocation" type="xs:string" use="required"/>
			<xs:attribute name="topicname" type="xs:string" use="required"/>
			<xs:attribute name="type" type="xs:string" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="loadJPG">
		<xs:complexType>
			<xs:attribute name="delay" type="xs:float" use="optional" default="0"/>
			<xs:attribute name="time" type="xs:string" use="optional" default="NA"/>
			<xs:attribute name="url" type="xs:string" use="required"/>
			<xs:attribute name="name" type="xs:string" use="required"/>
			<xs:attribute name="depth" type="xs:string" use="optional"/>
			<xs:attribute name="xcoord" type="xs:float" use="optional"/>
			<xs:attribute name="ycoord" type="xs:float" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="loadMP3">
		<xs:complexType>
			<xs:attribute name="delay" type="xs:float" use="optional" default="0"/>
			<xs:attribute name="time" type="xs:string" use="optional" default="NA"/>
			<xs:attribute name="url" type="xs:string" use="required"/>
			<xs:attribute name="name" type="xs:string" use="required"/>
			<xs:attribute name="depth" type="xs:string" use="optional"/>
			<xs:attribute name="type" use="required">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="event"/>
						<xs:enumeration value="streaming"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="xcoord" type="xs:float" use="optional"/>
			<xs:attribute name="ycoord" type="xs:float" use="optional"/>
			<xs:attribute name="volume" type="xs:float" use="optional" default="50"/>
			<xs:attribute name="pan" type="xs:float" use="optional" default="0"/>

		</xs:complexType>
	</xs:element>
	<xs:element name="loadSWF">
		<xs:complexType>
			<xs:attribute name="delay" type="xs:float" use="optional" default="0"/>
			<xs:attribute name="time" type="xs:string" use="optional" default="NA"/>
			<xs:attribute name="url" type="xs:string" use="required"/>
			<xs:attribute name="name" type="xs:string" use="required"/>
			<xs:attribute name="depth" type="xs:string" use="optional"/>
			<xs:attribute name="xcoord" type="xs:float" use="optional"/>
			<xs:attribute name="ycoord" type="xs:float" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="move">
		<xs:complexType>
			<xs:attribute name="delay" type="xs:float" use="optional" default="0"/>
			<xs:attribute name="time" type="xs:string" use="optional" default="NA"/>
			<xs:attribute name="target" type="xs:string" use="required"/>
			<xs:attribute name="type" use="optional">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="absolute"/>
						<xs:enumeration value="add"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="mode" use="optional">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="immediate"/>
						<xs:enumeration value="gradual"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="xcoord" type="xs:float" use="required"/>
			<xs:attribute name="ycoord" type="xs:float" use="required"/>
			<xs:attribute name="movetime" type="xs:float" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="popup">
		<xs:complexType>
			<xs:attribute name="delay" type="xs:float" use="optional" default="0"/>
			<xs:attribute name="time" type="xs:string" use="optional" default="NA"/>
			<xs:attribute name="url" type="xs:anyURI" use="required"/>
			<xs:attribute name="windowname" type="xs:string" use="required"/>
			<xs:attribute name="width" type="xs:float" use="optional"/>
			<xs:attribute name="height" type="xs:float" use="optional"/>
			<xs:attribute name="xCoord" type="xs:float" use="optional"/>
			<xs:attribute name="yCoord" type="xs:float" use="optional"/>
			<xs:attribute name="resizable" type="xs:boolean" use="optional"/>
			<xs:attribute name="scrollbars" type="xs:boolean" use="optional"/>
			<xs:attribute name="statusbar" type="xs:boolean" use="optional"/>
			<xs:attribute name="toolbar" type="xs:boolean" use="optional"/>
			<xs:attribute name="menubar" type="xs:boolean" use="optional"/>
			<xs:attribute name="location" type="xs:boolean" use="optional"/>
			<xs:attribute name="directories" type="xs:boolean" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="rotate">
		<xs:complexType>
			<xs:attribute name="delay" type="xs:float" use="optional" default="0"/>
			<xs:attribute name="time" type="xs:string" use="optional" default="NA"/>
			<xs:attribute name="target" type="xs:string" use="required"/>
			<xs:attribute name="type" use="optional">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="absolute"/>
						<xs:enumeration value="add"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="mode" use="optional">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="immediate"/>
						<xs:enumeration value="gradual"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="value" type="xs:float" use="required"/>
			<xs:attribute name="rotatetime" type="xs:float" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="setVar">
		<xs:complexType>
			<xs:attribute name="delay" type="xs:float" use="optional" default="0"/>
			<xs:attribute name="time" type="xs:string" use="optional" default="NA"/>
			<xs:attribute name="name" type="xs:string" use="required"/>
			<xs:attribute name="value" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="speak">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="getsoap"/>
				<xs:element ref="getVar"/>
			</xs:choice>
			<xs:attribute name="delay" type="xs:float" use="optional" default="0"/>
			<xs:attribute name="time" type="xs:string" use="optional" default="NA"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="SQL">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="getVar"/>
			</xs:choice>
			<xs:attribute name="delay" type="xs:float" use="optional" default="0"/>
			<xs:attribute name="time" type="xs:string" use="optional" default="NA"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="text">
		<xs:complexType>
			<xs:attribute name="delay" type="xs:float" use="optional" default="0"/>
			<xs:attribute name="time" type="xs:string" use="optional" default="NA"/>
			<xs:attribute name="width" type="xs:short" use="optional"/>
			<xs:attribute name="height" type="xs:short" use="optional"/>
			<xs:attribute name="xcoord" type="xs:byte" use="optional"/>
			<xs:attribute name="ycoord" type="xs:byte" use="optional"/>
			<xs:attribute name="textdepth" type="xs:short" use="optional"/>
			<xs:attribute name="groupdepth" type="xs:short" use="optional"/>
			<xs:attribute name="size" type="xs:byte" use="optional"/>
			<xs:attribute name="color" type="xs:byte" use="optional"/>
			<xs:attribute name="font" type="xs:string" use="optional"/>
			<xs:attribute name="bold" type="xs:string" use="optional"/>
			<xs:attribute name="underline" type="xs:string" use="optional"/>
			<xs:attribute name="textcontent" type="xs:string" use="optional"/>
			<xs:attribute name="textname" type="xs:string" use="optional"/>
			<xs:attribute name="groupname" type="xs:string" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="unloadSWF">
		<xs:complexType>
			<xs:attribute name="delay" type="xs:float" use="optional" default="0"/>
			<xs:attribute name="time" type="xs:string" use="optional" default="NA"/>
			<xs:attribute name="name" type="xs:string" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="visibility">
		<xs:complexType>
			<xs:attribute name="delay" type="xs:float" use="optional" default="0"/>
			<xs:attribute name="time" type="xs:string" use="optional" default="NA"/>
			<xs:attribute name="target" type="xs:string" use="required"/>
			<xs:attribute name="value" use="required">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="off"/>
						<xs:enumeration value="on"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
</xs:schema>
	
		

Top

Other Resources

These supposed other resources will be added to as time permits or occasion demands.

Top

Contact

Email communication - gregb@swfml.net

Top