# Table of contents:
# Introduction
The Messenger Content Package Document, also known as the content.xml file, is an requirement for downloadable content.
This element contains one or more <item> or <item2> elements.
This element has three attributes:
xmlns: This is usuallyhttp://messenger.msn.com/messengercontent/1.0.
Atypeofdynamicbackgroundwill instead usehttp://messenger.msn.com/messengercontent/2.0.version: This is usually1.0. Atypeofdynamicbackgroundwill instead use2.0.type: The type of the<package>:theme: A theme pack.dynamicpicture: A Dynamic Display Picture.wink: A Wink.dynamicbackground: A Dynamic Background.
If the type of this <package> is a theme, this element has another four optional attributes:
partnerid: The partner ID. Not setting this treats it as-1.pg: The program code. Used for advertising tracking.packid: The package ID. Format is set by the partner.contentlocationurl: Used forMessengerContentInstaller.IndirectInstallContentto provide a content URL. If used, the<package>element should be empty.
If the type of this <package> is a dynamicpicture, this element has another two attributes:
xmlns:dynamicpicture: This is always set tohttp://messenger.msn.com/dynamicpicture/1.0.dynamicpicture:displayname: The Dynamic Display Picture's display name.
If the type of this <package> is a dynamicbackground, this element has another two attributes:
xmlns:dynamicbackground: This is always set tohttp://messenger.msn.com/dynamicbackground/2.0.dynamicbackground:name: The Dynamic Backgrounds' display name.
If the type of this <package> is a wink, this element has another two attributes:
xmlns:wink: This is always set tohttp://messenger.msn.com/winks/1.0.wink:displayname: The Wink's display name.
This element has three attributes:
type: The type of the<item>:background: A (static) background.usertile: A (static) display picture.emoticon: A emoticon.wink: A Wink (signature required).dynamicpicture: A Dynamic Display Picture (signature required).dynamicbackground: A Dynamic Background (signature required).downlevel: A down-level image. Only valid for a<package>typeofdynamicpicture.mood: A mood. Only valid for a<package>typeofdynamicpicture.downlevelimage: A down-level image. Only valid for a<package>typeofdynamicbackground.backgroundimage: A background image. Only valid for a<package>typeofdynamicbackground.animation: A foreground animation. Only valid for a<package>typeofdynamicbackgroundorwink.thumbnail: A thumbnail. Only valid for a<package>typeofwink.
mimetype: A MIME type. Usually animage/pngorimage/jpgor evenimage/gif. Messenger Content Cabinets useapplication/messengercontent. Removed in package version2.0.file: The filename to use for this<item>.
This element has only three optional attributes:
contenttype: The content avaliability mode. This should be set if the<package>this<item>belongs to has atypeoftheme.D: Downloadable. Allows copying.P: Premium. Copying is prohibited.M: Merchant. Seems to allow copying.
contentid: The content's ID. This should be unique. This should be set if the<package>this<item>belongs to has atypeoftheme.stamp: The PKCS#7 signature. Required for signed content, like Winks, Dynamic Display Pictures and Dynamic Backgrounds.
If the type of this <item> is a background, this element has another six attributes:
xmlns:background: This is always set tohttp://messenger.msn.com/background/1.0.background:url: The click-through URL. Only used forMessengerContentInstaller.IndirectInstallContent?background:text: The click-through text. Only used forMessengerContentInstaller.IndirectInstallContent?background:imptrackurl: The impression tracking URL. Only used forMessengerContentInstaller.IndirectInstallContent?background:default: If this istrue, this background will be set as the default background, otherwise, usefalse.background:displayname: The display name of the background.
If the type of this <item> is a usertile, this element has another three attributes:
xmlns:usertile: This is always set tohttp://messenger.msn.com/usertile/1.0.usertile:default: If this istrue, this display picture will be set as the default display picture, otherwise, usefalse.usertile:displayname: The display name of the display picture.
If the type of this <item> is a emoticon, this element has another four attributes:
xmlns:emoticon: This is always set tohttp://messenger.msn.com/emoticon/1.0.emoticon:namespaceprefix: The emoticon's namespace prefix.emoticon:displayname: The display name of the emoticon.emoticon:keysequence: The emoticon's keyboard shortcut. This should be unique.
If the type of this <item> is a mood, this element has another four attributes:
dynamicpicture:default: If this istrue, this mood is the default of the Dynamic Display Picture, otherwise, usefalse.dynamicpicture:name: The display name of this mood.dynamicpicture:parameter: The SWF parameters to change the mood.dynamicpicture:keysequence: A keyboard shortcut that activates this mood.
If the type of the <package> is dynamicbackground, and the type of this <item> is a animation,
this element has another thirteen optional attributes:
dynamicbackground:template: Unknown. This is usually1.dynamicbackground:chrome_red: The decimal (0-255) shade of red to color the interface.dynamicbackground:chrome_green: The decimal (0-255) shade of green to color the interface.dynamicbackground:chrome_blue: The decimal (0-255) shade of blue to color the interface.dynamicbackground:font_red: The decimal (0-255) shade of red to color the system text.dynamicbackground:font_green: The decimal (0-255) shade of green to color the system text.dynamicbackground:font_blue: The decimal (0-255) shade of blue to color the system text.dynamicbackground:margin_top: The decimal margin to offset the chat contents from the top of the window.dynamicbackground:margin_bottom: The decimal margin to offset the chat contents from the bottom of the window.dynamicbackground:margin_left: The decimal margin to offset the chat contents from the left of the window.dynamicbackground:margin_right: The decimal margin to offset the chat contents from the right of the window.dynamicbackground:nudge_hassound: Iftrue, nudges do not create their system sound, otherwise, usefalse.dynamicbackground:nudge_noshake: Iftrue, nudges do not shake the window, otherwise, usefalse.
If the type of the <package> is wink, and the type of this <item> is a animation,
this element has another two attributes:
wink:sizex: The horizontal size of the wink.wink:sizey: The vertical size of the wink.
If the type of the <item> is dynamicbackground, this element has another three attributes:
dynamicbackground:default: If this istrue, this Dynamic Background will be set as the default background, otherwise, usefalse.dynamicbackground:contentlocationurl: Unknown.dynamicbackground:displayname: The Dynamic Background's display name.
If the type of the <item> is scene, this element has another three attributes:
xmlns:scene: This is always set tohttp://messenger.msn.com/scene/1.0.scene:default: If this istrue, this scene will be set as the default scene, otherwise, usefalse.scene:displayname: The scene's display name.
If the type of the <item> is sound, this element has another three attributes:
xmlns:sound: This is always set tohttp://messenger.msn.com/sound/1.0.sound:default: If this istrue, this sound will be set as the default sound, otherwise, usefalse.sound:displayname: The sound's display name.
A newer version of <item> that was introduced with Client Version 7.5. Mostly used for Dynamic Backgrounds.
As an extension of <item>, all previous attributes apply.
This element has only one new child:
minver: This is a duplet that specifies the minimum Client Version before attempting to install this<item2>.
# Examples
# Standard content
<?xml version="1.0" encoding="UTF-8" ?>
<package
xmlns="http://messenger.msn.com/messengercontent/1.0"
version="1.0"
type="theme"
contenttype="P"
contentid="examplepack"
partnerid="EXAMPLE"
>
<item
xmlns:emoticon="http://messenger.msn.com/emoticon/1.0"
type="emoticon"
contentid="examplepack1"
contenttype="P"
mimetype="image/png"
file="19x19_example.png"
emoticon:namespaceprefix="EXAMPLE"
emoticon:displayname="Example Emoticon"
emoticon:keysequence="(Ex.)"
/>
<item
xmlns:usertile="http://messenger.msn.com/usertile/1.0"
type="usertile"
contentid="examplepack2"
contenttype="P"
mimetype="image/png"
file="96x96_example.png"
usertile:default="true"
usertile:displayname="Example User Tile"
/>
<item
xmlns:background="http://messenger.msn.com/background/1.0"
type="background"
contentid="examplepack3"
contenttype="P"
mimetype="image/png"
file="400x300_example.png"
background:default="true"
background:displayname="Example Background"
/>
</package>
# Indirect
<?xml version="1.0" encoding="UTF-8" ?>
<package contentlocationurl="http://example.com/content/example.mct" />