Grant Palin avatar Grant Palin committed 0825d3a

Added Sandcastle v.2.6.1062.1 to tools folder.

Comments (0)

Files changed (441)

tools/sandcastle/Presentation/Prototype/DocModel.ps1

+
+# Sandcastle build script overrides for prototype doc model.
+
+. $DxRoot\Presentation\Shared\SharedDocModel.ps1
+
+function PostProcessReflectionData($sourceFile, $targetFile) {
+	WriteInfo "Post processing reflection data."
+    &$XslTransform $sourceFile `
+        /xsl:$DxRoot\ProductionTransforms\ApplyPrototypeDocModel.xsl `
+        /xsl:$DxRoot\ProductionTransforms\AddGuidFilenames.xsl `
+        /out:$targetFile
+}
+
+function CreateToc {
+    WriteInfo "Creating TOC."
+    &$XslTransform $TempDir\ReflectionData\targets.xml `
+        /xsl:$DxRoot\ProductionTransforms\createPrototypeToc.xsl `
+        /out:$TempDir\toc.xml
+}
+

tools/sandcastle/Presentation/Prototype/configuration/conceptual.config

+<configuration>
+  <dduetools>
+    <builder>
+      <components>
+
+        <!-- Create skeleton document -->
+        <component type="Microsoft.Ddue.Tools.CopyFromFileComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <data file="%DXROOT%\Presentation\Prototype\transforms\skeleton_conceptual.xml" />
+          <copy source="/*" target="/" />
+        </component>
+
+        <!-- Copy in comments -->
+        <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <index name="comments" value="/topic" key="@id">
+            <data files=".\DdueXml\*.xml" />
+          </index>
+          <copy name="comments" source="/topic" target="/document" />
+        </component>
+
+        <!-- resolve tokens -->
+        <component type="Microsoft.Ddue.Tools.SharedContentComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+          <content file="%DXROOT%\Data\tokens.xml" />
+          <replace elements="/*//ddue:token" item="string(.)" />
+        </component>
+
+        <!-- copy in metadata keywords -->
+        <component type="Microsoft.Ddue.Tools.CopyFromFilesComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <copy base=".\XmlComp" file="concat($key,'.cmp.xml')" source="/metadata/topic[@id=$key]/*" target="/document/metadata" />
+        </component>
+
+        <!-- copy in metadata attributes -->
+        <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <index name="metadata" value="/metadata/topic" key="@id">
+            <data files=".\ExtractedFiles\*.ContentMetadata.xml" />
+          </index>
+          <copy name="metadata" source="*" target="/document/metadata" />
+          <copy name="metadata" key="string('*')" source="*" target="/document/metadata" />
+        </component>
+
+        <!-- Resolve code snippets -->
+        <component type="Microsoft.Ddue.Tools.ExampleComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <examples file="%DXROOT%\Data\CodeSnippet.xml" />
+          <colors language="VisualBasic">
+            <color pattern="^\s*'[^\r\n]*" class="comment" />
+            <color pattern="\&#34;.*\&#34;" class="literal" />
+            <color pattern="\b((AddHandler)|(AddressOf)|(As)|(ByRef)|(ByVal)|(Case)|(Catch)|(Class)|(Const)|(Continue)|(Delegate)|(Dim)|(Each)|(Else)|(ElseIf)|(End)|(Enum)|(Event)|(Exit)|(False)|(Finally)|(For)|(Friend)|(Function)|(Get)|(Handles)|(Implements)|(Imports)|(In)|(Inherits)|(Interface)|(Is)|(Loop)|(Me)|(Module)|(MustInherit)|(MustOverride)|(MyBase)|(Namespace)|(New)|(Next)|(Nothing)|(NotInheritable)|(NotOverrideable)|(Of)|(Overloads)|(Overridable)|(Overrides)|(ParamArray)|(Partial)|(Private)|(Property)|(Protected)|(Public)|(RaiseEvent)|(ReadOnly)|(RemoveHandler)|(Set)|(Shadows)|(Shared)|(Static)|(Step)|(Structure)|(Sub)|(Then)|(Throw)|(To)|(True)|(Try)|(Until)|(Using)|(When)|(While)|(With)|(WriteOnly))\b" class="keyword" />
+          </colors>
+          <colors language="CSharp">
+            <color pattern="/\*(.|\n)+?\*/" class="comment" />
+            <color pattern="//[^\r\n]*" class="comment" />
+            <color pattern="\&#34;.*\&#34;" class="literal" />
+            <color pattern="\b((abstract)|(as)|(base)|(bool)|(break)|(case)|(catch)|(class)|(const)|(continue)|(default)|(delegate)|(do)|(else)|(enum)|(event)|(extern)|(false)|(finally)|(for)|(foreach)|(get)|(if)|(in)|(interface)|(internal)|(is)|(namespace)|(new)|(null)|(out)|(override)|(params)|(private)|(protected)|(public)|(readonly)|(ref)|(return)|(sealed)|(set)|(static)|(struct)|(switch)|(this)|(throw)|(true)|(try)|(typeof)|(using)|(virtual)|(volatile)|(void)|(while))\b" class="keyword" />
+          </colors>
+          <colors language="ManagedCPlusPlus">
+            <color pattern="/\*(.|\n)+?\*/" class="comment" />
+            <color pattern="//[^\r\n]*" class="comment" />
+            <color pattern="\&#34;.*\&#34;" class="literal" />
+            <color pattern="\b((abstract)|(array)|(break)|(case)|(catch)|(class)|(const)|(continue)|(delegate)|(delete)|(do)|(else)|(enum)|(event)|(extern)|(false)|(finally)|(for)|(friend)|(gcnew)|(generic)|(goto)|(if)|(initonly)|(inline)|(interface)|(literal)|(namespace)|(new)|(noinline)|(nullptr)|(operator)|(private)|(property)|(protected)|(public)|(ref)|(register)|(return)|(sealed)|(sizeof)|(static)|(struct)|(switch)|(template)|(this)|(throw)|(true)|(try)|(typedef)|(union)|(using)|(value)|(virtual)|(void)|(volatile)|(while))\b" class="keyword" />
+          </colors>
+        </component>        
+        
+        <!--
+        <component type="Microsoft.Ddue.Tools.DisplayComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+	  <xpath>/</xpath>
+	</component>
+  -->
+
+        <!-- transform -->
+        <component type="Microsoft.Ddue.Tools.TransformComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <transform file="%DXROOT%\Presentation\Prototype\transforms\main_conceptual.xsl" >
+            <argument key="metadata" value="true" />
+            <argument key="languages">
+              <language label="CSharp" name="CSharp" style="cs" />
+              <language label="VisualBasic" name="VisualBasic" style="vb" />
+              <language label="ManagedCPlusPlus" name="ManagedCPlusPlus" style="cs" />
+            </argument>
+          </transform>
+        </component>
+
+        <!-- resolve art links -->
+        <component type="Microsoft.Ddue.Tools.ResolveArtLinksComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <targets input="%DXROOT%\Data\ArtStore" output=".\Output\media" link="../media" map="%DXROOT%\Data\ArtSharedContent.loc.xml" />
+        </component>
+
+        <!-- resolve shared content -->
+        <component type="Microsoft.Ddue.Tools.SharedContentComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <content file="%DXROOT%\Presentation\Prototype\content\shared_content.xml" />
+          <content file="%DXROOT%\Presentation\Prototype\content\conceptual_content.xml" />
+        </component>
+
+        <!-- resolve conceptual links -->
+        <component type="Microsoft.Ddue.Tools.ResolveConceptualLinksComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <targets base=".\XmlComp" type="local" />
+          <targets base="%DXROOT%\Data\XmlComp" type="index"/>
+        </component>
+
+        <!-- save the result -->
+        <component type="Microsoft.Ddue.Tools.SaveComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <save base=".\Output\html" path="concat($key,'.htm')" indent="true" omit-xml-declaration="true" />
+        </component>
+
+      </components>
+
+    </builder>
+  </dduetools>
+</configuration>

tools/sandcastle/Presentation/Prototype/configuration/sandcastle-scbuild.config

+<configuration>
+  <dduetools>
+    <builder>
+      <components>
+
+        <!-- Create skeleton document -->
+        <component type="Microsoft.Ddue.Tools.CopyFromFileComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <data file="%DXROOT%\Presentation\Prototype\transforms\skeleton.xml" />
+          <copy source="/*" target="/" />
+        </component>
+
+        <!-- Copy in reflection data -->
+        <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <index name="reflection" value="/reflection/apis/api" key="@id" cache="10">
+            <data base="%DxTempDir%\ReflectionData" recurse="true" files="*.xml" />
+          </index>
+          <copy name="reflection" source="*" target="/document/reference" />
+        </component>
+
+        <!-- Copy in container data -->
+        <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <copy name="reflection" key="string(/document/reference/containers/namespace/@api)" source="*[not(local-name()='elements')]" target="/document/reference/containers/namespace" />
+        </component>
+        <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <variable expression="/document/reference/containers//type/@api" />
+          <components>
+            <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+              <copy name="reflection" source="apidata|typedata|templates|attributes" target="/document/reference/containers//type[@api=$key]" />
+            </component>
+          </components>
+        </component>
+
+        <!-- Generate syntax -->
+        <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <if condition="not(starts-with($key,'Overload:') or starts-with($key,'R:'))" />
+          <then>
+            <component type="Microsoft.Ddue.Tools.SyntaxComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+              <syntax input="/document/reference" output="/document/syntax" />
+              <generators>
+                <generator type="Microsoft.Ddue.Tools.CSharpDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+                <generator type="Microsoft.Ddue.Tools.VisualBasicDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+                <generator type="Microsoft.Ddue.Tools.CPlusPlusDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+              </generators>
+            </component>
+          </then>
+        </component>
+
+        <!-- Copy in comments -->
+        <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <index name="comments" value="/doc/members/member" key="@name" cache="100">
+            <data base="%DxTempDir%\Comments\" recurse="false" files="*.xml" />
+          </index>
+          <copy name="comments" source="*" target="/document/comments" />
+        </component>
+
+        <!-- Copy in reflection data and comments for members -->
+        <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <variable expression="/document/reference/elements/element/@api" />
+          <components>
+            <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+              <if condition="not(/document/reference/elements/element[@api=$key]/*)" />
+              <then>
+                <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+                  <copy name="reflection" source="*[not(local-name()='elements')]" target="/document/reference/elements/element[@api=$key]" />
+                </component>
+              </then>
+            </component>
+            <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+              <copy name="comments" source="summary|overloads" target="/document/reference/elements/element[@api=$key]" />
+            </component>
+          </components>
+        </component>
+
+        <!-- transform -->
+        <component type="Microsoft.Ddue.Tools.TransformComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <transform file="%DXROOT%\Presentation\Prototype\transforms\main_sandcastle.xsl">
+            <argument key="metadata" value="true" />
+            <argument key="languages">
+              <language label="CSharp" name="CSharp" style="cs" />
+              <language label="VisualBasic" name="VisualBasic" style="vb" />
+              <language label="ManagedCPlusPlus" name="ManagedCPlusPlus" style="cpp" />
+              <language label="JavaScript" name="JavaScript" style="cs" />
+            </argument>
+          </transform>
+        </component>
+        <!--
+        <component type="Microsoft.Ddue.Tools.DisplayComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <xpath>/</xpath>
+        </component>
+-->
+        <!-- resolve shared content -->
+        <component type="Microsoft.Ddue.Tools.SharedContentComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <content file="%DXROOT%\Presentation\Prototype\content\shared_content.xml" />
+          <content file="%DXROOT%\Presentation\Prototype\content\reference_content.xml" />
+          <content file="%DXROOT%\Presentation\Shared\content\syntax_content.xml" />
+        </component>
+
+
+        <!-- resolve reference links -->
+        <component type="Microsoft.Ddue.Tools.ResolveReferenceLinksComponent2" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <targets base="%DxTempDir%\ReflectionData\Framework" recurse="true" files="*.xml" type="msdn" />
+          <targets base="%DxTempDir%\ReflectionData\Dependencies" recurse="true" files="*.xml" type="index" />
+          <targets files="%DxTempDir%\ReflectionData\targets.xml" type="local" />
+        </component>
+
+        <!-- save the result -->
+        <component type="Microsoft.Ddue.Tools.SaveComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <save base ="%DxTempDir%\Output\html" path="concat(/html/head/meta[@name='file']/@content,'.htm')" indent="false" omit-xml-declaration="true" />
+        </component>
+
+      </components>
+    </builder>
+  </dduetools>
+</configuration>

tools/sandcastle/Presentation/Prototype/configuration/sandcastle.config

+<configuration>
+  <dduetools>
+    <builder>
+      <components>
+
+        <!-- Create skeleton document -->
+        <component type="Microsoft.Ddue.Tools.CopyFromFileComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <data file="%DXROOT%\Presentation\Prototype\transforms\skeleton.xml" />
+          <copy source="/*" target="/" />
+        </component>
+
+        <!-- Copy in reflection data -->
+        <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <index name="reflection" value="/reflection/apis/api" key="@id" cache="10">
+            <data base="%DXROOT%\Data\Reflection" recurse="true" files="*.xml" />
+            <data files=".\reflection.xml" />
+          </index>
+          <copy name="reflection" source="*" target="/document/reference" />
+        </component>
+
+        <!-- Copy in container data -->
+        <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <copy name="reflection" key="string(/document/reference/containers/namespace/@api)" source="*[not(local-name()='elements')]" target="/document/reference/containers/namespace" />
+        </component>
+        <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <variable expression="/document/reference/containers//type/@api" />
+          <components>
+            <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+              <copy name="reflection" source="apidata|typedata|templates|attributes" target="/document/reference/containers//type[@api=$key]" />
+            </component>
+          </components>
+        </component>
+
+        <!-- Generate syntax -->
+        <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <if condition="not(starts-with($key,'Overload:') or starts-with($key,'R:'))" />
+          <then>
+            <component type="Microsoft.Ddue.Tools.SyntaxComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+              <syntax input="/document/reference" output="/document/syntax" />
+              <generators>
+                <generator type="Microsoft.Ddue.Tools.CSharpDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+                <generator type="Microsoft.Ddue.Tools.VisualBasicDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+                <generator type="Microsoft.Ddue.Tools.CPlusPlusDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+              </generators>
+            </component>
+          </then>
+        </component>
+
+        <!-- Copy in comments -->
+        <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <index name="comments" value="/doc/members/member" key="@name" cache="100">
+            <data base="%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\" recurse="false" files="*.xml" />
+            <data files=".\comments.xml" />
+          </index>
+          <copy name="comments" source="*" target="/document/comments" />
+        </component>
+
+        <!-- Copy in reflection data and comments for members -->
+        <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <variable expression="/document/reference/elements/element/@api" />
+          <components>
+            <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+              <if condition="not(/document/reference/elements/element[@api=$key]/*)" />
+              <then>
+                <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+                  <copy name="reflection" source="*[not(local-name()='elements')]" target="/document/reference/elements/element[@api=$key]" />
+                </component>
+              </then>
+            </component>
+            <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+              <copy name="comments" source="summary|overloads" target="/document/reference/elements/element[@api=$key]" />
+            </component>
+          </components>
+        </component>
+
+        <!-- transform -->
+        <component type="Microsoft.Ddue.Tools.TransformComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <transform file="%DXROOT%\Presentation\Prototype\transforms\main_sandcastle.xsl">
+            <argument key="metadata" value="true" />
+            <argument key="languages">
+              <language label="CSharp" name="CSharp" style="cs" />
+              <language label="VisualBasic" name="VisualBasic" style="vb" />
+              <language label="ManagedCPlusPlus" name="ManagedCPlusPlus" style="cpp" />
+              <language label="JavaScript" name="JavaScript" style="cs" />
+            </argument>
+          </transform>
+        </component>
+        <!--
+        <component type="Microsoft.Ddue.Tools.DisplayComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <xpath>/</xpath>
+        </component>
+-->
+        <!-- resolve shared content -->
+        <component type="Microsoft.Ddue.Tools.SharedContentComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <content file="%DXROOT%\Presentation\Prototype\content\shared_content.xml" />
+          <content file="%DXROOT%\Presentation\Prototype\content\reference_content.xml" />
+          <content file="%DXROOT%\Presentation\Shared\content\syntax_content.xml" />
+        </component>
+
+
+        <!-- resolve reference links -->
+        <component type="Microsoft.Ddue.Tools.ResolveReferenceLinksComponent2" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <targets base="%DXROOT%\Data\Reflection" recurse="true" files="*.xml" type="msdn" />
+          <targets files=".\reflection.xml" type="local" />
+        </component>
+
+        <!-- save the result -->
+        <component type="Microsoft.Ddue.Tools.SaveComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+          <save base =".\Output\html" path="concat(/html/head/meta[@name='file']/@content,'.htm')" indent="false" omit-xml-declaration="true" />
+        </component>
+
+      </components>
+    </builder>
+  </dduetools>
+</configuration>

tools/sandcastle/Presentation/Prototype/content/conceptual_content.xml

+<content xml:space="preserve">
+
+	<!-- control window stuff -->
+	<item id="productTitle">.NET Framework Developer's Guide</item>
+
+	<!-- main window stuff -->
+
+	<!-- body -->
+
+	<!-- section titles -->
+	<item id="inThisSectionTitle">In This Section</item>
+	<item id="buildInstructionsTitle">Compiling the Code</item>
+	<item id="nextStepsTitle">Next Steps</item>
+	<item id="requirementsTitle">Requirements</item>
+	<item id="relatedSectionsTitle">Related Sections</item>
+	<item id="relatedTopicsTitle">See Also</item>
+	<item id="syntaxTitle">Syntax</item>
+	<item id="parametersTitle">Parameters</item>
+	<item id="returnValueTitle">Return Value</item>
+  	<item id="attributesAndElements">Attributes and Elements</item>
+	<item id="attributes">Attributes</item>
+	<item id="childElement">Child Elements</item>
+	<item id="parentElement">Parent Elements</item>
+	<item id="elementInformation">Element Information</item>
+  	<item id="textValue">Text Value</item>
+  	<item id="dotNetFrameworkEquivalent">.NET Framework Equivalent</item>
+  	<item id="prerequisites">Prerequisites</item>
+  	<item id="robustProgramming">Robust Programming</item>
+	<item id="securitySection">Security</item>
+	<item id="externalResources">External Resources</item>
+	<item id="demonstrates">Demonstrates</item>
+  	<item id="appliesTo">Applies To</item>
+	<item id="conclusion">Conclusion</item>
+  	<item id="background">Background</item>
+	<item id="whatsNew">What's New</item>
+	<item id="Example">Example</item>
+
+</content>

tools/sandcastle/Presentation/Prototype/content/reference_content.xml

+<content xml:space="preserve">
+
+  <!-- note text -->
+  <item id="notDocumentedText">This API is not documented.</item>
+  <item id="preliminaryText">This API is preliminary and subject to change.</item>
+  
+	<!-- topic titles -->
+  <item id="namespacesTopicTitle">Namespaces</item>
+  <item id="rootTopicTitle">Namespaces</item>
+
+	<item id="namespaceTopicTitle">{0} Namespace</item>
+	<item id="classTopicTitle">{0} Class</item>
+	<item id="structureTopicTitle">{0} Structure</item>
+	<item id="interfaceTopicTitle">{0} Interface</item>
+	<item id="delegateTopicTitle">{0} Delegate</item>
+	<item id="enumerationTopicTitle">{0} Enumeration</item>
+	<item id="fieldTopicTitle">{0} Field</item>
+	<item id="methodTopicTitle">{0} Method {1}</item>
+	<item id="constructorTopicTitle">{0} Constructor {1}</item>
+	<item id="propertyTopicTitle">{0} Property {1}</item>
+	<item id="eventTopicTitle">{0} Event</item>
+	<item id="operatorTopicTitle">{0} Operator</item>
+	<item id="attachedPropertyTopicTitle">{0} Attached Property</item>
+	<item id="attachedEventTopicTitle">{0} Attached Event</item>
+
+	<!-- index entries -->
+	<item id="rootIndexEntry">namespaces</item>
+	<item id="namespaceIndexEntry">{0} namespace</item>
+	<item id="classIndexEntry">{0} class</item>
+	<item id="structureIndexEntry">{0} structure</item>
+	<item id="interfaceIndexEntry">{0} interface</item>
+	<item id="delegateIndexEntry">{0} delegate</item>
+	<item id="enumerationIndexEntry">{0} enumeration</item>
+	<item id="fieldIndexEntry">{0} field</item>
+	<item id="methodIndexEntry">{0} method</item>
+	<item id="constructorIndexEntry">{0} constructor</item>
+	<item id="propertyIndexEntry">{0} property</item>
+	<item id="eventIndexEntry">{0} event</item>
+	<item id="operatorIndexEntry">{0} operator</item>
+	<item id="attachedPropertyIndexEntry">{0} attached property</item>
+	<item id="attachedEventIndexEntry">{0} attached event</item>
+
+	<!-- main window stuff -->
+
+	<!-- body -->
+
+	<!-- section titles -->
+	<item id="syntaxTitle">Declaration Syntax</item>
+	<item id="usyntaxTitle">Usage Syntax</item>
+	<item id="templatesTitle">Generic Template Parameters</item>
+	<item id="parametersTitle">Parameters</item>
+	<item id="valueTitle">Value</item>
+	<item id="delegateValueTitle">Return Value</item>
+	<item id="methodValueTitle">Return Value</item>
+	<item id="propertyValueTitle">Value</item>
+	<item id="fieldValueTitle">Value</item>
+	<item id="remarksTitle">Remarks</item>
+	<item id="examplesTitle">Examples</item>
+	<item id="threadSafetyTitle">Thread Safety</item>
+	<item id="notesForImplementersTitle">Notes For Implementers</item>
+	<item id="notesForInheritersTitle">Notes For Inheriters</item>
+	<item id="exceptionsTitle">Exceptions</item>
+	<item id="permissionsTitle">.NET Framework Security</item> 
+	<item id="namespacesTitle">Namespaces</item>
+	<item id="typesTitle">Types</item>
+	<item id="membersTitle">Members</item>
+	<item id="familyTitle">Inheritance Hierarchy</item>
+  <item id="implementorsTitle">Implementing Types</item>
+  <item id="versionsTitle">Version Information</item>
+	<item id="relatedTitle">See Also</item>
+
+	<!-- table headers -->
+	<item id="namespaceNameHeader">Namespace</item>
+	<item id="namespaceDescriptionHeader">Description</item>
+	<item id="typeIconHeader">Icon</item>
+	<item id="typeNameHeader">Type</item>
+	<item id="typeDescriptionHeader">Description</item>
+	<item id="memberIconHeader">Icon</item>
+	<item id="memberNameHeader">Member</item>
+	<item id="memberDescriptionHeader">Description</item>
+	<item id="exceptionNameHeader">Exception</item>
+	<item id="exceptionConditionHeader">Condition</item>
+	<item id="permissionNameHeader">Permission</item>
+	<item id="permissionDescriptionHeader">Description</item>
+
+	<!-- filter control text -->
+	<item id="allTypesFilterLabel">All Types</item>
+	<item id="classTypesFilterLabel">Classes</item>
+	<item id="structureTypesFilterLabel">Structures</item>
+	<item id="interfaceTypesFilterLabel">Interfaces</item>
+	<item id="delegateTypesFilterLabel">Delegates</item>
+	<item id="enumerationTypesFilterLabel">Enumerations</item>
+	<item id="allMembersFilterLabel">All Members</item>
+	<item id="constructorMembersFilterLabel">Constructors</item>
+	<item id="methodMembersFilterLabel">Methods</item>
+	<item id="propertyMembersFilterLabel">Properties</item>
+	<item id="fieldMembersFilterLabel">Fields</item>
+	<item id="eventMembersFilterLabel">Events</item>
+	<item id="publicMembersFilterLabel">Public</item>
+	<item id="protectedMembersFilterLabel">Protected</item>
+	<item id="instanceMembersFilterLabel">Instance</item>
+	<item id="staticMembersFilterLabel">Static</item>
+	<item id="declaredMembersFilterLabel">Declared</item>
+	<item id="inheritedMembersFilterLabel">Inherited</item>
+	
+	<!-- inserted boilerplate -->
+	<item id="productTitle">Reference Library</item>
+	<item id="rootLink"><referenceLink target="R:Project">Namespaces</referenceLink></item>
+	<item id="obsoleteShort"><span class="obsolete">Obsolete.</span></item>
+	<item id="obsoleteLong"><span class="obsolete">This API is obsolete.</span></item>
+	<item id="nonobsoleteAlternative">A non-obsolete alternative is {0}.</item>
+	<item id="inheritedFrom">(Inherited from {0}.)</item>
+	<item id="overridesMember">(Overrides {0}.)</item>
+	<item id="locationInformation">Assembly: {0} (Module: {1})</item>
+	 <item id="hostProtectionAttributeShort">HostProtectionAttribute.</item>
+	<item id="hostProtectionAttributeLong">This API is protected by HostProtectionAttribute.</item>
+  
+  <!-- thread safety boilerplate -->
+  <item id="staticThreadSafe">Static members of this type are safe for multi-threaded operations. </item>
+  <item id="staticNotThreadSafe">Static members of this type are not safe for multi-threaded operations. </item>
+  <item id="instanceThreadSafe">Instance members of this type are safe for multi-threaded operations. </item>
+  <item id="instanceNotThreadSafe">Instance members of this type are not safe for multi-threaded operations. </item>
+
+	<!-- alt text for images -->
+	<item id="publicClassAltText">public class</item>
+	<item id="publicStructureAltText">public structure</item>
+	<item id="publicInterfaceAltText">public interface</item>
+	<item id="publicDelegateAltText">public delegate</item>
+	<item id="publicEnumerationAltText">public enumeration</item>
+	<item id="publicConstructorAltText">public constructor</item>
+	<item id="publicMethodAltText">public method</item>
+	<item id="publicFieldAltText">public field</item>
+	<item id="publicPropertyAltText">public property</item>
+	<item id="publicEventAltText">public event</item>
+	<item id="protectedConstructorAltText">protected constructor</item>
+	<item id="protectedMethodAltText">protected method</item>
+	<item id="protectedFieldAltText">protected field</item>
+	<item id="protectedPropertyAltText">protected property</item>
+	<item id="protectedEventAltText">protected event</item>
+	<item id="staticAltText">static member</item>
+  
+
+</content>

tools/sandcastle/Presentation/Prototype/content/shared_content.xml

+<content xml:space="preserve" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
+
+	<!-- paths -->
+	<item id="iconPath">../icons/{0}</item>
+	<item id="scriptPath">../scripts/{0}</item>
+	<item id="stylePath">../styles/{0}</item>
+	<item id="artPath">../media/{0}</item>
+
+	<!-- locale -->
+	<item id="locale">en-us</item>
+
+	<!-- header -->
+	<item id="header"><div id="header">This is experimental documentation.</div></item>
+
+	<!-- alert titles -->
+	<item id="cautionTitle"><b>Caution:</b></item>
+	<item id="securityTitle"><b>Security Note:</b></item>
+	<item id="noteTitle"><b>Note:</b></item>
+	<item id="importantTitle"><b>Important Note:</b></item>
+	<item id="visualBasicTitle"><b>Visual Basic Note:</b></item>
+	<item id="visualC#Title"><b>C# Note:</b></item>
+	<item id="visualC++Title"><b>C++ Note:</b></item>
+	<item id="visualJ#Title"><b>J# Note:</b></item>
+
+	<!-- code labels -->
+	<item id="CSharpLabel">C#</item>
+	<item id="VisualBasicLabel">Visual Basic</item>
+	<item id="ManagedCPlusPlusLabel">Visual C++</item>
+	<item id="JSharpLabel">J#</item>
+	<item id="JScriptLabel">JScript</item>
+  <item id="CSharpUsageLabel">C#</item>
+  <item id="VisualBasicUsageLabel">Visual Basic Usage</item>
+  <item id="AspNetUsageLabel">ASP.NET</item>
+  <item id="JavaScriptLabel">JavaScript</item>
+  <item id="XAMLLabel">XAML</item>
+  
+  <!-- product labels -->
+  <item id="framework">.NET Framework</item>
+  <item id="compact">.NET Compact Framework</item>
+  <item id="everett">1.1</item>
+  <item id="whidbey">2.0</item>
+
+<!-- dynamic Link Information -->
+  <item id="mshelpKTable"><MSHelp:ktable keywords='{0}' locHeader='Location' topicHeader = 'Topic' disambiguator='table' indexMoniker='!DefaultDynamicLinkIndex' /></item>
+
+  <item id="dynamicLinkInlinePreFixText">For more information, see </item>
+  <item id="dynamicLinkInlinePostFixText">.</item>
+  <item id="dynamicLinkInlineSeperatorText"> and </item> 
+
+	<!-- footer -->	
+	<item id="footer"><div id="footer"><include item="copyright"/> </div></item>
+	<item id="copyright">2008 Microsoft Corporation. All rights reserved.</item>
+		
+</content>

tools/sandcastle/Presentation/Prototype/content/token_content.xml

+<items xml:space="preserve" xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <item id="vbprvblong"><ddue:legacyItalic>Visual Basic 2005</ddue:legacyItalic></item>
+  <item id="aspnet_see_dataaccess_overview">See <ddue:link xlink:href="1ff79676-9b84-4939-91b7-885a5ce4fdf8" /> for more information.</item>
+</items>

tools/sandcastle/Presentation/Prototype/copyOutput.bat

+if not exist Output mkdir Output
+if not exist Output\html mkdir Output\html
+if not exist Output\icons mkdir Output\icons
+if not exist Output\scripts mkdir Output\scripts
+if not exist Output\styles mkdir Output\styles
+REM: if not exist Output\media mkdir Output\media
+copy "%DXROOT%\Presentation\Prototype\icons\*" Output\icons
+copy "%DXROOT%\Presentation\Prototype\scripts\*" Output\scripts
+copy "%DXROOT%\Presentation\Prototype\styles\*" Output\styles
+if not exist Intellisense mkdir Intellisense
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/CFW.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/Caution.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/LastChild.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/NotLastChild.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/alert_caution.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/alert_note.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/alert_security.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/collapse_all.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/copycode.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/expand_all.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/privclass.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/privdelegate.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/privenum.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/privevent.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/privfield.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/privinterface.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/privmethod.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/privproperty.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/privstructure.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/protclass.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/protdelegate.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/protenum.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/protevent.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/protfield.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/protfield.png

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/protinterface.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/protmethod.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/protoperator.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/protproperty.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/protstructure.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/pubclass.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/pubdelegate.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/pubenum.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/pubevent.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/pubfield.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/pubinterface.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/pubmethod.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/puboperator.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/pubproperty.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/pubstructure.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/security.gif

Added
New image
Add a comment to this file

tools/sandcastle/Presentation/Prototype/icons/static.gif

Added
New image

tools/sandcastle/Presentation/Prototype/scripts/CollapsibleSection.js

+
+	function toggleSection(sectionElement) {
+		var children = sectionElement.childNodes;
+		if (children.length != 2) return;
+
+		var image = children[0].getElementsByTagName('IMG')[0];
+		var content = children[1];
+
+		if (content.style['display'] == 'none') {
+			content.style['display'] = 'block';
+			image.src = '../icons/collapse_all.gif';
+		} else {
+			content.style['display'] = 'none';
+			image.src= '../icons/expand_all.gif';
+		}
+
+	}

tools/sandcastle/Presentation/Prototype/scripts/CookieDataStore.js

+
+
+			function setCookie(name, value, expires, path, domain, secure) {
+				
+				var text = name + "=" + escape(value);
+
+				if (expires) {
+					var currentDate = new Date();
+					var expireDate = new Date( currentDate.getTime() + expires*24*60*60*1000 );
+					text = text + ";expires=" + expireDate.toGMTString();
+				}
+				if (path) text = text + ";path=" + path;
+				if (domain) text = text + ";domain=" + domain;
+				if (secure) text = text + ";secure";
+
+				document.cookie = text;
+			}
+
+			function getCookie(name) {
+
+				var text = document.cookie;
+
+				var index = text.indexOf(name + "=");
+				if (index < 0) return(null);
+
+				var start = index + name.length + 1;
+
+				var end = text.indexOf(";", start);
+				if (end < 0) end = text.length;
+
+				var value = unescape( text.substring(start, end) );
+				return(value);
+				
+			}
+
+			function removeCookie(name) {
+				setCookie(name, "", -1);
+			}
+
+
+			// cookie data store
+
+			function CookieDataStore(name) {
+				this.name = name;
+				this.load();
+			}
+
+			CookieDataStore.prototype.load = function () {
+
+				// create a key/value store
+				this.data = new Object();
+
+				// get cookie text
+				var text = getCookie(this.name);
+				if (text == null) return;
+
+				// populate the store using the cookie text
+				var data = text.split(';');
+
+				for (var i=0; i<data.length; i++) {
+					var datum = data[i];
+					var index = datum.indexOf('=');
+					if (index > 0) {
+						var key = datum.substring(0,index);
+						var value = datum.substring(index+1);
+						this.data[key] = value;
+					}
+				}
+
+			}
+
+			CookieDataStore.prototype.save = function () {
+
+				// prepare a cookie string
+				var text = "";
+
+				// construct the string
+				for (var key in this.data) {
+					var datum = key + "=" + this.data[key];
+					text = text + datum + ";";
+				}
+
+				// set it
+				setCookie(this.name, text);
+
+			}
+
+			CookieDataStore.prototype.clear = function () {
+				this.data = new Object();
+			}
+
+			CookieDataStore.prototype.set = function(key, value) {
+				this.data[key] = value;
+			}
+
+			CookieDataStore.prototype.get = function(key) {
+				return(this.data[key]);
+			}
+
+			CookieDataStore.prototype.remove = function(key) {
+				delete(this.data[key]);
+			}
+
+			CookieDataStore.prototype.count = function() {
+				var i = 0;
+				for (var key in this.data) {
+					i++;
+				}
+				return(i);				
+			}
+
+		// The following logic needs to be re-factored out of this file
+
+		function selectLanguage(value) {
+
+			if (value == null) return;
+
+			var selector = document.getElementById('languageSelector');
+			if (selector == null) return;
+
+			var options = selector.options;
+			for(var i=0; i<options.length; i++) {
+				if (options[i].value == value) {
+					selector.selectedIndex = i;
+					setLanguage(value);
+				}
+			}						
+
+		}
+
+
+		function setLanguage(value) {
+			var names = value.split(' ');
+			toggleVisibleLanguage(names[1]);
+			lfc.switchLanguage(names[0]);
+		}

tools/sandcastle/Presentation/Prototype/scripts/ElementCollection.js

+
+	// a collection of elements whoose style can be changed based on the values of attributes
+
+	function ElementCollection(parentId) {
+
+		// get the tabbed region
+		this.parent = document.getElementById(parentId);
+
+
+		// get the children
+		this.elements = new Array();
+		if (this.parent.tagName == 'TABLE') {
+			// special handling for tables
+			var bodies = this.parent.tBodies;
+			for(i=0; i<bodies.length; i++) {
+				var rows = bodies[i].rows;
+				for(j=0; j<rows.length; j++) {
+					if (rows[j].nodeType == 1) this.elements.push(rows[j]);
+				}
+			}
+			// this.elements = this.parent.tBodies[0].rows;
+		} else {
+			// all other cases
+			var nodes = this.parent.childNodes;
+			for(i=0; i<nodes.length; i++) {
+				if (nodes[i].nodeType == 1) this.elements.push(nodes[i]);
+			}
+		}
+
+	}
+
+	ElementCollection.prototype.process = function(processFunction) {
+		for(var i=0; i<this.elements.length; i++) {
+			var element = this.elements[i];
+			processFunction(element);
+		}
+	}
+
+	ElementCollection.prototype.changeStyle = function(attributeName, attributeValue, styleName, styleValue) {
+		for(var i=0; i<this.elements.length; i++) {
+			var element = this.elements[i];
+			var value = element.getAttribute(attributeName);
+			if (value != null) {
+				if (value == attributeValue) {
+					element.style[styleName] = styleValue;
+				}
+			}
+		}
+	}
+
+
+	ElementCollection.prototype.toggleStyle = function(attributeName, attributeValue, styleName, trueStyleValue, falseStyleValue) {
+		for(var i=0; i<this.elements.length; i++) {
+			var element = this.elements[i];
+			if (element.nodeType != 1) continue;
+			var value = element.getAttribute(attributeName);
+			if (value == null) continue;
+
+			if (value == attributeValue) {
+				element.style[styleName] = trueStyleValue;
+			} else {
+				element.style[styleName] = falseStyleValue;
+			}
+		}
+	}
+
+	ElementCollection.prototype.toggleClass = function(attributeName, attributeValue, trueClass, falseClass) {
+		for(var i=0; i<this.elements.length; i++) {
+			var element = this.elements[i];
+			if (element.nodeType != 1) continue;
+			var value = element.getAttribute(attributeName);
+			if (value == null) continue;
+
+			if (value == attributeValue) {
+				element.className = trueClass;
+			} else {
+				element.className = falseClass;
+			}
+		}
+	}
+
+	function useShowAttribute(element) {
+		if (element == null) return;
+		var value = element.getAttribute("show");
+		if (value == null) return;
+		if (value == "true") {
+			element.style["display"] = "block";
+		} else {
+			element.style["display"] = "none";
+		}
+	}

tools/sandcastle/Presentation/Prototype/scripts/EventUtilities.js

+
+	// attach a handler to a particular event on an element
+	// in a browser-independent way
+	function registerEventHandler (element, event, handler) {
+		if (element.attachEvent) {
+			// MS registration model
+			element.attachEvent('on' + event, handler);
+		} else if (element.addEventListener) {
+			// NN (W4C) regisration model
+			element.addEventListener(event, handler, false);
+		} else {
+			// old regisration model as fall-back
+			element[event] = handler;
+		}
+	}
+
+	// get a delegate that refers to an instance method
+	function getInstanceDelegate (obj, methodName) {
+		return( function(e) {
+			e = e || window.event;
+			return obj[methodName](e);
+		} );
+	}

tools/sandcastle/Presentation/Prototype/scripts/LanguageFilter.js

+
+function LanguageFilterController() {
+        this.tabCollections = new Array();
+        this.blockCollections = new Array();
+        this.tabCollectionIds = new Array();
+        this.blockCollectionIds = new Array();
+}
+
+LanguageFilterController.prototype.registerTabbedArea = function(tabCollection, blockCollection, tabCollectionId, blockCollectionId) {
+        this.tabCollections.push(tabCollection);
+        this.blockCollections.push(blockCollection);
+        this.tabCollectionIds.push(tabCollectionId);
+        this.blockCollectionIds.push(blockCollectionId);
+}
+
+LanguageFilterController.prototype.switchLanguage = function(languageId) {
+        for(var i=0; i<this.tabCollections.length; i++) {
+          var tabs = this.tabCollections[i];
+          var blocks = this.blockCollections[i];
+          tabs.toggleClass('x-lang',languageId,'activeTab','tab');
+          blocks.toggleStyle('x-lang',languageId,'display','block','none');
+        }
+}
+
+LanguageFilterController.prototype.switchLanguage2 = function(languageId) {
+
+}

tools/sandcastle/Presentation/Prototype/scripts/MemberFilter.js

+
+	// a member filter
+
+	function MemberFilter () {
+
+		// set up defaults
+
+		this.subgroup = "all";
+
+		this.public = true;
+		this.protected = true;
+		this.private = true;
+
+		this.instance = true;
+		this.static = true;
+
+		this.declared = true;
+		this.inherited = true;
+
+	}
+
+	MemberFilter.prototype.filterElement = function(element) {
+
+		// get the data for the element
+		if (element == null) return;
+		var data = element.getAttribute("data");
+		if (data == null) return;
+		var datum = data.split("; ");
+		if (datum.length != 4) return;
+        
+		// extract the relevent member attributes
+		var subgroup = datum[0];
+		var visibility = datum[1];
+		var binding = datum[2];
+		var origin = datum[3];
+
+		// determine whether to show the member
+		var show = true;
+		if (this[visibility] == false) show = false;
+		if (this[binding] == false) show = false;
+		if (this[origin] == false) show = false;
+		if ((this.subgroup != null) && (this.subgroup != 'all')) {
+			if (subgroup != this.subgroup) show = false;
+		}
+
+		// show or hide the element
+		if (show) {
+			// either block or table-row, depending on browswer, so use default
+			element.style["display"] = "";
+		} else {
+			element.style["display"] = "none";
+		}
+
+	}
+
+	// a type filter
+
+	function TypeFilter () {
+
+		// set up defaults
+
+		this.subgroup = "all";
+
+		this.public = true;
+		this.internal = true;
+
+	}
+
+	TypeFilter.prototype.filterElement = function(element) {
+
+		// get the data for the element
+		if (element == null) return;
+		var data = element.getAttribute("data");
+		if (data == null) return;
+		var datum = data.split("; ");
+		if (datum.length != 2) return;
+        
+		// extract the relevent member attributes
+		var subgroup = datum[0];
+		var visibility = datum[1];
+
+		// determine whether to show the member
+		var show = true;
+		if (this[visibility] == false) show = false;
+		if ((this.subgroup != null) && (this.subgroup != 'all')) {
+			if (subgroup != this.subgroup) show = false;
+		}
+
+		// show or hide the element
+		if (show) {
+			// either block or table-row, depending on browser, so use default
+			element.style["display"] = "";
+		} else {
+			element.style["display"] = "none";
+		}
+
+	}
+
+