<!--***********************

TVSCHEDULE.DTD

An XML DTD to encode TV Program Schedules for 
display on over-the-air bulletin boards, handouts and HTML pages

David Moisan
20-April-1999

Version 0.8

************-->

<!--TVSCHEDULE:  A collection of elements that describe a week's 
worth of programming at a public-access TV studio, which can be 
represented in HTML, hardcopy and other forms such as the
Scala scripting language through the use of XML and other
styling technology. 

-->


<!ELEMENT TVSCHEDULE (CHANNEL+)>
<!ATTLIST TVSCHEDULE
	NAME CDATA #REQUIRED>

<!--TVSCHEDULE:  Root element that has one or more CHANNELS
representing complete lists of programming for each channel in a multi-channel system (such as SATV's)

Attributes:
	NAME	Name of the studio or organization (required)

-->


<!ELEMENT CHANNEL (BANNER, DAY+)>
<!ATTLIST CHANNEL
	CHAN CDATA #REQUIRED>

<!--CHANNEL
		Attribute:

		  CHAN (Required)  

Contains the channel banner and programming for each day.

-->

<!ELEMENT BANNER (#PCDATA)>


<!--BANNER:
	Describes the banner that appears before the main schedule.
	This could be represented as an HTML title, a header or a
	banner page.  This element is required.

-->


<!--DAY:
	Describes the program schedule for each day
	This element can have one or more PROGRAMSLOT elements (that 
	correspond to programs on the schedule) or one HOLIDAY element
	(that appears when no programs are on the air due to a holiday.)
 
-->

<!ELEMENT
	DAY ((DATE, HOLIDAY) | (DATE, PROGRAMSLOT+))+>

<!-- HOLIDAY:  Used to denote days when no programming is run due
	to a holiday.  This element is optional and can be used one or 
	more times 


-->

<!ELEMENT HOLIDAY (#PCDATA)>

<!ELEMENT DATE (#PCDATA)>

<!-- PROGRAMSLOT:  Describes the time slot, including title, rating
		and description of the program.

Attributes:
	VTR	VTR code;  this can be sent to Leightronix or similar VTR
			controllers. (Optional)
-->

<!ELEMENT PROGRAMSLOT (TIME, TITLE, DESCRIPTION?)>


<!ATTLIST PROGRAMSLOT
		VTR  CDATA #IMPLIED>

<!--TIME:  
		Airtime of the show.  Normally formatted in hh:mm AM/PM, 
		this can be formatted to fit the needs of automation 
		equipment, etc. -->

<!ELEMENT TIME (#PCDATA)>

<!ELEMENT TITLE (#PCDATA)> 
<!ATTLIST TITLE RATING CDATA #IMPLIED
				LANGUAGE CDATA #IMPLIED>

<!--TITLE:
		Program Title (Required)

Attributes: 

		RATING Voluntary TV program rating (TV-G, TV-14, etc.) (optional)
		LANGUAGE Language of the program (e.g. Spanish) (optional)

-->

<!ELEMENT DESCRIPTION (#PCDATA)>

<!--DESCRIPTION:  
		Program description and special details (i.e., live show) 
		(Optional, can appear *once* for each PROGRAMSLOT)
-->
