Skip to content

Instantly share code, notes, and snippets.

@mcfearsome
Created July 29, 2008 21:13
Show Gist options
  • Save mcfearsome/3176 to your computer and use it in GitHub Desktop.
Save mcfearsome/3176 to your computer and use it in GitHub Desktop.
default namespace = "urn:TMSWebServices"
start =
programs
| schedules
| (notAllowed
| element xtvd {
attribute schemaVersion { xsd:float "1.3" },
attribute to {
xsd:dateTime {
pattern =
"20[0-9]{2}\-[0-1][0-9]\-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9]Z"
}
},
attribute from {
xsd:dateTime {
pattern =
"20[0-9]{2}\-[0-1][0-9]\-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9]Z"
}
},
stations,
lineups,
schedules,
programs,
productionCrew?,
genres
})
| genres
| lineups
| stations
| productionCrew
stations =
notAllowed
| element stations {
element station {
attribute id { xsd:int },
element callSign {
xsd:string { maxLength = "10" }
},
element name {
xsd:string { maxLength = "40" }
}?,
element fccChannelNumber { xsd:positiveInteger }?,
element affiliate {
xsd:string { maxLength = "25" }
}?
}+
}
programs =
notAllowed
| element programs {
element program {
attribute id { xsd:string },
element title {
xsd:string { maxLength = "120" }
},
element subtitle {
xsd:string { maxLength = "150" }
}?,
element description {
xsd:string { maxLength = "255" }
}?,
element mpaaRating {
xsd:string "PG"
| xsd:string "R"
| xsd:string "NOT RATED"
| xsd:string "PG-13"
| xsd:string "NR"
| xsd:string "NONE"
| xsd:string "Adult"
| xsd:string "NC-17"
| xsd:string "G"
| xsd:string "AO"
}?,
element starRating {
xsd:string "***"
| xsd:string "***+"
| xsd:string "*+"
| xsd:string "**+"
| xsd:string "****"
| xsd:string "**"
| xsd:string "*"
}?,
element runTime {
xsd:duration { pattern = "PT[0-9][0-9]H[0-5][0-9]M" }
}?,
element year { xsd:gYear }?,
element showType {
xsd:string { maxLength = "30" }
}?,
element series { xsd:string }?,
element colorCode {
xsd:string "B & W"
| xsd:string "Colorized"
| xsd:string "Color"
| xsd:string "Color and B\x{a}" ~
" & W"
}?,
element advisories {
anonymous0,
(anonymous0,
(anonymous0,
(anonymous0, (anonymous0, anonymous0?)?)?)?)?
}?,
element syndicatedEpisodeNumber {
xsd:string { maxLength = "20" }
}?,
element originalAirDate {
xsd:date {
pattern = "(19|20)[0-9]{2}\-[0-1][0-9]\-[0-3][0-9]"
}
}?
}*
}
genres =
notAllowed
| element genres {
element programGenre {
attribute program { xsd:string },
element genre {
element class {
xsd:string { maxLength = "30" }
},
element relevance { xsd:int }
}+
}+
}
productionCrew =
notAllowed
| element productionCrew {
element crew {
attribute program { xsd:string },
element member {
element role {
xsd:string { maxLength = "30" }
},
element givenname {
xsd:string { maxLength = "30" }
},
element surname {
xsd:string { maxLength = "30" }
}
}+
}+
}
schedules =
notAllowed
| element schedules {
element schedule {
attribute ei { xsd:boolean }?,
attribute new { xsd:boolean }?,
attribute dolby {
xsd:string "Dolby Digital" | xsd:string "Dolby"
}?,
attribute closeCaptioned { xsd:boolean }?,
attribute hdtv { xsd:boolean }?,
attribute subtitled { xsd:boolean }?,
attribute stereo { xsd:boolean }?,
attribute tvRating {
xsd:string "TV-MA"
| xsd:string "TV-14"
| xsd:string "TV-G"
| xsd:string "TV-PG"
| xsd:string "TV-Y"
| xsd:string "TV-Y7"
}?,
attribute repeat { xsd:boolean }?,
attribute duration {
xsd:duration { pattern = "PT[0-9][0-9]H[0-5][0-9]M" }
},
attribute time {
xsd:dateTime {
pattern =
"20[0-9]{2}\-[0-1][0-9]\-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9]Z"
}
},
attribute station { xsd:int },
attribute program { xsd:string },
element part {
attribute total {
xsd:unsignedInt { minInclusive = "2" }
},
attribute number {
xsd:unsignedInt { minInclusive = "1" }
}
}?
}+
}
anonymous0 =
notAllowed
| element advisory {
xsd:string "Publico General"
| xsd:string "Brief Nudity"
| xsd:string "Graphic Violence"
| xsd:string "Violence"
| xsd:string "Strong Sexual Content"
| xsd:string "Mild Violence"
| xsd:string "Language"
| xsd:string "Graphic Language"
| xsd:string "Nudity"
| xsd:string "Adultos"
| xsd:string "Rape"
| xsd:string "Adolescentes y Adultos"
| xsd:string "Adult Situations"
}
lineups =
notAllowed
| element lineups {
element lineup {
attribute postalCode {
xsd:string { maxLength = "25" }
}?,
attribute device {
xsd:string { maxLength = "20" }
}?,
attribute type {
xsd:string "LocalBroadcast"
| xsd:string "CableDigital"
| xsd:string "Cable"
| xsd:string "Satellite"
},
attribute location {
xsd:string { maxLength = "28" }
},
attribute userLineupName {
xsd:string { maxLength = "50" }
}?,
attribute name {
xsd:string { maxLength = "100" }
},
attribute id {
xsd:string { maxLength = "10" }
},
element map {
attribute to {
xsd:date {
pattern = "(19|20)[0-9]{2}\-[0-1][0-9]\-[0-3][0-9]"
}
}?,
attribute from {
xsd:date {
pattern = "(19|20)[0-9]{2}\-[0-1][0-9]\-[0-3][0-9]"
}
}?,
attribute channelMinor { xsd:positiveInteger }?,
attribute channel {
xsd:string { maxLength = "9" }
},
attribute station { xsd:int },
element onAir {
attribute to {
xsd:time { pattern = "\d\d:\d\d:\d\d" }
},
attribute from {
xsd:time { pattern = "\d\d:\d\d:\d\d" }
}
}*
}+
}+
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment