CDF Reference for Internet Explorer

The following section describes the suggested revision to Channel Definition Format (CDF) that Microsoft and other partners are presenting to the W3C (World Wide Web Consortium). For reference purposes this revision is CDF version 0.3. CDF is an application of the Extensible Markup Language (XML). The original submission of CDF to the W3C can be found at http://www.w3.org.

Please note that the syntax may vary for different elements. The following table describes the possible formats in which the tags may appear.

Description Example
Empty element with attributes
<ELEMENT ATTR1="value" ATTR2="value"/>
Element with content and end tag
<ELEMENT>Element Content Here</ELEMENT>
Parent element with attributes and child elements
<PARENT ATTR1="value">
	<CHILD1>
		Content
	</CHILD1>
	<CHILD2 ATTR1="value"/>
</PARENT>


Channel Implementation Notes

The following elements behavior varies from the reference guide as described below.
CHANNEL The BASE attribute and LOG child elements are not implemented yet.
HTTP-EQUIV This element is not implemented yet.
INTERVALTIME The time quantity specified by this element will be rounded up to a fraction of a day (fourth, third, half, ...) or rounded to the nearest multiple of a day. For example 1,2,3, and 4 hour increments will be used by Internet Explorer without rounding, but 5 hours will be rounded to 6 hours (a fourth of a day). Half days will be rounded up to the next day.
LOG This element is only implemented currently under the ITEM element.
LOGIN The channel subscription wizard does not currently implement this element.
LOGTARGET The only value for the METHOD attribute that is understood by Internet Explorer 4.0 currently is "POST".
PURGETIME Only the HOUR attribute is currently used.
SCHEDULE Internet Explorer 4.0 will only support one schedule. It must appear in the top-level channel.


CDF Elements


ABSTRACT

Description

A text string representing a description of the associated CHANNEL or ITEM. Internet Explorer displays this title in a tooltip to the right of the icon in the Browser Channel Pane when the cursor is placed over the channel title.

Syntax

<ABSTRACT>

Remarks

Number of allowed occurrences: None or one

Parent Elements Child Elements
CHANNEL None
ITEM


The ABSTRACT element can optionally be used as an attribute with the CHANNEL and ITEM elements to support previous implementations of CDF. Any new CDF files should use ABSTRACT as a child element.

The end tag </ABSTRACT> is required.

Example:

<ABSTRACT>This article describes how to create a CDF file</ABSTRACT>


CHANNEL

Description

Defines a channel.

Syntax

<CHANNEL
BASE="url"
HREF="url"
SELF="url"
>

ParameterDescription
BASE="url" Specifies the base URL for the channel. This is used to resolve relative URLs specified in ITEM and CHANNEL elements contained within this channel.
HREF="url" Specifies the URL associated with the channel. The browser will navigate to this location when the channel is activated by the user. This is optional for the CHANNEL element.
SELF="url" A URL that indicates the location of the CDF file for the next time the CDF is updated on the client machine. This allows the CDF file for a channel to be moved.

Remarks

Number of allowed occurrences: Any number

Parent Elements Child Elements
None ABSTRACT
CHANNEL
ITEM
LOG
LOGIN
LOGO
LOGTARGET
SCHEDULE
TITLE


The end tag </CHANNEL> is required.


EARLIESTTIME

Description

Specifies the earliest time during the schedule that the schedule applies to. This is the beginning of the valid range of time that the update to the CDF can occur. By default, if this value is not specified, the earliest time will be set to the beginning of the INTERVALTIME value. The days, hours, and minutes are totaled to determine the offset value from the start of the INTERVALTIME.

Syntax

<EARLIESTTIME
DAY="n"
HOUR="n"
MIN="n"
/>

ParameterDescription
DAY="n" A number specifying the first day within the INTERVALTIME that the schedule can be updated.
HOUR="n" A number specifying the first hour within the INTERVALTIME that the schedule can be updated.
MIN="n" A number specifying the first minute within the INTERVALTIME that the schedule can be updated.

Remarks

Number of allowed occurrences: None or one

Parent Elements Child Elements
SCHEDULE None


Client applications may round the specified value to the nearest value that they consider significant.


HTTP-EQUIV

Description

Provides information which can also be provided through HTTP response headers. This element can have two meanings. In the context of sending files over the HTTP protocol it indicates that an HTTP header parameter based on the information in this tag should be added. In the context of receiving files over the HTTP protocol it indicates that the information in this tag should be used as if it were included in an HTTP response header. Under the CHANNEL and ITEM elements, the context is of receiving the files or item elements. Under the LOGTARGET element, the context is of sending log files.

Syntax

<HTTP-EQUIV
NAME="headerparam"
VALUE="text"
/>

ParameterDescription
NAME="headerparam" Required. A text string indicating the name of the HTTP header parameter.
VALUE="text" Required. A text string indicating the value of the corresponding parameter.

Remarks

Number of allowed occurrences: Any number

Parent Elements Child Elements
CHANNEL None
ITEM
LOGTARGET


Notable HTTP header parameters include "Charset" for receiving files, and "Encoding-Type" for sending files.


INTERVALTIME

Description

The interval of time that the schedule should repeat over. The days, hours, and minutes are totaled to determine the length of the repeating range.

Syntax

<INTERVALTIME
DAY="n"
HOUR="n"
MIN="n"
/>

ParameterDescription
DAY="n" A number specifying the number of days the schedule will repeat over.
HOUR="n" A number specifying the number of hours the schedule will repeat over.
MIN="n" A number specifying the number of minutes the schedule will repeat over.

Remarks

Number of allowed occurrences: None or one

Parent Elements Child Elements
SCHEDULE None


Client applications may round the specified value to the nearest value that they consider significant.


ITEM

Description

Defines an item in a channel. An item is a unit of information that usually corresponds to a Web page.

Syntax

<ITEM
HREF="url"
LASTMOD="date"
PRECACHE="YES" | "NO"
>

ParameterDescription
HREF="url" Required. Specifies the URL that represents the channel. The browser will navigate to this location when the channel is activated by the user. There must be exactly one HREF attribute with the ITEM element.
LASTMOD="date" This attribute indicates the last date on which this item was modified. This allows the channel client to determine if the content has changed and needs to be downloaded. The date is in ISO 8601:1988 date format (YYYY.MM.DD).
PRECACHE="YES" | "NO" Indicates whether or not content should be downloaded and cached on the client machine. The default is "YES". The user on the Internet Explorer client machine may override this attribute by specifying not to automatically download content with this channel subscription.

Remarks

Number of allowed occurrences: Any number

Parent Elements Child Elements
CHANNEL ABSTRACT
LOG
LOGO
TITLE
USAGE


The end tag </ITEM> is required.

Example:

<ITEM HREF="http://www.foosports.com/intro.htm">
	<TITLE>Welcome to FooSports!</TITLE>
	<ABSTRACT>FooSports articles, news, and promotional offers</ABSTRACT>
</ITEM>


LATESTTIME

Description

Specifies the latest time during the INTERVALTIME that the schedule is applied to and updated. The days, hours, and minutes are totaled to determine the offset value from the INTERVALTIME that represents the latest valid time for updating a channel.

Syntax

<LATESTTIME
DAY="n"
HOUR="n"
MIN="n"
/>

ParameterDescription
DAY="n" A number specifying the latest number of days the schedule will be applied to.
HOUR="n" A number specifying the latest number of hours the schedule will be applied to.
MIN="n" A number specifying the latest number of minutes the schedule will be applied to.

Remarks

Number of allowed occurrences: None or one

Parent Elements Child Elements
SCHEDULE None


Client applications may round the specified value to the nearest value that they consider significant.


LOG

Description

Specifies that this CHANNEL or ITEM should be recorded in a channel client log. When this is applied to a CHANNEL, the events on all of the channel's items and sub-items are logged.

Syntax

<LOG
VALUE="document:view"
/>

ParameterDescription
VALUE="document:view" Required. Specifies the event to be logged. Currently, "document:view" is the only value supported in Internet Explorer.

Remarks

Number of allowed occurrences: Any number

Parent Elements Child Elements
ITEM None


There is no end tag associated with this element.

Example:

<ITEM  HREF="http://www.foosports.com/promotion.htm">
	<LOG VALUE="document:view"/>
</ITEM>


LOGIN

Description

The LOGIN element specifies the necessary information to properly authenticate users when retrieving channel content.

Syntax

<LOGIN
DOMAIN="domain"
METHOD="BASIC" | "DPA" | "MSN" | "NTLM" | "RPA"
PASS="password"
USER="username"
/>

ParameterDescription
DOMAIN="domain" A text string representing the name of the domain the CDF is requiring the user to login on. For example, the string "microsoft.com".
METHOD="BASIC" | "DPA" | "MSN" | "NTLM" | "RPA" The method of authentication to use. For any method other than BASIC, the user must have the proper DLL file installed on their machine.
BASIC Base64 encoded string that contains the username and password.
DPA (Distributed Password Authentication) A challenge-response scheme similar to MSN authentication.
MSN (Microsoft Network) A challenge-response scheme used by MSN.
NTLM (NT LAN Manager) A challenge-response scheme that bases the challenge on the username.
RPA (Remote Passphrase Authentication) Compuserve's authentication scheme. For further information, refer to their Web site http://www.compuserve.com/rpa/rpadoco.htm.
PASS="password" A text string representing the password.

USER="username" A text string representing the username of the user retrieving the channel content.

Remarks

Number of allowed occurrences: None or one (top-level channel only)

Parent Elements Child Elements
CHANNEL None


There is no end tag associated with this element.

Example:

<LOGIN METHOD="BASIC" USER="JOE" PASS="letmein" DOMAIN="foosports.com"/>


LOGO

Description

Specifies an image that can be used to represent a channel or channel item. The "Image" logo must be an 80x32 gif image (subject to change). The "Icon" logo must be a 32x32 icon bitmap (.ico).

Syntax

<LOGO
HREF="url"
STYLE="ICON" | "IMAGE"
/>

ParameterDescription
HREF="url" Required. Specifies the URL associated with the channel logo or icon. The browser will navigate to this location when the channel is activated by the user. This is required for the CHANNEL element.
STYLE="ICON" | "IMAGE" A text string indicating what context the logo will be used in. "ICON" specifies a bitmap icon, and "IMAGE" specifies the URL should be used as the IMG tag in an HTML document. Internet Explorer displays an "IMAGE" in the Desktop Channel Bar and Channel Pane, and an "ICON" is displayed in other areas of the Windows name space with the title.

Remarks

Number of allowed occurrences: None or one (per STYLE attribute)

Parent Elements Child Elements
CHANNEL None
ITEM


There is no end tag associated with this element.

Example:

<LOGO HREF="http://www.foosports.com/images/logo.gif" STYLE="IMAGE"/>


LOGTARGET

Description

Specifies where a channel client log should be sent.

Syntax

<LOGTARGET
HREF="url"
METHOD="POST" | "PUT"
SCOPE="ALL" | "OFFLINE" | "ONLINE"
>

ParameterDescription
HREF="url" Required. Specifies the URL of where the log should be sent.
METHOD="POST" | "PUT" Required. The HTTP method to be used for sending the data.
SCOPE="ALL" | "OFFLINE" | "ONLINE" Specifies which browsing events should be logged. Events can be logged for off-line browsing (read from local cache), or on-line (read from URL). The default for this attribute is "ALL", which logs both types of events.

Remarks

Number of allowed occurrences: None or one (top-level channel only)

Parent Elements Child Elements
CHANNEL HTTP-EQUIV
PURGETIME


The end tag </LOGTARGET> is required.

Example:

<LOGTARGET HREF="http://www.foosports.com/logging" Method="POST" SCOPE="OFFLINE">
       <PURGETIME HOUR="12"/>
       <HTTP-EQUIV NAME="encoding-type" VALUE="gzip"/>
</LOGTARGET>


PURGETIME

Description

Specifies the amount of time before which log events should not be reported. The days, hours, and minutes are totaled to determine the offset value from the current time that event logging information is kept.

Syntax

<PURGETIME
DAY="n"
HOUR="n"
MIN="n"
/>

ParameterDescription
DAY="n" Number of days for which the logging information is considered valid.
HOUR="n" Number of hours for which the logging information is considered valid.
MIN="n" Number of minutes for which the logging information is considered valid.

Remarks

Number of allowed occurrences: None or one

Parent Elements Child Elements
LOGTARGET None


There is no end tag associated with this element.


SCHEDULE

Description

The Schedule element defines a bounded repeating interval of time that is intended to help publishers effectively manage their server traffic. The EARLIESTTIME and LATESTTIME child elements listed below represent the valid range of time in which the scheduled content update can occur. The values specified for these elements will be offsets from the INTERVALTIME element.

Syntax

<SCHEDULE
STARTDATE="date"
ENDDATE="date"
>

ParameterDescription
STARTDATE="date" The day on which the schedule will start to apply. The date is in ISO 8601:1988 date format (YYYY.MM.DD).
ENDDATE="date" The day on which the schedule expires. The date is in ISO 8601:1988 date format (YYYY.MM.DD).

Remarks

Number of allowed occurrences: None or one (top-level channel only)

Parent Elements Child Elements
CHANNEL EARLIESTTIME
ITEM INTERVALTIME
LATESTTIME


The end tag </SCHEDULE> is required.

Example:

<SCHEDULE ENDDATE="1994.11.05">
	<INTERVALTIME DAY="1"/>
	<EARLIESTTIME HOUR="12"/>
	<LATESTTIME HOUR="18"/>
</SCHEDULE>


TITLE

Description

A text string representing the title of the CHANNEL or ITEM. Internet Explorer displays this title to the right of the icon in the Browser Channel Pane.

Syntax

<TITLE>

Remarks

Number of allowed occurrences: None or one

Parent Elements Child Elements
CHANNEL None
ITEM


The TITLE element can optionally be used as an attribute with the CHANNEL and ITEM elements to support previous implementations of CDF. Any new CDF files should use TITLE as a child element.

The end tag </TITLE> is required.

Example:

<TITLE>CDF Reference</TITLE>


USAGE

Description

Indicates how an ITEM element should be used.

Syntax

<USAGE
VALUE= "Channel" | "DesktopComponent" | "ScreenSaver" | "SmartScreen" | "<other>"
/>

ParameterDescription
VALUE="Channel" | "DesktopComponent" | "ScreenSaver" | "SmartScreen" | "<other>" Required. Specifies a special usage of the parent element. ScreenSaver and SmartScreen items are placed in the special Internet Explorer Screensaver. DesktopComponent items are placed directly on the Active Desktop. Channel items appear in the Channel Pane. If an <other> value is used as the only USAGE element in an ITEM, the item will not appear in the Channel Pane. The default is "Channel".

Remarks

Number of allowed occurrences: Any number

Parent Elements Child Elements
ITEM None


Consult the README file that came with your Internet Explorer 4.0 release for information on how to use CDFs to build desktop components.

Some older implementations of CDF clients look for a SHOW attribute instead of the USAGE child element inside the ITEM element. An attribute of SHOW="string" in an ITEM element is functionally equivalent to adding a child element of <USAGE VALUE="string"></USAGE> to an ITEM element.

The end tag </USAGE> is required. The content of the element is optional and varies according to the VALUE.

Example:

<ITEM HREF="http://www.foosports.com/screensaver.htm">
	<USAGE VALUE="ScreenSaver"></USAGE>
</ITEM>

© 1997 Microsoft Corporation. All rights reserved. Legal Notices.