DTD for TVProgramML, Commented
<?xml version="1.0" encoding="UTF-8"?> <!-- From: http://www.newsml.jp/radiotv/site/DTD/TVProgram-no-comments.dtd 2002-04-17 ======================================================= DTD for TVProgramML ======================================================= --> <!ELEMENT tv.program (program.information, program.content, settlement.information?)> <!ATTLIST tv.program xml:lang CDATA #IMPLIED > <!ENTITY % newsml_code " newsml_formalname CDATA #IMPLIED newsml_urn CDATA #IMPLIED newsml_scheme CDATA #IMPLIED"> <!ELEMENT program.information (language?, administrative.information, rights.information, descriptive.information)> <!ATTLIST program.information program.id ID #REQUIRED xml:lang CDATA #IMPLIED > <!ELEMENT language (#PCDATA)> <!ATTLIST language %newsml_code; > <!ELEMENT administrative.information (station, startdate, enddate, length?, media+, mode, charge?, payperview?, belongings*, url*)> <!ATTLIST administrative.information parentalrate (00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17) #REQUIRED > <!ELEMENT station (#PCDATA)> <!ATTLIST station %newsml_code; > <!ELEMENT startdate (#PCDATA)> <!ELEMENT enddate (#PCDATA)> <!ELEMENT length (#PCDATA)> <!ATTLIST length units (seconds | minutes | hours) #REQUIRED > <!ELEMENT media (#PCDATA)> <!ELEMENT mode (audio.mode?, broadcast.mode?, additional.mode?, data.mode?)> <!ELEMENT audio.mode (bilingual?)> <!ATTLIST audio.mode soundtype (monaural | stereo | B-mode | surround) #REQUIRED explanation (yes | no) "no" multiple (yes | no) "no" > <!ELEMENT bilingual (#PCDATA)> <!ATTLIST bilingual %newsml_code; > <!ELEMENT broadcast.mode EMPTY> <!ATTLIST broadcast.mode SDTV (yes | no) "no" HDTV (yes | no) "no" progressive (yes | no) "no" wide (yes | no) "no" multiview (yes | no) "no" > <!ELEMENT additional.mode EMPTY> <!ATTLIST additional.mode multiple (yes | no) "no" sign-language (yes | no) "no" subtitles (yes | no) "no" > <!ELEMENT data.mode EMPTY> <!ATTLIST data.mode coupling (yes | no) "no" interactive (yes | no) "no" > <!ELEMENT charge (#PCDATA)> <!ATTLIST charge monthly CDATA #IMPLIED unit CDATA #IMPLIED > <!ELEMENT payperview (#PCDATA)> <!ATTLIST payperview amountofmoney CDATA #IMPLIED unit CDATA #IMPLIED > <!ELEMENT belongings EMPTY> <!ATTLIST belongings %newsml_code; > <!ELEMENT url (#PCDATA)> <!ELEMENT rights.information (copyright*, usagerights?)> <!ELEMENT copyright (copyright.holder, copyright.date, copyright.description*)> <!ELEMENT copyright.holder (#PCDATA)> <!ATTLIST copyright.holder %newsml_code; > <!ELEMENT copyright.date (#PCDATA)> <!ELEMENT copyright.description (#PCDATA)> <!ATTLIST copyright.description xml:lang CDATA #IMPLIED variant CDATA #IMPLIED > <!ELEMENT usagerights (analogcopy?, digitalcopy?, telerecording?, ondemand?, accumulation?, singleview?)> <!ELEMENT analogcopy (#PCDATA)> <!ATTLIST analogcopy frequency (0 | 1 | 2) #REQUIRED > <!ELEMENT digitalcopy (#PCDATA)> <!ATTLIST digitalcopy frequency (0 | 1 | 2) #REQUIRED > <!ELEMENT telerecording (#PCDATA)> <!ATTLIST telerecording frequency (0 | 1 | 2) #REQUIRED > <!ELEMENT ondemand (#PCDATA)> <!ATTLIST ondemand permission (0 | 1) #REQUIRED > <!ELEMENT accumulation (#PCDATA)> <!ATTLIST accumulation permission (0 | 1) #REQUIRED > <!ELEMENT singleview (#PCDATA)> <!ATTLIST singleview permission (0 | 1) #REQUIRED > <!ELEMENT descriptive.information (genre+, number?, firstdate?, particularity*, keyword*)> <!ATTLIST descriptive.information newprogram (yes | no) #IMPLIED final (yes | no) #IMPLIED rebroadcast (yes | no) #IMPLIED > <!ELEMENT genre (genrecode, genrematter?)> <!ELEMENT genrecode (#PCDATA)> <!ELEMENT genrematter (#PCDATA)> <!ELEMENT number (#PCDATA)> <!ATTLIST number totalnumber CDATA #IMPLIED > <!ELEMENT firstdate (#PCDATA)> <!ELEMENT particularity (location?, player*)> <!ATTLIST particularity classification CDATA #REQUIRED > <!ELEMENT player (#PCDATA)> <!ATTLIST player id CDATA #IMPLIED > <!ELEMENT location (#PCDATA)> <!ATTLIST location %newsml_code; > <!ELEMENT keyword (#PCDATA)> <!ELEMENT program.content (title, subtitle*, extendedtitle?, body?, explanation*, programimage*, performer*, cinema?, g-code?)> <!ELEMENT title (#PCDATA)> <!ELEMENT subtitle (#PCDATA)> <!ELEMENT extendedtitle (#PCDATA)> <!ELEMENT body (#PCDATA)> <!ELEMENT explanation (#PCDATA)> <!ATTLIST explanation href CDATA #IMPLIED > <!ELEMENT programimage (comment*)> <!ATTLIST programimage href CDATA #IMPLIED > <!ELEMENT comment (#PCDATA)> <!ELEMENT performer (name, part?)> <!ATTLIST performer id CDATA #IMPLIED > <!ELEMENT name (#PCDATA)> <!ELEMENT part (#PCDATA)> <!ELEMENT cinema (country+, creator*)> <!ATTLIST cinema year CDATA #REQUIRED classification (1 | 2) #REQUIRED > <!ELEMENT country (#PCDATA)> <!ATTLIST country %newsml_code; > <!ELEMENT creator (#PCDATA)> <!ELEMENT g-code (#PCDATA)> <!ELEMENT settlement.information (modification*, recommendable?, settlement.program*)> <!ELEMENT modification (#PCDATA)> <!ATTLIST modification code CDATA #REQUIRED > <!ELEMENT recommendable EMPTY> <!ATTLIST recommendable value NMTOKEN #REQUIRED > <!ELEMENT settlement.program (content.format?, char-count, char-data, history*)> <!ELEMENT content.format EMPTY> <!ATTLIST content.format class CDATA #REQUIRED > <!ELEMENT char-count (#PCDATA)> <!ATTLIST char-count rwidth (0 | 9 | 10) #REQUIRED lines NMTOKEN #IMPLIED > <!ELEMENT char-data (p*)> <!ELEMENT p (#PCDATA | Space | Bilingual | Stereophonic | Nonscramble | Weather | Signlanguage | Voice | News | Teletext)*> <!ELEMENT Space EMPTY> <!ATTLIST Space count (1 | 2) #REQUIRED > <!ELEMENT Bilingual EMPTY> <!ELEMENT Stereophonic EMPTY> <!ELEMENT Nonscramble EMPTY> <!ELEMENT Weather EMPTY> <!ELEMENT Signlanguage EMPTY> <!ELEMENT Voice EMPTY> <!ELEMENT News EMPTY> <!ELEMENT Teletext EMPTY> <!ELEMENT history (#PCDATA)> <!ATTLIST history date CDATA #IMPLIED >
Prepared by Robin Cover for The XML Cover Pages archive. See the 2002-04-17 news item "IPTC Develops RadioTV-NewsML Standard for Radio/TV Program Information."