Web Part and Dashboard XML Schemas

This document describes the XML format you use to store Web Parts and Digital Dashboards outside of a schema-capable data source. The following schema provides a universal format for representing Web Parts and dashboards that allows you to transfer them between disparate systems.

Web Part XML Schema

At times, you may need to store Web Parts in the Windows file system or exchange them between applications. To do this, use the following schema. Note that because the Content tag often contains HTML or other text that is not valid XML, you should wrap the contents of this tag in a <![CDATA[ ... ]]> block.

<?xml version="1.0" ?>

<Schema name="WebPart" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">

<ElementType name="Title" dt:type="string"/>

<ElementType name="Description" dt:type="string"/>

<ElementType name="Content" dt:type="string"/>

<ElementType name="ContentLink" dt:type="string"/>

<ElementType name="XSL" dt:type="string"/>

<ElementType name="XSLLink" dt:type="string"/>

<ElementType name="MasterPartLink" dt:type="string"/>

<ElementType name="RefreshInterval" dt:type="int" default="0" />

<ElementType name="RequiresIsolation" dt:type="boolean" default="0"/>

<ElementType name="ContentType" dt:type="string" default="HTML"/>

<ElementType name="IsIncluded" dt:type="boolean" default="1"/>

<ElementType name="AllowRemove" dt:type="boolean" default="1"/>

<ElementType name="IsVisible" dt:type="boolean" default="1"/>

<ElementType name="FrameState" dt:type="string" default="Normal"/>

<ElementType name="AllowMinimize" dt:type="boolean" default="1"/>

<ElementType name="HasFrame" dt:type="boolean" default="1"/>

<ElementType name="Zone" dt:type="string" default="Body"/>

<ElementType name="PartOrder" dt:type="int" default="0"/>

<ElementType name="CustomizationLink" dt:type="string"/>

<ElementType name="CacheBehavior" dt:type="string" default="None" />

<ElementType name="CacheTimeout" dt:type="int"/>

<ElementType name="PartStorage" dt:type="string"/>

<ElementType name="LastModified" dt:type="dateTime"/>

<ElementType name="Namespace" dt:type="string"/>

<ElementType name="Height" dt:type="string"/>

<ElementType name="Width" dt:type="string"/>

<ElementType name="DetailLink" dt:type="string"/>

-<ElementType name="Smartpart" content="eltOnly" model="Open">

<element type="Title" minOccurs="0" maxOccurs="1"/>

<element type="Description" minOccurs="0" maxOccurs="1"/>

<element type="Content" minOccurs="0" maxOccurs="1"/>

<element type="ContentLink" minOccurs="0" maxOccurs="1"/>

<element type="XSL" minOccurs="0" maxOccurs="1"/>

<element type="XSLLink" minOccurs="0" maxOccurs="1"/>

<element type="MasterPartLink" minOccurs="0" maxOccurs="1"/>

<element type="RefreshInterval" minOccurs="0" maxOccurs="1"/>

<element type="RequiresIsolation" minOccurs="0" maxOccurs="1"/>

<element type="ContentType" minOccurs="0" maxOccurs="1"/>

<element type="IsIncluded" minOccurs="0" maxOccurs="1"/>

<element type="AllowRemove" minOccurs="0" maxOccurs="1"/>

<element type="IsVisible" minOccurs="0" maxOccurs="1"/>

<element type="FrameState" minOccurs="0" maxOccurs="1"/>

<element type="AllowMinimize" minOccurs="0" maxOccurs="1"/>

<element type="HasFrame" minOccurs="0" maxOccurs="1"/>

<element type="Zone" minOccurs="0" maxOccurs="1"/>

<element type="PartOrder" minOccurs="0" maxOccurs="1"/>

<element type="CustomizationLink" minOccurs="0" maxOccurs="1"/>

<element type="CacheBehavior" minOccurs="0" maxOccurs="1"/>

<element type="CacheTimeout" minOccurs="0" maxOccurs="1"/>

<element type="PartStorage" minOccurs="0" maxOccurs="1"/>

<element type="LastModified" minOccurs="0" maxOccurs="1"/>

<element type="Namespace" minOccurs="0" maxOccurs="1"/>

<element type="Height" minOccurs="0" maxOccurs="1"/>

<element type="Width" minOccurs="0" maxOccurs="1"/>

<element type="DetailLink" minOccurs="0" maxOccurs="1"/>

</ElementType>

</Schema>

Example of a Web Part in XML Format

The following is an example of a Web Part in XML format. Note that you do not have to use all tags defined in the Web Part XML schema. Any tags that you do not define use the default properties that the Web Part schema specifies.

<?xml version="1.0" ?>
<WebPart xmlns="urn:schemas-microsoft-com:office:smartpart">
<Title>Document Title</Title>
<Description>Document description goes here</Description>
<Content>
Embedded content goes here.
</Content>
<MasterPartLink>http://URLtomasterwebpart/WebParts.xml</MasterPartLink>
<FrameState>Normal</FrameState>
<HasFrame>1</HasFrame>
<Zone>Right</Zone>
<PartOrder>0</PartOrder>
<CacheBehavior>AllUsers</CachingBehavior>
<CacheTimeout>60</CacheTimeout>
<LastModified>2000-01-27T13:55:01</LastModified>
</WebPart>


Dashboard XML Schema

At times, you may need to store dashboards in the Windows file system or exchange them between applications. To do this, use the following schema.

<?xml version="1.0" ?>
-<
Schema name="Dashboard" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">
<
ElementType name="Title" dt:type="string"/>

<ElementType name="Description" dt:type="string"/>

<ElementType name="FolderImageLarge" dt:type="string"/>

<ElementType name="FolderImageSmall" dt:type="string"/>

<ElementType name="Stylesheet" dt:type="string"/>

<ElementType name="StylesheetLink" dt:type="string"/>

<ElementType name="MergeSubDashboards" dt:type="boolean" default="1"/>

<ElementType name="AutoUpdate" dt:type="int" default="1"/>

<ElementType name="DashboardStorage" dt:type="string"/>

<ElementType name="RefreshInterval" dt:type="int" default="0"/>

<ElementType name="DisplayTitle" dt:type="boolean" default="1"/>

<ElementType name="LastModified" dt:type="dateTime"/>

<ElementType name="DashboardOrder" dt:type="int" default="0"/>

-<ElementType name="Dashboard" content="eltOnly" model="Open">

<element type="Title" minOccurs="0" maxOccurs="1"/>

<element type="Description" minOccurs="0" maxOccurs="1"/>

<element type="MasterFolderLink" minOccurs="0" maxOccurs="1"/>

<element type="FolderImageSmall" minOccurs="0" maxOccurs="1"/>

<element type="FolderImageLarge" minOccurs="0" maxOccurs="1"/>

<element type="Stylesheet" minOccurs="0" maxOccurs="1"/>

<element type="StylesheetLink" minOccurs="0" maxOccurs="1"/>

<element type="MergeSubDashboards" minOccurs="0" maxOccurs="1"/>

<element type="AutoUpdate" minOccurs="0" maxOccurs="1"/>

<element type="PartStorage" minOccurs="0" maxOccurs="1"/>

<element type="RefreshInterval" minOccurs="0" maxOccurs="1"/>

<element type="DisplayTitle" minOccurs="0" maxOccurs="1"/>

<element type="LastModified" minOccurs="0" maxOccurs="1"/>

<element type="DashboardOrder" minOccurs="0" maxOccurs="1"/>

</ElementType>

</Schema>