Windows Media Center Guide Listings Format
Microsoft Corporation
July 2009
Applies to: Windows® Media Center is included in Windows® 7 Home Premium, Windows® 7 Professional, Windows® 7 Ultimate, and Windows® 7 Enterprise.
Summary: This document describes how to import program data into the Electronic Program Guide data store for Windows Media Center on a Windows 7 computer. The main audience for this document is developers who want to build applications to import external Guide data into Windows Media Center and are familiar with Guide and MXF file format.
Contents
Introduction
Program Data Disclaimer
LoadMXF
Format of the Guide Data File
MXF File Structure
MXF Elements and Attributes
Sample MXF File
Reindexing Guide Data
Recovering a Corrupted Guide Data Store
For More Information
Introduction
This document describes how to use LoadMXF.exe, a tool released as part of Windows Media Center, to load program data in MXF format into an existing Electronic Program Guide data store for Windows Media Center. This document describes how to use this tool with the MXF file format to author Guide data. A detailed example is also provided.
Program Data Disclaimer
Microsoft makes no representations regarding and will not be responsible for any liability, failure, or inaccuracies in this document that relate to or result from:
- Importation of external program data with a third-party application.
- Utilization of any external program data.
- Upgrading imported program data from Windows 7 to future Windows releases.
LoadMXF
The LoadMXF.exe tool loads data from an MXF file into a Windows Media Center Guide data store. LoadMXF.exe is located in the in %windir%\ehome folder of a Windows Media Center PC.
Syntax
LoadMXF [-s storeFilename] -i inputFilename
Parameters
-s storeFilename
The filename of the data store. If this is not specified, the default data store is used.
-i inputFilename
The name of the MXF file to load.
Example
The following command loads the data from the sample.mxf file into the default Guide data store:
LoadMXF –i sample.mxf
Format of the Guide Data File
The listings file is in XML format.
The following table provides an overview of the main element types in the Guide data file.
Element | Description | Example |
Program | A movie or episode. | An episode of Lost, titled "The others strike". |
SeriesInfo | A series of a particular program. | Lost |
Season | A season of a particular program. | Lost Season 1 |
Service | A content provider. | KOMO |
Affiliate | Identifies who the service is affiliated to, if anyone. | ABC |
ScheduleEntry | Defines when a program will be broadcast on a service. | Lost "The others strike" will air on KOMO at 8pm to 9pm on 2008/04/01. |
Channel | The number used to tune to a particular service. | Channel 4 tunes to KOMO. |
Lineup | Defines a collection of channels. | |
Person | A name of a person associated with the program. | Joe Blogs |
ActorRole
WriterRole GuestActorRole HostRole ProducerRole DirectorRole |
Defines the person's role with the program (actor, writer, guest star, host, producer, or director). | Joe Blogs is an actor in Lost "The others strike". |
Keyword | A named attribute that a program can be tagged with. Keywords are displayed in the details for a program and used in the Search By Category functionality. | Drama |
KeywordGroup | A set, or group, of keywords. The keyword group has a primary keyword name that identifies the group and is used to define the hierarchy in the Search By Category functionality. | A KeywordGroup might have a Keyword name of Movies, and group the following keywords: Comedy, Drama, Horror, and Sci-Fi. |
Provider | Provides information and copyright about who provided the listing data. | |
GuideImage | Specifies an image to be displayed in the Guide. | A channel logo or program image. |
MXF File Structure
The following XML shows the general structure of the MXF file:
<?xml version="1.0" encoding="UTF-8"?>
<MXF>
<Assembly name="mcepg"/>
<Assembly name="mcstore" />
<Providers>
<Provider id="1" name="FooListings" displayName="Foo Listings" copyright="© 2008 Foo Corporation. All Rights Reserved." />
</Providers>
<With provider="1">
<Keywords />
<KeywordGroups />
<GuideImages />
<People />
<SeriesInfos />
<Seasons />
<Programs />
<Affiliates />
<Services />
<ScheduleEntries />
<Lineups />
</With>
</MXF>
When the MXF file is loaded into Windows Media Center, the file is loaded into an internal database. Generally speaking, each XML element is transformed into a record row in a table in the database. The element name (for example, <Program>
) describes the table in which to load the record.
Note the following attributes:
- id identifies the element, but only within the document. This identifier (ID) is unique within the XML document and is referenced by other elements when defining references to this element in the document. The id value is not loaded into the database.
- uid is a universal ID that is persisted in the database. The uid allows the document to be loaded many times and allows the document to update an existing record in the database (rather than creating a new one each time). If the element has specified a uid, the loader first attempts to find the record in the database with this uid. If found, the record is updated with the values from the XML document. If not found, a new record row is created in the database, tagged with the uid and given the element's values.
Note Everything in the file is case sensitive. When lists of IDs are specified, spaces are not allowed—only the comma (,) delimiter is allowed. Boolean values can either be "true" or "false", or "1" or "0".
MXF Elements and Attributes
This section describes each element in detail, including the following information about each attribute:
- Attribute: The name of the attribute
- Type: The type of value expected for the attribute.
- Default value: The value to use if the attribute is not specified. If the database record is updated, the corresponding value is not changed.
- Description: A description of the attribute.
- Notes: Additional comments about the attribute.
ActorRole
An ActorRole element is defined within a Program element and defines a relationship between a Person element and the surrounding Program element (whether the person is an actor).
The ActorRole element and has the following attributes:
Attribute | Type | Default value | Description | Notes |
person | string | "" | A reference to the id value of the Person element. | |
rank | integer | 0 | Used to sort the names that are displayed. | Lower numbers are displayed first. |
Affiliate
The Affiliate element defines a network (such as BBC, ABC, or MSNBC).
The Affiliate element has the following attributes:
Attribute | Type | Default value | Description | Notes |
name | string | "" | The display name of the network. | |
uid | string | "" | An ID that uniquely identifies the affiliate. | This value should take the form "!Affiliate!name", where name is the value of the name attribute. |
logoImage | string | "" | Specifies a network logo to display. | This value contains a GuideImage id attribute. |
Assembly
The Assembly element and its nested elements are standard header elements of the document and do not change.
Channel
A Channel element defines how to access a service (the channel number the user enters to tune to the service).
The Channel element has the following attributes:
Name | Type | Default | Description | Notes |
uid | string | A unique ID that is consistent between loads. | This value should take the form "!Channel!uniqueLineupName!number_subNumber", where uniqueLineupName is the Lineup element's uid, and number and subNumber are the values from the number and subNumber attribute. | |
lineup | string | "" | A reference to the Lineup element. | This value should always be "l1". |
service | string | "" | The service to reference. | This value should be the Service id attribute. |
matchName | string | "" | Used to automatically map this channel of listings onto the scanned channel. | If not specified, the value of the Service element's callSign attribute is used as the default value.
If matchName is specified, it should take the following format according to the signal type:
Where:
Note All of these values are expressed as decimal integer numbers. |
number | integer | -1 | The number used to access the service. | Do not specify this value if you want Windows Media Center to assign the channel number. |
subNumber | integer | 0 | The subnumber used to access the service. |
DirectorRole
An DirectorRole element is defined within a Program element and defines a relationship between a Person element and the surrounding Program element (whether the person is a director).
The DirectorRole element and has the following attributes:
Attribute | Type | Default value | Description | Notes |
person | string | "" | A reference to the id value of the Person element. | |
rank | integer | 0 | Used to sort the names that are displayed. | Lower numbers are displayed first. |
GuestActorRole
An GuestActorRole element is defined within a Program element and defines a relationship between a Person element and the surrounding Program element (whether the person is a guest actor).
The GuestActorRole element and has the following attributes:
Attribute | Type | Default value | Description | Notes |
person | string | "" | A reference to the id value of the Person element. | |
rank | integer | 0 | Used to sort the names that are displayed. | Lower numbers are displayed first. |
GuideImage
The GuideImage element defines an image to be displayed and has the following attributes:
Attribute | Type | Default value | Description | Notes |
id | string | An ID that is unique to the document and defines this element. | Use IDs such as i1, i2, i3, and so forth. GuideImage elements are referenced by the Series, SeriesInfo, Program, Affiliate, and Channel elements. |
|
imageUrl | string | "" | The URL of the image. | This value can be in the form of file://URL. |
HostRole
An HostRole element is defined within a Program element and defines a relationship between a Person element and the surrounding Program element (whether the person is a host).
The HostRole element and has the following attributes:
Attribute | Type | Default value | Description | Notes |
person | string | "" | A reference to the id value of the Person element. | |
rank | integer | 0 | Used to sort the names that are displayed. | Lower numbers are displayed first. |
Keyword
A Keyword is a named attribute that a Program element can be tagged with. These keywords are displayed in the details for a program and used in the Search By Category functionality.
The Keyword element has the following attributes:
Attribute | Type | Default value | Description | Notes |
id | string | An ID that is unique to the document and defines this element. | The top level keywords use IDs such as k1, k2, k3, and so forth. The second-level keywords have IDs in the corresponding 100s, such as k100 and k101. Keywords are referenced by Program and KeywordGroup elements. |
|
word | string | "" | The keyword name that is displayed. | The maximum length is 64 characters. |
KeywordGroup
A KeywordGroup element defines a set of keywords. It has a primary Keyword that identifies the name of the group. This is used to define the hierarchy in the Search By Category functionality.
The KeywordGroup has the following attributes:
Attribute | Type | Default value | Description | Notes |
groupName | string | "" | The value of a Keyword id attribute, and defines the name of the KeywordGroup. | Each KeywordGroup name is displayed as the top-level words in the Search By Category page. |
uid | string | "" | A unique ID that will remain consistent between multiple versions of this document. | This uid should start with "!KeywordGroup!". |
keywords | string | "" | A comma-delimited ordered list of keyword IDs. This defines the keywords in this group. | Used in the Search By Category page to display the list of keywords in the KeywordGroup element. The first keyword in this list should always be the "All" keyword. Programs should not be tagged with this keyword because it is a special placeholder to provide the localized value of "All". |
Lineup
A Lineup element defines a collection of Channel elements and has the following attributes:
Attribute | Type | Default value | Description | Notes |
id | string | An ID that is unique to the document and defines this element. | Use the value l1. | |
uid | string | "" | An ID that uniquely identifies the lineup. | The uid value should be in the form "!Lineup!uniqueLineupName", where uniqueLineupName is a unique ID for this lineup across all Lineup elements. |
name | string | "" | The name of the lineup. | |
primaryProvider | string | "" | The primary provider. | This value should always be set to "!MCLineup!MainLineup". |
MXF
The MXF element is the main document element of the XML file.
Person
The Person element defines the name of a person and has the following attributes:
Attribute | Type | Default value | Description | Notes |
id | string | An ID that is unique to the document and defines this element. | Use IDs such as p1, p2, and p3. Person elements are referenced by the ActorRole, GuestActorRole, HostRole, WriterRole, ProducerRole, and DirectorRole elements. |
|
name | string | "" | The name of the person. | The maximum length is 160 characters. |
uid | string | "" | A unique ID that will remain consistent between multiple versions of this document. | This uid should take the form "!Person!name", where name is the value of the name attribute. |
ProducerRole
An ProducerRole element is defined within a Program element and defines a relationship between a Person element and the surrounding Program element (whether the person is a producer).
The ProducerRole element and has the following attributes:
Attribute | Type | Default value | Description | Notes |
person | string | "" | A reference to the id value of the Person element. | |
rank | integer | 0 | Used to sort the names that are displayed. | Lower numbers are displayed first. |
Program
A Program element defines a unique episode or movie. For instance, Program can refer to a particular episode of a TV series.
The Program element is one of the main elements in the listings file and has the following attributes:
Attribute | Type | Default value | Description | Notes |
id | string | An ID that is unique to the document and defines this element. | This value should be an integer without a letter prefix.
Program elements are referenced by ScheduleEntry elements. |
|
uid | string | "" | A unique ID that will remain consistent between multiple versions of this document. | This uid should start with "!Program!". |
title | string | "" | The title of the program (for example, Lost). | The maximum length is 512 characters. |
episodeTitle | string | "" | The episode title of the program (for example, The others attack). | The maximum length is 512 characters. |
description | string | "" | The description of this program. | The maximum length is 2048 characters. |
shortDescription | string | "" | A shorter form of the description attribute, if available. | The maximum length is 512 characters. If a short description is not available, do not specify a value. |
language | string | "" | The language of the program. | |
year | integer | 0 | The year the program was created. | If unknown, this value is 0. |
seasonNumber | integer | 0 | The season number of the program (for example, 1). | If unknown, this value is 0. |
episodeNumber | integer | 0 | The episode number of the program in the season. | If unknown, this value is 0. |
originalAirdate | dateTime | "" | The original air date (in local time) of the program. Use this value to determine whether this program is a repeat. | |
keywords | string | "" | A comma-delimited list of keyword IDs. This value specifies the Keyword attributes that this program has. | |
season | string | "" | The ID of the season that this program belongs to, if any. | If this value is not known, do not specify a value. |
series | string | "" | The ID of the series that this program belongs to, if any. | If this value is not known, do not specify a value. |
halfStars | integer | 0 | The star rating of the program. | Each star equals two points. For example, a value of "3" is equal to 1.5 stars. |
mpaaRating | integer | 0 | The MPAA movie rating. | Possible values are:
0 = Unknown 1 = G 2 = PG 3 = PG13 4 = R 5 = NC17 6 = X 7 = NR 8 = AO |
isMovie | bool | false | Indicates whether the program is a movie. | This value determines whether the program appears in the Movies category of the Guide grid and in other movie-related locations. |
isMiniseries | bool | false | Indicates whether the program is a miniseries. | |
isLimitedSeries | bool | false | Indicates whether the program is a limited series. | |
isPaidProgramming | bool | false | Indicates whether the program is paid programming. | |
isSerial | bool | false | Indicates whether the program is a serial. | |
isSeries | bool | false | Indicates whether the program is part of a series. | |
isShortFilm | bool | false | Indicates whether the program is a short film. | |
isSpecial | bool | false | Indicates whether the program is a special. | This value is used in the Guide's grid view categories. |
isSports | bool | false | Indicates whether the program is a sports program. | This value is used in the Guide's grid view categories. |
isNews | bool | false | Indicates whether the program is a news show. | This value is used in the Guide's grid view categories. |
isKids | bool | false | Indicates whether the program is for children. | This value is used in the Guide's grid view categories. |
isReality | bool | false | Indicates whether the program is a reality show. | |
hasAdult | bool | false | This value indicates the reason for the MPAA rating. | |
hasBriefNudity | bool | false | This value indicates the reason for the MPAA rating. | |
hasGraphicLanguage | bool | false | This value indicates the reason for the MPAA rating. | |
hasGraphicViolence | bool | false | This value indicates the reason for the MPAA rating. | |
hasLanguage | bool | false | This value indicates the reason for the MPAA rating. | |
hasMildViolence | bool | false | This value indicates the reason for the MPAA rating. | |
hasNudity | bool | false | This value indicates the reason for the MPAA rating. | |
hasRape | bool | false | This value indicates the reason for the MPAA rating. | |
hasStrongSexualContent | bool | false | This value indicates the reason for the MPAA rating. | |
hasViolence | bool | false | This value indicates the reason for the MPAA rating. | |
guideImage | string | "" | This value contains an image to display for the program. | Contains the value of a GuideImage id attribute. When a program is selected in the UI, the Guide searches for an image to display. The search order is first the program, its season, then its series. |
Provider
The Provider element provides information and copyright about who provided the listing data.
The Provider element has the following attributes:
Attribute | Type | Default value | Description | Notes |
id | string | An ID that is unique to the document and defines this element. | ||
name | string | "" | The name of the supplier of the listings. | The maximum length is 255 characters. |
displayName | string | "" | More information about the supplier of the listings. | The maximum length is 255 characters. |
copyright | string | "" | The copyright notice from the supplier of the listings. | The maximum length is 1024 characters. |
ScheduleEntry
A ScheduleEntry element defines when a program will be broadcast on a service. ScheduleEntry elements are grouped by service and specified in increasing chronological order. The first ScheduleEntry element is specified with a start time and a duration. Subsequent ScheduleEntry elements in the group have only the duration attribute. If you need to specify a gap in the schedule, a new group for that Service element is defined.
Note ScheduleEntry elements are never tagged with a uid attribute.
A ScheduleEntry has the following attributes:
Attribute | Type | Default value | Description | Notes |
program | string | "" | An ID of a Program element. | |
startTime | dateTime | Specifies the start time of the broadcast. | The dateTime type is in UTC. This attribute is only specified for the first ScheduleEntry element in a group. | |
duration | integer | 0 | The duration of the broadcast, in seconds. | |
isCC | bool | false | Indicates whether this broadcast is closed captioned. | |
audioFormat | integer | 0 | Indicates the audio format of the broadcast. | Possible values are:
0 = Not specified 1 = Mono 2 = Stereo 3 = Dolby 4 = Dolby Digital 5 = THX |
isLive | bool | false | Indicates whether this is a live broadcast. | |
isLiveSports | bool | false | Indicates whether this is live sports event. | |
isTape | bool | false | Indicates whether this program has been taped and is being replayed (for example, a sports event). | |
isDelay | bool | false | Indicates whether this program is being broadcast delayed (for example, an award show such as the Academy Awards). | |
isSubtitled | bool | false | Indicates whether this program is subtitled. | |
isPremiere | bool | false | Indicates whether this program is a premiere. | |
isFinale | bool | false | Indicates whether this program is a finale. | |
isInProgress | bool | false | Indicates whether this program was joined in progress. | |
isSap | bool | false | Indicates whether this program has a secondary audio program broadcast at the same time. | |
isBlackout | bool | false | Indicates whether this program has been blacked out. | |
isEnhanced | bool | false | Indicates whether this program has been broadcast with an enhanced picture. | |
is3D | bool | false | Indicates whether this program is broadcast in 3D. | |
isLetterbox | bool | false | Indicates whether this program is broadcast in letterbox format. | |
isHdtv | bool | false | Indicates whether this program is broadcast in high definition (HD). | Determines whether the HD icon is displayed. |
isHdtvSimulCast | bool | false | Indicates whether this program is broadcast simultaneously in HD. | |
isDvs | bool | false | Indicates whether this program is broadcast with Descriptive Video Service (DVS). | |
part | integer | 0 | Specifies the part number (for instance, if this is part 1 of 3, use "1"). | |
parts | integer | 0 | Specifies the total number of parts (for instance, if this is part 1 of 3, use "3"). |
Season
The Season element defines a season of a particular program, although it is not often specified because the season information may not be known. The Season element has the following attributes:
Attribute | Type | Default value | Description | Notes |
id | string | An ID that is unique to the document and defines this element. | Use IDs such as sn1, sn2, and sn3.
Seasons are referenced by Program elements. |
|
uid | string | "" | A unique ID that will remain consistent between multiple versions of this document. | This uid should start with "!Season!". |
series | string | "" | The series ID to which this season belongs. | This value should be specified because it doesn't make sense for a season to not be part of a series. |
title | string | "" | The name of this season. | The maximum length is 512 characters. |
studio | string | "" | The name of the studio that created this season. | The maximum length is 512 characters. |
year | int | 0 | The year this season was aired. | |
guideImage | string | "" | An image to display for this season. | This value contains the GuideImage id attribute. |
SeriesInfo
The SeriesInfo element defines a series of a particular program (such as Lost) and has the following attributes:
Attribute | Type | Default value | Description | Notes |
id | string | An ID that is unique to the document and defines this element. | Use IDs such as si1, si2, and si3.
SeriesInfo is referenced by the Program and Season elements. |
|
uid | string | "" | A unique ID that will remain consistent between multiple versions of this document. | This value starts with "!Series!". Using the format "!Series!seriesName" is somewhat unique, but won't handle cases such as a remake of a series (for example, Knight Rider or Battlestar Galactica). |
title | string | "" | The title name of the series. | The maximum length is 512 characters. |
shortTitle | string | "" | A shorter form of the title attribute (if available). | The maximum length is 512 characters. If this value is not available, use the same value as the title attribute. |
description | string | "" | A description of the series. | The maximum length is 512 characters. |
shortDescription | string | "" | A shorter form of the description attribute, if available. | The maximum length is 512 characters. If this value is not available, use the same value as the description attribute. |
startAirdate | XMLTime | "" | The date the series was first aired. | |
endAirdate | XMLTime | "" | The date the series ended. | |
guideImage | string | "" | An image to show for the series. | This value contains the GuideImage id attribute. |
Service
A Service element defines a content provider and has the following attributes:
Attribute | Type | Default value | Description | Notes |
id | string | An ID that is unique to the document and defines this element. | Use IDs such as s1, s2, s3, and so forth. | |
uid | string | "" | An ID that uniquely identifies the service. | Should be of the form "!Service!name", where name is the value of the name attribute. |
name | string | "" | The display name of the service. | |
callSign | string | "" | The call sign of the service. | For example, "BBC1". |
affiliate | string | "" | The ID of an Affiliate element that to which this service is affiliated. | |
logoImage | string | "" | Specifies a logo image to display. | This value contains a GuideImage id attribute. When searching for a logo to display, the service is searched first, and then its affiliate. |
WriterRole
An WriterRole element is defined within a Program element and defines a relationship between a Person element and the surrounding Program element (whether the person is a writer).
The WriterRole element and has the following attributes:
Attribute | Type | Default value | Description | Notes |
person | string | "" | A reference to the id value of the Person element. | |
rank | integer | 0 | Used to sort the names that are displayed. | Lower numbers are displayed first. |
Sample MXF File
The following shows an example of how these elements are used in an MXF file.
<?xml version="1.0" encoding="UTF-8"?>
<MXF xmlns:sql="urn:schemas-microsoft-com:XML-sql" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Assembly name="mcepg" version="6.0.6000.0" cultureInfo="" publicKey="0024000004800000940000000602000000240000525341310004000001000100B5FC90E7027F67871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889CC13F1415EBB53FAC1131AE0BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6FC90FFD598ED4DA35E44C398C454307E8E33B8426143DAEC9F596836F97C8F74750E5975C64E2189F45DEF46B2A2B1247ADC3652BF5C308055DA9">
<NameSpace name="Microsoft.MediaCenter.Guide">
<Type name="Lineup" />
<Type name="Channel" parentFieldName="lineup" />
<Type name="Service" />
<Type name="ScheduleEntry" groupName="ScheduleEntries" />
<Type name="Program" />
<Type name="Keyword" />
<Type name="KeywordGroup" />
<Type name="Person" groupName="People" />
<Type name="ActorRole" parentFieldName="program" />
<Type name="DirectorRole" parentFieldName="program" />
<Type name="WriterRole" parentFieldName="program" />
<Type name="HostRole" parentFieldName="program" />
<Type name="GuestActorRole" parentFieldName="program" />
<Type name="ProducerRole" parentFieldName="program" />
<Type name="GuideImage" />
<Type name="Affiliate" />
<Type name="SeriesInfo" />
<Type name="Season" />
</NameSpace>
</Assembly>
<Assembly name="mcstore" version="6.0.6000.0" cultureInfo="" publicKey="0024000004800000940000000602000000240000525341310004000001000100B5FC90E7027F67871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889CC13F1415EBB53FAC1131AE0BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6FC90FFD598ED4DA35E44C398C454307E8E33B8426143DAEC9F596836F97C8F74750E5975C64E2189F45DEF46B2A2B1247ADC3652BF5C308055DA9">
<NameSpace name="Microsoft.MediaCenter.Store">
<Type name="Provider" />
<Type name="UId" parentFieldName="target" />
</NameSpace>
</Assembly>
<Providers>
<Provider id="provider1" name="GuideListingsInc" displayName="Guide Listings Inc" copyright="© 2008 Microsoft Corporation. All Rights Reserved." />
</Providers>
<With provider="provider1">
<Keywords>
<Keyword id="k1" word="General" />
<Keyword id="k100" word="All" />
<Keyword id="k101" word="Action/Adventure" />
<Keyword id="k102" word="Comedy" />
<Keyword id="k103" word="Documentary/Bio" />
<Keyword id="k104" word="Drama" />
<Keyword id="k105" word="Educational" />
<Keyword id="k106" word="Family/Children" />
<Keyword id="k107" word="Movies" />
<Keyword id="k108" word="Music" />
<Keyword id="k109" word="News" />
<Keyword id="k110" word="Sci-Fi/Fantasy" />
<Keyword id="k111" word="Soap" />
<Keyword id="k112" word="Sports" />
<Keyword id="k113" word="Other" />
<Keyword id="k2" word="Educational" />
<Keyword id="k200" word="All" />
<Keyword id="k201" word="Arts" />
<Keyword id="k202" word="Biography" />
<Keyword id="k203" word="Documentary" />
<Keyword id="k204" word="How-to" />
<Keyword id="k205" word="Science" />
<Keyword id="k206" word="Other" />
</Keywords>
<KeywordGroups>
<KeywordGroup uid="!KeywordGroup!k1" groupName="k1" keywords="k100,k101,k102,k103,k104,k105,k106,k107,k108,k109,k110,k111,k112,k113" />
<KeywordGroup uid="!KeywordGroup!k2" groupName="k2" keywords="k200,k201,k202,k203,k204,k205,k206" />
</KeywordGroups>
<GuideImages>
<GuideImage id="i1" uid="!Image!JohnnyBoy" imageUrl="http://www.fakeurl.com/images/image1.jpg" />
<GuideImage id="i2" uid="!Image!XYZNetworkLogo" imageUrl="http://www.fakeurl.com/images/image2.jpg" />
</GuideImages>
<People>
<Person id="p1" name="Spring Chick" uid="!Person!Spring Chick" />
<Person id="p2" name="Bruce Abbott" uid="!Person!Bruce Abbott" />
<Person id="p3" name="John Producer" uid="!Person!John Producer" />
<Person id="p4" name="David Director" uid="!Person!David Director" />
<Person id="p5" name="Jimmy Writer" uid="!Person!Jimmy Writer" />
<Person id="p6" name="Terry Talented" uid="!Person!Terry Talented" />
</People>
<SeriesInfos>
<SeriesInfo id="si1" uid="!Series!CodeWars" title="Code Wars" shortTitle="Code Wars" description="Geeky children ponder mysteries of the universe." shortDescription="Kids ponder universal mysteries." startAirdate="2000-01-01T00:00:00" endAirdate="1900-01-01T00:00:00" guideImage="i1" />
</SeriesInfos>
<Seasons>
<Season id="sn1" uid="!Season!164959780" series="si1" title="Code Wars: Season 01" year="2000" />
</Seasons>
<Programs>
<Program id="1" uid="!Program!1" title="Code Wars" description="The kids ponder whether 1 was unfairly declared non-prime." shortDescription="Should 1 be prime?" episodeTitle="Divisible by one and itself" language="en-us" episodeNumber="1" originalAirdate="2001-09-10T00:00:00" keywords="k1,k2,k105,k106,k205" series="si1" isSeries="1" isKids="1">
<ActorRole person="p1" rank="1" />
<ActorRole person="p6" rank="2" />
</Program>
<Program id="2" uid="!Program!2" title="Code Wars" description="The kids drink tea all day long." episodeTitle="Cup of Tea" language="en-us" episodeNumber="1" originalAirdate="2001-09-10T00:00:00" keywords="k1,k2,k105,k106,k205" series="si1" isSeries="1" isKids="1">
<ActorRole person="p1" rank="1" />
<ActorRole person="p6" rank="2" />
<GuestActorRole person="p2" rank="1" />
<DirectorRole person="p4" rank="1" />
<ProducerRole person="p3" rank="1" />
<WriterRole person="p5" rank="1" />
<WriterRole person="p6" rank="2" />
</Program>
<Program id="3" uid="!Program!3" title="Spit the dummy" description="Jim-Bob starts a business but throws a wobbly." episodeTitle="The business" language="en-us" episodeNumber="167" originalAirdate="1985-11-22T00:00:00" keywords="k1,k105,k2,k204" >
<ActorRole person="p1" rank="1" />
<ActorRole person="p6" rank="2" />
<GuestActorRole person="p2" rank="1" />
<DirectorRole person="p4" rank="1" />
<ProducerRole person="p3" rank="1" />
<WriterRole person="p5" rank="1" />
<WriterRole person="p6" rank="2" />
</Program>
</Programs>
<Affiliates>
<Affiliate name="ABC Affiliate" uid="!Affiliate!ABC Affiliate" logoImage="i2" />
</Affiliates>
<Services>
<Service id="s1" uid="!Service!EducationChannel" name="Education Channel" callSign="EDUC" />
<Service id="s2" uid="!Service!Spike" name="Spike TV" callSign="SPIKE" affiliate="!Affiliate!ABC Affiliate" />
</Services>
<ScheduleEntries service="s1">
<ScheduleEntry program="1" startTime="2008-09-27T00:00:00" duration="1800" isCC="1" isStereo="1" />
<ScheduleEntry program="2" duration="1800" isCC="1" audioFormat="2" />
<ScheduleEntry program="2" duration="1800" isCC="1" audioFormat="2" />
<ScheduleEntry program="1" duration="1800" isCC="1" audioFormat="2" />
<ScheduleEntry program="2" duration="7200" />
<ScheduleEntry program="3" duration="7200" audioFormat="2" />
</ScheduleEntries>
<ScheduleEntries service="s2">
<ScheduleEntry program="1" startTime="2008-09-27T00:00:00" duration="1800" />
<ScheduleEntry program="1" duration="1800" isCC="1" />
<ScheduleEntry program="1" duration="1800" isCC="1" />
<ScheduleEntry program="1" duration="1800" isCC="1" />
<ScheduleEntry program="1" duration="1800" />
<ScheduleEntry program="1" duration="1800" />
</ScheduleEntries>
<Lineups>
<Lineup id="l1" uid="!Lineup!OuterLimits" name="OuterLimits, Kansas" primaryProvider="!MCLineup!MainLineup" >
<channels>
<Channel uid="!Channel!OuterLimits!1" lineup="l1" service="s1" number="1" />
<Channel uid="!Channel!OuterLimits!2" lineup="l1" service="s2" number="2" />
</channels>
</Lineup>
</Lineups>
</With>
</MXF>
Reindexing Guide Data
After loading guide data, the data can be reindexed by running a Windows Media Center task from Task Scheduler. Reindexing makes the data searchable.
Close Windows Media Center.
Open Task Scheduler (go to Control Panel > System and Security > Administrative Tools > Schedule Tasks).
In the console tree under Task Scheduler (Local), expand Task Scheduler Library > Microsoft > Windows > Media Center.
In the console window under Name, right-click ReindexSearchRoot, and then click Run.
Recovering a Corrupted Guide Data Store
The user can recover a corrupted Guide data store back to the last known good state by running a Windows Media Center task from Task Scheduler.
Close Windows Media Center.
Open Task Scheduler (go to Control Panel > System and Security > Administrative Tools > Schedule Tasks).
In the console tree under Task Scheduler (Local), expand Task Scheduler Library > Microsoft > Windows > Media Center.
In the console window under Name, right-click ObjectStoreRecoveryTask, and then click Run.
The task may take several minutes to download the new Guide data to the recovered data store when the Microsoft Guide data service is available. Then, the user must reload the custom listings into the recovered Guide data store by running LoadMXF.exe.
The first time the user opens Windows Media Center, the following message is displayed:
Windows Media Center has corrected a problem with your recording data and will download the Guide again. You should review your recordings to verify they are still scheduled correctly.
For More Information
- For the Windows Media Center SDK Help documentation, see the Windows Media Center SDK page on the MSDN® Web site.
- To download the Windows Media Center SDK, go to the Windows Media Center Software Development Kit page on the Microsoft Web site.
Web addresses can change, so you might be unable to connect to the Web site or sites mentioned here.