summaryrefslogtreecommitdiffstats
path: root/tools/Sandcastle/Presentation
diff options
context:
space:
mode:
Diffstat (limited to 'tools/Sandcastle/Presentation')
-rw-r--r--tools/Sandcastle/Presentation/Prototype/chm/Test.hhp14
-rw-r--r--tools/Sandcastle/Presentation/Prototype/configuration/conceptual.config9
-rw-r--r--tools/Sandcastle/Presentation/Prototype/configuration/reference-core.config190
-rw-r--r--tools/Sandcastle/Presentation/Prototype/configuration/reference.config175
-rw-r--r--tools/Sandcastle/Presentation/Prototype/configuration/sandcastle-scbuild.config1
-rw-r--r--tools/Sandcastle/Presentation/Prototype/configuration/sandcastle.config5
-rw-r--r--tools/Sandcastle/Presentation/Prototype/configuration/schema.config27
-rw-r--r--tools/Sandcastle/Presentation/Prototype/content/reference_content.xml4
-rw-r--r--tools/Sandcastle/Presentation/Prototype/content/shared_content.xml4
-rw-r--r--tools/Sandcastle/Presentation/Prototype/hxs/test.HxC22
-rw-r--r--tools/Sandcastle/Presentation/Prototype/hxs/test.HxF8
-rw-r--r--tools/Sandcastle/Presentation/Prototype/hxs/test_A.HxK3
-rw-r--r--tools/Sandcastle/Presentation/Prototype/hxs/test_B.HxK3
-rw-r--r--tools/Sandcastle/Presentation/Prototype/hxs/test_F.HxK3
-rw-r--r--tools/Sandcastle/Presentation/Prototype/hxs/test_K.HxK3
-rw-r--r--tools/Sandcastle/Presentation/Prototype/hxs/test_N.HxK3
-rw-r--r--tools/Sandcastle/Presentation/Prototype/hxs/test_S.HxK3
-rw-r--r--tools/Sandcastle/Presentation/Prototype/scripts/LanguageFilter.js6
-rw-r--r--tools/Sandcastle/Presentation/Prototype/scripts/script_prototype.js189
-rw-r--r--tools/Sandcastle/Presentation/Prototype/styles/presentation.css4
-rw-r--r--tools/Sandcastle/Presentation/Prototype/transforms/main_conceptual.xsl60
-rw-r--r--tools/Sandcastle/Presentation/Prototype/transforms/main_reference.xsl10
-rw-r--r--tools/Sandcastle/Presentation/Prototype/transforms/main_sandcastle.xsl50
-rw-r--r--tools/Sandcastle/Presentation/Prototype/transforms/utilities_dduexml.xsl13
-rw-r--r--tools/Sandcastle/Presentation/Prototype/transforms/utilities_metadata.xsl4
-rw-r--r--tools/Sandcastle/Presentation/Prototype/transforms/utilities_reference.xsl107
-rw-r--r--tools/Sandcastle/Presentation/Shared/configuration/xamlSyntax.config69
-rw-r--r--tools/Sandcastle/Presentation/Shared/content/syntax_content.xml13
-rw-r--r--tools/Sandcastle/Presentation/Shared/transforms/utilities_dduexml.xsl8
-rw-r--r--tools/Sandcastle/Presentation/Shared/transforms/utilities_metadata.xsl99
-rw-r--r--tools/Sandcastle/Presentation/Shared/transforms/utilities_reference.xsl86
-rw-r--r--tools/Sandcastle/Presentation/hana/Content/conceptual_content.xml68
-rw-r--r--tools/Sandcastle/Presentation/hana/Content/reference_content.xml482
-rw-r--r--tools/Sandcastle/Presentation/hana/Content/shared_content.xml139
-rw-r--r--tools/Sandcastle/Presentation/hana/Content/token_content.xml4
-rw-r--r--tools/Sandcastle/Presentation/hana/DocModel.ps122
-rw-r--r--tools/Sandcastle/Presentation/hana/Scripts/CommonUtilities.js314
-rw-r--r--tools/Sandcastle/Presentation/hana/Scripts/DataStore.js116
-rw-r--r--tools/Sandcastle/Presentation/hana/Scripts/Dropdown.js56
-rw-r--r--tools/Sandcastle/Presentation/hana/Scripts/EventUtilities.js23
-rw-r--r--tools/Sandcastle/Presentation/hana/Scripts/LanguageFilter.js91
-rw-r--r--tools/Sandcastle/Presentation/hana/Scripts/MemberFilter.js110
-rw-r--r--tools/Sandcastle/Presentation/hana/Scripts/SplitScreen.js29
-rw-r--r--tools/Sandcastle/Presentation/hana/Scripts/script_manifold.js1594
-rw-r--r--tools/Sandcastle/Presentation/hana/Styles/Presentation.css934
-rw-r--r--tools/Sandcastle/Presentation/hana/Styles/syntax.css22
-rw-r--r--tools/Sandcastle/Presentation/hana/Styles/tabs.css118
-rw-r--r--tools/Sandcastle/Presentation/hana/configuration/conceptual.config108
-rw-r--r--tools/Sandcastle/Presentation/hana/configuration/sandcastle-scbuild.config126
-rw-r--r--tools/Sandcastle/Presentation/hana/configuration/sandcastle.config127
-rw-r--r--tools/Sandcastle/Presentation/hana/copyOutput.bat11
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/CFW.gifbin588 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/Caution.gifbin526 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/LastChild.gifbin67 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/NSRbottomgrad.gifbin92 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/adm.gifbin960 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/adm_arch.gifbin1123 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/adm_dev.gifbin1199 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/adm_dev_arch.gifbin1363 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/alert_caution.gifbin526 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/alert_note.gifbin123 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/alert_security.gifbin183 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/arch.gifbin966 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/big_adm.gifbin1283 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/big_arch.gifbin1316 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/big_dev.gifbin1215 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/big_kw.gifbin1300 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/box.gifbin129 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/ch_selected.gifbin302 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/ch_selected_hover.gifbin301 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/ch_unselected.gifbin499 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/ch_unselected_hover.gifbin294 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/collall.gifbin75 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/collapse.gifbin64 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/collapse_all.gifbin197 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/copycode.gifbin578 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/copycodeHighlight.gifbin578 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/dev.gifbin1031 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/dev_arch.gifbin1190 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/drpdown.gifbin221 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/drpdown_orange.gifbin366 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/drpdown_orange_up.gifbin364 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/drpup.gifbin923 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/exp.gifbin67 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/expall.gifbin78 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/expand_all.gifbin200 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/filter1a.gifbin137 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/filter1c.gifbin137 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/footer.gifbin41 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/greencheck.gifbin138 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/greychck.gifbin138 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/header_prev_next.jpgbin10663 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/header_sql_tutorial_blank.jpgbin12762 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/header_sql_tutorial_logo.GIFbin3033 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/kw.gifbin975 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/kw_adm.gifbin1129 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/kw_adm_arch.gifbin1287 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/kw_adm_dev.gifbin1356 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/kw_adm_dev_arch.gifbin1610 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/kw_arch.gifbin1133 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/kw_dev.gifbin1208 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/kw_dev_arch.gifbin1369 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/load.gifbin100 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/load_hover.gifbin186 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/note.gifbin123 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/pencil.GIFbin340 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/privclass.gifbin621 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/privdelegate.gifbin1045 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/privenum.gifbin597 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/privenumeration.gifbin597 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/privevent.gifbin580 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/privfield.gifbin574 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/privinterface.gifbin585 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/privmethod.gifbin603 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/privproperty.gifbin1054 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/privstructure.gifbin630 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/protclass.gifbin600 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/protdelegate.gifbin1041 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/protenum.gifbin583 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/protenumeration.gifbin583 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/protevent.gifbin564 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/protfield.gifbin570 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/protinterface.gifbin562 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/protmethod.gifbin183 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/protoperator.gifbin547 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/protproperty.gifbin1039 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/protstructure.gifbin619 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/pubclass.gifbin368 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/pubdelegate.gifbin1041 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/pubenum.gifbin339 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/pubenumeration.gifbin339 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/pubevent.gifbin314 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/pubfield.gifbin311 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/pubinterface.gifbin314 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/pubmethod.gifbin329 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/puboperator.gifbin310 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/pubproperty.gifbin609 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/pubstructure.gifbin595 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/r_select.gifbin304 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/r_select_hover.gifbin298 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/r_unselect.gifbin300 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/r_unselect_hover.gifbin298 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/requirements1a.gifbin139 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/requirements1c.gifbin139 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/save.gifbin981 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/save_hover.gifbin985 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/security.gifbin183 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/seealso1a.gifbin138 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/seealso1c.gifbin138 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/static.gifbin126 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/tab_sel_lft_cnr.gifbin99 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/tab_sel_lft_grad.gifbin63 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/tab_sel_rt_cnr.gifbin99 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/tab_sel_rt_grad.gifbin63 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/tab_unsel_lft_cnr.gifbin99 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/tab_unsel_lft_grad.gifbin63 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/tab_unsel_rt_cnr.gifbin99 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/tab_unsel_rt_grad.gifbin63 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/twirl_selected.gifbin76 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/twirl_selected_hover.gifbin105 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/twirl_unselected.gifbin105 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/twirl_unselected_hover.gifbin79 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/icons/xna.gifbin549 -> 0 bytes
-rw-r--r--tools/Sandcastle/Presentation/hana/transforms/globalTemplates.xsl125
-rw-r--r--tools/Sandcastle/Presentation/hana/transforms/htmlBody.xsl507
-rw-r--r--tools/Sandcastle/Presentation/hana/transforms/main_conceptual.xsl455
-rw-r--r--tools/Sandcastle/Presentation/hana/transforms/main_reference.xsl447
-rw-r--r--tools/Sandcastle/Presentation/hana/transforms/main_sandcastle.xsl710
-rw-r--r--tools/Sandcastle/Presentation/hana/transforms/skeleton.xml7
-rw-r--r--tools/Sandcastle/Presentation/hana/transforms/skeleton_conceptual.xml3
-rw-r--r--tools/Sandcastle/Presentation/hana/transforms/utilities_dduexml.xsl1293
-rw-r--r--tools/Sandcastle/Presentation/hana/transforms/utilities_metadata.xsl928
-rw-r--r--tools/Sandcastle/Presentation/hana/transforms/utilities_reference.xsl2442
-rw-r--r--tools/Sandcastle/Presentation/hana/transforms/xamlSyntax.xsl491
-rw-r--r--tools/Sandcastle/Presentation/vs2005/Content/conceptual_content.xml4
-rw-r--r--tools/Sandcastle/Presentation/vs2005/Content/feedBack_content.xml4
-rw-r--r--tools/Sandcastle/Presentation/vs2005/Content/reference_content.xml78
-rw-r--r--tools/Sandcastle/Presentation/vs2005/Content/shared_content.xml38
-rw-r--r--tools/Sandcastle/Presentation/vs2005/Scripts/CommonUtilities.js50
-rw-r--r--tools/Sandcastle/Presentation/vs2005/Scripts/script_feedBack.js4
-rw-r--r--tools/Sandcastle/Presentation/vs2005/Scripts/script_manifold.js7
-rw-r--r--tools/Sandcastle/Presentation/vs2005/Styles/Presentation.css9
-rw-r--r--tools/Sandcastle/Presentation/vs2005/configuration/conceptual.config117
-rw-r--r--tools/Sandcastle/Presentation/vs2005/configuration/reference-core-componentized.config374
-rw-r--r--tools/Sandcastle/Presentation/vs2005/configuration/reference-core.config373
-rw-r--r--tools/Sandcastle/Presentation/vs2005/configuration/reference.config344
-rw-r--r--tools/Sandcastle/Presentation/vs2005/configuration/sandcastle-scbuild.config66
-rw-r--r--tools/Sandcastle/Presentation/vs2005/configuration/sandcastle-webref.config66
-rw-r--r--tools/Sandcastle/Presentation/vs2005/configuration/sandcastle.config330
-rw-r--r--tools/Sandcastle/Presentation/vs2005/transforms/conceptualMetadataHelp20.xsl143
-rw-r--r--tools/Sandcastle/Presentation/vs2005/transforms/conceptualMetadataHelp30.xsl183
-rw-r--r--tools/Sandcastle/Presentation/vs2005/transforms/globalTemplates.xsl112
-rw-r--r--tools/Sandcastle/Presentation/vs2005/transforms/htmlBody.xsl25
-rw-r--r--tools/Sandcastle/Presentation/vs2005/transforms/main_conceptual.xsl289
-rw-r--r--tools/Sandcastle/Presentation/vs2005/transforms/main_reference.xsl217
-rw-r--r--tools/Sandcastle/Presentation/vs2005/transforms/main_sandcastle.xsl817
-rw-r--r--tools/Sandcastle/Presentation/vs2005/transforms/metadataHelp20.xsl (renamed from tools/Sandcastle/Presentation/vs2005/transforms/utilities_metadata.xsl)114
-rw-r--r--tools/Sandcastle/Presentation/vs2005/transforms/metadataHelp30.xsl589
-rw-r--r--tools/Sandcastle/Presentation/vs2005/transforms/seeAlsoSection.xsl168
-rw-r--r--tools/Sandcastle/Presentation/vs2005/transforms/utilities_dduexml.xsl313
-rw-r--r--tools/Sandcastle/Presentation/vs2005/transforms/utilities_reference.xsl532
-rw-r--r--tools/Sandcastle/Presentation/vs2005/transforms/xamlSyntax.xsl34
202 files changed, 5244 insertions, 13253 deletions
diff --git a/tools/Sandcastle/Presentation/Prototype/chm/Test.hhp b/tools/Sandcastle/Presentation/Prototype/chm/Test.hhp
new file mode 100644
index 0000000..e1d3ac6
--- /dev/null
+++ b/tools/Sandcastle/Presentation/Prototype/chm/Test.hhp
@@ -0,0 +1,14 @@
+[OPTIONS]
+Compatibility=1.1 or later
+Compiled file=Test.chm
+Contents file=Test.hhc
+Display compile progress=No
+Language=0x409 English (United States)
+
+[FILES]
+art\*.gif
+html\*.htm
+scripts\*.js
+styles\*.css
+
+[INFOTYPES]
diff --git a/tools/Sandcastle/Presentation/Prototype/configuration/conceptual.config b/tools/Sandcastle/Presentation/Prototype/configuration/conceptual.config
index 0c2beda..36be43c 100644
--- a/tools/Sandcastle/Presentation/Prototype/configuration/conceptual.config
+++ b/tools/Sandcastle/Presentation/Prototype/configuration/conceptual.config
@@ -68,7 +68,14 @@
<!-- transform -->
<component type="Microsoft.Ddue.Tools.TransformComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <transform file="%DXROOT%\Presentation\Prototype\transforms\main_conceptual.xsl" />
+ <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 -->
diff --git a/tools/Sandcastle/Presentation/Prototype/configuration/reference-core.config b/tools/Sandcastle/Presentation/Prototype/configuration/reference-core.config
new file mode 100644
index 0000000..c1a5de2
--- /dev/null
+++ b/tools/Sandcastle/Presentation/Prototype/configuration/reference-core.config
@@ -0,0 +1,190 @@
+<configuration>
+ <dduetools>
+ <builder>
+
+ <context>
+ <namespace prefix="ddue" uri="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ </context>
+
+ <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 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="apidata" 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="/document/reference/topicdata/@group='api'" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.SyntaxComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <syntax input="/document/reference" output="/document/syntax" />
+ <generators>
+ <generator name="VisualBasic" type="Microsoft.Ddue.Tools.VisualBasicDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator name="CSharp" type="Microsoft.Ddue.Tools.CSharpDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator name="ManagedCPlusPlus" type="Microsoft.Ddue.Tools.CPlusPlusDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator type="Microsoft.Ddue.Tools.JScriptDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ </generators>
+ </component>
+ <component type="Microsoft.Ddue.Tools.SyntaxComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <syntax input="/document/reference" output="/document/usyntax" />
+ <generators>
+ <generator name="VisualBasic" type="Microsoft.Ddue.Tools.VisualBasicUsageSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ </generators>
+ </component>
+ </then>
+ </component>
+
+ <!-- Copy in comments -->
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <index name="comments" value="/doc/members/member" key="@name" cache="100">
+ <data base=".\DdueXml" recurse="true" files="*.xml" />
+ </index>
+ <copy name="comments" source="*" target="/document/comments" />
+ </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>
+
+ <!-- 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">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" source="ddue:dduexml/ddue:summary" target="/document/reference/elements/element[@api=$key]" />
+ </component>
+ </components>
+ </component>
+
+<!--
+ <component type="Microsoft.Ddue.Tools.DisplayComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <xpath>/</xpath>
+ </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="/document//ddue:token" item="string(.)" />
+ </component>
+
+ <!-- transform -->
+ <component type="Microsoft.Ddue.Tools.TransformComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <transform file="%DXROOT%\Presentation\Prototype\transforms\main_reference.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" />
+ </argument>
+ </transform>
+ </component>
+
+ <!--
+ <component type="Microsoft.Ddue.Tools.DisplayComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <xpath>/</xpath>
+ </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\reference_content.xml" />
+ <content file="%DXROOT%\Presentation\Shared\content\syntax_content.xml" />
+ </component>
+
+ <!-- resolve conceptual links -->
+ <component type="Microsoft.Ddue.Tools.ResolveConceptualLinksComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <targets base="%DXROOT%\Data\XmlComp" type="index"/>
+ </component>
+
+ <!-- resolve reference links -->
+ <component type="Microsoft.Ddue.Tools.ResolveReferenceLinksComponent2" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <targets files=".\reflection.xml" type="local" />
+ </component>
+
+ <!-- Write out intellisense -->
+ <component type="Microsoft.Ddue.Tools.IntellisenseComponent2" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <output directory=".\Intellisense" />
+ <expressions root="/html/body/div[@id='main']"
+ assembly="string(p/span[@sdata='assembly'])"
+ summary="span[@sdata='authoredSummary']"
+ parameters="div[@id='parameters']/div[@class='section']/div[@class='sectionContent']/dl"
+ parameterContent="dd/span[@sdata='authoredParameterSummary']"
+ templates="div[@id='genericParameters']/div[@class='section']/div[@class='sectionContent']/dl"
+ templateContent="dd"
+ returns="div[@id='returns']/div[@class='section']/div[@class='sectionContent']/span[@sdata='authoredValueSummary']"
+ exception="div[@class='section']/div[@class='sectionContent']/table[@class='exceptions']/tr/td[2]"
+ exceptionCref="../td[1]/span[@sdata='cer']"
+ enumeration="div[@id='enumerationSection']/div[@class='section']/div[@class='sectionContent']/table[@class='members']/tr/td[2]"
+ enumerationApi="../td[1]"
+ memberSummary="span[@sdata='memberAuthoredSummary']" />
+ </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>
diff --git a/tools/Sandcastle/Presentation/Prototype/configuration/reference.config b/tools/Sandcastle/Presentation/Prototype/configuration/reference.config
new file mode 100644
index 0000000..01371ab
--- /dev/null
+++ b/tools/Sandcastle/Presentation/Prototype/configuration/reference.config
@@ -0,0 +1,175 @@
+<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="apidata" 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="/document/reference/topicdata/@group='api'" />
+ <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" />
+ <generator type="Microsoft.Ddue.Tools.JSharpDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ </generators>
+ </component>
+ <component type="Microsoft.Ddue.Tools.SyntaxComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <syntax input="/document/reference" output="/document/usyntax" />
+ <generators>
+ <generator type="Microsoft.Ddue.Tools.VisualBasicUsageSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ </generators>
+ </component>
+ </then>
+ </component>
+
+ <!-- Copy in comments -->
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <index name="comments" value="/doc/members/member" key="@name" cache="100">
+ <data base="%DXROOT%\Data\DdueXml" recurse="true" files="*.xml" />
+ <data base=".\DdueXml" recurse="true" files="*.xml" />
+ </index>
+ <copy name="comments" source="*" target="/document/comments" />
+ </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>
+
+ <!-- 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">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" source="ddue:dduexml/ddue:summary|ddue:dduexml/ddue:useBase|ddue:dduexml/ddue:obsoleteCodeEntity|ddue:dduexml/ddue:clsCompliantAlternative|ddue:dduexml/ddue:platformNotes|ddue:dduexml/ddue:internalOnly" target="/document/reference/elements/element[@api=$key]" />
+ </component>
+ </components>
+ </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%\Presentation\Prototype\content\token_content.xml" />
+ <replace elements="/document//ddue:token" item="string(.)" />
+ </component>
+
+ <!-- transform -->
+ <component type="Microsoft.Ddue.Tools.TransformComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <transform file="%DXROOT%\Presentation\Prototype\transforms\main_reference.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\reference_content.xml" />
+ <content file="%DXROOT%\Presentation\Shared\content\syntax_content.xml" />
+ </component>
+
+ <!-- resolve conceptual links -->
+ <component type="Microsoft.Ddue.Tools.ResolveConceptualLinksComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <targets base="%DXROOT%\Data\XmlComp" type="index"/>
+ </component>
+
+ <!-- resolve reference links -->
+ <component type="Microsoft.Ddue.Tools.ResolveReferenceLinksComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <targets base="%DXROOT%\Data\Reflection" recurse="true" files="*.xml" type="index" />
+ <targets files=".\reflection.xml" type="local" />
+ </component>
+
+ <!-- Write out intellisense -->
+ <component type="Microsoft.Ddue.Tools.IntellisenseComponent2" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <output directory=".\Intellisense" />
+ <expressions root="/html/body/div[@id='main']"
+ assembly="string(p/span[@sdata='assembly'])"
+ summary="span[@sdata='authoredSummary']"
+ parameters="div[@id='parameters']/div[@class='section']/div[@class='sectionContent']/dl"
+ parameterContent="dd/span[@sdata='authoredParameterSummary']"
+ templates="div[@id='genericParameters']/div[@class='section']/div[@class='sectionContent']/dl"
+ templateContent="dd"
+ returns="div[@id='returns']/div[@class='section']/div[@class='sectionContent']/span[@sdata='authoredValueSummary']"
+ exception="div[@class='section']/div[@class='sectionContent']/table[@class='exceptions']/tr/td[2]"
+ exceptionCref="../td[1]/span[@sdata='cer']"
+ enumeration="div[@id='enumerationSection']/div[@class='section']/div[@class='sectionContent']/table[@class='members']/tr/td[2]"
+ enumerationApi="../td[1]"
+ memberSummary="span[@sdata='memberAuthoredSummary']" />
+ </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>
diff --git a/tools/Sandcastle/Presentation/Prototype/configuration/sandcastle-scbuild.config b/tools/Sandcastle/Presentation/Prototype/configuration/sandcastle-scbuild.config
index 6f7a13f..a18247a 100644
--- a/tools/Sandcastle/Presentation/Prototype/configuration/sandcastle-scbuild.config
+++ b/tools/Sandcastle/Presentation/Prototype/configuration/sandcastle-scbuild.config
@@ -79,6 +79,7 @@
<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>
diff --git a/tools/Sandcastle/Presentation/Prototype/configuration/sandcastle.config b/tools/Sandcastle/Presentation/Prototype/configuration/sandcastle.config
index 4e3502f..255179e 100644
--- a/tools/Sandcastle/Presentation/Prototype/configuration/sandcastle.config
+++ b/tools/Sandcastle/Presentation/Prototype/configuration/sandcastle.config
@@ -12,7 +12,7 @@
<!-- 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 base="%FxReflectionData%" recurse="true" files="*.xml" />
<data files=".\reflection.xml" />
</index>
<copy name="reflection" source="*" target="/document/reference" />
@@ -81,6 +81,7 @@
<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>
@@ -99,7 +100,7 @@
<!-- 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 base="%FxReflectionData%" recurse="true" files="*.xml" type="msdn" />
<targets files=".\reflection.xml" type="local" />
</component>
diff --git a/tools/Sandcastle/Presentation/Prototype/configuration/schema.config b/tools/Sandcastle/Presentation/Prototype/configuration/schema.config
new file mode 100644
index 0000000..d67b56f
--- /dev/null
+++ b/tools/Sandcastle/Presentation/Prototype/configuration/schema.config
@@ -0,0 +1,27 @@
+<configuration>
+ <dduetools>
+ <builder>
+ <components>
+
+ <!-- Copy in schema data -->
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <index name="schema" value="/schema/elements/element" key="concat(@namespace,'#',@name)" cache="10">
+ <data files="schemadata.xml" />
+ </index>
+ <copy name="schema" source="*" target="/" />
+ </component>
+
+ <!-- transform -->
+ <component type="Microsoft.Ddue.Tools.TransformComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <transform file="%DXROOT%\Presentation\Prototype\transforms\main_schema.xsl" />
+ </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>
diff --git a/tools/Sandcastle/Presentation/Prototype/content/reference_content.xml b/tools/Sandcastle/Presentation/Prototype/content/reference_content.xml
index 655e4b0..2253bfe 100644
--- a/tools/Sandcastle/Presentation/Prototype/content/reference_content.xml
+++ b/tools/Sandcastle/Presentation/Prototype/content/reference_content.xml
@@ -6,6 +6,8 @@
<!-- 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>
@@ -58,7 +60,7 @@
<item id="notesForImplementersTitle">Notes For Implementers</item>
<item id="notesForInheritersTitle">Notes For Inheriters</item>
<item id="exceptionsTitle">Exceptions</item>
- <item id="permissionsTitle">Permissions</item>
+ <item id="permissionsTitle">.NET Framework Security</item>
<item id="namespacesTitle">Namespaces</item>
<item id="typesTitle">Types</item>
<item id="membersTitle">Members</item>
diff --git a/tools/Sandcastle/Presentation/Prototype/content/shared_content.xml b/tools/Sandcastle/Presentation/Prototype/content/shared_content.xml
index ea38519..f27d67b 100644
--- a/tools/Sandcastle/Presentation/Prototype/content/shared_content.xml
+++ b/tools/Sandcastle/Presentation/Prototype/content/shared_content.xml
@@ -31,6 +31,8 @@
<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>
@@ -47,6 +49,6 @@
<!-- footer -->
<item id="footer"><div id="footer"><include item="copyright"/> </div></item>
- <item id="copyright">2005 Microsoft Corporation. All rights reserved.</item>
+ <item id="copyright">2008 Microsoft Corporation. All rights reserved.</item>
</content> \ No newline at end of file
diff --git a/tools/Sandcastle/Presentation/Prototype/hxs/test.HxC b/tools/Sandcastle/Presentation/Prototype/hxs/test.HxC
new file mode 100644
index 0000000..0469973
--- /dev/null
+++ b/tools/Sandcastle/Presentation/Prototype/hxs/test.HxC
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE HelpCollection SYSTEM "MS-Help://Hx/Resources/HelpCollection.dtd">
+<HelpCollection DTDVersion="1.0" FileVersion="08.00.50720.2102" LangId="1033" Title="Common Scripts" Copyright="© 2005 Microsoft Corporation. All rights reserved.">
+ <CompilerOptions OutputFile="test.HxS" CreateFullTextIndex="Yes" CompileResult="Hxs">
+ <IncludeFile File="test.HxF" />
+ </CompilerOptions>
+ <TOCDef File="test.HxT" />
+ <KeywordIndexDef File="test_A.HxK" />
+ <KeywordIndexDef File="test_K.HxK" />
+ <KeywordIndexDef File="test_F.HxK" />
+ <KeywordIndexDef File="test_N.HxK" />
+ <KeywordIndexDef File="test_S.HxK" />
+ <KeywordIndexDef File="test_B.HxK" />
+ <ItemMoniker Name="!DefaultTOC" ProgId="HxDs.HxHierarchy" InitData="AnyString" />
+ <ItemMoniker Name="!DefaultFullTextSearch" ProgId="HxDs.HxFullTextSearch" InitData="AnyString" />
+ <ItemMoniker Name="!DefaultAssociativeIndex" ProgId="HxDs.HxIndex" InitData="A" />
+ <ItemMoniker Name="!DefaultKeywordIndex" ProgId="HxDs.HxIndex" InitData="K" />
+ <ItemMoniker Name="!DefaultContextWindowIndex" ProgId="HxDs.HxIndex" InitData="F" />
+ <ItemMoniker Name="!DefaultNamedUrlIndex" ProgId="HxDs.HxIndex" InitData="NamedUrl" />
+ <ItemMoniker Name="!DefaultSearchWindowIndex" ProgId="HxDs.HxIndex" InitData="S" />
+ <ItemMoniker Name="!DefaultDynamicLinkIndex" ProgId="HxDs.HxIndex" InitData="B" />
+</HelpCollection>
diff --git a/tools/Sandcastle/Presentation/Prototype/hxs/test.HxF b/tools/Sandcastle/Presentation/Prototype/hxs/test.HxF
new file mode 100644
index 0000000..7a04fb3
--- /dev/null
+++ b/tools/Sandcastle/Presentation/Prototype/hxs/test.HxF
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE HelpFileList SYSTEM "MS-Help://Hx/Resources/HelpFileList.dtd">
+<HelpFileList DTDVersion="1.0">
+ <File Url="icons\*.gif" />
+ <File Url="scripts\*.js" />
+ <File Url="styles\*.css" />
+ <File Url="html\*.htm" />
+</HelpFileList>
diff --git a/tools/Sandcastle/Presentation/Prototype/hxs/test_A.HxK b/tools/Sandcastle/Presentation/Prototype/hxs/test_A.HxK
new file mode 100644
index 0000000..4430fba
--- /dev/null
+++ b/tools/Sandcastle/Presentation/Prototype/hxs/test_A.HxK
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE HelpIndex SYSTEM "MS-Help://Hx/Resources/HelpIndex.dtd">
+<HelpIndex Name="A" DTDVersion="1.0" /> \ No newline at end of file
diff --git a/tools/Sandcastle/Presentation/Prototype/hxs/test_B.HxK b/tools/Sandcastle/Presentation/Prototype/hxs/test_B.HxK
new file mode 100644
index 0000000..dba159d
--- /dev/null
+++ b/tools/Sandcastle/Presentation/Prototype/hxs/test_B.HxK
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE HelpIndex SYSTEM "MS-Help://Hx/Resources/HelpIndex.dtd">
+<HelpIndex Name="B" DTDVersion="1.0" /> \ No newline at end of file
diff --git a/tools/Sandcastle/Presentation/Prototype/hxs/test_F.HxK b/tools/Sandcastle/Presentation/Prototype/hxs/test_F.HxK
new file mode 100644
index 0000000..1dbf6f4
--- /dev/null
+++ b/tools/Sandcastle/Presentation/Prototype/hxs/test_F.HxK
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE HelpIndex SYSTEM "MS-Help://Hx/Resources/HelpIndex.dtd">
+<HelpIndex Name="F" DTDVersion="1.0" /> \ No newline at end of file
diff --git a/tools/Sandcastle/Presentation/Prototype/hxs/test_K.HxK b/tools/Sandcastle/Presentation/Prototype/hxs/test_K.HxK
new file mode 100644
index 0000000..fb9a52d
--- /dev/null
+++ b/tools/Sandcastle/Presentation/Prototype/hxs/test_K.HxK
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE HelpIndex SYSTEM "MS-Help://hx/resources/HelpIndex.DTD">
+<HelpIndex Name="K" Visible="Yes" DTDVersion="1.0" FileVersion="1.0" LangId="1033" /> \ No newline at end of file
diff --git a/tools/Sandcastle/Presentation/Prototype/hxs/test_N.HxK b/tools/Sandcastle/Presentation/Prototype/hxs/test_N.HxK
new file mode 100644
index 0000000..6923ac1
--- /dev/null
+++ b/tools/Sandcastle/Presentation/Prototype/hxs/test_N.HxK
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE HelpIndex SYSTEM "MS-Help://Hx/Resources/HelpIndex.dtd">
+<HelpIndex Name="NamedUrl" DTDVersion="1.0" /> \ No newline at end of file
diff --git a/tools/Sandcastle/Presentation/Prototype/hxs/test_S.HxK b/tools/Sandcastle/Presentation/Prototype/hxs/test_S.HxK
new file mode 100644
index 0000000..646b6de
--- /dev/null
+++ b/tools/Sandcastle/Presentation/Prototype/hxs/test_S.HxK
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE HelpIndex SYSTEM "MS-Help://Hx/Resources/HelpIndex.dtd">
+<HelpIndex Name="S" DTDVersion="1.0" /> \ No newline at end of file
diff --git a/tools/Sandcastle/Presentation/Prototype/scripts/LanguageFilter.js b/tools/Sandcastle/Presentation/Prototype/scripts/LanguageFilter.js
index 6972632..3b56b5f 100644
--- a/tools/Sandcastle/Presentation/Prototype/scripts/LanguageFilter.js
+++ b/tools/Sandcastle/Presentation/Prototype/scripts/LanguageFilter.js
@@ -2,11 +2,15 @@
function LanguageFilterController() {
this.tabCollections = new Array();
this.blockCollections = new Array();
+ this.tabCollectionIds = new Array();
+ this.blockCollectionIds = new Array();
}
-LanguageFilterController.prototype.registerTabbedArea = function(tabCollection, blockCollection) {
+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) {
diff --git a/tools/Sandcastle/Presentation/Prototype/scripts/script_prototype.js b/tools/Sandcastle/Presentation/Prototype/scripts/script_prototype.js
new file mode 100644
index 0000000..0a64fc0
--- /dev/null
+++ b/tools/Sandcastle/Presentation/Prototype/scripts/script_prototype.js
@@ -0,0 +1,189 @@
+window.onload = LoadPage;
+
+var sd;
+var lfc;
+var store;
+var tf;
+var mf;
+var lc;
+var lang = 'CSharp';
+
+function ListController() {
+ this.tabCollections = new Array();
+ this.listCollections = new Array();
+ this.tabCollectionIds = new Array();
+ this.listCollectionIds = new Array();
+}
+
+ListController.prototype.registerTabbedArea = function(tabCollection, listCollection, tabCollectionId, listCollectionId, filter) {
+ this.tabCollections.push(tabCollection);
+ this.listCollections.push(listCollection);
+ this.tabCollectionIds.push(tabCollectionId);
+ this.listCollectionIds.push(listCollectionId);
+}
+
+function LoadPage() {
+ store = new CookieDataStore('docs');
+ registerEventHandler(window, 'load',
+ function() { var ss = new SplitScreen('control','main'); selectLanguage(store.get('lang')); });
+ sd = getStyleDictionary();
+ lfc = new LanguageFilterController();
+ lc = new ListController();
+ tf = new TypeFilter();
+ mf = new MemberFilter();
+
+ setUpLanguage();
+
+ setUpSyntax();
+
+ setUpSnippets();
+
+ setUpType();
+
+ setUpAllMembers();
+}
+
+function setUpLanguage() {
+ var langFilter = document.getElementById('languageFilter');
+ if (langFilter == null) return;
+
+ var options = langFilter.getElementsByTagName('option');
+ if (options == null) return;
+
+ var value = options[0].getAttribute('value');
+ var names = value.split(' ');
+ lang = names[0];
+}
+
+function setUpSnippets() {
+ var divs = document.getElementsByTagName("DIV");
+
+ for (var i = 0; i < divs.length; i++) {
+ var temp = i;
+ var name = divs[i].getAttribute("name");
+ if (name == null || name != "snippetGroup") continue;
+ processSection(divs[i], 'x-lang', lang, true, true, lfc);
+ i= temp + 1;
+ }
+}
+
+function setUpSyntax() {
+ var syntax = document.getElementById('syntaxSection');
+ if (syntax == null) return;
+
+ processSection(syntax, 'x-lang', lang, true, true, lfc);
+
+ var usyntax = document.getElementById('usyntaxSection');
+ if (usyntax == null) return;
+
+ processSection(usyntax, 'x-lang', lang, true, true, lfc);
+}
+
+function setUpType() {
+ var typeSection = document.getElementById('typeSection');
+ if (typeSection == null) return;
+
+ processSection(typeSection, 'value', 'all', true, false, lc);
+}
+
+function setUpAllMembers() {
+ var allMembersSection = document.getElementById('allMembersSection');
+ if (allMembersSection == null) return;
+
+ processSection(allMembersSection, 'value', 'all', true, false, lc);
+}
+
+function processSection(section, attribute, value, toggleClassValue, toggleStyleValue, registerObject) {
+ var nodes = section.childNodes;
+
+ var tabs;
+ var blocks;
+ var tabId;
+ var blockId;
+
+ if(nodes.length != 2) return;
+
+ if(nodes[0].tagName == 'TABLE') {
+ var rows = nodes[0].getElementsByTagName('tr');
+
+ if (rows.length == 0) return;
+
+ tabId = rows[0].getAttribute('id');
+
+ if (tabId == null) return;
+
+ tabs = new ElementCollection(tabId);
+ }
+
+ if(nodes[1].tagName == 'DIV') {
+ blockId = nodes[1].getAttribute('id');
+ if (blockId == null) return;
+
+ blocks = new ElementCollection(blockId);
+ }
+ else if (nodes[1].tagName == 'TABLE') {
+ blockId = nodes[1].getAttribute('id');
+ if (blockId == null) return;
+
+ blocks = new ElementCollection(blockId);
+ }
+
+ if (registerObject != null) registerObject.registerTabbedArea(tabs, blocks, tabId, blockId);
+ if (toggleClassValue) tabs.toggleClass(attribute,value,'activeTab','tab');
+ if (toggleStyleValue) blocks.toggleStyle(attribute,value,'display','block','none');
+}
+
+function toggleClass(id, attributeName, attributeValue, trueClass, falseClass) {
+ for(var i = 0; i < lfc.tabCollections.length; i++) {
+ var tabs = lfc.tabCollections[i];
+
+ if (lfc.tabCollectionIds[i] == id) {
+ tabs.toggleClass(attributeName, attributeValue, trueClass, falseClass);
+ }
+ }
+
+ for(var j = 0; j < lc.tabCollections.length; j++) {
+ var listTabs = lc.tabCollections[j];
+
+ if (lc.tabCollectionIds[j] == id) {
+ listTabs.toggleClass(attributeName, attributeValue, trueClass, falseClass);
+ }
+ }
+}
+
+function toggleStyle(id, attributeName, attributeValue, styleName, trueStyleValue, falseStyleValue) {
+ for (var i = 0; i < lfc.blockCollections.length; i++) {
+
+ var blocks = lfc.blockCollections[i];
+
+ if (lfc.blockCollectionIds[i] == id) {
+ blocks.toggleStyle(attributeName, attributeValue, styleName, trueStyleValue, falseStyleValue);
+ }
+ }
+}
+
+function processList(id, methodName, typeName) {
+ for (var i = 0; i < lc.listCollections.length; i++) {
+ var list = lc.listCollections[i];
+ if (lc.listCollectionIds[i] == id) {
+ if (typeName == 'type') list.process(getInstanceDelegate(tf,methodName));
+ else if (typeName == 'member') list.process(getInstanceDelegate(mf, methodName));
+ }
+ }
+}
+
+function processSubgroup(subgroup, typeName) {
+ if (typeName == 'type' && tf != null) tf.subgroup = subgroup;
+ else if (typeName == 'member' && mf != null) mf.subgroup = subgroup;
+}
+
+function toggleCheckState(visibility, value) {
+ if (mf == null) return;
+ mf[visibility] = value;
+}
+
+function switchLanguage(names, value) {
+ if (lfc != null) lfc.switchLanguage(names[0]);
+ store.set('lang',value);
+ store.save();
+}
diff --git a/tools/Sandcastle/Presentation/Prototype/styles/presentation.css b/tools/Sandcastle/Presentation/Prototype/styles/presentation.css
index 97549db..0366d1b 100644
--- a/tools/Sandcastle/Presentation/Prototype/styles/presentation.css
+++ b/tools/Sandcastle/Presentation/Prototype/styles/presentation.css
@@ -347,6 +347,10 @@ span.cpp {
display: none;
}
+span.fs {
+ display: none;
+}
+
span.nu
{
display: none;
diff --git a/tools/Sandcastle/Presentation/Prototype/transforms/main_conceptual.xsl b/tools/Sandcastle/Presentation/Prototype/transforms/main_conceptual.xsl
index 1c172bf..7dffa01 100644
--- a/tools/Sandcastle/Presentation/Prototype/transforms/main_conceptual.xsl
+++ b/tools/Sandcastle/Presentation/Prototype/transforms/main_conceptual.xsl
@@ -9,6 +9,7 @@
<!-- key parameter is the api identifier string -->
<xsl:param name="key" />
+ <xsl:param name="languages">false</xsl:param>
<xsl:template match="/document">
<html>
@@ -19,9 +20,6 @@
<xsl:call-template name="insertMetadata" />
</head>
<body>
- <script type="text/javascript">
- <xsl:text>registerEventHandler(window, 'load', function() { var ss = new SplitScreen('control', 'main'); });</xsl:text>
- </script>
<xsl:call-template name="control"/>
<xsl:call-template name="main"/>
</body>
@@ -37,21 +35,44 @@
</xsl:template>
<xsl:template name="insertScripts">
- <script type="text/javascript">
- <includeAttribute name="src" item="scriptPath"><parameter>EventUtilities.js</parameter></includeAttribute>
+ <script type="text/javascript">
+ <includeAttribute name="src" item="scriptPath"><parameter>script_prototype.js</parameter></includeAttribute>
<xsl:text> </xsl:text>
- </script>
- <script type="text/javascript">
- <includeAttribute name="src" item="scriptPath"><parameter>SplitScreen.js</parameter></includeAttribute>
+ </script>
+ <script type="text/javascript">
+ <includeAttribute name="src" item="scriptPath"><parameter>EventUtilities.js</parameter></includeAttribute>
<xsl:text> </xsl:text>
</script>
<script type="text/javascript">
- <includeAttribute name="src" item="scriptPath">
- <parameter>ElementCollection.js</parameter>
- </includeAttribute>
+ <includeAttribute name="src" item="scriptPath"><parameter>StyleUtilities.js</parameter></includeAttribute>
<xsl:text> </xsl:text>
</script>
- </xsl:template>
+ <script type="text/javascript">
+ <includeAttribute name="src" item="scriptPath"><parameter>SplitScreen.js</parameter></includeAttribute>
+ <xsl:text> </xsl:text>
+ </script>
+ <script type="text/javascript">
+ <includeAttribute name="src" item="scriptPath"><parameter>ElementCollection.js</parameter></includeAttribute>
+ <xsl:text> </xsl:text>
+ </script>
+ <script type="text/javascript">
+ <includeAttribute name="src" item="scriptPath"><parameter>MemberFilter.js</parameter></includeAttribute>
+ <xsl:text> </xsl:text>
+ </script>
+ <script type="text/javascript">
+ <includeAttribute name="src" item="scriptPath"><parameter>CollapsibleSection.js</parameter></includeAttribute>
+ <xsl:text> </xsl:text>
+ </script>
+ <script type="text/javascript">
+ <includeAttribute name="src" item="scriptPath"><parameter>LanguageFilter.js</parameter></includeAttribute>
+ <xsl:text> </xsl:text>
+ </script>
+ <script type="text/javascript">
+ <includeAttribute name="src" item="scriptPath"><parameter>CookieDataStore.js</parameter></includeAttribute>
+ <xsl:text> </xsl:text>
+ </script>
+
+ </xsl:template>
<xsl:template name="insertMetadata">
<xml>
@@ -127,6 +148,21 @@
<div id="control">
<span class="productTitle"><include item="productTitle" /></span><br/>
<span class="topicTitle"><xsl:call-template name="topicTitle" /></span><br/>
+
+ <xsl:if test="boolean(($languages != 'false') and (count($languages/language) &gt; 0))">
+ <div id="toolbar">
+ <span id="languageFilter">
+ <select id="languageSelector" onchange="var names = this.value.split(' '); toggleVisibleLanguage(names[1]); switchLanguage(names, this.value);">
+ <xsl:for-each select="$languages/language">
+ <option value="{@name} {@style}">
+ <include item="{@label}Label" />
+ </option>
+ </xsl:for-each>
+ </select>
+ </span>
+ </div>
+ </xsl:if>
+
<!--
<div id="toolbar">
<span class="chickenFeet"><xsl:call-template name="chickenFeet" /></span>
diff --git a/tools/Sandcastle/Presentation/Prototype/transforms/main_reference.xsl b/tools/Sandcastle/Presentation/Prototype/transforms/main_reference.xsl
index f993a90..71bd6d8 100644
--- a/tools/Sandcastle/Presentation/Prototype/transforms/main_reference.xsl
+++ b/tools/Sandcastle/Presentation/Prototype/transforms/main_reference.xsl
@@ -23,7 +23,7 @@
<p><include item="hostProtectionAttributeLong" /></p>
</xsl:if>
<!-- summary -->
- <span data="authoredSummary">
+ <span sdata="authoredSummary">
<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:summary" />
</span>
<!-- syntax -->
@@ -37,7 +37,7 @@
<xsl:apply-templates select="/document/reference/returns" />
<!-- members -->
<xsl:choose>
- <xsl:when test="$tgroup='list' and $tsubgroup='namespaces'">
+ <xsl:when test="$tgroup='root'">
<xsl:apply-templates select="/document/reference/elements" mode="root" />
</xsl:when>
<xsl:when test="$group='namespace'">
@@ -124,7 +124,7 @@
<xsl:template name="getParameterDescription">
<xsl:param name="name" />
- <span data="authoredParameterSummary">
+ <span sdata="authoredParameterSummary">
<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:parameters/ddue:parameter[string(ddue:parameterReference)=$name]/ddue:content" />
</span>
</xsl:template>
@@ -150,13 +150,13 @@
</xsl:template>
<xsl:template name="getReturnsDescription">
- <span data="authoredValueSummary">
+ <span sdata="authoredValueSummary">
<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:returnValue" />
</span>
</xsl:template>
<xsl:template name="getElementDescription">
- <span data="memberAuthoredSummary">
+ <span sdata="memberAuthoredSummary">
<xsl:apply-templates select="ddue:summary/ddue:para/node()" />
</span>
</xsl:template>
diff --git a/tools/Sandcastle/Presentation/Prototype/transforms/main_sandcastle.xsl b/tools/Sandcastle/Presentation/Prototype/transforms/main_sandcastle.xsl
index fe9a864..944e949 100644
--- a/tools/Sandcastle/Presentation/Prototype/transforms/main_sandcastle.xsl
+++ b/tools/Sandcastle/Presentation/Prototype/transforms/main_sandcastle.xsl
@@ -26,7 +26,7 @@
<xsl:apply-templates select="/document/comments/returns" />
<!-- members -->
<xsl:choose>
- <xsl:when test="$tgroup='list' and $tsubgroup='namespaces'">
+ <xsl:when test="$tgroup='root'">
<xsl:apply-templates select="/document/reference/elements" mode="root" />
</xsl:when>
<xsl:when test="$group='namespace'">
@@ -55,7 +55,7 @@
<!-- inheritance -->
<xsl:apply-templates select="/document/reference/family" />
<!--versions-->
- <xsl:if test="not($group='member' or $group='namespace' or $group='root' )">
+ <xsl:if test="not($group='member' or $group='namespace' or $tgroup='root' )">
<xsl:apply-templates select="/document/reference/versions" />
</xsl:if>
<!-- see also -->
@@ -152,22 +152,17 @@
<xsl:choose>
<xsl:when test="code/@language">
<xsl:variable name="codeId" select="generate-id()" />
+ <div name="snippetGroup">
<table class="filter"><tr class="tabs" id="ct_{$codeId}">
<xsl:for-each select="code">
- <td class="tab" x-lang="{@language}" onclick="ct{$codeId}.toggleClass('x-lang','{@language}','activeTab','tab'); cb{$codeId}.toggleStyle('x-lang','{@language}','display','block','none');"><include item="{@language}Label" /></td>
+ <td class="tab" x-lang="{@language}" onclick="toggleClass('ct_{$codeId}','x-lang','{@language}','activeTab','tab'); toggleStyle('cb_{$codeId}','x-lang','{@language}','display','block','none');"><include item="{@language}Label" /></td>
</xsl:for-each></tr></table>
<div id="cb_{$codeId}">
<xsl:for-each select="code">
<div class="code" x-lang="{@language}"><pre><xsl:copy-of select="node()" /></pre></div>
</xsl:for-each>
</div>
- <script type="text/javascript"><xsl:text>
- var ct</xsl:text><xsl:value-of select="$codeId" /><xsl:text> = new ElementCollection('ct_</xsl:text><xsl:value-of select="$codeId" /><xsl:text>');
- var cb</xsl:text><xsl:value-of select="$codeId" /><xsl:text> = new ElementCollection('cb_</xsl:text><xsl:value-of select="$codeId" /><xsl:text>');
- lfc.registerTabbedArea(ct</xsl:text><xsl:value-of select="$codeId" /><xsl:text>, cb</xsl:text><xsl:value-of select="$codeId" /><xsl:text>);
- ct</xsl:text><xsl:value-of select="$codeId" /><xsl:text>.toggleClass('x-lang','CSharp','activeTab','tab');
- cb</xsl:text><xsl:value-of select="$codeId" /><xsl:text>.toggleStyle('x-lang','CSharp','display','block','none');</xsl:text>
- </script>
+ </div>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates />
@@ -230,12 +225,14 @@
</xsl:template>
<xsl:template name="seealso">
- <xsl:if test="count(/document/comments/seealso | /document/comments/summary/seealso) &gt; 0">
+ <xsl:if test="count(/document/comments//seealso | /document/reference/elements/element/overloads//seealso) &gt; 0">
<xsl:call-template name="section">
<xsl:with-param name="title"><include item="relatedTitle" /></xsl:with-param>
<xsl:with-param name="content">
- <xsl:for-each select="/document/comments/seealso | /document/comments/summary/seealso">
- <xsl:apply-templates select="." />
+ <xsl:for-each select="/document/comments//seealso | /document/reference/elements/element/overloads//seealso">
+ <xsl:apply-templates select=".">
+ <xsl:with-param name="displaySeeAlso" select="true()" />
+ </xsl:apply-templates>
<br />
</xsl:for-each>
</xsl:with-param>
@@ -293,7 +290,26 @@
</xsl:choose>
</xsl:template>
+ <xsl:template match="see[@href]">
+ <xsl:choose>
+ <xsl:when test="normalize-space(.)">
+ <a>
+ <xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute>
+ <xsl:value-of select="." />
+ </a>
+ </xsl:when>
+ <xsl:otherwise>
+ <a>
+ <xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute>
+ <xsl:value-of select="@href" />
+ </a>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
<xsl:template match="seealso[@href]">
+ <xsl:param name="displaySeeAlso" select="false()" />
+ <xsl:if test="$displaySeeAlso">
<xsl:choose>
<xsl:when test="normalize-space(.)">
<a>
@@ -308,6 +324,7 @@
</a>
</xsl:otherwise>
</xsl:choose>
+ </xsl:if>
</xsl:template>
<xsl:template match="see[@langword]">
@@ -352,6 +369,8 @@
<xsl:template match="seealso">
+ <xsl:param name="displaySeeAlso" select="false()" />
+ <xsl:if test="$displaySeeAlso">
<xsl:choose>
<xsl:when test="normalize-space(.)">
<referenceLink target="{@cref}">
@@ -362,10 +381,11 @@
<referenceLink target="{@cref}" />
</xsl:otherwise>
</xsl:choose>
+ </xsl:if>
</xsl:template>
<xsl:template match="c">
- <span class="code"><xsl:value-of select="." /></span>
+ <span class="code"><xsl:apply-templates /></span>
</xsl:template>
<xsl:template match="paramref">
@@ -378,7 +398,7 @@
<!-- pass through html tags -->
- <xsl:template match="p|ol|ul|li|dl|dt|dd|table|tr|th|td|h1|h2|h3|h4|h5|h6|hr|br|pre|blockquote|div|span|a|img|b|i|strong|em|del|sub|sup|abbr|acronym|u|font">
+ <xsl:template match="p|ol|ul|li|dl|dt|dd|table|tr|th|td|h1|h2|h3|h4|h5|h6|hr|br|pre|blockquote|div|span|a|img|b|i|strong|em|del|sub|sup|abbr|acronym|u|font|map|area">
<xsl:copy>
<xsl:copy-of select="@*" />
<xsl:apply-templates />
diff --git a/tools/Sandcastle/Presentation/Prototype/transforms/utilities_dduexml.xsl b/tools/Sandcastle/Presentation/Prototype/transforms/utilities_dduexml.xsl
index 69a050e..dfa8a20 100644
--- a/tools/Sandcastle/Presentation/Prototype/transforms/utilities_dduexml.xsl
+++ b/tools/Sandcastle/Presentation/Prototype/transforms/utilities_dduexml.xsl
@@ -335,7 +335,7 @@
<xsl:template match="ddue:languageKeyword">
<xsl:variable name="word" select="." />
- <span class="keyword" data="langKeyword" value="{$word}">
+ <span class="keyword" sdata="langKeyword" value="{$word}">
<xsl:choose>
<xsl:when test="$word='null' or $word='Nothing' or $word='nullptr'">
<span class="cs">null</span>
@@ -575,9 +575,10 @@
<!-- this is temporary -->
<xsl:template match="ddue:snippets">
<xsl:variable name="codeId" select="generate-id()" />
+ <div name="snippetGroup">
<table class="filter"><tr class="tabs" id="ct_{$codeId}">
<xsl:for-each select="ddue:snippet">
- <td class="tab" x-lang="{@language}" onclick="ct{$codeId}.toggleClass('x-lang','{@language}','activeTab','tab'); cb{$codeId}.toggleStyle('x-lang','{@language}','display','block','none');"><include item="{@language}Label" /></td>
+ <td class="tab" x-lang="{@language}" onclick="toggleClass('ct_{$codeId}','x-lang','{@language}','activeTab','tab'); toggleStyle('cb_{$codeId}','x-lang','{@language}','display','block','none');"><include item="{@language}Label" /></td>
</xsl:for-each>
</tr></table>
<div id="cb_{$codeId}">
@@ -585,13 +586,7 @@
<div class="code" x-lang="{@language}"><pre><xsl:copy-of select="node()" /></pre></div>
</xsl:for-each>
</div>
- <script type="text/javascript"><xsl:text>
- var ct</xsl:text><xsl:value-of select="$codeId" /><xsl:text> = new ElementCollection('ct_</xsl:text><xsl:value-of select="$codeId" /><xsl:text>');
- var cb</xsl:text><xsl:value-of select="$codeId" /><xsl:text> = new ElementCollection('cb_</xsl:text><xsl:value-of select="$codeId" /><xsl:text>');
- lfc.registerTabbedArea(ct</xsl:text><xsl:value-of select="$codeId" /><xsl:text>, cb</xsl:text><xsl:value-of select="$codeId" /><xsl:text>);
- ct</xsl:text><xsl:value-of select="$codeId" /><xsl:text>.toggleClass('x-lang','CSharp','activeTab','tab');
- cb</xsl:text><xsl:value-of select="$codeId" /><xsl:text>.toggleStyle('x-lang','CSharp','display','block','none');
- </xsl:text></script>
+ </div>
</xsl:template>
<xsl:template name="section">
diff --git a/tools/Sandcastle/Presentation/Prototype/transforms/utilities_metadata.xsl b/tools/Sandcastle/Presentation/Prototype/transforms/utilities_metadata.xsl
index 0bbce6b..d9db2d7 100644
--- a/tools/Sandcastle/Presentation/Prototype/transforms/utilities_metadata.xsl
+++ b/tools/Sandcastle/Presentation/Prototype/transforms/utilities_metadata.xsl
@@ -35,7 +35,7 @@
<xsl:choose>
<xsl:when test="$group='type'">
<xsl:variable name="apiTypeName">
- <xsl:value-of select="concat(/document/reference/containers/container[@namespace]/apidata/@name,'.',/document/reference/apidata/@name)" />
+ <xsl:value-of select="concat(/document/reference/containers/namespace/apidata/@name,'.',/document/reference/apidata/@name)" />
<xsl:if test="count(/document/reference/templates/template) > 0">
<xsl:value-of select="concat('`',count(/document/reference/templates/template))" />
</xsl:if>
@@ -59,7 +59,7 @@
</xsl:when>
<xsl:when test="$group='member'">
<xsl:variable name="apiTypeName">
- <xsl:value-of select="concat(/document/reference/containers/container[@namespace]/apidata/@name,'.',/document/reference/containers/container[@type]/apidata/@name)" />
+ <xsl:value-of select="concat(/document/reference/containers/namespace/apidata/@name,'.',/document/reference/containers/container[@type]/apidata/@name)" />
<xsl:if test="count(/document/reference/templates/template) > 0">
<xsl:value-of select="concat('`',count(/document/reference/templates/template))" />
</xsl:if>
diff --git a/tools/Sandcastle/Presentation/Prototype/transforms/utilities_reference.xsl b/tools/Sandcastle/Presentation/Prototype/transforms/utilities_reference.xsl
index 82e67dd..a6d7019 100644
--- a/tools/Sandcastle/Presentation/Prototype/transforms/utilities_reference.xsl
+++ b/tools/Sandcastle/Presentation/Prototype/transforms/utilities_reference.xsl
@@ -9,7 +9,7 @@
<!-- key parameter is the api identifier string -->
<xsl:param name="key" />
<xsl:param name="metadata" value="false" />
- <xsl:param name="languages" />
+ <xsl:param name="languages">false</xsl:param>
<xsl:include href="utilities_metadata.xsl" />
@@ -23,15 +23,6 @@
<xsl:call-template name="insertMetadata" />
</head>
<body>
- <script type="text/javascript">
- <xsl:text>var store = new CookieDataStore('docs');</xsl:text>
-
- <xsl:text>registerEventHandler(window, 'load', function() { var ss = new SplitScreen('control', 'main'); selectLanguage(store.get('lang')); });</xsl:text>
-
- <!--
- <xsl:text>registerEventHandler(window, 'load', function() { selectLanguage(store.get('lang')); });</xsl:text>
- -->
- </script>
<xsl:call-template name="control"/>
<xsl:call-template name="main"/>
</body>
@@ -56,6 +47,10 @@
</xsl:template>
<xsl:template name="insertScripts">
+ <script type="text/javascript">
+ <includeAttribute name="src" item="scriptPath"><parameter>script_prototype.js</parameter></includeAttribute>
+ <xsl:text> </xsl:text>
+ </script>
<script type="text/javascript">
<includeAttribute name="src" item="scriptPath"><parameter>EventUtilities.js</parameter></includeAttribute>
<xsl:text> </xsl:text>
@@ -329,7 +324,7 @@
<span class="topicTitle"><xsl:call-template name="topicTitleDecorated" /></span><br/>
<div id="toolbar">
<span id="chickenFeet"><xsl:call-template name="chickenFeet" /></span>
- <xsl:if test="count($languages/language) &gt; 0">
+ <xsl:if test="boolean(($languages != 'false') and (count($languages/language) &gt; 0))">
<span id="languageFilter">
<select id="languageSelector" onchange="var names = this.value.split(' '); toggleVisibleLanguage(names[1]); lfc.switchLanguage(names[0]); store.set('lang',this.value); store.save();">
<xsl:for-each select="$languages/language">
@@ -337,7 +332,6 @@
</xsl:for-each>
</select>
</span>
- <script>var sd = getStyleDictionary(); var lfc = new LanguageFilterController();</script>
</xsl:if>
</div>
</div>
@@ -361,6 +355,9 @@
<xsl:when test="boolean($tsubgroup)">
<xsl:value-of select="$tsubgroup" />
</xsl:when>
+ <xsl:when test="$tgroup='root'">
+ <xsl:value-of select="$tgroup" />
+ </xsl:when>
</xsl:choose>
<xsl:text>TopicTitle</xsl:text>
</xsl:attribute>
@@ -404,6 +401,9 @@
<xsl:when test="boolean($tsubgroup)">
<xsl:value-of select="$tsubgroup" />
</xsl:when>
+ <xsl:when test="$tgroup='root'">
+ <xsl:value-of select="$tgroup" />
+ </xsl:when>
</xsl:choose>
<xsl:text>TopicTitle</xsl:text>
</xsl:attribute>
@@ -481,10 +481,11 @@
</xsl:template>
<xsl:template name="syntaxContent">
+ <div id="syntaxSection">
<table class="filter">
<tr class="tabs" id="syntaxTabs">
<xsl:for-each select="div[@codeLanguage]">
- <td class="tab" x-lang="{@codeLanguage}" onclick="st.toggleClass('x-lang','{@codeLanguage}','activeTab','tab'); sb.toggleStyle('x-lang','{@codeLanguage}','display','block','none');" ><include item="{@codeLanguage}Label" /></td>
+ <td class="tab" x-lang="{@codeLanguage}" onclick="toggleClass('syntaxTabs','x-lang','{@codeLanguage}','activeTab','tab'); toggleStyle('syntaxBlocks','x-lang','{@codeLanguage}','display','block','none');" ><include item="{@codeLanguage}Label" /></td>
</xsl:for-each>
</tr>
</table>
@@ -493,22 +494,15 @@
<div class="code" x-lang="{@codeLanguage}"><pre><xsl:copy-of select="./node()" /></pre></div>
</xsl:for-each>
</div>
- <script type="text/javascript"><xsl:text>
- var st = new ElementCollection('syntaxTabs');
- var sb = new ElementCollection('syntaxBlocks');
- lfc.registerTabbedArea(st, sb);
- st.toggleClass('x-lang','</xsl:text><xsl:value-of select="div[1]/@codeLanguage" /><xsl:text>','activeTab','tab');
- sb.toggleStyle('x-lang','</xsl:text><xsl:value-of select="div[1]/@codeLanguage" /><xsl:text>','display','block','none');
- </xsl:text></script>
+ </div>
</xsl:template>
<xsl:template name="usyntaxContent">
+ <div id="usyntaxSection">
<table class="filter">
<tr class="tabs" id="usyntaxTabs">
<xsl:for-each select="div[@codeLanguage]">
- <td class="tab" x-lang="{@codeLanguage}" onclick="ust.toggleClass('x-lang','{@codeLanguage}','activeTab','tab'); usb.toggleStyle('x-lang','{@codeLanguage}','display','block','none');" >
- <include item="{@codeLanguage}Label" />
- </td>
+ <td class="tab" x-lang="{@codeLanguage}" onclick="toggleClass('usyntaxTabs','x-lang','{@codeLanguage}','activeTab','tab'); toggleStyle('usyntaxBlocks','x-lang','{@codeLanguage}','display','block','none');" ><include item="{@codeLanguage}Label" /></td>
</xsl:for-each>
</tr>
</table>
@@ -521,15 +515,7 @@
</div>
</xsl:for-each>
</div>
- <script type="text/javascript">
- <xsl:text>
- var ust = new ElementCollection('usyntaxTabs');
- var usb = new ElementCollection('usyntaxBlocks');
- lfc.registerTabbedArea(ust, usb);
- ust.toggleClass('x-lang','</xsl:text><xsl:value-of select="div[1]/@codeLanguage" /><xsl:text>','activeTab','tab');
- usb.toggleStyle('x-lang','</xsl:text><xsl:value-of select="div[1]/@codeLanguage" /><xsl:text>','display','block','none');
- </xsl:text>
- </script>
+ </div>
</xsl:template>
<xsl:template match="elements" mode="root">
@@ -555,23 +541,24 @@
<xsl:call-template name="section">
<xsl:with-param name="title"><include item="typesTitle" /></xsl:with-param>
<xsl:with-param name="content">
+ <div id="typeSection">
<table class="filter">
<tr class="tabs" id="typeFilter">
- <td class="tab" value="all" onclick="tt.toggleClass('value','all','activeTab','tab'); tf.subgroup='all'; ts.process(getInstanceDelegate(tf,'filterElement'));"><include item="allTypesFilterLabel" /></td>
+ <td class="tab" value="all" onclick="toggleClass('typeFilter','value','all','activeTab','tab'); processSubgroup('all', 'type'); processList('typeList','filterElement', 'type');"><include item="allTypesFilterLabel" /></td>
<xsl:if test="element/apidata[@subgroup='class']">
- <td class="tab" value="class" onclick="tt.toggleClass('value','class','activeTab','tab'); tf.subgroup='class'; ts.process(getInstanceDelegate(tf,'filterElement'));"><include item="classTypesFilterLabel" /></td>
+ <td class="tab" value="class" onclick="toggleClass('typeFilter','value','class','activeTab','tab'); processSubgroup('class', 'type'); processList('typeList','filterElement','type');"><include item="classTypesFilterLabel" /></td>
</xsl:if>
<xsl:if test="element/apidata[@subgroup='structure']">
- <td class="tab" value="structure" onclick="tt.toggleClass('value','structure','activeTab','tab'); tf.subgroup='structure'; ts.process(getInstanceDelegate(tf,'filterElement'));"><include item="structureTypesFilterLabel" /></td>
+ <td class="tab" value="structure" onclick="toggleClass('typeFilter','value','structure','activeTab','tab'); processSubgroup('structure', 'type'); processList('typeList','filterElement','type');"><include item="structureTypesFilterLabel" /></td>
</xsl:if>
<xsl:if test="element/apidata[@subgroup='interface']">
- <td class="tab" value="interface" onclick="tt.toggleClass('value','interface','activeTab','tab'); tf.subgroup='interface'; ts.process(getInstanceDelegate(tf,'filterElement'));"><include item="interfaceTypesFilterLabel" /></td>
+ <td class="tab" value="interface" onclick="toggleClass('typeFilter','value','interface','activeTab','tab'); processSubgroup('interface', 'type'); processList('typeList','filterElement','type');"><include item="interfaceTypesFilterLabel" /></td>
</xsl:if>
<xsl:if test="element/apidata[@subgroup='enumeration']">
- <td class="tab" value="enumeration" onclick="tt.toggleClass('value','enumeration','activeTab','tab'); tf.subgroup='enumeration'; ts.process(getInstanceDelegate(tf,'filterElement'));"><include item="enumerationTypesFilterLabel" /></td>
+ <td class="tab" value="enumeration" onclick="toggleClass('typeFilter','value','enumeration','activeTab','tab'); processSubgroup('enumeration', 'type'); processList('typeList','filterElement','type');"><include item="enumerationTypesFilterLabel" /></td>
</xsl:if>
<xsl:if test="element/apidata[@subgroup='delegate']">
- <td class="tab" value="delegate" onclick="tt.toggleClass('value','delegate','activeTab','tab'); tf.subgroup='delegate'; ts.process(getInstanceDelegate(tf,'filterElement'));"><include item="delegateTypesFilterLabel" /></td>
+ <td class="tab" value="delegate" onclick="toggleClass('typeFilter','value','delegate','activeTab','tab'); processSubgroup('delegate', 'type'); processList('typeList','filterElement','type');"><include item="delegateTypesFilterLabel" /></td>
</xsl:if>
</tr>
</table>
@@ -585,12 +572,7 @@
<xsl:sort select="apidata/@name" />
</xsl:apply-templates>
</table>
- <script type="text/javascript"><xsl:text>
- var tt = new ElementCollection('typeFilter');
- var ts = new ElementCollection('typeList');
- var tf = new TypeFilter();
- tt.toggleClass('value','all','activeTab','tab');
- </xsl:text></script>
+ </div>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
@@ -620,37 +602,38 @@
<xsl:call-template name="section">
<xsl:with-param name="title"><include item="membersTitle" /></xsl:with-param>
<xsl:with-param name="content">
+ <div id="allMembersSection">
<table class="filter">
<tr class="tabs" id="memberTabs">
- <td class="tab" value="all" onclick="mt.toggleClass('value','all','activeTab','tab'); mf.subgroup='all'; ms.process(getInstanceDelegate(mf,'filterElement'));"><include item="allMembersFilterLabel" /></td>
+ <td class="tab" value="all" onclick="toggleClass('memberTabs','value','all','activeTab','tab'); processSubgroup('all', 'member'); processList('memberList','filterElement','member');"><include item="allMembersFilterLabel" /></td>
<xsl:if test="element/apidata[@subgroup='constructor']">
- <td class="tab" value="constructor" onclick="mt.toggleClass('value','constructor','activeTab','tab'); mf.subgroup='constructor'; ms.process(getInstanceDelegate(mf,'filterElement'));"><include item="constructorMembersFilterLabel" /></td>
+ <td class="tab" value="constructor" onclick="toggleClass('memberTabs','value','constructor','activeTab','tab'); processSubgroup('constructor','member');processList('memberList','filterElement','member');"><include item="constructorMembersFilterLabel" /></td>
</xsl:if>
<xsl:if test="element/apidata[@subgroup='method']">
- <td class="tab" value="method" onclick="mt.toggleClass('value','method','activeTab','tab'); mf.subgroup='method'; ms.process(getInstanceDelegate(mf,'filterElement'));"><include item="methodMembersFilterLabel" /></td>
+ <td class="tab" value="method" onclick="toggleClass('memberTabs','value','method','activeTab','tab'); processSubgroup('method','member'); processList('memberList','filterElement','member');"><include item="methodMembersFilterLabel" /></td>
</xsl:if>
<xsl:if test="element/apidata[@subgroup='property']">
- <td class="tab" value="property" onclick="mt.toggleClass('value','property','activeTab','tab'); mf.subgroup='property'; ms.process(getInstanceDelegate(mf,'filterElement'));"><include item="propertyMembersFilterLabel" /></td>
+ <td class="tab" value="property" onclick="toggleClass('memberTabs','value','property','activeTab','tab'); processSubgroup('property','member'); processList('memberList','filterElement','member');"><include item="propertyMembersFilterLabel" /></td>
</xsl:if>
<xsl:if test="element/apidata[@subgroup='field']">
- <td class="tab" value="field" onclick="mt.toggleClass('value','field','activeTab','tab'); mf.subgroup='field'; ms.process(getInstanceDelegate(mf,'filterElement'));"><include item="fieldMembersFilterLabel" /></td>
+ <td class="tab" value="field" onclick="toggleClass('memberTabs','value','field','activeTab','tab'); processSubgroup('field','member'); processList('memberList','filterElement','member');"><include item="fieldMembersFilterLabel" /></td>
</xsl:if>
<xsl:if test="element/apidata[@subgroup='event']">
- <td class="tab" value="event" onclick="mt.toggleClass('value','event','activeTab','tab'); mf.subgroup='event'; ms.process(getInstanceDelegate(mf,'filterElement'));"><include item="eventMembersFilterLabel" /></td>
+ <td class="tab" value="event" onclick="toggleClass('memberTabs','value','event','activeTab','tab'); processSubgroup('event','member'); processList('memberList','filterElement','member');"><include item="eventMembersFilterLabel" /></td>
</xsl:if>
</tr>
<tr>
<td class="line" colspan="2">
- <label for="public"><input id="public" type="checkbox" checked="true" onclick="mf['public'] = this.checked; ms.process(getInstanceDelegate(mf,'filterElement'));" /> <include item="publicMembersFilterLabel" /></label><br/>
- <label for="protected"><input id="protected" type="checkbox" checked="true" onclick="mf['protected'] = this.checked; ms.process(getInstanceDelegate(mf,'filterElement'));" /> <include item="protectedMembersFilterLabel" /></label>
+ <label for="public"><input id="public" type="checkbox" checked="true" onclick="toggleCheckState('public',this.checked); processList('memberList','filterElement','member');" /><include item="publicMembersFilterLabel" /></label><br/>
+ <label for="protected"><input id="protected" type="checkbox" checked="true" onclick="toggleCheckState('protected',this.checked); processList('memberList','filterElement','member');" /><include item="protectedMembersFilterLabel" /></label>
</td>
<td class="line" colspan="2">
- <label for="instance"><input id="instance" type="checkbox" checked="true" onclick="mf['instance'] = this.checked; ms.process(getInstanceDelegate(mf,'filterElement'));" /> <include item="instanceMembersFilterLabel" /></label><br/>
- <label for="static"><input id="static" type="checkbox" checked="true" onclick="mf['static'] = this.checked; ms.process(getInstanceDelegate(mf,'filterElement'));" /> <include item="staticMembersFilterLabel" /></label>
+ <label for="instance"><input id="instance" type="checkbox" checked="true" onclick="toggleCheckState('instance',this.checked); processList('memberList','filterElement','member');" /><include item="instanceMembersFilterLabel" /></label><br/>
+ <label for="static"><input id="static" type="checkbox" checked="true" onclick="toggleCheckState('static',this.checked); processList('memberList','filterElement','member');" /><include item="staticMembersFilterLabel" /></label>
</td>
<td class="line" colspan="2">
- <label for="declared"><input id="declared" type="checkbox" checked="true" onclick="mf['declared'] = this.checked; ms.process(getInstanceDelegate(mf,'filterElement'));" /> <include item="declaredMembersFilterLabel" /></label><br/>
- <label for="inherited"><input id="inherited" type="checkbox" checked="true" onclick="mf['inherited'] = this.checked; ms.process(getInstanceDelegate(mf,'filterElement'));" /> <include item="inheritedMembersFilterLabel" /></label>
+ <label for="declared"><input id="declared" type="checkbox" checked="true" onclick="toggleCheckState('declared',this.checked); processList('memberList','filterElement','member');" /><include item="declaredMembersFilterLabel" /></label><br/>
+ <label for="inherited"><input id="inherited" type="checkbox" checked="true" onclick="toggleCheckState('inherited',this.checked); processList('memberList','filterElement','member');" /><include item="inheritedMembersFilterLabel" /></label>
</td>
</tr>
</table>
@@ -664,12 +647,7 @@
<xsl:sort select="apidata/@name" />
</xsl:apply-templates>
</table>
- <script type="text/javascript"><xsl:text>
- var mt = new ElementCollection('memberTabs');
- var ms = new ElementCollection('memberList');
- var mf = new MemberFilter();
- mt.toggleClass('value','all','activeTab','tab');
- </xsl:text></script>
+ </div>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
@@ -895,7 +873,7 @@
<xsl:template match="library">
<p><include item="locationInformation">
- <parameter><span data="assembly"><xsl:value-of select="@assembly"/></span></parameter>
+ <parameter><span sdata="assembly"><xsl:value-of select="@assembly"/></span></parameter>
<parameter><xsl:value-of select="@module" /></parameter>
</include></p>
</xsl:template>
@@ -978,6 +956,7 @@
<table cellspacing="0" cellpadding="0">
<xsl:for-each select="ancestors/type">
<xsl:sort select="position()" data-type="number" order="descending" />
+ <!-- <xsl:sort select="@api"/> -->
<tr>
<xsl:call-template name="createTableEntries">
<xsl:with-param name="count" select="position() - 2" />
@@ -1023,7 +1002,7 @@
</tr>
<xsl:for-each select="descendents/type">
-
+ <xsl:sort select="@api"/>
<tr>
<xsl:call-template name="createTableEntries">
diff --git a/tools/Sandcastle/Presentation/Shared/configuration/xamlSyntax.config b/tools/Sandcastle/Presentation/Shared/configuration/xamlSyntax.config
index 60f3830..b107cf1 100644
--- a/tools/Sandcastle/Presentation/Shared/configuration/xamlSyntax.config
+++ b/tools/Sandcastle/Presentation/Shared/configuration/xamlSyntax.config
@@ -10,48 +10,83 @@
The XAML syntax blocks for members of all other assemblies get a generic boilerplate, e.g. "Not applicable." -->
<xamlAssemblies>
<assembly name="PresentationFramework">
- <xmlns uri="http://schemas.microsoft.com/winfx/xaml/presentation">
- <clrNamespace name="System.Windows.Input"/>
+ <xmlns uri="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
+ <clrNamespace name="System.Windows.Navigation"/>
+ <clrNamespace name="System.Windows.Controls"/>
+ <clrNamespace name="System.Windows.Documents"/>
+ <clrNamespace name="System.Windows.Shapes"/>
+ <clrNamespace name="System.Windows.Data"/>
<clrNamespace name="System.Windows"/>
+ <clrNamespace name="System.Windows.Controls.Primitives"/>
<clrNamespace name="System.Windows.Media.Animation"/>
+ <clrNamespace name="System.Windows.Input"/>
+ </xmlns>
+ <xmlns uri="http://schemas.microsoft.com/netfx/2007/xaml/presentation">
<clrNamespace name="System.Windows.Controls.Primitives"/>
- <clrNamespace name="System.Windows.Data"/>
- <clrNamespace name="System.Windows.Navigation"/>
- <clrNamespace name="System.Windows.Shapes"/>
- <clrNamespace name="System.Windows.Documents"/>
<clrNamespace name="System.Windows.Controls"/>
+ <clrNamespace name="System.Windows.Documents"/>
+ <clrNamespace name="System.Windows.Shapes"/>
+ <clrNamespace name="System.Windows.Navigation"/>
+ <clrNamespace name="System.Windows.Data"/>
+ <clrNamespace name="System.Windows"/>
+ <clrNamespace name="System.Windows.Input"/>
+ <clrNamespace name="System.Windows.Media.Animation"/>
</xmlns>
- <xmlns uri="http://schemas.microsoft.com/winfx/xaml">
+ <xmlns uri="http://schemas.microsoft.com/winfx/2006/xaml">
<clrNamespace name="System.Windows.Markup"/>
</xmlns>
</assembly>
<assembly name="PresentationCore">
- <xmlns uri="http://schemas.microsoft.com/winfx/xaml/presentation">
- <clrNamespace name="System.Windows.Input"/>
- <clrNamespace name="System.Windows"/>
+ <xmlns uri="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<clrNamespace name="System.Windows.Media.Imaging"/>
- <clrNamespace name="System.Windows.Media.TextFormatting"/>
- <clrNamespace name="System.Windows.Media.Effects"/>
-
+ <clrNamespace name="System.Windows.Input"/>
<clrNamespace name="System.Windows.Media"/>
- <clrNamespace name="System.Windows.Media.Animation"/>
+ <clrNamespace name="System.Windows.Media.Effects"/>
+ <clrNamespace name="System.Windows.Automation"/>
<clrNamespace name="System.Windows.Media.Media3D"/>
+ <clrNamespace name="System.Windows.Media.Animation"/>
+ <clrNamespace name="System.Windows"/>
+ <clrNamespace name="System.Windows.Media.TextFormatting"/>
<clrNamespace name="System.Windows.Ink"/>
+ </xmlns>
+ <xmlns uri="http://schemas.microsoft.com/netfx/2007/xaml/presentation">
+ <clrNamespace name="System.Windows.Media.Imaging"/>
+ <clrNamespace name="System.Windows.Media.Media3D"/>
+ <clrNamespace name="System.Windows.Ink"/>
+ <clrNamespace name="System.Windows.Input"/>
<clrNamespace name="System.Windows.Automation"/>
+ <clrNamespace name="System.Windows.Media.TextFormatting"/>
+ <clrNamespace name="System.Windows.Media.Animation"/>
+ <clrNamespace name="System.Windows.Media"/>
+ <clrNamespace name="System.Windows"/>
+ <clrNamespace name="System.Windows.Media.Effects"/>
</xmlns>
- <xmlns uri="http://schemas.microsoft.com/winfx/xaml">
+ <xmlns uri="http://schemas.microsoft.com/winfx/2006/xaml">
<clrNamespace name="System.Windows.Markup"/>
</xmlns>
</assembly>
<assembly name="WindowsBase">
- <xmlns uri="http://schemas.microsoft.com/winfx/xaml/presentation">
+ <xmlns uri="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
+ <clrNamespace name="System.Diagnostics"/>
+ <clrNamespace name="System.Windows.Media"/>
<clrNamespace name="System.Windows.Input"/>
<clrNamespace name="System.Windows"/>
+ </xmlns>
+ <xmlns uri="http://schemas.microsoft.com/netfx/2007/xaml/presentation">
+ <clrNamespace name="System.Windows.Input"/>
<clrNamespace name="System.Windows.Media"/>
+ <clrNamespace name="System.Diagnostics"/>
+ <clrNamespace name="System.Windows"/>
+ </xmlns>
+ <xmlns uri="http://schemas.microsoft.com/winfx/2006/xaml">
+ <clrNamespace name="System.Windows.Markup"/>
</xmlns>
</assembly>
<assembly name="WindowsFormsIntegration">
- <xmlns uri="http://schemas.microsoft.com/winfx/xaml/presentation">
+ <xmlns uri="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
+ <clrNamespace name="System.Windows.Forms.Integration"/>
+ </xmlns>
+ <xmlns uri="http://schemas.microsoft.com/netfx/2007/xaml/presentation">
<clrNamespace name="System.Windows.Forms.Integration"/>
</xmlns>
</assembly>
diff --git a/tools/Sandcastle/Presentation/Shared/content/syntax_content.xml b/tools/Sandcastle/Presentation/Shared/content/syntax_content.xml
index cf4e580..8f92668 100644
--- a/tools/Sandcastle/Presentation/Shared/content/syntax_content.xml
+++ b/tools/Sandcastle/Presentation/Shared/content/syntax_content.xml
@@ -6,6 +6,10 @@
<!-- C++ messages -->
<item id="UnsupportedOperator_ManagedCPlusPlus">Visual C++ does not support this operator.</item>
+ <!-- F# messages -->
+ <item id="UnsupportedOperator_FSharp">F# does not support this operator.</item>
+ <item id="UnsupportedCast_FSharp">F# does not support the declaration of new casting operators.</item>"
+
<!-- VB messages -->
<item id="UnsupportedUnsafe_VisualBasic">Visual Basic does not support APIs that consume or return unsafe types.</item>
<item id="UnsupportedOperator_VisualBasic">Visual Basic does not support this operator.</item>
@@ -32,6 +36,13 @@
<!-- JavaScript(Script#) messages-->
<item id="UnsupportedType_ScriptSharp">This type supports the Script# infrastructure and cannot be used directly from JavaScript.</item>
+ <item id="UnsupportedUnsafe_JavaScript">JavaScript does not support APIs that consume or return unsafe types.</item>
+ <item id="UnsupportedGeneric_JavaScript">JavaScript does not support generic types or methods.</item>
+ <item id="UnsupportedExplicit_JavaScript">JavaScript does not support explicit interface implementations.</item>
+ <item id="UnsupportedOperator_JavaScript">JavaScript does not support overloaded operators.</item>
+ <item id="UnsupportedStructure_JavaScript">JavaScript supports the use of structures, but not the declaration of new ones.</item>
+ <item id="UnsupportedIndex_JavaScript">JavaScript does not support indexed properties.</item>
+ <item id="UnsupportedCast_JavaScript">JavaScript does not support the declaration of new casting operators.</item>
<!-- VB usages message -->
<item id="UnsupportedUnsafe_VisualBasicUsage">Visual basic does not support APIs that consume or return unsafe types.</item>
<item id="UnsupportedOperator_VisualBasicUsage">Visual basic does not support this operator.</item>
@@ -63,7 +74,7 @@
<item id="propertyXamlSyntax_nonXaml">You cannot set this property in XAML.</item>
<!-- syntax used with all enums in xaml assemblies -->
- <item id="enumerationOverviewXamlSyntax"><span>&lt;<i>object property</i>="<i>enumerationValue</i>" .../&gt;</span></item>
+ <item id="enumerationOverviewXamlSyntax"><span>&lt;<i>object property</i>="<i>enumerationMemberName</i>" .../&gt;</span></item>
<!-- boilerplate used with all method, field, etc. in xaml assemblies -->
<item id="constructorOverviewXamlSyntax">You cannot use constructors in XAML.</item>
diff --git a/tools/Sandcastle/Presentation/Shared/transforms/utilities_dduexml.xsl b/tools/Sandcastle/Presentation/Shared/transforms/utilities_dduexml.xsl
index 633a2da..3825a63 100644
--- a/tools/Sandcastle/Presentation/Shared/transforms/utilities_dduexml.xsl
+++ b/tools/Sandcastle/Presentation/Shared/transforms/utilities_dduexml.xsl
@@ -50,7 +50,7 @@
<xsl:template match="ddue:parameterReference">
<xsl:if test="normalize-space(.)">
- <span class="parameter" data="paramReference">
+ <span class="parameter" sdata="paramReference">
<xsl:value-of select="." />
</span>
</xsl:if> </xsl:template>
@@ -197,7 +197,7 @@
</xsl:template>
<xsl:template match="ddue:link">
- <span data="link">
+ <span sdata="link">
<xsl:choose>
<xsl:when test="starts-with(@xlink:href,'#')">
<!-- in-page link -->
@@ -233,7 +233,7 @@
</xsl:template>
<xsl:template match="ddue:codeEntityReference">
- <span data="cer" target="{string(.)}">
+ <span sdata="cer" target="{string(.)}">
<referenceLink target="{string(.)}">
<xsl:if test="@qualifyHint">
<xsl:attribute name="show-container">
@@ -255,7 +255,7 @@
<!-- LEAVE THIS TEMPORARILY to support oldstyle GTMT link tagging -->
<xsl:template match="ddue:link[starts-with(.,'GTMT#')]">
<!-- not supporting popup definitions; just show the display text -->
- <span data="link">
+ <span sdata="link">
<xsl:value-of select="substring-after(.,'GTMT#')"/>
</span>
</xsl:template>
diff --git a/tools/Sandcastle/Presentation/Shared/transforms/utilities_metadata.xsl b/tools/Sandcastle/Presentation/Shared/transforms/utilities_metadata.xsl
index 6d92746..30fa695 100644
--- a/tools/Sandcastle/Presentation/Shared/transforms/utilities_metadata.xsl
+++ b/tools/Sandcastle/Presentation/Shared/transforms/utilities_metadata.xsl
@@ -71,6 +71,8 @@
<xsl:template name="combineTextNames">
<xsl:param name="left" />
<xsl:param name="right" />
+ <xsl:param name="concatenateOperator" select="'.'" />
+
<xsl:choose>
<xsl:when test="count($left/name) &gt; 1">
<xsl:choose>
@@ -80,7 +82,7 @@
<xsl:variable name="language" select="@language" />
<name language="{$language}">
<xsl:apply-templates select="." />
- <xsl:value-of select="'.'"/>
+ <xsl:copy-of select="$concatenateOperator" />
<xsl:apply-templates select="$right/name[@language=$language]" />
</name>
</xsl:for-each>
@@ -90,8 +92,11 @@
<xsl:for-each select="$left/name">
<xsl:variable name="language" select="@language" />
<name language="{$language}">
- <xsl:apply-templates select="." />
- <xsl:value-of select="concat('.', $right/name)"/>
+ <xsl:apply-templates select="." />
+ <xsl:if test="$right/name">
+ <xsl:copy-of select="$concatenateOperator"/>
+ </xsl:if>
+ <xsl:value-of select="$right/name"/>
</name>
</xsl:for-each>
</xsl:otherwise>
@@ -104,7 +109,10 @@
<xsl:for-each select="$right/name">
<xsl:variable name="language" select="@language" />
<name language="{.}">
- <xsl:value-of select="concat($left/name, '.')"/>
+ <xsl:value-of select="$left/name"/>
+ <xsl:if test="$left/name">
+ <xsl:copy-of select="$concatenateOperator"/>
+ </xsl:if>
<xsl:apply-templates select="." />
</name>
</xsl:for-each>
@@ -112,7 +120,11 @@
<xsl:otherwise>
<!-- neiter is multi-language -->
<name>
- <xsl:value-of select="concat($left/name,'.',$right/name)" />
+ <xsl:value-of select="$left/name"/>
+ <xsl:if test="$left/name and $right/name">
+ <xsl:copy-of select="$concatenateOperator"/>
+ </xsl:if>
+ <xsl:value-of select="$right/name"/>
</name>
</xsl:otherwise>
</xsl:choose>
@@ -125,8 +137,13 @@
<!-- if there are templates: <name langauge="c">Blah<T></name><name language="v">Blah(Of T)</name> -->
<xsl:template name="simpleTextNames">
<xsl:choose>
- <xsl:when test="specialization | templates">
- <xsl:apply-templates select="specialization | templates" mode="index">
+ <xsl:when test="specialization">
+ <xsl:apply-templates select="specialization" mode="index">
+ <xsl:with-param name="name" select="apidata/@name" />
+ </xsl:apply-templates>
+ </xsl:when>
+ <xsl:when test="templates">
+ <xsl:apply-templates select="templates" mode="index">
<xsl:with-param name="name" select="apidata/@name" />
</xsl:apply-templates>
</xsl:when>
@@ -219,6 +236,30 @@
<xsl:value-of select="@name" />
</xsl:template>
+ <xsl:template match="arrayOf" mode="index">
+ <name language="c">
+ <xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="index"/>
+ <xsl:text>[</xsl:text>
+ <xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+ <xsl:text>]</xsl:text>
+ </name>
+ <name language="v">
+ <xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="index"/>
+ <xsl:text>(</xsl:text>
+ <xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+ <xsl:text>)</xsl:text>
+ </name>
+ </xsl:template>
+
+ <xsl:template match="pointerTo" mode="index">
+ <xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="index"/>
+ <xsl:text>*</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="referenceTo" mode="index">
+ <xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="index"/>
+ </xsl:template>
+
<xsl:template match="type" mode="index">
<xsl:call-template name="textNames" />
</xsl:template>
@@ -226,7 +267,7 @@
<xsl:template match="name/name">
<xsl:variable name="lang" select="ancestor::*/@language"/>
- <xsl:if test="@language = $lang">
+ <xsl:if test="not(@language) or @language = $lang">
<xsl:value-of select="."/>
</xsl:if>
</xsl:template>
@@ -234,5 +275,45 @@
<xsl:template match="name/text()">
<xsl:value-of select="."/>
</xsl:template>
-
+
+ <xsl:template name="operatorTextNames">
+ <xsl:variable name="left">
+ <xsl:if test="parameters/parameter[1]">
+ <xsl:choose>
+ <xsl:when test="parameters/parameter[1]//specialization | parameters/parameter[1]//templates | parameters/parameter[1]//arrayOf">
+ <xsl:apply-templates select="parameters/parameter[1]" mode="index" />
+ </xsl:when>
+ <xsl:otherwise>
+ <name>
+ <xsl:apply-templates select="parameters/parameter[1]" mode="index" />
+ </name>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+ </xsl:variable>
+
+ <xsl:variable name="right">
+ <xsl:if test="returns[1]">
+ <xsl:choose>
+ <xsl:when test="returns[1]//specialization | returns[1]//templates | returns[1]//arrayOf">
+ <xsl:apply-templates select="returns[1]" mode="index" />
+ </xsl:when>
+ <xsl:otherwise>
+ <name>
+ <xsl:apply-templates select="returns[1]" mode="index" />
+ </name>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+ </xsl:variable>
+
+ <xsl:call-template name="combineTextNames">
+ <xsl:with-param name="left" select="msxsl:node-set($left)" />
+ <xsl:with-param name="right" select="msxsl:node-set($right)" />
+ <xsl:with-param name="concatenateOperator">
+ <xsl:text> to </xsl:text>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
+
</xsl:stylesheet>
diff --git a/tools/Sandcastle/Presentation/Shared/transforms/utilities_reference.xsl b/tools/Sandcastle/Presentation/Shared/transforms/utilities_reference.xsl
index bfe8fcc..1ef5792 100644
--- a/tools/Sandcastle/Presentation/Shared/transforms/utilities_reference.xsl
+++ b/tools/Sandcastle/Presentation/Shared/transforms/utilities_reference.xsl
@@ -42,6 +42,7 @@
</span>
<span class="cpp">&lt;</span>
<span class="nu">(</span>
+ <span class="fs">&lt;'</span>
</span>
<xsl:for-each select="*">
<xsl:apply-templates select="." mode="link" />
@@ -54,6 +55,7 @@
<span class="vb">)</span>
<span class="cpp">&gt;</span>
<span class="nu">)</span>
+ <span class="fs">&gt;</span>
</span>
</xsl:template>
@@ -88,6 +90,11 @@
<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
<xsl:text>]</xsl:text>
</span>
+ <span class="fs">
+ <xsl:text>[</xsl:text>
+ <xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+ <xsl:text>]</xsl:text>
+ </span>
</span>
</xsl:template>
@@ -122,21 +129,20 @@
<xsl:template match="member" mode="link">
<xsl:param name="qualified" select="true()" />
- <xsl:if test="$qualified">
- <xsl:apply-templates select="type" mode="link" />
- <span class="languageSpecificText">
- <span class="cs">.</span>
- <span class="vb">.</span>
- <span class="cpp">::</span>
- <span class="nu">.</span>
- </span>
- </xsl:if>
<xsl:choose>
<xsl:when test="@display-api">
- <referenceLink target="{@api}" display-target="{@display-api}" />
+ <referenceLink target="{@api}" display-target="{@display-api}">
+ <xsl:if test="$qualified">
+ <xsl:attribute name="show-container">true</xsl:attribute>
+ </xsl:if>
+ </referenceLink>
</xsl:when>
<xsl:otherwise>
- <referenceLink target="{@api}" />
+ <referenceLink target="{@api}">
+ <xsl:if test="$qualified">
+ <xsl:attribute name="show-container">true</xsl:attribute>
+ </xsl:if>
+ </referenceLink>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
@@ -157,6 +163,27 @@
</xsl:if>
</xsl:template>
+ <!-- Produces parameter and return types in (plain) format:(Int32 to Decimal) for operator members -->
+ <xsl:template name="operatorTypesPlain">
+ <xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+ <xsl:text>(</xsl:text>
+ </xsl:if>
+ <xsl:if test="count(parameters/parameter/*) = 1">
+ <xsl:apply-templates select="parameters/parameter[1]/type|parameters/parameter[1]/arrayOf|parameters/parameter[1]/pointerTo|
+ parameters/parameter[1]/referenceTo|parameters/parameter[1]/template" mode="plain" />
+ </xsl:if>
+ <xsl:if test="count(parameters/parameter/*) = 1 and count(returns/*) = 1">
+ <xsl:text> to </xsl:text>
+ </xsl:if>
+ <xsl:if test="count(returns/*) = 1">
+ <xsl:apply-templates select="returns[1]/type|returns[1]/arrayOf|returns[1]/pointerTo|returns[1]/referenceTo|
+ returns[1]/template" mode="plain" />
+ </xsl:if>
+ <xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+ <xsl:text>)</xsl:text>
+ </xsl:if>
+ </xsl:template>
+
<!-- when position on a type api, produces a (plain) name; outer types are indicated by dot-seperators; -->
<!-- generic types are indicated by a keyword, because we can't show templates in a language-independent way -->
<xsl:template name="typeNamePlain">
@@ -198,12 +225,12 @@
</xsl:template>
<xsl:template match="pointerTo" mode="plain">
- <xsl:apply-templates mode="plain"/>
+ <xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="plain"/>
<xsl:text>*</xsl:text>
</xsl:template>
<xsl:template match="referenceTo" mode="plain">
- <xsl:apply-templates mode="plain"/>
+ <xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="plain"/>
</xsl:template>
<xsl:template match="template" mode="plain">
@@ -224,6 +251,27 @@
</xsl:if>
</xsl:template>
+ <!-- Produces parameter and return types in (decorated) format:(Int32 to Decimal) for operator members -->
+ <xsl:template name="operatorTypesDecorated">
+ <xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+ <xsl:text>(</xsl:text>
+ </xsl:if>
+ <xsl:if test="count(parameters/parameter/*) = 1">
+ <xsl:apply-templates select="parameters/parameter[1]/type|parameters/parameter[1]/arrayOf|parameters/parameter[1]/pointerTo|
+ parameters/parameter[1]/referenceTo|parameters/parameter[1]/template" mode="decorated" />
+ </xsl:if>
+ <xsl:if test="count(parameters/parameter/*) = 1 and count(returns/*) = 1">
+ <xsl:text> to </xsl:text>
+ </xsl:if>
+ <xsl:if test="count(returns/*) = 1">
+ <xsl:apply-templates select="returns[1]/type|returns[1]/arrayOf|returns[1]/pointerTo|returns[1]/referenceTo|
+ returns[1]/template" mode="decorated" />
+ </xsl:if>
+ <xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+ <xsl:text>)</xsl:text>
+ </xsl:if>
+ </xsl:template>
+
<!-- when position on a type api, produces a (decorated) name, including outer types and templates -->
<xsl:template name="typeNameDecorated">
<xsl:if test="type|(containers/type)">
@@ -233,6 +281,7 @@
<span class="vb">.</span>
<span class="cpp">::</span>
<span class="nu">.</span>
+ <span class="fs">.</span>
</span>
</xsl:if>
<xsl:value-of select="apidata/@name" />
@@ -258,6 +307,7 @@
</span>
<span class="cpp">&lt;</span>
<span class="nu">(</span>
+ <span class="fs">&lt;'</span>
</span>
<xsl:for-each select="*">
<xsl:apply-templates select="." mode="decorated" />
@@ -270,6 +320,7 @@
<span class="vb">)</span>
<span class="cpp">&gt;</span>
<span class="nu">)</span>
+ <span class="fs">&gt;</span>
</span>
</xsl:template>
@@ -301,16 +352,21 @@
<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
<xsl:text>]</xsl:text>
</span>
+ <span class="fs">
+ <xsl:text>[</xsl:text>
+ <xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+ <xsl:text>]</xsl:text>
+ </span>
</span>
</xsl:template>
<xsl:template match="pointerTo" mode="decorated">
- <xsl:apply-templates mode="decorated"/>
+ <xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="decorated"/>
<xsl:text>*</xsl:text>
</xsl:template>
<xsl:template match="referenceTo" mode="decorated">
- <xsl:apply-templates mode="decorated"/>
+ <xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="decorated"/>
<span class="cpp">%</span>
</xsl:template>
diff --git a/tools/Sandcastle/Presentation/hana/Content/conceptual_content.xml b/tools/Sandcastle/Presentation/hana/Content/conceptual_content.xml
deleted file mode 100644
index 3869c90..0000000
--- a/tools/Sandcastle/Presentation/hana/Content/conceptual_content.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<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="reference">Reference</item>
- <item id="errorMessage">Error Message</item>
-
- <!-- language filter -->
- <item id="languageFilter">Language Filter: {0}</item>
- <item id="all">All</item>
- <item id="multiple">Multiple</item>
- <item id="VisualBasic">Visual Basic</item>
- <item id="VBScript">Visual Basic Script</item>
- <item id="CSharp">C#</item>
- <item id="ManagedCPlusPlus">Visual C++</item>
- <item id="JSharp">J#</item>
- <item id="JScript">JScript</item>
- <item id="xmlLang">Xml</item>
- <item id="html">Html</item>
- <item id="visualbasicANDcsharp"><include item="VisualBasic"/> and <include item="CSharp"/></item>
- <item id="other"></item>
- <item id="XAML">XAML</item>
- <item id="usage">Usage</item>
-
- <item id="VisualBasicDeclaration"><include item="VisualBasic"/> (Declaration)</item>
- <item id="VisualBasicUsage"><include item="VisualBasic"/> (<include item="usage"/>)</item>
-
- <item id="collapseAll">Collapse All</item>
- <item id="expandAll">Expand All</item>
- <item id="Example">Example</item>
-
- <!-- Sample Topics -->
- <item id="downloadSample">Download</item>
- <item id="sampleFiles">Sample Files:</item>
- <item id="viewSampleSource">View Source</item>
-
-</content>
diff --git a/tools/Sandcastle/Presentation/hana/Content/reference_content.xml b/tools/Sandcastle/Presentation/hana/Content/reference_content.xml
deleted file mode 100644
index 2cfee10..0000000
--- a/tools/Sandcastle/Presentation/hana/Content/reference_content.xml
+++ /dev/null
@@ -1,482 +0,0 @@
-<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="tocTitle">{0}</item>
- <item id="rlTitle">{0} ({1})</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="DerivedTypeListTopicTitle">{0} Derived Classes</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>
-
- <item id="generic_classTopicTitle">{0} Generic Class</item>
- <item id="generic_structureTopicTitle">{0} Generic Structure</item>
- <item id="generic_interfaceTopicTitle">{0} Generic Interface</item>
- <item id="generic_delegateTopicTitle">{0} Generic Delegate</item>
- <item id="generic_methodTopicTitle">{0} Generic Method</item>
-
- <!-- list topic titles -->
- <item id="FieldsTopicTitle">{0} Fields</item>
- <item id="MethodsTopicTitle">{0} Methods {1}</item>
- <item id="ConstructorsTopicTitle">{0} Constructors {1}</item>
- <item id="PropertiesTopicTitle">{0} Properties {1}</item>
- <item id="EventsTopicTitle">{0} Events</item>
- <item id="AttachedPropertiesTopicTitle">{0} Attached Properties</item>
- <item id="AttachedEventsTopicTitle">{0} Attached Events</item>
- <item id="membersTopicTitle">{0} Members</item>
-
- <!-- member titles -->
- <item id="enumMembersTitle">Members</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="enumerationMemberIndexEntry">{0} enumeration member</item>
- <item id="aboutTypeIndexEntry">{0}, about {0}</item>
- <item id="derivedTypesIndexEntry">{0}, derived types</item>
- <item id="membersIndexEntry">{0}, all members</item>
- <item id="methodsIndexEntry">{0}, methods</item>
- <item id="propertiesIndexEntry">{0}, properties</item>
- <item id="fieldsIndexEntry">{0}, fields</item>
- <item id="eventsIndexEntry">{0}, events</item>
- <item id="constructorsIndexEntry">{0}, constructors</item>
- <item id="constructorIndexEntry">{0}, constructor</item>
- <item id="constructorTypeIndexEntry">{0} constructor</item>
- <item id="methodIndexEntry">{0} method</item>
- <item id="propertyIndexEntry">{0} property</item>
- <item id="eventIndexEntry">{0} event</item>
- <item id="fieldIndexEntry">{0} field</item>
- <item id="operatorIndexEntry">{0} operator</item>
- <item id="attachedPropertyIndexEntry">{0} attached property</item>
- <item id="attachedEventIndexEntry">{0} attached event</item>
-
- <!-- index entries like: "FileClassifier class" or "Execute method" or "Microsoft.Build.Tasks.Windows.FileClassifier class"
- {0} is API's name, which is shortname in some cases, or FQName in others
- {1} is API's subgroup, e.g. 'class', 'method', etc.
- <item id="nameSubgroupIndexEntry">{0} <include item="{1}IndexEntry"/></item>
--->
- <!-- index entries like: "FileClassifier class, about FileClassifier class"
- {0} is API's name, which is shortname in some cases, or FQName in others
- {1} is API's subgroup, e.g. 'class', 'method', etc.
- <item id="aboutTypeIndexEntry">{0} <include item="{1}IndexEntry"/>, about {0} <include item="{1}IndexEntry"/></item>
- -->
- <!-- index entries like: "FileClassifier class, methods"
- {0} is type's name;
- {1} is type's subgroup, e.g. 'class';
- {2} is the kind of list, e.g. 'AllMembers', 'Methods', etc.
- <item id="listTopicIndexEntry">{0} <include item="{1}IndexEntry"/>, <include item="{2}IndexEntry"/></item>
- -->
- <!-- main window stuff -->
-
- <!-- body -->
-
- <!-- section titles -->
- <item id="syntaxTitle">Syntax</item>
- <item id="templatesTitle">Type 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">Property Value</item>
- <item id="fieldValueTitle">Field Value</item>
- <item id="implementsTitle">Implements</item>
- <item id="examplesTitle">Examples</item>
- <item id="threadSafetyTitle">Thread Safety</item>
- <item id="exceptionsTitle">Exceptions</item>
- <item id="permissionsTitle">Permissions</item>
- <item id="namespacesTitle">Namespaces</item>
- <item id="typesTitle">Types</item>
- <item id="allMembersTitle">Members</item>
- <item id="membersTitle">Overload List</item>
- <item id="familyTitle">Inheritance Hierarchy</item>
- <item id="versionsTitle">Version Information</item>
- <item id="platformsTitle">Platforms</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="classNameHeader">Class</item>
- <item id="structureNameHeader">Structure</item>
- <item id="interfaceNameHeader">Interface</item>
- <item id="delegateNameHeader">Delegate</item>
- <item id="enumerationNameHeader">Enumeration</item>
- <item id="typeNameHeader">Name</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="attachedPropertyMembersFilterLabel">Attached Properties</item>
- <item id="fieldMembersFilterLabel">Fields</item>
- <item id="eventMembersFilterLabel">Events</item>
- <item id="operatorMembersFilterLabel">Operators</item>
- <item id="attachedEventMembersFilterLabel">Attached Events</item>
- <item id="explicitInterfaceMembersFilterLabel">Explicit Interface Implementations</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>
- <item id=".NETCompactFilterLabel">.NET Compact Framework Only</item>
- <item id="XNAFilterLabel">XNA Framework Only</item>
- <!-- member list stuff -->
- <item id="Publicconstructor">Public Constructors</item>
- <item id="Protectedconstructor">Protected Constructors</item>
- <item id="constructorsTable">Constructors</item>
- <item id="Privateconstructor">Private Constructors</item>
- <item id="Publicmethod">Public Methods</item>
- <item id="Protectedmethod">Protected Methods</item>
- <item id="Privatemethod">Private Methods</item>
- <item id="Publicfield">Public Fields</item>
- <item id="Protectedfield">Protected Fields</item>
- <item id="Privatefield">Private Fields</item>
- <item id="Publicproperty">Public Properties</item>
- <item id="Protectedproperty">Protected Properties</item>
- <item id="Privateproperty">Private Properties</item>
- <item id="Publicevent">Public Events</item>
- <item id="Protectedevent">Protected Events</item>
- <item id="Privateevent">Private Events</item>
- <item id="PublicattachedProperty">Public Attached Properties</item>
- <item id="ProtectedattachedProperty">Protected Attached Properties</item>
- <item id="PrivateattachedProperty">Private Attached Properties</item>
- <item id="PublicattachedEvent">Public Attached Events</item>
- <item id="ProtectedattachedEvent">Protected Attached Events</item>
- <item id="PrivateattachedEvent">Private Attached Events</item>
- <item id="seeMemberGroup"> (see also {0})</item>
-
- <!-- Thread Safety -->
- <item id="ThreadSafety">Thread Safety</item>
- <item id="ThreadSafetyBP">Any public static (<b>Shared</b> in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.</item>
-
- <item id="NotesForImplementers">Notes to Implementers: </item>
- <item id="NotesForCallers">Notes to Callers: </item>
- <item id="NotesForInheritors">Notes to Inheritors: </item>
-
- <!-- Used for Platform Notes -->
- <item id="PlatformNote">
- <b>{0} Platform Note:</b> {1}
- </item>
- <item id="Win95">Windows 95</item>
- <item id="Win98Se">Windows 98 Second Edition</item>
-
- <item id="WinNT4">Windows NT 4.0</item>
- <item id="WinNT4Svr">Windows NT Server 4.0</item>
- <item id="WinNT4Wks">Windows NT Workstation 4.0</item>
-
- <item id="Win2kFamily">Windows 2000</item>
- <item id="Win2kProfessional">Windows 2000 Professional</item>
- <item id="Win2kServer">Windows 2000 Server</item>
- <item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
-
- <item id="WinXPPersonal">Windows XP Home Edition</item>
- <item id="WinXPPro">Windows XP Professional x64 Edition</item>
- <item id="WinXPSvr"><include item="WinSvr2003"/></item>
- <item id="WinXpTablet">Windows XP Tablet PC Edition</item>
- <item id="WinXpEmbedded">Windows XP Embedded</item>
-
- <item id="ECMACLI">Common Language Infrastructure (CLI) Standard</item>
-
- <item id="MSTV">Microsoft TV</item>
-
- <item id="Win9xFamily"><include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/></item>
- <item id="WinNt4Family"><include item="WinNT4"/></item>
- <item id="WinXpFamily"><include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/></item>
- <item id="WinCE"><include item="WindowsCE"/></item>
- <item id="Win2K"><include item="WinSvr2000"/></item>
- <item id="Win2KSvr"><include item="Win2kServer"/></item>
- <item id="Win2KADC"><include item="Win2kDatacenter"/></item>
-
- <item id="WinNt4Server"><include item="WinNT4Svr"/></item>
- <item id="WinNt4Workstation"><include item="WinNT4Wks"/></item>
- <item id="Win2kAdvanced"><include item="Win2kDatacenter"/></item>
- <item id="Win2kServerApplianceKit"></item>
- <item id="WinXpHome"><include item="WinXPPersonal"/></item>
- <item id="WinXpProfessional"><include item="WinXPPro"/></item>
- <item id="Win2003Server"><include item="WinXPSvr"/></item>
- <item id="NETCF"><include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/></item>
- <!-- Platform Notes -->
-
- <item id="Platforms">Platforms</item>
- <!-- Platforms Information -->
- <item id="developmentPlatformsLayout">
- <p/>
- <span>
- The .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.
- </span>
- </item>
-
- <!-- inserted boilerplate -->
- <item id="runningHeaderText">.NET Framework Class 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">The non-obsolete alternative is {0}.</item>
- <item id="obsoleteRed"><font color="red"><b>Obsolete. </b></font></item>
- <item id="ObsoleteBoilerPlate">
- <font color="red"><b>NOTE: This API is now obsolete.</b></font>
- </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">The <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute" prefer-overload="true" /> attribute applied to this <include item="{0}"/> has the following <referenceLink target="P:System.Security.Permissions.HostProtectionAttribute.Resources" prefer-overload="true" /> property value: {1}. The <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute" prefer-overload="true" /> does not affect desktop applications (which are typically started by double-clicking an icon, typing a command, or entering a URL in a browser). For more information, see the <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute" prefer-overload="true" /> class or <conceptualLink target="7dfa36b4-e773-4c75-a3ff-ff1af3ce4c4f" />.</item>
- <item id="classLower">class</item>
- <item id="delegateLower">delegate</item>
- <item id="structureLower">structure</item>
- <item id="interfaceLower">interface</item>
- <item id="enumerationLower">enumeration</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="pubClassAltText">Public class</item>
- <item id="pubStructureAltText">Public structure</item>
- <item id="pubInterfaceAltText">Public interface</item>
- <item id="pubDelegateAltText">Public delegate</item>
- <item id="pubEnumerationAltText">Public enumeration</item>
- <item id="protClassAltText">Protected class</item>
- <item id="protStructureAltText">Protected structure</item>
- <item id="protInterfaceAltText">Protected interface</item>
- <item id="protDelegateAltText">Protected delegate</item>
- <item id="protEnumerationAltText">Protected enumeration</item>
- <item id="privClassAltText">Private class</item>
- <item id="privStructureAltText">Private structure</item>
- <item id="privInterfaceAltText">Private interface</item>
- <item id="privDelegateAltText">Private delegate</item>
- <item id="privEnumerationAltText">Private enumeration</item>
-
- <item id="pubConstructorAltText">Public constructor</item>
- <item id="pubMethodAltText">Public method</item>
- <item id="pubFieldAltText">Public field</item>
- <item id="pubPropertyAltText">Public property</item>
- <item id="pubEventAltText">Public event</item>
- <item id="pubOperatorAltText">Public operator</item>
- <item id="pubAttachedPropertyAltText">Public attached property</item>
- <item id="pubAttachedEventAltText">Public attached event</item>
- <item id="protConstructorAltText">Protected constructor</item>
- <item id="protMethodAltText">Protected method</item>
- <item id="protFieldAltText">Protected field</item>
- <item id="protPropertyAltText">Protected property</item>
- <item id="protEventAltText">Protected event</item>
- <item id="protOperatorAltText">Protected operator</item>
- <item id="protAttachedPropertyAltText">Protected attached property</item>
- <item id="protAttachedEventAltText">Protected attached event</item>
- <item id="privConstructorAltText">Private constructor</item>
- <item id="privMethodAltText">Private method</item>
- <item id="privFieldAltText">Private field</item>
- <item id="privPropertyAltText">Private property</item>
- <item id="privEventAltText">Private event</item>
- <item id="privOperatorAltText">Private operator</item>
- <item id="privtAttachedPropertyAltText">Private attached property</item>
- <item id="privAttachedEventAltText">Private attached event</item>
- <item id="staticAltText">Static member</item>
-
- <!-- language filter -->
- <item id="languageFilter">Language Filter: {0}</item>
- <item id="all">All</item>
- <item id="multiple">Multiple</item>
- <item id="VisualBasic">Visual Basic</item>
- <item id="VBScript">Visual Basic Script</item>
- <item id="CSharp">C#</item>
- <item id="ManagedCPlusPlus">Visual C++</item>
- <item id="JSharp">J#</item>
- <item id="JScript">JScript</item>
- <item id="xmlLang">Xml</item>
- <item id="html">Html</item>
- <item id="visualbasicANDcsharp"><include item="VisualBasic"/> and <include item="CSharp"/></item>
- <item id="other"></item>
- <item id="XAML">XAML</item>
- <item id="usage">Usage</item>
-
- <item id="VisualBasicDeclaration"><include item="VisualBasic"/> (Declaration)</item>
- <item id="VisualBasicUsage"><include item="VisualBasic"/> (<include item="usage"/>)</item>
- <!-- labels for links at the top of the All Members topic -->
- <item id="constructorGroup">Constructors</item>
- <item id="methodGroup">Methods</item>
- <item id="propertyGroup">Properties</item>
- <item id="eventGroup">Events</item>
- <item id="fieldGroup">Fields</item>
- <item id="operatorGroup">Operators</item>
- <item id="attachedPropertyGroup">Attached Properties</item>
- <item id="attachedEventGroup">Attached Events</item>
- <item id="Group"></item>
- <item id="collapseAll">Collapse All</item>
- <item id="expandAll">Expand All</item>
-
- <item id="Example">Example</item>
- <item id="SeeAlsoNamespaceLinkText">{0} Namespace</item>
- <item id="SeeAlsoTypeLinkText">{0} <include item="{1}SubGroup"/></item>
- <item id="SeeAlsoMembersLinkText">{0} Members</item>
-
- <item id="SubGroup"></item>
- <item id="classSubGroup">Class</item>
- <item id="structureSubGroup">Structure</item>
- <item id="interfaceSubGroup">Interface</item>
- <item id="delegateSubGroup">Delegate</item>
- <item id="enumerationSubGroup">Enumeration</item>
-
- <item id="membersOptionsShowAll">Members Options: Show All</item>
- <item id="membersOptionsFiltered">Members Options: Filtered</item>
- <item id="includeInheritedMembers">Include Inherited Members</item>
- <item id="includeProtectedMembers">Include Protected Members</item>
- <item id="netcfMembersOnly">.NET Compact Framework Members Only</item>
- <item id="netXnaMembersOnly">XNA Framework Members Only</item>
-
- <item id="requirementsNamespaceLayout">
- <b>Namespace:</b>
- </item>
-
- <item id="requirementsPlatformsLayout">
- <b>Platforms:</b> {0}
- </item>
-
- <item id="requirementsAssembliesLabel">
- <b>Assemblies:</b>
- </item>
-
- <item id="requirementsAssemblyLabel">
- <b>Assembly:</b>
- </item>
-
- <item id="assemblyNameAndModule">{0} (in {1}.{2})</item>
-
- <item id="requirementsAssemblyLayout">
- <b>Assembly:</b> {0} (in {1}.dll)
- </item>
-
- <!-- Used for Version Information Section -->
- <item id="supportedIn_1">Supported in: {0}</item>
- <item id="supportedIn_2">Supported in: {0}, {1}</item>
- <item id="supportedIn_3">Supported in: {0}, {1}, {2}</item>
- <item id="supportedIn_4">Supported in: {0}, {1}, {2}, {3}</item>
- <item id="supportedIn_5">Supported in: {0}, {1}, {2}, {3}, {4}</item>
- <item id="obsoleteWarning">Obsolete (compiler warning) in {0}</item>
- <item id="obsoleteError">Obsolete (does not compile) in {0} and later</item>
-
-
- <item id="ReturnValue">Return Value</item>
- <item id="PropertyValue">Property Value</item>
- <item id="FieldValue">Field Value</item>
-
- <item id="derivedClasses">Derived Classes</item>
- <item id="CompactFrameworkAltText">Supported by the .NET Compact Framework</item>
- <item id="XNAFrameworkAltText">Supported by the XNA Framework</item>
- <item id="ExplicitInterfaceImplementation">Explicit Interface Implementations</item>
- <item id="ExplicitInterfaceAltText">Explicit interface implemetation</item>
-
- <!-- boilerplate intro to member list tables -->
- <item id="genericExposedMembersTableText">The {0} generic type exposes the following <include item="{1}"/>.</item>
- <item id="exposedMembersTableText">The {0} type exposes the following <include item="{1}"/>.</item>
- <item id="membersSubgroup">members</item>
- <item id="MethodsSubgroup">methods</item>
- <item id="PropertiesSubgroup">properties</item>
- <item id="EventsSubgroup">events</item>
- <item id="FieldsSubgroup">fields</item>
- <item id="OperatorsSubgroup">operators</item>
- <item id="AttachedPropertiesSubgroup">attached properties</item>
- <item id="AttachedEventsSubgroup">attached events</item>
-
- <item id="dependencyPropertyInfoHeading">Dependency Property Information</item>
- <item id="routedEventInfoHeading">Routed Event Information</item>
- <item id="mrefTaskMoreCodeHeading">More Code</item>
-
- <item id="Overloaded">Overloaded. </item>
- <item id="defaultNamespace">( Default Namespace )</item>
-
- <!-- First line of a param or retval description is a link to the type of the param or retval.
- This boilerplate is used if the type is a type parameter of the member's type. -->
- <item id="typeLinkToTypeParameter"><b>{0}</b> type parameter of {1}.</item>
-
- <!-- Internal only Boilerplate text -->
- <item id="internalOnly">This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.</item>
- <item id="infraStructure">Infrastructure. </item>
-
- <!-- platform names that appear in the Platforms section on mref type and member pages
- The id values must be in sync with the platform/@name values used in the manifold platformFilters.xml filter files.
- These values are also used in <platformNotes>
- -->
- <item id="Win98">Windows 98</item>
- <item id="WinME">Windows Millennium Edition</item>
- <item id="WinSvr2000">Windows Server 2000 SP4</item>
- <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
- <item id="WinXP">Windows XP SP2</item>
- <item id="WindowsCE">Windows CE</item>
- <item id="PocketPC">Windows Mobile for Pocket PC</item>
- <item id="SmartPhone">Windows Mobile for Smartphone</item>
- <item id="WinSvr2003">Windows Server 2003</item>
- <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
- <item id="WinXPSE">Windows XP Starter Edition</item>
- <item id="WinVista">Windows Vista</item>
-
- <!-- framework ids:
- These shared content item strings are used for the headings in the Version Information section
- These ids must be in sync with the ids used in the config file for VersionBuilder.
- -->
- <item id="netfw">.NET Framework</item>
- <item id="netcfw">.NET Compact Framework</item>
- <item id="xnafw">XNA Framework</item>
-
- <!-- framework version ids
- These shared content item strings are used in the Version Information section.
- These ids must be in sync with the ids used in the config file for VersionBuilder.
- The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
- -->
- <item id="netfw35">3.5</item>
- <item id="netfw30">3.0</item>
- <item id="netfw20">2.0</item>
- <item id="netfw11">1.1</item>
- <item id="netfw10">1.0</item>
-
- <item id="netcfw35">3.5</item>
- <item id="netcfw20">2.0</item>
- <item id="netcfw10">1.0</item>
-
- <item id="xnafw10">1.0</item>
-
- <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
- <item id="xamlXmlnsRequirementsLayout"><b>XMLNS for XAML:</b> {0}</item>
- <item id="unmappedXamlXmlns">Not mapped to an xmlns.</item>
-
-</content>
diff --git a/tools/Sandcastle/Presentation/hana/Content/shared_content.xml b/tools/Sandcastle/Presentation/hana/Content/shared_content.xml
deleted file mode 100644
index 57ed291..0000000
--- a/tools/Sandcastle/Presentation/hana/Content/shared_content.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-<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="artPath">../art/{0}</item>
- <item id="stylePath">../styles/{0}</item>
-
- <!-- locale -->
- <item id="locale">en-us</item>
-
- <item id="desktopTechnologyAttribute">kbNetFramewk</item>
- <item id="netcfTechnologyAttribute">kbNetCompactFramewk</item>
- <item id="netcfDocSetAttribute">NetCompactFramework</item>
-
- <!-- header -->
- <item id="header"><font color="DarkGray">[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]</font>
- <p/> </item>
-
- <!-- alert titles -->
- <item id="tipTitle"><b>Tip:</b></item>
- <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>
-
- <!-- alert alt text -->
- <item id="tipAltText">Tip</item>
- <item id="cautionAltText">Caution note</item>
- <item id="securityAltText">Security note</item>
- <item id="noteAltText">Note</item>
- <item id="importantAltText">Important note</item>
- <item id="visualBasicAltText">Visual Basic note</item>
- <item id="visualC#AltText">C# note</item>
- <item id="visualC++AltText">C++ note</item>
- <item id="visualJ#AltText">J# note</item>
-
- <!-- code labels -->
- <item id="CSharpLabel">C#</item>
- <item id="VisualBasicLabel">Visual Basic</item>
- <item id="VisualBasicUsageLabel">Visual Basic Usage</item>
- <item id="ManagedCPlusPlusLabel">Visual C++</item>
- <item id="JSharpLabel">J#</item>
- <item id="JScriptLabel">JScript</item>
- <item id="XAMLLabel">XAML</item>
- <item id="declarationLabel">Declaration</item>
- <item id="usageLabel">Usage</item>
-
- <item id="SeeAlso">See Also</item>
- <item id="SeeAlsoTasks">Tasks</item>
- <item id="SeeAlsoReference">Reference</item>
- <item id="SeeAlsoConcepts">Concepts</item>
- <item id="SeeAlsoOtherResources">Other Resources</item>
-
- <!-- tool tips -->
- <item id="collapseAllImage">CollapseAll image</item>
- <item id="expandAllImage">ExpandAll image</item>
- <item id="dropDownImage">DropDown image</item>
- <item id="dropDownHoverImage">DropDownHover image</item>
- <item id="collapseImage">Collapse image</item>
- <item id="expandImage">Expand Image</item>
- <item id="copyHoverImage">CopyHover image</item>
- <item id="copyImage">Copy image</item>
- <item id="footerImage">Footer image</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>
-
- <item id="copyCode">Copy Code</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>
-
- <item id="remarksTitle">Remarks</item>
-
- <!-- transforms insert K Index Technology qualifiers based on a conceptual topic's //metadata/attribute[@name='DocSet'] value />-->
- <!-- If you add new docset values, the item/@id must = "kIndexTechTag_" + the lower-case DocSet name. -->
- <item id="kIndexTermWithTechQualifier">{0}<include item="kIndexTechTag_{1}" />{2}</item>
- <item id="kIndexTechTag_avalon"> [Windows Presentation Foundation]</item>
- <item id="kIndexTechTag_wpf"> [Windows Presentation Foundation]</item>
- <item id="kIndexTechTag_wcf"> [Windows Communication Foundation]</item>
- <item id="kindextechtag_windowsforms"> [Windows Forms]</item>
-
- <!-- values for MSHelp:Attr Name="TopicType" -->
- <item id="TT_developerConceptualDocument">kbArticle</item>
- <item id="TT_developerErrorMessageDocument">kbRef</item>
- <item id="TT_developerGlossaryDocument">kbRef</item>
- <item id="TT_developerHowToDocument">kbHowTo</item>
- <item id="TT_developerOrientationDocument">kbOrient</item>
- <item id="TT_developerReferenceWithSyntaxDocument">kbSyntax</item>
- <item id="TT_developerReferenceWithoutSyntaxDocument">kbRef</item>
- <item id="TT_developerSampleDocument">kbSampleProd</item>
- <item id="TT_developerSDKTechnologyOverviewArchitectureDocument">kbArticle</item>
- <item id="TT_developerSDKTechnologyOverviewCodeDirectoryDocument">kbOrient</item>
- <item id="TT_developerSDKTechnologyOverviewOrientationDocument">kbOrient</item>
- <item id="TT_developerSDKTechnologyOverviewScenariosDocument">kbHowTo</item>
- <item id="TT_developerSDKTechnologyOverviewTechnologySummaryDocument">kbRef</item>
- <item id="TT_developerTroubleshootingDocument">kbHowTo</item>
- <item id="TT_developerUIReferenceDocument">kbRef</item>
- <item id="TT_developerWalkthroughDocument">kbHowTo</item>
- <item id="TT_developerWhitePaperDocument">kbArticle</item>
- <item id="TT_developerXmlReference">kbSyntax</item>
- <item id="TT_ManagedReference">apiref</item>
-
- <item id="top">Top</item>
-
- <!-- footer -->
-
- <item id="footer">
- <p/>
- <span>
- Send
- <a>
- <includeAttribute name="href" item="MailToLink">
- <parameter>{0}</parameter>
- <parameter>{1}</parameter>
- </includeAttribute>
- comments
- </a>
- about this topic to Microsoft.
- </span>
- </item>
-
- <item id="MailToLink">javascript:sendfeedback('Documentation Feedback (Sandcastle CTP): ', '{1}', '');</item>
-
-</content>
diff --git a/tools/Sandcastle/Presentation/hana/Content/token_content.xml b/tools/Sandcastle/Presentation/hana/Content/token_content.xml
deleted file mode 100644
index 1ccae34..0000000
--- a/tools/Sandcastle/Presentation/hana/Content/token_content.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<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>
diff --git a/tools/Sandcastle/Presentation/hana/DocModel.ps1 b/tools/Sandcastle/Presentation/hana/DocModel.ps1
deleted file mode 100644
index dade8e2..0000000
--- a/tools/Sandcastle/Presentation/hana/DocModel.ps1
+++ /dev/null
@@ -1,22 +0,0 @@
-
-# Sandcastle build script overrides for vsorcas doc model.
-
-. $DxRoot\Presentation\Shared\SharedDocModel.ps1
-
-function PostProcessReflectionData($sourceFile, $targetFile) {
- WriteInfo "Post processing reflection data."
- &$XslTransform $sourceFile `
- /xsl:$DxRoot\ProductionTransforms\ApplyVSDocModel.xsl `
- /xsl:$DxRoot\ProductionTransforms\AddFriendlyFilenames.xsl `
- /arg:IncludeAllMembersTopic=false `
- /arg:IncludeInheritedOverloadTopics=true `
- /out:$targetFile
-}
-
-function CreateToc {
- WriteInfo "Creating TOC."
- &$XslTransform $TempDir\ReflectionData\targets.xml `
- /xsl:$DxRoot\ProductionTransforms\createvstoc.xsl `
- /out:$TempDir\toc.xml
-}
-
diff --git a/tools/Sandcastle/Presentation/hana/Scripts/CommonUtilities.js b/tools/Sandcastle/Presentation/hana/Scripts/CommonUtilities.js
deleted file mode 100644
index 431eb96..0000000
--- a/tools/Sandcastle/Presentation/hana/Scripts/CommonUtilities.js
+++ /dev/null
@@ -1,314 +0,0 @@
-function codeBlockHandler(id, data, value, curvedTabCollections, tabCollections, blockCollections)
-{
- var names = value.split(' ');
-
- //Blocks
- for(var blockCount = 0; blockCount < blockCollections.length; blockCount++)
- {
- toggleStyle(blockCollections[blockCount], 'x-lang', names[0], 'display', 'block', 'none');
- }
-
- //curvedTabs
- for(var curvedTabCount = 0; curvedTabCount < curvedTabCollections.length; curvedTabCount++)
- {
- curvedToggleClass(curvedTabCollections[curvedTabCount], 'x-lang',names[0]);
- }
-
- //Tabs
- for(var tabCount = 0; tabCount < tabCollections.length; tabCount++)
- {
- toggleClass(tabCollections[tabCount], 'x-lang', names[0], 'activeTab', 'tab');
- }
-}
-
-function styleSheetHandler(id, data, value, curvedTabCollections, tabCollections, blockCollections)
-{
- var names = value.split(' ');
- var name = names[1];
- toggleInlineStyle(name);
-}
-
-function persistenceHandler(id, data, value, curvedTabCollections, tabCollections, blockCollections)
-{
- data.set('lang', value);
- data.save();
-}
-
-function languageHandler(id, data, value, curvedTabCollections, tabCollections, blockCollections)
-{
- var names = value.split(' ');
- toggleLanguage(id, 'x-lang', names[0]);
-}
-
-toggleInlineStyle = function(name)
-{
- var sd = getStyleDictionary();
- if (name == 'cs') {
- sd['span.cs'].display = 'inline';
- sd['span.vb'].display = 'none';
- sd['span.cpp'].display = 'none';
- } else if (name == 'vb') {
- sd['span.cs'].display = 'none';
- sd['span.vb'].display = 'inline';
- sd['span.cpp'].display = 'none';
- } else if (name == 'cpp') {
- sd['span.cs'].display = 'none';
- sd['span.vb'].display = 'none';
- sd['span.cpp'].display = 'inline';
- } else {
- }
-}
-
-toggleLanguage = function(id, data, value)
-{
- var tNodes = getChildNodes('languageFilterToolTip');
-
- for(var labelCount=0; labelCount < tNodes.length; labelCount++)
- {
- if(tNodes[labelCount].tagName != 'IMG' && tNodes[labelCount].tagName != '/IMG')
- {
- if(tNodes[labelCount].getAttribute('id').indexOf(value) >= 0)
- {
- tNodes[labelCount].style['display'] = 'inline';
- }
- else
- {
- tNodes[labelCount].style['display'] = 'none';
- }
- }
- }
-
- var languageNodes = getChildNodes(id);
-
- for(var languageCount=0; languageCount < languageNodes.length; languageCount++)
- {
- if(languageNodes[languageCount].tagName == 'DIV');
- {
- if(languageNodes[languageCount].getAttribute('id'))
- {
- var imageNodes = getChildNodes(languageNodes[languageCount].getAttribute('id'))[0];
- if (languageNodes[languageCount].getAttribute('id') == value)
- {
- imageNodes.src = radioSelectImage.src;
- }
- else
- {
- imageNodes.src = radioUnSelectImage.src;
- }
- }
- }
- }
-}
-
-toggleStyle = function(blocks, attributeName, attributeValue, styleName, trueStyleValue, falseStyleValue)
-{
- var blockNodes = getChildNodes(blocks);
-
- for(var blockCount=0; blockCount < blockNodes.length; blockCount++)
- {
- var blockElement = blockNodes[blockCount].getAttribute(attributeName);
- if (blockElement == attributeValue) blockNodes[blockCount].style[styleName] = trueStyleValue;
- else blockNodes[blockCount].style[styleName] = falseStyleValue;
- }
-}
-
-curvedToggleClass = function(curvedTabs, attributeName, attributeValue)
-{
- var curvedTabNodes = getChildNodes(curvedTabs);
-
- for(var curvedTabCount=0; curvedTabCount < curvedTabNodes.length; curvedTabCount++)
- {
- var curvedTabElement = curvedTabNodes[curvedTabCount].getAttribute(attributeName);
- if (curvedTabElement == attributeValue)
- {
- if (curvedTabNodes[curvedTabCount].className == 'leftTab' || curvedTabNodes[curvedTabCount].className == 'activeLeftTab')
- {
- curvedTabNodes[curvedTabCount].className = 'activeLeftTab';
- }
- else if(curvedTabNodes[curvedTabCount].className == 'rightTab' || curvedTabNodes[curvedTabCount].className == 'activeRightTab')
- {
- curvedTabNodes[curvedTabCount].className = 'activeRightTab';
- }
- else if(curvedTabNodes[curvedTabCount].className == 'middleTab' || curvedTabNodes[curvedTabCount].className == 'activeMiddleTab')
- {
- curvedTabNodes[curvedTabCount].className = 'activeMiddleTab';
- }
- }
- else
- {
- if (curvedTabNodes[curvedTabCount].className == 'leftTab' || curvedTabNodes[curvedTabCount].className == 'activeLeftTab')
- {
- curvedTabNodes[curvedTabCount].className = 'leftTab';
- }
- else if(curvedTabNodes[curvedTabCount].className == 'rightTab' || curvedTabNodes[curvedTabCount].className == 'activeRightTab')
- {
- curvedTabNodes[curvedTabCount].className = 'rightTab';
- }
- else if(curvedTabNodes[curvedTabCount].className == 'middleTab' || curvedTabNodes[curvedTabCount].className == 'activeMiddleTab')
- {
- curvedTabNodes[curvedTabCount].className = 'middleTab';
- }
- }
- }
-}
-
-toggleClass = function(tabs, attributeName, attributeValue, trueClass, falseClass)
-{
- var tabNodes = getChildNodes(tabs);
-
- for(var tabCount=0; tabCount < tabNodes.length; tabCount++)
- {
- var tabElement = tabNodes[tabCount].getAttribute(attributeName);
-
- if (tabElement == attributeValue)
- {
- if(tabNodes[tabCount].className == 'leftGrad' || tabNodes[tabCount].className == 'activeLeftGrad')
- {
- tabNodes[tabCount].className = 'activeLeftGrad';
- }
- else if (tabNodes[tabCount].className == 'rightGrad' || tabNodes[tabCount].className == 'activeRightGrad')
- {
- tabNodes[tabCount].className = 'activeRightGrad';
- }
- else tabNodes[tabCount].className = trueClass;
- }
- else
- {
- if(tabNodes[tabCount].className == 'leftGrad' || tabNodes[tabCount].className == 'activeLeftGrad')
- {
- tabNodes[tabCount].className = 'leftGrad';
- }
- else if (tabNodes[tabCount].className == 'rightGrad' || tabNodes[tabCount].className == 'activeRightGrad')
- {
- tabNodes[tabCount].className = 'rightGrad';
- }
- else tabNodes[tabCount].className = falseClass;
- }
- }
-}
-
-getChildNodes = function(node)
-{
- var element = document.getElementById(node);
-
- // get the children
- if (element.tagName == 'TABLE')
- {
- // special handling for tables
- var bodies = element.tBodies;
- for(i = 0; i < bodies.length; i++)
- {
- var nodes = bodies[i].rows;
- return nodes;
- }
- }
- else
- {
- // all other cases
- var nodes = element.childNodes;
- return nodes;
- }
-}
-
-process = function(list, processFunction)
-{
- var listNodes = getChildNodes(list);
-
- for(var i=0; i < listNodes.length; i++)
- {
- var listElement = listNodes[i];
- processFunction(listElement);
- }
-}
-
-function getStyleDictionary() {
- var styleDictionary = new Array();
-
- // iterate through stylesheets
- var sheets = document.styleSheets;
-
- for(var i=0; i<sheets.length;i++) {
- var sheet = sheets[i];
-
- // Ignore sheets at ms-help Urls
- if (sheet.href.substr(0,8) == 'ms-help:') continue;
-
- // get sheet rules
- var rules = sheet.cssRules;
-
- if (rules == null) rules = sheet.rules;
-
- // iterate through rules
- for(j=0; j<rules.length; j++) {
- var rule = rules[j];
-
- // Ignore ones that aren't defined
- if(rule.selectorText == null)
- continue;
-
- // add rule to dictionary
- styleDictionary[rule.selectorText.toLowerCase()] = rule.style;
- }
- }
-
- return(styleDictionary);
-}
-
-function toggleCheck(imageElement)
-{
- if(imageElement.src == checkBoxSelectImage.src)
- {
- imageElement.src = checkBoxUnSelectImage.src;
- return false;
- }
- else
- {
- imageElement.src = checkBoxSelectImage.src;
- return true;
- }
-}
-
-function mouseOverCheck(imageElement, selected, unselected, selected_hover, unselected_hover)
-{
- if(imageElement.src == selected.src)
- {
- imageElement.src = selected_hover.src;
- }
- else if(imageElement.src == unselected.src)
- {
- imageElement.src = unselected_hover.src;
- }
-}
-
-
-function mouseOutCheck(imageElement, selected, unselected, selected_hover, unselected_hover)
-{
- if(imageElement.src == selected_hover.src)
- {
- imageElement.src = selected.src;
- }
- else if(imageElement.src == unselected_hover.src)
- {
- imageElement.src = unselected.src;
- }
-}
-
-function toggleSelect(imageElement, section)
-{
- if(imageElement.src == twirlSelectImage.src)
- {
- imageElement.src = twirlUnSelectImage.src;
- section.style['display'] = 'none';
- }
- else
- {
- imageElement.src = twirlSelectImage.src;
- section.style['display'] = 'block';
- }
-}
-
-
-
-
-
-
diff --git a/tools/Sandcastle/Presentation/hana/Scripts/DataStore.js b/tools/Sandcastle/Presentation/hana/Scripts/DataStore.js
deleted file mode 100644
index 12e072c..0000000
--- a/tools/Sandcastle/Presentation/hana/Scripts/DataStore.js
+++ /dev/null
@@ -1,116 +0,0 @@
-// cookie data store
-function DataStore(name)
-{
- this.name = name;
- this.load();
-}
-
-DataStore.prototype.load = function ()
-{
- // create a key/value store
- this.language = 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.language[key] = value;
- }
- }
-
-}
-
-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 removeCookie(name)
-{
- setCookie(name, "", -1);
-}
-
-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);
-}
-
-DataStore.prototype.set = function(key, value)
-{
- this.language[key] = value;
-}
-
-DataStore.prototype.get = function(key)
-{
- return(this.language[key]);
-}
-
-DataStore.prototype.clear = function ()
-{
- this.language = new Object();
-}
-
-DataStore.prototype.save = function ()
-{
- // prepare a cookie string
- var text = "";
-
- // construct the string
- for (var key in this.language)
- {
- var datum = key + "=" + this.language[key];
- text = text + datum + ";";
- }
-
- // set it
- setCookie(this.name, text);
-}
-
-DataStore.prototype.count = function()
-{
- var i = 0;
- for (var key in this.data)
- {
- i++;
- }
- return(i);
-}
- \ No newline at end of file
diff --git a/tools/Sandcastle/Presentation/hana/Scripts/Dropdown.js b/tools/Sandcastle/Presentation/hana/Scripts/Dropdown.js
deleted file mode 100644
index d4f1fe0..0000000
--- a/tools/Sandcastle/Presentation/hana/Scripts/Dropdown.js
+++ /dev/null
@@ -1,56 +0,0 @@
-
- // Dropdown menu control
-
- function Dropdown(activatorId, dropdownId) {
-
- // store activator and dropdown elements
- this.activator = document.getElementById(activatorId);
- this.dropdown = document.getElementById(dropdownId);
-
- // wire up show/hide events
- registerEventHandler(this.activator,'mouseover', getInstanceDelegate(this, "show"));
- registerEventHandler(this.activator,'mouseout', getInstanceDelegate(this, "requestHide"));
- registerEventHandler(this.dropdown,'mouseover', getInstanceDelegate(this, "show"));
- registerEventHandler(this.dropdown,'mouseout', getInstanceDelegate(this, "requestHide"));
-
- // fix visibility and position
- this.dropdown.style.visibility = 'hidden';
- this.dropdown.style.position = 'absolute';
- this.reposition(null);
-
- // wire up repositioning event
- registerEventHandler(window, 'resize', getInstanceDelegate(this, "reposition"));
-
-
- }
-
- Dropdown.prototype.show = function(e) {
- clearTimeout(this.timer);
- this.dropdown.style.visibility = 'visible';
- }
-
- Dropdown.prototype.hide = function(e) {
- this.dropdown.style.visibility = 'hidden';
- }
-
- Dropdown.prototype.requestHide = function(e) {
- this.timer = setTimeout( getInstanceDelegate(this, "hide"), 250);
- }
-
- Dropdown.prototype.reposition = function(e) {
-
- // get position of activator
- var offsetLeft = 0;
- var offsetTop = 0;
- var offsetElement = this.activator;
- while (offsetElement) {
- offsetLeft += offsetElement.offsetLeft;
- offsetTop += offsetElement.offsetTop;
- offsetElement = offsetElement.offsetParent;
- }
-
- // set position of dropdown relative to it
- this.dropdown.style.left = offsetLeft;
- this.dropdown.style.top = offsetTop + this.activator.offsetHeight;
-
- }
diff --git a/tools/Sandcastle/Presentation/hana/Scripts/EventUtilities.js b/tools/Sandcastle/Presentation/hana/Scripts/EventUtilities.js
deleted file mode 100644
index 1828a11..0000000
--- a/tools/Sandcastle/Presentation/hana/Scripts/EventUtilities.js
+++ /dev/null
@@ -1,23 +0,0 @@
-
- // 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);
- } );
- }
diff --git a/tools/Sandcastle/Presentation/hana/Scripts/LanguageFilter.js b/tools/Sandcastle/Presentation/hana/Scripts/LanguageFilter.js
deleted file mode 100644
index c5b75f9..0000000
--- a/tools/Sandcastle/Presentation/hana/Scripts/LanguageFilter.js
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
-
-function Selector2 (id, tag, attribute) {
- this.root = document.getElementById(id);
- this.elements = new Array();
- this.values = new Array();
- this.registerChildren(root, attribute);
-
- this.handlers = new Array();
-}
-
-Selector2.prototype.registerChildren(parent, tag, attribute) {
- var children = parent.childNodes;
- for (var i = 0; i<children.length; i++) {
- var child = children[i];
- if (child.nodeType == 1) {
- var value = child.getAttribute(attribute);
- if (value) {
- this.elements.add(child);
- this.values.add(value);
- }
- this.registerChildren(child, tag, attribute);
- }
- }
-}
-
-Selector2.prototype.registerHandler(handler) {
- this.handlers.add(handler);
-}
-
-Selector2.prototype.select(value) {
- for (var i=0; i<handlers.length; i++) {
- this.handlers[i](this, value);
- }
-}
-*/
-
-function Selector(id)
-{
- this.selectorHandlers = new Array();
- this.curvedTabCollections = new Array();
- this.tabCollections = new Array();
- this.blockCollections = new Array();
- this.id = id;
-}
-
-Selector.prototype.register=function(handler)
-{
- this.selectorHandlers.push(handler);
-}
-
-Selector.prototype.registerTabbedArea = function(curvedTabCollection, tabCollection, blockCollection)
-{
- this.curvedTabCollections.push(curvedTabCollection);
- this.tabCollections.push(tabCollection);
- this.blockCollections.push(blockCollection);
-}
-
-Selector.prototype.changeLanguage = function(data, name, style)
-{
-
- var value= name + ' ' + style;
-
- for(var handler in this.selectorHandlers)
- {
- this.selectorHandlers[handler](this.id, data, value, this.curvedTabCollections, this.tabCollections, this.blockCollections);
- }
-}
-
-Selector.prototype.select = function(data)
-{
- var value = data.get('lang');
-
- if (value == null) return;
- var names = value.split(' ');
-
- var nodes = getChildNodes(this.id);
-
- for( var i=0; i<nodes.length; i++)
- {
- if(nodes[i].getAttribute('id') == names[0])
- {
- styleSheetHandler(this.id, data, value, this.curvedTabCollections, this.tabCollections, this.blockCollections);
- codeBlockHandler(this.id, data, value, this.curvedTabCollections, this.tabCollections, this.blockCollections);
- languageHandler(this.id, data, value, this.curvedTabCollections, this.tabCollections, this.blockCollections);
- }
- }
-}
-
-
-
diff --git a/tools/Sandcastle/Presentation/hana/Scripts/MemberFilter.js b/tools/Sandcastle/Presentation/hana/Scripts/MemberFilter.js
deleted file mode 100644
index b6cd3ec..0000000
--- a/tools/Sandcastle/Presentation/hana/Scripts/MemberFilter.js
+++ /dev/null
@@ -1,110 +0,0 @@
-
- // 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;
-
- this.compact = true;
-
- this.xna = 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 != 6) return;
-
- // extract the relevent member attributes
- var subgroup = datum[0];
- var visibility = datum[1];
- var binding = datum[2];
- var origin = datum[3];
- var compactFramework = datum[4];
- var xnaFramework = datum[5];
-
-
- // 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[compactFramework] == false) show = false;
- if(this[xnaFramework] == 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";
- }
-
- }
-
- \ No newline at end of file
diff --git a/tools/Sandcastle/Presentation/hana/Scripts/SplitScreen.js b/tools/Sandcastle/Presentation/hana/Scripts/SplitScreen.js
deleted file mode 100644
index 3b04f0a..0000000
--- a/tools/Sandcastle/Presentation/hana/Scripts/SplitScreen.js
+++ /dev/null
@@ -1,29 +0,0 @@
-
- function SplitScreen (nonScrollingRegionId, scrollingRegionId) {
-
- // store references to the two regions
- this.nonScrollingRegion = document.getElementById(nonScrollingRegionId);
- this.scrollingRegion = document.getElementById(scrollingRegionId);
-
- // set the scrolling settings
- document.body.style.margin = "0px";
- document.body.style.overflow = "hidden";
- this.scrollingRegion.style.overflow = "auto";
-
- // fix the size of the scrolling region
- this.resize(null);
-
- // add an event handler to resize the scrolling region when the window is resized
- registerEventHandler(window, 'resize', getInstanceDelegate(this, "resize"));
-
- }
-
- SplitScreen.prototype.resize = function(e) {
- var height = document.body.clientHeight - this.nonScrollingRegion.offsetHeight;
- if (height > 0) {
- this.scrollingRegion.style.height = height;
- } else {
- this.scrollingRegion.style.height = 0;
- }
- this.scrollingRegion.style.width = document.body.clientWidth;
- }
diff --git a/tools/Sandcastle/Presentation/hana/Scripts/script_manifold.js b/tools/Sandcastle/Presentation/hana/Scripts/script_manifold.js
deleted file mode 100644
index e64a126..0000000
--- a/tools/Sandcastle/Presentation/hana/Scripts/script_manifold.js
+++ /dev/null
@@ -1,1594 +0,0 @@
-window.onload=LoadPage;
-window.onunload=Window_Unload;
-//window.onresize=ResizeWindow;
-window.onbeforeprint = set_to_print;
-window.onafterprint = reset_form;
-
-var vbDeclaration;
-var vbUsage;
-var csLang;
-var cLang;
-var jsharpLang;
-var jsLang;
-var xamlLang;
-
-var scrollPos = 0;
-
-var inheritedMembers;
-var protectedMembers;
-var netcfMembersOnly;
-var netXnaMembersOnly;
-
-// Initialize array of section states
-
-var sectionStates = new Array();
-var sectionStatesInitialized = false;
-
-//Hide sample source in select element
-function HideSelect()
-{
- var selectTags = document.getElementsByTagName("SELECT");
- var spanEles = document.getElementsByTagName("span");
- var i = 10;
- var m;
-
- if (selectTags.length != null || selectTags.length >0)
- {
- for (n=0; n<selectTags.length; n++)
- {
- var lan = selectTags(n).getAttribute("id").substr("10");
- //hide the first select that is on
- switch (lan.toLowerCase())
- {
- case "visualbasic":
- //alert(lan);
- for (m=0; m<spanEles.length; m++)
- {
- if (spanEles[m].getAttribute("codeLanguage") == "VisualBasic" && spanEles[m].style.display != "none" && n <i)
- i = n;
- }
- break;
- case "visualbasicdeclaration":
- for (m=0; m<spanEles.length; m++)
- {
- if (spanEles[m].getAttribute("codeLanguage") == "VisualBasicDeclaration" && spanEles[m].style.display != "none" && n < i)
- i = n;
- }
- break;
- case "visualbasicusage":
- //alert(lan);
- for (m=0; m<spanEles.length; m++)
- {
- if (spanEles[m].getAttribute("codeLanguage") == "VisualBasicUsage" && spanEles[m].style.display != "none" && n <i)
- i = n;
- }
- break;
- case "csharp":
- for (m=0; m<spanEles.length; m++)
- {
- if (spanEles[m].getAttribute("codeLanguage") == "CSharp" && spanEles[m].style.display != "none" && n < i)
- i = n;
- }
- break;
- case "managedcplusplus":
- for (m=0; m<spanEles.length; m++)
- {
- if (spanEles[m].getAttribute("codeLanguage") == "ManagedCPlusPlus" && spanEles[m].style.display != "none" && n < i)
- i = n;
- }
- break;
- case "jsharp":
- for (m=0; m<spanEles.length; m++)
- {
- if (spanEles[m].getAttribute("codeLanguage") == "JSharp" && spanEles[m].style.display != "none" && n < i)
- i = n;
- }
- break;
- case "jscript":
- for (m=0; m<spanEles.length; m++)
- {
- if (spanEles[m].getAttribute("codeLanguage") == "JScript" && spanEles[m].style.display != "none" && n < i)
- i = n;
- }
- break;
- case "xaml":
- //alert(lan);
- for (m=0; m<spanEles.length; m++)
- {
- if (spanEles[m].getAttribute("codeLanguage") == "XAML" && spanEles[m].style.display != "none" && n <i)
- i = n;
- }
- break;
- }
- }
- if (i != 10)
- selectTags(i).style.visibility = "hidden";
- }
- else{ alert("Not found!");}
-}
-
-function UnHideSelect()
-{
- var selectTags = document.getElementsByTagName("SELECT");
- var n;
-
- //un-hide all the select sections
- if (selectTags.length != null || selectTags.length >0)
- {
- for (n=0; n<selectTags.length; n++)
- selectTags(n).style.visibility = "visible";
- }
-}
-
-function InitSectionStates()
-{
- sectionStatesInitialized = true;
-
- if (globals == null) globals = GetGlobals();
-
- // SectionStates has the format:
- //
- // firstSectionId:state;secondSectionId:state;thirdSectionId:state; ... ;lastSectionId:state
- //
- // where state is either "e" (expanded) or "c" (collapsed)
-
- // get the SectionStates from the previous topics
- var states = Load("SectionStates");
-
- var start = 0;
- var end;
- var section;
- var state;
- var allCollapsed = false;
- // copy the previous section states to the sectionStates array for the current page
- if (states != null && states != "")
- {
- allCollapsed = true;
- while (start < states.length)
- {
- end = states.indexOf(":", start);
-
- section = states.substring(start, end);
-
- start = end + 1;
- end = states.indexOf(";", start);
- if (end == -1) end = states.length;
- state = states.substring(start, end);
- sectionStates[section] = state;
- allCollapsed = allCollapsed && (state == "c");
- start = end + 1;
- }
- }
-
- // now set the state for any section ids in the current document that weren't in previous
- var imgElements = document.getElementsByName("toggleSwitch");
- var i;
- for (i = 0; i < imgElements.length; ++i)
- sectionStates[imgElements[i].id] = GetInitialSectionState(imgElements[i].id, allCollapsed);
-}
-
-function GetInitialSectionState(itemId, allCollapsed)
-{
- // if the global state is "allCollapsed", set all section states to collapsed
- if (allCollapsed) return "c";
-
- // generic <section> node ids begin with "sectionToggle", so the same id can refer to different sections in different topics
- // we don't want to persist their state; set it to expanded
- if (itemId.indexOf("sectionToggle", 0) == 0) return "e";
-
- // the default state for new section ids is expanded
- if (sectionStates[itemId] == null) return "e";
-
- // otherwise, persist the passed in state
- return sectionStates[itemId];
-}
-
-var noReentry = false;
-
-function OnLoadImage(eventObj)
-{
- if (noReentry) return;
-
- if (!sectionStatesInitialized)
- InitSectionStates();
-
- var elem;
- if(document.all) elem = eventObj.srcElement;
- else elem = eventObj.target;
-
-
- if ((sectionStates[elem.id] == "e"))
- ExpandSection(elem);
- else if((sectionStates[elem.id] == "c"))
- CollapseSection(elem);
-}
-
-/*
-**********
-********** Begin
-**********
-*/
-
-function LoadPage()
-{
- // If not initialized, grab the DTE.Globals object
- if (globals == null) globals = GetGlobals();
-
- // show correct language
- LoadLanguages();
- LoadMembersOptions();
-
- Set_up_checkboxes();
-
- DisplayLanguages();
-
- DisplayFilteredMembers();
-
- ChangeMembersOptionsFilterLabel();
-
- if (!sectionStatesInitialized)
- InitSectionStates();
-
- SetCollapseAll();
-
-// ResizeWindow();
- // split screen
- var screen = new SplitScreen('header', 'mainSection');
-
- // filtering dropdowns
- if (document.getElementById('languageSpan') != null) {
- var languageMenu = new Dropdown('languageFilterToolTip', 'languageSpan');
- }
- if (document.getElementById('membersOptionsFilterToolTip') != null) {
- var languageMenu = new Dropdown('membersOptionsFilterToolTip', 'membersOptionsSpan');
- }
-
- var mainSection = document.getElementById("mainSection");
-
- // vs70.js did this to allow up/down arrow scrolling, I think
- try { mainSection.setActive(); } catch(e) { }
-
- //set the scroll position
- try{mainSection.scrollTop = scrollPos;}
- catch(e){}
-}
-
-function Window_Unload()
-{
- SaveLanguages();
- SaveMembersOptions();
- SaveSections();
-}
-
-/*
-function ResizeWindow()
-{
- if (document.body.clientWidth==0) return;
- var header = document.all.item("header");
- var mainSection = document.all.item("mainSection");
- if (mainSection == null) return;
-
-
- document.body.scroll = "no"
- mainSection.style.overflow= "auto";
- header.style.width= document.body.offsetWidth - 2;
- //mainSection.style.paddingRight = "20px"; // Width issue code
- mainSection.style.width= document.body.offsetWidth - 2;
- mainSection.style.top=0;
- if (document.body.offsetHeight > header.offsetHeight + 10)
- mainSection.style.height= document.body.offsetHeight - (header.offsetHeight + 2);
- else
- mainSection.style.height=0;
-
- try
- {
- mainSection.setActive();
- }
- catch(e)
- {
- }
-}
-*/
-
-function set_to_print()
-{
- //breaks out of divs to print
- var i;
-
- if (window.text)document.all.text.style.height = "auto";
-
- for (i=0; i < document.all.length; i++)
- {
- if (document.all[i].tagName == "body")
- {
- document.all[i].scroll = "yes";
- }
- if (document.all[i].id == "header")
- {
- document.all[i].style.margin = "0px 0px 0px 0px";
- document.all[i].style.width = "100%";
- }
- if (document.all[i].id == "mainSection")
- {
- document.all[i].style.overflow = "visible";
- document.all[i].style.top = "5px";
- document.all[i].style.width = "100%";
- document.all[i].style.padding = "0px 10px 0px 30px";
- }
- }
-}
-
-function reset_form()
-{
- //returns to the div nonscrolling region after print
- document.location.reload();
-}
-
-function Set_up_checkboxes()
-{
- var checkbox;
-
- checkbox = document.getElementById("vbDeclarationCheckbox");
- if(checkbox != null)
- {
- if(vbDeclaration == "on")
- checkbox.checked = true;
- else
- checkbox.checked = false;
- }
-
- checkbox = document.getElementById("vbUsageCheckbox");
- if(checkbox != null)
- {
- if(vbUsage == "on")
- checkbox.checked = true;
- else
- checkbox.checked = false;
- }
-
- checkbox = document.getElementById("csCheckbox");
- if(checkbox != null)
- {
- if(csLang == "on")
- checkbox.checked = true;
- else
- checkbox.checked = false;
- }
-
- checkbox = document.getElementById("cCheckbox");
- if(checkbox != null)
- {
- if(cLang == "on")
- checkbox.checked = true;
- else
- checkbox.checked = false;
- }
-
- checkbox = document.getElementById("jsharpCheckbox");
- if(checkbox != null)
- {
- if(jsharpLang == "on")
- checkbox.checked = true;
- else
- checkbox.checked = false;
- }
-
- checkbox = document.getElementById("jsCheckbox");
- if(checkbox != null)
- {
- if(jsLang == "on")
- checkbox.checked = true;
- else
- checkbox.checked = false;
- }
-
- checkbox = document.getElementById("xamlCheckbox");
- if(checkbox != null)
- {
- if(xamlLang == "on")
- checkbox.checked = true;
- else
- checkbox.checked = false;
- }
-
- checkbox = document.getElementById("inheritedCheckbox");
- if(checkbox != null)
- {
- if(inheritedMembers == "on")
- checkbox.checked = true;
- else
- checkbox.checked = false;
- }
-
- checkbox = document.getElementById("protectedCheckbox");
- if(checkbox != null)
- {
- if(protectedMembers == "on")
- checkbox.checked = true;
- else
- checkbox.checked = false;
- }
-
- checkbox = document.getElementById("netcfCheckbox");
- if(checkbox != null)
- {
- if(netcfMembersOnly == "on")
- checkbox.checked = true;
- else
- checkbox.checked = false;
- }
-
- checkbox = document.getElementById("netXnaCheckbox");
- if(checkbox != null)
- {
- if(netXnaMembersOnly == "on")
- checkbox.checked = true;
- else
- checkbox.checked = false;
- }
-}
-
-/*
-**********
-********** End
-**********
-*/
-
-
-/*
-**********
-********** Begin Language Filtering
-**********
-*/
-
-function SetLanguage(key)
-{
- var i = 0;
- if(vbDeclaration == "on")
- i++;
- if(vbUsage == "on")
- i++;
- if(csLang == "on")
- i++;
- if(cLang == "on")
- i++;
- if(jsharpLang == "on")
- i++;
- if(jsLang == "on")
- i++;
- if(xamlLang == "on")
- i++;
-
- if(key.id == "vbDeclarationCheckbox")
- {
- if(vbDeclaration == "on")
- {
- if(i == 1)
- {
- key.checked = true;
- return;
- }
- vbDeclaration = "off";
- }
- else
- vbDeclaration = "on";
- }
- if(key.id == "vbUsageCheckbox")
- {
- if(vbUsage == "on")
- {
- if(i == 1)
- {
- key.checked = true;
- return;
- }
-
- vbUsage = "off";
- }
- else
- vbUsage = "on";
- }
- if(key.id == "csCheckbox")
- {
- if(csLang == "on")
- {
- if(i == 1)
- {
- key.checked = true;
- return;
- }
-
- csLang = "off";
- }
- else
- csLang = "on";
- }
- if(key.id == "cCheckbox")
- {
- if(cLang == "on")
- {
- if(i == 1)
- {
- key.checked = true;
- return;
- }
-
- cLang = "off";
- }
- else
- cLang = "on";
- }
- if(key.id == "jsharpCheckbox")
- {
- if(jsharpLang == "on")
- {
- if(i == 1)
- {
- key.checked = true;
- return;
- }
-
- jsharpLang = "off";
- }
- else
- jsharpLang = "on";
- }
- if(key.id == "jsCheckbox")
- {
- if(jsLang == "on")
- {
- if(i == 1)
- {
- key.checked = true;
- return;
- }
-
- jsLang = "off";
- }
- else
- jsLang = "on";
- }
- if(key.id == "xamlCheckbox")
- {
- if(xamlLang == "on")
- {
- if(i == 1)
- {
- key.checked = true;
- return;
- }
-
- xamlLang = "off";
- }
- else
- xamlLang = "on";
- }
-
- DisplayLanguages();
-}
-
-function DisplayLanguages()
-{
- var spanElements = document.getElementsByTagName("span");
- var x = 0;
- if(vbDeclaration == "on")
- x++;
- if(vbUsage == "on")
- x++;
- if(csLang == "on")
- x++;
- if(cLang == "on")
- x++;
- if(jsharpLang == "on")
- x++;
- if(jsLang == "on")
- x++;
- if(xamlLang == "on")
- x++;
-
- var i;
- for(i = 0; i < spanElements.length; ++i)
- {
- if(spanElements[i].getAttribute("codeLanguage") != null)
- {
- if(spanElements[i].getAttribute("codeLanguage") == "VisualBasic")
- {
- if(vbDeclaration == "on" || vbUsage == "on")
- spanElements[i].style.display = "";
- else
- spanElements[i].style.display = "none";
- }
- if(spanElements[i].getAttribute("codeLanguage") == "VisualBasicDeclaration")
- {
-
- if(vbDeclaration == "on")
- spanElements[i].style.display = "";
- else{
-
- spanElements[i].style.display = "none";
- }
- }
- if(spanElements[i].getAttribute("codeLanguage") == "VisualBasicUsage")
- {
- if(vbUsage == "on")
- spanElements[i].style.display = "";
- else
- spanElements[i].style.display = "none";
- }
- if(spanElements[i].getAttribute("codeLanguage") == "CSharp")
- {
- if(csLang == "on")
- spanElements[i].style.display = "";
- else
- spanElements[i].style.display = "none";
- }
- if(spanElements[i].getAttribute("codeLanguage") == "ManagedCPlusPlus")
- {
- if(cLang == "on")
- spanElements[i].style.display = "";
- else
- spanElements[i].style.display = "none";
- }
- if(spanElements[i].getAttribute("codeLanguage") == "JSharp")
- {
- if(jsharpLang == "on")
- spanElements[i].style.display = "";
- else
- spanElements[i].style.display = "none";
- }
- if(spanElements[i].getAttribute("codeLanguage") == "JScript")
- {
- if(jsLang == "on")
- spanElements[i].style.display = "";
- else
- spanElements[i].style.display = "none";
- }
- if(spanElements[i].getAttribute("codeLanguage") == "XAML")
- {
- if(xamlLang == "on")
- spanElements[i].style.display = "";
- else
- spanElements[i].style.display = "none";
- }
-
- if(spanElements[i].getAttribute("codeLanguage") == "NotVisualBasicUsage")
- {
- if((x == 1) && (vbUsage == "on"))
- {
- spanElements[i].style.display = "none";
- }
- else
- {
- spanElements[i].style.display = "";
- }
- }
- }
- }
- ChangeLanguageFilterLabel();
-}
-
-function ChangeLanguageFilterLabel()
-{
- var i = 0;
- if(vbDeclaration == "on")
- i++;
- if(vbUsage == "on")
- i++;
- if(csLang == "on")
- i++;
- if(cLang == "on")
- i++;
- if(jsharpLang == "on")
- i++;
- if(jsLang == "on")
- i++;
- if(xamlLang == "on")
- i++;
-
- var labelElement;
-
- labelElement = document.getElementById("showAllLabel");
-
- if(labelElement == null)
- return;
-
- labelElement.style.display = "none";
-
- labelElement = document.getElementById("multipleLabel");
- labelElement.style.display = "none";
-
- labelElement = document.getElementById("vbLabel");
- labelElement.style.display = "none";
-
- labelElement = document.getElementById("csLabel");
- labelElement.style.display = "none";
-
- labelElement = document.getElementById("cLabel");
- labelElement.style.display = "none";
-
- labelElement = document.getElementById("jsharpLabel");
- labelElement.style.display = "none";
-
- labelElement = document.getElementById("jsLabel");
- labelElement.style.display = "none";
-
- labelElement = document.getElementById("xamlLabel");
- labelElement.style.display = "none";
-
- if(i == 7)
- {
- labelElement = document.getElementById("showAllLabel");
- labelElement.style.display = "inline";
- }
- else if ((i > 1) && (i < 7))
- {
- if((i == 2) && ((vbDeclaration == "on") && (vbUsage == "on")))
- {
- labelElement = document.getElementById("vbLabel");
- labelElement.style.display = "inline";
- }
- else
- {
- labelElement = document.getElementById("multipleLabel");
- labelElement.style.display = "inline";
- }
- }
- else if (i == 1)
- {
- if(vbDeclaration == "on" || vbUsage == "on")
- {
- labelElement = document.getElementById("vbLabel");
- labelElement.style.display = "inline";
- }
- if(csLang == "on")
- {
- labelElement = document.getElementById("csLabel");
- labelElement.style.display = "inline";
- }
- if(cLang == "on")
- {
- labelElement = document.getElementById("cLabel");
- labelElement.style.display = "inline";
- }
- if(jsharpLang == "on")
- {
- labelElement = document.getElementById("jsharpLabel");
- labelElement.style.display = "inline";
- }
- if(jsLang == "on")
- {
- labelElement = document.getElementById("jsLabel");
- labelElement.style.display = "inline";
- }
- if(xamlLang == "on")
- {
- labelElement = document.getElementById("xamlLabel");
- labelElement.style.display = "inline";
- }
- }
-}
-
-function LoadLanguages()
-{
- var value;
- value = Load("vbDeclaration");
- if(value == null)
- vbDeclaration = "on";
- else
- vbDeclaration = value;
-
- value = Load("vbUsage");
- if(value == null)
- vbUsage = "on";
- else
- vbUsage = value;
-
- value = Load("csLang");
- if(value == null)
- csLang = "on";
- else
- csLang = value;
-
- value = Load("cLang");
- if(value == null)
- cLang = "on";
- else
- cLang = value;
-
- value = Load("jsharpLang");
- if(value == null)
- jsharpLang = "on";
- else
- jsharpLang = value;
-
- value = Load("jsLang");
- if(value == null)
- jsLang = "on";
- else
- jsLang = value;
-
- value = Load("xamlLang");
- if(value == null)
- xamlLang = "on";
- else
- xamlLang = value;
-}
-
-function SaveLanguages()
-{
- Save("vbDeclaration", vbDeclaration);
- Save("vbUsage", vbUsage);
- Save("csLang", csLang);
- Save("cLang", cLang);
- Save("jsharpLang", jsharpLang);
- Save("jsLang", jsLang);
- Save("xamlLang", xamlLang);
-}
-
-/*
-**********
-********** End Language Filtering
-**********
-*/
-
-
-/*
-**********
-********** Begin Members Options Filtering
-**********
-*/
-
-function SetMembersOptions(key)
-{
- if(key.id == "inheritedCheckbox")
- {
- if(key.checked == true)
- inheritedMembers = "on";
- else
- inheritedMembers = "off";
- }
- if(key.id == "protectedCheckbox")
- {
- if(key.checked == true)
- protectedMembers = "on";
- else
- protectedMembers = "off";
- }
- if(key.id == "netcfCheckbox")
- {
- if(key.checked == true)
- netcfMembersOnly = "on";
- else
- netcfMembersOnly = "off";
- }
- if(key.id == "netXnaCheckbox")
- {
- if(key.checked == true)
- netXnaMembersOnly = "on";
- else
- netXnaMembersOnly = "off";
- }
- DisplayFilteredMembers();
-
- ChangeMembersOptionsFilterLabel();
-}
-
-function DisplayFilteredMembers()
-{
- var iAllMembers = document.getElementsByTagName("tr");
- var i;
-
- for(i = 0; i < iAllMembers.length; ++i)
- {
- if (((iAllMembers[i].getAttribute("protected") == "true") && (protectedMembers == "off")) ||
- ((iAllMembers[i].notSupportedOnXna == "true") && (netXnaMembersOnly == "on")) ||
- ((iAllMembers[i].getAttribute("name") == "inheritedMember") && (inheritedMembers == "off")) ||
- ((iAllMembers[i].getAttribute("notSupportedOn") == "netcf") && (netcfMembersOnly == "on")))
- iAllMembers[i].style.display = "none";
- else
- iAllMembers[i].style.display = "";
- }
-}
-
-function ChangeMembersOptionsFilterLabel()
-{
-
- var showAllMembersLabelElement = document.getElementById("showAllMembersLabel");
- var filteredMembersLabelElement = document.getElementById("filteredMembersLabel");
-
- if(showAllMembersLabelElement == null || filteredMembersLabelElement == null)
- return;
-
- if ((inheritedMembers=="off") || (protectedMembers=="off") || (netXnaMembersOnly == "on") || (netcfMembersOnly=="on"))
- {
- filteredMembersLabelElement.style.display = "inline";
- showAllMembersLabelElement.style.display = "none";
- }
- else
- {
- filteredMembersLabelElement.style.display = "none";
- showAllMembersLabelElement.style.display = "inline";
- }
-}
-
-function LoadMembersOptions()
-{
- var value;
- value = Load("inheritedMembers");
- if(value == null)
- inheritedMembers = "on";
- else
- inheritedMembers = value;
-
- value = Load("protectedMembers");
- if(value == null)
- protectedMembers = "on";
- else
- protectedMembers = value;
-
- value = Load("netcfMembersOnly");
- if(value == null)
- netcfMembersOnly = "off";
- else
- netcfMembersOnly = value;
-
- value = Load("netXnaMembersOnly");
- if(value == null)
- netXnaMembersOnly = "off";
- else
- netXnaMembersOnly = value;
-}
-
-function SaveMembersOptions()
-{
- Save("inheritedMembers", inheritedMembers);
- Save("protectedMembers", protectedMembers);
- Save("netcfMembersOnly", netcfMembersOnly);
- Save("netXnaMembersOnly", netXnaMembersOnly);
-}
-
-/*
-**********
-********** End Members Options Filtering
-**********
-*/
-
-
-/*
-**********
-********** Begin Expand/Collapse
-**********
-*/
-
-// expand or collapse a section
-function ExpandCollapse(imageItem)
-{
- if (sectionStates[imageItem.id] == "e")
- CollapseSection(imageItem);
- else
- ExpandSection(imageItem);
-
- SetCollapseAll();
-}
-
-// expand or collapse all sections
-function ExpandCollapseAll(imageItem)
-{
- var collapseAllImage = document.getElementById("collapseAllImage");
- var expandAllImage = document.getElementById("expandAllImage");
- if (imageItem == null || collapseAllImage == null || expandAllImage == null) return;
- noReentry = true; // Prevent entry to OnLoadImage
-
- var imgElements = document.getElementsByName("toggleSwitch");
- var i;
- var collapseAll = (imageItem.src == collapseAllImage.src);
- if (collapseAll)
- {
- imageItem.src = expandAllImage.src;
- imageItem.alt = expandAllImage.alt;
-
- for (i = 0; i < imgElements.length; ++i)
- {
- CollapseSection(imgElements[i]);
- }
- }
- else
- {
- imageItem.src = collapseAllImage.src;
- imageItem.alt = collapseAllImage.alt;
-
- for (i = 0; i < imgElements.length; ++i)
- {
- ExpandSection(imgElements[i]);
- }
- }
- SetAllSectionStates(collapseAll);
- SetToggleAllLabel(collapseAll);
-
- noReentry = false;
-}
-
-function ExpandCollapse_CheckKey(imageItem, eventObj)
-{
- if(eventObj.keyCode == 13)
- ExpandCollapse(imageItem);
-}
-
-function ExpandCollapseAll_CheckKey(imageItem, eventObj)
-{
- if(eventObj.keyCode == 13)
- ExpandCollapseAll(imageItem);
-}
-
-function SetAllSectionStates(collapsed)
-{
- for (var sectionId in sectionStates)
- sectionStates[sectionId] = (collapsed) ? "c" : "e";
-}
-
-function ExpandSection(imageItem)
-{
- noReentry = true; // Prevent re-entry to OnLoadImage
- try
- {
- var collapseImage = document.getElementById("collapseImage");
- imageItem.src = collapseImage.src;
- imageItem.alt = collapseImage.alt;
-
- imageItem.parentNode.parentNode.nextSibling.style.display = "";
- sectionStates[imageItem.id] = "e";
- }
- catch (e)
- {
- }
- noReentry = false;
-}
-
-function CollapseSection(imageItem)
-{
- noReentry = true; // Prevent re-entry to OnLoadImage
- var expandImage = document.getElementById("expandImage");
- imageItem.src = expandImage.src;
- imageItem.alt = expandImage.alt;
- imageItem.parentNode.parentNode.nextSibling.style.display = "none";
- sectionStates[imageItem.id] = "c";
- noReentry = false;
-}
-
-function AllCollapsed()
-{
- var imgElements = document.getElementsByName("toggleSwitch");
- var allCollapsed = true;
- var i;
-
- for (i = 0; i < imgElements.length; i++) allCollapsed = allCollapsed && (sectionStates[imgElements[i].id] == "c");
-
- return allCollapsed;
-}
-
-function SetCollapseAll()
-{
- var imageElement = document.getElementById("toggleAllImage");
- if (imageElement == null) return;
-
- var allCollapsed = AllCollapsed();
- if (allCollapsed)
- {
- var expandAllImage = document.getElementById("expandAllImage");
- if (expandAllImage == null) return;
- imageElement.src = expandAllImage.src;
- imageElement.alt = expandAllImage.alt;
- }
- else
- {
- var collapseAllImage = document.getElementById("collapseAllImage");
- if (collapseAllImage == null) return;
- imageElement.src = collapseAllImage.src;
- imageElement.alt = collapseAllImage.alt;
- }
-
- SetToggleAllLabel(allCollapsed);
-}
-
-function SetToggleAllLabel(allCollapsed)
-{
- var collapseLabelElement = document.getElementById("collapseAllLabel");
- var expandLabelElement = document.getElementById("expandAllLabel");
-
- if (collapseLabelElement == null || expandLabelElement == null) return;
-
- if (allCollapsed)
- {
- collapseLabelElement.style.display = "none";
- expandLabelElement.style.display = "inline";
- }
- else
- {
- collapseLabelElement.style.display = "inline";
- expandLabelElement.style.display = "none";
- }
-}
-
-function SaveSections()
-{
- try
- {
- var states = "";
-
- for (var sectionId in sectionStates) states += sectionId + ":" + sectionStates[sectionId] + ";";
-
- Save("SectionStates", states.substring(0, states.length - 1));
- }
- catch (e)
- {
- }
-
-}
-
-function OpenSection(imageItem)
-{
- if (sectionStates[imageItem.id] == "c") ExpandCollapse(imageItem);
-}
-
-/*
-**********
-********** End Expand/Collapse
-**********
-*/
-
-
-
-/*
-**********
-********** Begin Copy Code
-**********
-*/
-
-function CopyCode(key)
-{
- var trElements = document.getElementsByTagName("tr");
- var i;
- for(i = 0; i < trElements.length; ++i)
- {
- if(key.parentNode.parentNode.parentNode == trElements[i].parentNode)
- {
- if (window.clipboardData)
- {
- // the IE-manner
- window.clipboardData.setData("Text", trElements[i].innerText);
- }
- else if (window.netscape)
- {
- // Gives unrestricted access to browser APIs using XPConnect
- try
- {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- }
- catch(e)
- {
- alert("Universal Connect was refused, cannot copy to " +
- "clipboard. Go to about:config and set " +
- "signed.applets.codebase_principal_support to true to " +
- "enable clipboard support.");
- return;
- }
-
- // Creates an instance of nsIClipboard
- var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
- if (!clip) return;
-
- // Creates an instance of nsITransferable
- var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
- if (!trans) return;
-
- // register the data flavor
- trans.addDataFlavor('text/unicode');
-
- // Create object to hold the data
- var str = new Object();
-
- // Creates an instance of nsISupportsString
- var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
-
- //Assigns the data to be copied
- var copytext = trElements[i].textContent;
- str.data = copytext;
-
- // Add data objects to transferable
- trans.setTransferData("text/unicode",str,copytext.length*2);
- var clipid = Components.interfaces.nsIClipboard;
- if (!clip) return false;
-
- // Transfer the data to clipboard
- clip.setData(trans,null,clipid.kGlobalClipboard);
- }
- }
- }
-}
-
-function ChangeCopyCodeIcon(key)
-{
- var i;
- var imageElements = document.getElementsByName("ccImage")
- for(i=0; i<imageElements.length; ++i)
- {
- if(imageElements[i].parentNode == key)
- {
- if(imageElements[i].src == copyImage.src)
- {
- imageElements[i].src = copyHoverImage.src;
- imageElements[i].alt = copyHoverImage.alt;
- key.className = 'copyCodeOnHover';
- }
- else
- {
- imageElements[i].src = copyImage.src;
- imageElements[i].alt = copyImage.alt;
- key.className = 'copyCode';
- }
- }
- }
-}
-
-function CopyCode_CheckKey(key, eventObj)
-{
- if(eventObj.keyCode == 13)
- CopyCode(key);
-}
-
-/*
-**********
-********** End Copy Code
-**********
-*/
-
-
-/*
-**********
-********** Begin Maintain Scroll Position
-**********
-*/
-
-function loadAll(){
- try
- {
- scrollPos = allHistory.getAttribute("Scroll");
- }
- catch(e){}
-}
-
-function saveAll(){
- try
- {
- allHistory.setAttribute("Scroll", mainSection.scrollTop);
- }
- catch(e){}
-}
-
-/*
-**********
-********** End Maintain Scroll Position
-**********
-*/
-
-
-/*
-**********
-********** Begin Send Mail
-**********
-*/
-
-function formatMailToLink(anchor)
-{
- var release = "Release: " + anchor.doc_Release;
- var topicId = "Topic ID: " + anchor.doc_TopicID;
- var topicTitle = "Topic Title: " + anchor.doc_TopicTitle;
- var url = "URL: " + document.URL;
- var browser = "Browser: " + window.navigator.userAgent;
-
- var crlf = "%0d%0a";
- var body = release + crlf + topicId + crlf + topicTitle + crlf + url + crlf + browser + crlf + crlf + "Comments:" + crlf + crlf;
-
- anchor.href = anchor.href + "&body=" + body;
-}
-
-/*
-**********
-********** End Send Mail
-**********
-*/
-
-
-/*
-**********
-********** Begin Persistence
-**********
-*/
-
-var globals;
-
-function GetGlobals()
-{
- var tmp;
-
- // Try to get VS implementation
- try { tmp = window.external.Globals; }
- catch (e) { tmp = null; }
-
- // Try to get DExplore implementation
- try { if (tmp == null) tmp = window.external.GetObject("DTE", "").Globals; }
- catch (e) { tmp = null; }
-
- return tmp;
-}
-
-function Load(key)
-{
- try
- {
- return globals.VariableExists(key) ? globals.VariableValue(key) : null;
- }
- catch (e)
- {
- return null;
- }
-}
-
-function Save(key, value)
-{
- try
- {
- globals.VariableValue(key) = value;
- globals.VariablePersists(key) = true;
- }
- catch (e)
- {
- }
-}
-
-/*
-**********
-********** End Persistence
-**********
-*/
-
-/* This is the part for Glossary popups */
-// The method is called when the user positions the mouse cursor over a glossary term in a document.
-// Current implementation assumes the existence of an associative array (g_glossary).
-// The keys of the array correspond to the argument passed to this function.
-
-var bGlossary=true;
-var oDialog;
-var oTimeout="";
-var oTimein="";
-var iTimein=.5;
-var iTimeout=30;
-var oLastNode;
-var oNode;
-var bInit=false;
-var aTerms=new Array();
-
-// Called from mouseover and when the contextmenu behavior fires oncontextopen.
-function clearDef(eventObj){
- if(eventObj){
- var elem;
- if(document.all) elem = eventObj.toElement;
- else elem = eventObj.relatedTarget;
- if(elem!=null || elem!="undefined"){
- if(typeof(oTimein)=="number"){
- window.clearTimeout(oTimein);
- }
- if(oDialog.dlg_status==true){
- hideDef();
- }
- }
- }
-}
-function hideDef(eventObj){
- window.clearTimeout(oTimeout);
- oTimeout="";
- oDialog.style.display="none";
- oDialog.dlg_status=false;
-}
-function showDef(oSource){
- if(bInit==false){
- glossaryInit();
- bInit=true;
- }
- if(bGlossary==true){
- if(typeof(arguments[0])=="object"){
- oNode=oSource;
- }
- else{
- if(document.all) oNode = eventObj.srcElement;
- else oNode = eventObj.target;
- }
- var bStatus=oDialog.dlg_status; // BUGBUG: oDialog is null.
- if((oLastNode!=oNode)||(bStatus==false)){
- if((typeof(oTimein)=="number")&& eventObj){
-
- var elem;
- if(document.all) elem = eventObj.fromElement;
- else elem = eventObj.relatedTarget;
-
- if( elem != null || elem != "undefined")
- window.clearTimeout(oTimein);
- }
- oTimein=window.setTimeout("openDialog(oNode)",iTimein*1000);
- }
- }
-}
-
-
-
-function glossaryInit(){
- oDialog=fnCreateDialog(150,50);
-}
-
-function navigateTerm(eventObj){
- var oNode;
- if(document.all) oNode = eventObj.srcElement;
- else oNode = eventObj.target;
-
- var iTermID=oNode.termID;
- if(oNode!=aTerms[iTermID]){
- var iAbsTop=getAbsoluteTop(aTerms[iTermID]);
- if(iAbsTop<document.body.scrollTop){
- window.scrollTo(document.body.scrollLeft,getAbsoluteTop(aTerms[iTermID]));
- }
- openDialog(aTerms[iTermID]);
- }
-}
-function disableGlossary(eventObj){
- if(bGlossary==true){
- if(document.all) eventObj.srcElement.innerText="Enable Automatic Glossary";
- else eventObj.target.innerText="Enable Automatic Glossary";
- bGlossary=false;
- hideDef();
- }
- else{
- if(document.all) eventObj.srcElement.innerText="Disable Automatic Glossary";
- else eventObj.target.innerText="Disable Automatic Glossary";
- bGlossary=true;
- }
-}
-function openGlossary(){
-
-}
-function fnSetMenus(eventObj){
- var oNode;
- if(document.all) oNode = eventObj.srcElement;
- else oNode = eventObj.target;
-
- var oMenu=oNode.createMenu("SPAN","G_RID");
- var oSubItem1=oNode.createMenuItem("Glossary",fnStub,oMenu,true);
- document.body.createMenuItem("Open External Glossary",openGlossary,oSubItem1.subMenu);
- document.body.createMenuItem("Disable Automatic Glossary",disableGlossary,oSubItem1.subMenu);
- for(var i=0;i<aTerms.length;i++){
- var oItem=document.body.createMenuItem(aTerms[i].innerText,navigateTerm,oMenu);
- oItem.termID=i;
- }
-}
-// This is a bogus stub. It should be sniffed out rather than added in.
-function fnStub(){
-
-}
-function fnAttachMenus(aTips){
- // This walk is only necessary for the context menu.
- var aTips=document.getElementsByTagName("SPAN");
- for(var i=0;i<aTips.length;i++){
- var oNode=aTips[i];
- if(oNode.getAttribute("G_RID")){
- var sTerm=oNode.getAttribute("G_RID");
- if(typeof(g_glossary[sTerm])=="string"){
- // Removed client-side scripting to add events. This entire process should be singled out for IE 5 and later .. and, its only for the context menu.
- aTerms[aTerms.length]=oNode;
- }
- }
- }
- if(oBD.majorVer>=5){
- document.body.addBehavior(gsContextMenuPath);
- document.body.onbehaviorready="fnSetMenus()";
- document.body.oncontextopen="clearDef()";
- }
-
-}
-// Called by showDef. The showDef function sniffs for initialization.
-function openDialog(oNode,x,y){
- var bStatus=oDialog.dlg_status; // BUGBUG: This code assumes that oDialog has been initialized
- if(bStatus==false){
- oDialog.dlg_status=true;
- oDialog.style.display="block";
- }
- else{
- if(typeof(oTimeout)=="number"){
- window.clearTimeout(oTimeout);
- }
- }
-
- var sTerm=oNode.getAttribute("G_RID");
- var oDef=oNode.children(0);
- var sDef=oDef.text;
- sDef=sDef.substr(4,sDef.length-7); //Strips the html comment markers from the definition.
- oDialog.innerHTML=sDef
-
-
- //oDialog.innerHTML=g_glossary[sTerm];
-
- var iScrollLeft=document.body.scrollLeft;
- var iScrollTop=document.body.scrollTop;
- var iOffsetLeft=getAbsoluteLeft(oNode)// - iScrollLeft;
- var iOffsetWidth=oNode.offsetWidth;
- var oParent=oNode.parentNode;
- var iOffsetParentLeft=getAbsoluteLeft(oParent);
- var iOffsetTop=getAbsoluteTop(oNode); //- iScrollTop;
- var iOffsetDialogWidth=oDialog.offsetWidth;
-
-
- if((iOffsetLeft + iOffsetWidth) > (iOffsetParentLeft + oParent.offsetWidth)){
- iOffsetLeft=iOffsetParentLeft;
- if(iOffsetLeft - iOffsetDialogWidth>0){
- iOffsetTop+=oNode.offsetHeight;
- }
- }
- var iLeft=0;
- var iTop=0;
- if((iOffsetLeft + iOffsetWidth - iScrollLeft + iOffsetDialogWidth) < document.body.offsetWidth ){
- iLeft=iOffsetLeft + iOffsetWidth;
- }
- else{
- if(iOffsetLeft - iOffsetDialogWidth>0){
- iLeft=iOffsetLeft - iOffsetDialogWidth;
- }
- else{
- iLeft=iOffsetParentLeft;
- }
- }
- if(iOffsetTop - iScrollTop<oDialog.offsetHeight){
- iTop=iOffsetTop + oNode.offsetHeight;
- }
- else{
- iTop=iOffsetTop - oDialog.offsetHeight;
- }
- oDialog.style.top=iTop;
- oDialog.style.left=iLeft;
- oTimeout=window.setTimeout("hideDef()",iTimeout*1000);
-}
-function getAbsoluteTop(oNode){
- var oCurrentNode=oNode;
- var iTop=0;
- while(oCurrentNode.tagName!="BODY"){
- iTop+=oCurrentNode.offsetTop;
- oCurrentNode=oCurrentNode.offsetParent;
- }
- return iTop;
-}
-function getAbsoluteLeft(oNode){
- var oCurrentNode=oNode;
- var iLeft=0;
- while(oCurrentNode.tagName!="BODY"){
- iLeft+=oCurrentNode.offsetLeft;
- oCurrentNode=oCurrentNode.offsetParent;
- }
- return iLeft;
-}
-function fnCreateDialog(iWidth,iHeight){
- document.body.insertAdjacentHTML("BeforeEnd","<DIV></DIV>");
- oNewDialog=document.body.children(document.body.children.length-1);
- oNewDialog.className="clsTooltip";
- oNewDialog.style.width=iWidth;
- oNewDialog.dlg_status=false;
- return oNewDialog;
-}
-
-function sendfeedback(subject, id,alias){
- var rExp = /\"/gi;
- var url = location.href;
- // Need to replace the double quotes with single quotes for the mailto to work.
- var rExpSingleQuotes = /\'\'"/gi;
-
- var title;
- if(document.getElementsByTagName("TITLE")[0].innerText) title = document.getElementsByTagName("TITLE")[0].innerText.replace(rExp, "''")
- else title = document.getElementsByTagName("TITLE")[0].textContent.replace(rExp, "''");
- location.href = "mailto:" + alias + "?subject=" + subject + title + "&body=Topic%20ID:%20" + id + "%0d%0aURL:%20" + url + "%0d%0a%0d%0aComments:%20";
-}
diff --git a/tools/Sandcastle/Presentation/hana/Styles/Presentation.css b/tools/Sandcastle/Presentation/hana/Styles/Presentation.css
deleted file mode 100644
index 0a01db1..0000000
--- a/tools/Sandcastle/Presentation/hana/Styles/Presentation.css
+++ /dev/null
@@ -1,934 +0,0 @@
-/* * * This file was autogenerated by Styler at 02:02 on 02/15/2003 * * */
-
-@import url("tabs.css");
-@import url("syntax.css");
-
-/***********************************************************
- * SCRIPT-SUPPORTING STYLES
- ***********************************************************/
-
-/* Defines the userData cache persistence mechanism. */
-.userDataStyle
-{
- behavior: url(#default#userData);
-}
-
-/* Used to save the scroll bar position when navigating away from a page. */
-div.saveHistory
-{
- behavior: url(#default#saveHistory);
-}
-
-/* Formats the expand/collapse images for all collapsible regions. */
-img.toggle
-{
- border: 0px;
- margin-right: 5px;
-}
-
-/* Formats the Language filter drop-down image. */
-img#languageFilterImage
-{
- border: 0px;
- margin-left: 0px;
- vertical-align: middle;
-}
-
-/* Formats the Members Options filter drop-down image. */
-img#membersOptionsFilterImage
-{
- border: 0px;
- margin-left: 0px;
- vertical-align: middle;
-}
-
-/* Formats the Collapse All/Expand All images. */
-img#toggleAllImage
-{
- margin-left: 0px;
- vertical-align: middle;
-}
-
-/* Supports XLinks */
-MSHelp\:link
-{
- text-decoration: underline;
- /*color: #0000ff; */
- color: #0481DA;
- hoverColor: #3366ff;
- filterString: ;
-}
-
-
-/***********************************************************
- * CONTENT PRESENTATION STYLES
- ***********************************************************/
-
-body
-{
- background: #FFFFFF;
- color: #000000;
- font-family: Verdana;
- font-size: medium;
- font-style: normal;
- font-weight: normal;
- margin: 0px;
- width: 100%;
-}
-
-dl
-{
- margin-top: 15px;
- margin-bottom:5px;
- padding-left: 1px;
-}
-
-/*dt
-{
- font-style: italic;
-}*/
-
-dd
-{
- margin-left: 0px;
-}
-
-ul
-{
- margin-top:0px;
- margin-bottom:0px;
- margin-left: 17px;
- list-style-type: disc;
-}
-
-ul ul
-{
- margin-bottom: 4px;
- margin-left: 17px;
- margin-top: 3px;
- list-style-type: disc;
-}
-
-ol
-{
- margin-top:0px;
- margin-bottom:0px;
- margin-left: 28px;
- list-style-type: decimal;
-}
-
-ol ol
-{
- margin-bottom: 4px;
- margin-left: 28px;
- margin-top: 3px;
- list-style-type: lower-alpha;
-}
-
-li
-{
- margin-top: 5;
- margin-bottom: 5;
-}
-
-p
-{
- margin-top: 10px;
- margin-bottom: 5px;
-}
-a[href]
-{
- color: #0481DA;
-}
-a
-{
- color:#0481DA;
-}
-
-a:visited
-{
- color: #0481DA;
-}
-
-a:hover
-{
- /*color: #3366FF;*/
- color: #E85F17;
-}
-
-code
-{
- font-family: Monospace, Courier New, Courier;
- font-size: 105%;
- color: #000066;
-}
-
-span.parameter {
- font-style: italic;
- font-weight:bold;
-}
-
-span.italic {
- font-style: italic;
-}
-
-span.referenceNoLink {
- font-weight: bold;
-}
-span.nolink {
- font-weight: bold;
-}
-
-span.selflink {
- font-weight: bold;
-}
-
-span.nonLinkTerm {
- font-weight: bold;
-}
-span.linkTerm {
- font-weight:normal;
-}
-
-/***********************************************************
- * STRUCTURE PRESENTATION STYLES
- ***********************************************************/
-
-/* Applies to everything below the non-scrolling header region. */
-div#mainSection
-{
- font-size: 62.5%;
- width: 100%;
- overflow:hidden;
-}
-html>body #mainSection
-{
- font-size:73%;
- width: 100%;
-}
-
-/* Applies to everything below the non-scrolling header region, minus the footer. */
-div#mainBody
-{
- font-size: 100%;
- margin-left: 15px;
- margin-top: 10px;
- padding-bottom: 20px;
- overflow:hidden;
-}
-
-html>body #mainBody
-{
- font-size: 93%;
- margin-left: 15px;
- margin-top: 10px;
- padding-bottom: 20px;
-}
-
-/* Adds right padding for all blocks in mainBody */
-div#mainBody p, div#mainBody ol, div#mainBody ul, div#mainBody dl
-{
- padding-right: 5px;
-}
-
-/*------------------------------ Begin Non-scrolling Header Region Styles -------------------------------*/
-/* Applies to the entire non-scrolling header region. */
-div#header
-{
- background-color: white;
- padding-top: 0px;
- padding-bottom: 0px;
- padding-left: 0px;
- padding-right: 0px;
- width: 100%;
-}
-
-/* Applies to both tables in the non-scrolling header region. */
-div#header table
-{
- width: 100%;
-}
-
-/* Applies to cells in both tables in the non-scrolling header region. */
-div#header table td
-{
- /*color: #0000FF;*/
- color:#0481DA;
- font-size: 70%;
- margin-top: 0px;
- margin-bottom: 0;
- padding-right: 20;
-}
-
-/* Applies to the last row in the upper table of the non-scrolling header region. Text
- in this row includes See Also, Constructors, Methods, and Properties. */
-div#header table tr#headerTableRow3 td
-{
- padding-bottom: 2px;
- padding-top: 5px;
- padding-left: 15px;
-}
-
-/* Applies to the lower table in the non-scrolling header region. Text in this table
- includes Collapse All/Expand All, Language Filter, and Members Options. */
-div#header table#bottomTable
-{
- border-top-color: #FFFFFF;
- border-top-style: solid;
- border-top-width: 1px;
- text-align: left;
- padding-left: 15px;
-}
-
-/* Formats the first column--the one that displays icons--in mref list tables (such as Public Constructors,
- Protected Constructors, Public Properties, Protected Properties, and so on). */
-div#mainSection table td.imageCell
-{
- white-space: nowrap;
-}
-/*------------------------------ End General Table Styles -------------------------------*/
-
-/*------------------------------ Begin General Table Styles -------------------------------*/
-
-div#mainBody div.alert, div#mainBody div.code, div#mainBody div.tableSection
-{
- width:98.9%;
-}
-
-div#mainBody div.section div.alert, div#mainBody div.section div.code,
-div#mainBody div.section div.tableSection
-{
- width:100%;
-}
-
-div#mainBody div.section ul div.alert, div#mainBody div.section ul div.code,
-div#mainBody div.section ul div.tableSection, div#mainBody div.section ol div.alert,
-div#mainBody div.section ol div.code, div#mainBody div.section ol div.tableSection
-{
- width:100%;
-}
-
-div.alert p, div.code p
-{
- margin-top:5px;
- margin-bottom:8px;
-}
-dd p
-{
- margin-top:2px;
- margin-bottom:8px;
-}
-div.tableSection p
-{
- margin-top:1px;
- margin-bottom:4px;
-}
-li p
-{
- margin-top:2px;
- margin-bottom:2px;
-}
-div.seeAlsoNoToggleSection dl
-{
- margin-top:8px;
- margin-bottom:1px;
- padding-left:1px;
-}
-div.seeAlsoNoToggleSection dd p
-{
- margin-top:2px;
- margin-bottom:8px;
-}
-div.section dl
-{
- margin-top:8px;
- margin-bottom:1px;
- padding-left:1px;
-}
-div.section dd p
-{
- margin-top:2px;
- margin-bottom:8px;
-}
-/*------------------------------ End General Table Styles -------------------------------*/
-
-/* Applies to the running header text in the first row of the upper table in the
- non-scrolling header region. */
-span#runningHeaderText
-{
- color: #495F7F;
- font-size: 90%;
- padding-left: 13px;
-}
-
-/* Applies to the topic title in the second row of the upper table in the
- non-scrolling header region. */
-span#nsrTitle
-{
- color: #495F7F;
- font-size: 120%;
- font-weight: 600;
- padding-left: 13px;
-}
-/*------------------------------ End Non-scrolling Header Region Styles -------------------------------*/
-
-
-/* Formats the footer. Currently, the transforms pass in two parameters to the
- footer SSC, but the default footer SSC doesn't use either parameter.
- TODO: Investigate whether the default footer SSC has any impact on doc spec. */
-div#footer
-{
- font-size: 80%;
- margin: 0px;
- padding-top: 8px;
- padding-bottom: 6px;
- padding-left: 5px;
- padding-right: 2px;
- width: 100%;
-}
-
-html>body div#footer
-{
- font-size: 80%;
- margin: 0px;
- padding-top: 2px;
- padding-bottom: 6px;
- padding-left: 5px;
- padding-right: 2px;
- width: 98%;
-}
-
-/* Unable to find this style in the transforms. The default footer SSC adds a plain horizontal rule.
- TODO: Determine whether this style is required by the doc spec. */
-/*
-hr#footerHR
-{
- border-bottom-color: #EEEEFF;
- border-bottom-style: solid;
- border-bottom-width: 1px;
- border-top-color: C8CDDE;
- border-top-style: solid;
- border-top-width: 1px;
- height: 3px;
- color: #D4DFFF;
-}
-*/
-
-/********************************************************************************************************************
- Collapsible Section Structure
-
- <h1 class="heading"> // Format of the collapsible section text
- <span onclick="ExpandCollapse(xxxToggle)"> // Defines the onclick procedure for the expand/collapse section
- <img id="xxxToggle"> // Expand/collapse image
- </img>
- </span>
- </h1>
-
- <div id="xxxSection" class="section"> // The body of the collapsible section; hidden by default
- </div>
-
-
- The ExpandCollapse() function is responsible for toggling the expand/collapse image, and for
- displaying/hiding the body of the collapsible section.
-********************************************************************************************************************/
-
-/* Applies to the body of a collapsible section */
-div.seeAlsoNoToggleSection
-{
- margin-left:0;
- padding-top: 2px;
- padding-bottom: 2px;
- padding-left: 0px;
- padding-right: 15px;
- width: 100%;
-}
-
-div.section
-{
- margin-left:0px;
- padding-left: 16px;
- padding-right: 15px;
- width: 100%;
-}
-html>body div.section
-{
- margin-left:0px;
- padding-top: 2px;
- padding-bottom: 2px;
- padding-left: 16px;
- padding-right: 15px;
- width: 97%;
-}
-div.seeSection
-{
- margin-left:0px;
- padding-top: 0px;
- padding-bottom: 2px;
- padding-left: 16px;
- padding-right: 15px;
- width: 100%;
-}
-
-/*------------------------------ Begin Heading Styles -------------------------------*/
-/* As far as I can tell, only <h1> tags use this class.
- TODO: Decide whether to roll these attributes into the h1.heading style */
-.heading
-{
- font-weight: bold;
- margin-top: 18px;
- margin-bottom: 8px;
-}
-
-/* All <h1> headings. */
-h1.heading
-{
- color: #0481DA;
- font-size: 130%;
-}
-
-/* Applies to table titles and subsection titles. */
-.subHeading
-{
- font-weight: bold;
- margin-bottom: 4px;
-}
-.procedureSubHeading
-{
- font-weight: bold;
- margin-bottom: 4px;
-}
-
-/* Formats the titles of author-generated tables. */
-h3.subHeading
-{
- color: #000000;
- font-size: 120%;
- font-weight:800;
-}
-
-h3.procedureSubHeading
-{
- color: #0481DA;
- font-size: 120%;
-}
-
-/* Formats the titles of all subsections. */
-h4.subHeading
-{
- color: #000000;
- font-size: 110%;
- font-weight:800;
-}
-span.labelheading, div.labelheading
-{
- font-size:100%;
- color: #0481DA;
-}
-
-/*------------------------------ End Heading Styles -------------------------------*/
-
-
-/*------------------------------ Begin Image Styles -------------------------------*/
-img.copyCodeImage
-{
- border: 0px;
- margin: 1px;
- margin-right: 3px;
-}
-
-img.downloadCodeImage
-{
- border: 0px;
- margin-right: 3px;
-}
-
-img.viewCodeImage
-{
- border: 0px;
- margin-right: 3px;
-}
-
-img.note
-{
- border: 0px;
- margin-right: 3px;
-}
-/*------------------------------ End Image Styles -------------------------------*/
-
-/*------------------------------ Begin Note Styles -------------------------------*/
-div.alert table
-{
- border: 0px;
- font-size: 100%;
- width: 100%;
-}
-
-div.alert table th
-{
- background: #EFEFF7;
- border-bottom-width: 0px;
- color: #000066;
- padding-left: 5px;
- padding-right: 5px;
-}
-
-div.alert table td
-{
- background: #F7F7FF;
- border-top-color: #FFFFFF;
- border-top-style: solid;
- border-top-width: 1px;
- padding-left: 5px;
- padding-right: 5px;
-}
-
-
-/*------------------------------ End Note Styles -------------------------------*/
-
-
-/* Applies to the copy code text and image. */
-span.copyCode
-{
- color: #0481DA;
- font-size:xx-small;
- font-weight: normal;
- cursor: pointer;
- float: left;
- display: inline;
- text-align: left;
- padding-bottom:10px;
-}
-span.copyCodeOnHover
-{
- color: #E85F17;
- font-size:xx-small;
- font-weight: normal;
- cursor: pointer;
- float: left;
- display: inline;
- text-align: left;
- padding-bottom:10px;
- text-decoration: underline;
-}
-
-.downloadCode
-{
- color: #0000ff;
- font-size: 90%;
- font-weight: normal;
- cursor: pointer;
-}
-
-.viewCode
-{
- color: #0000ff;
- font-size: 90%;
- font-weight: normal;
- cursor: pointer;
-}
-
-/* Formats parameter tooltips. */
-.tip
-{
- color: #0000FF;
- font-style: italic;
- cursor: pointer;
- text-decoration:underline;
-}
-
-/* Applies to the language labels in the Language Filter drop-down list. */
-.languageFilter
-{
- color: #0000FF;
- cursor: pointer;
- text-decoration:underline;
- padding-bottom:4px;
-}
-
-/* Applies to text styled as math. This text is passed as a parameter to the italics SSC definition */
-.math
-{
- font-family: Times New Roman;
- font-size: 125%
-}
-
-/* The sourceCodeList class doesn't appear in the transforms.
- TODO: Find out whether this style is needed for the doc spec. */
-/*
-.sourceCodeList
-{
- font-family: Verdana;
- font-size: 90%;
-}
-*/
-
-/* The viewCode class doesn't appear in the transforms.
- TODO: Find out whether this style is needed for the doc spec. */
-/*
-pre.viewCode
-{
- width: 100%;
- overflow: auto;
-}
-*/
-
-/* Dropdown areas */
-
-#languageSpan
-{
- position: absolute;
- visibility: hidden;
- border-style: solid;
- border-width: 1px;
- border-color: #C8CDDE;
- background:white;
- padding: 4px;
- font-size:82.5%;
- }
-
-#membersOptionsSpan {
- position: absolute;
- visibility: hidden;
- border-style: solid;
- border-width: 1px;
- border-color: #C8CDDE;
- background: #d4dfff;
- padding: 4px;
- font-size: 62.5%;
-}
-
-/* Line seperating footer from main body */
-
-div.footerLine {
- margin: 0;
- width: 100%;
- padding-top: 8px;
- padding-bottom: 6px;
- padding-left: 5px;
- padding-right: 2px;
-
-}
-
-div.hr1
-{
- margin: 0px;
- width: 100%;
- height: 1px;
- padding: 0px;
- background: #C8CDDE;
- font-size: 1px;
-}
-
-div.hr2
-{
- margin: 0px;
- width: 100%;
- height: 1px;
- padding: 0px;
- background: #D4DFFF;
- font-size: 1px;
-}
-
-div.hr3
-{
- margin: 0px;
- width: 100%;
- height: 1px;
- padding: 0px;
- background: #EEEEFF;
- font-size: 1px;
-}
-
-span.cs
-{
- display: none;
-}
-
-span.vb
-{
- display: inline;
-}
-
-span.cpp
-{
- display: none;
-}
-
-span.nu
-{
- display: none;
-}
-
-span.code
-{
- font-family: Monospace, Courier New, Courier;
- font-size: 105%;
- color: #000066;
-}
-span.ui
-{
- font-weight: bold;
-}
-span.math
-{
- font-style: italic;
-}
-span.input
-{
- font-weight: bold;
-}
-span.term
-{
- font-style: italic;
-}
-span.label
-{
- font-weight: bold;
-}
-span.foreignPhrase
-{
- font-style: italic;
-}
-span.placeholder
-{
- font-style: italic;
-}
-span.keyword
-{
- font-weight: bold;
-}
-span.typeparameter
-{
- font-style:italic;
-}
-
-div.caption
-{
- font-weight: bold;
- font-size:100%;
- color:#003399;
-}
-
-div.code
-{
- clear: both;
- width: 100%;
- background: #E3E6EB;
- padding: 0.4em;
- font-family: "Andale Mono", "Courier New", Courier, monospace;
- font-size: 9pt;
- margin-bottom: 1em;
- border-bottom:solid 1px #bfc2c7;
- border-right:solid 1px #bfc2c7;
- display:block;
- background-image:url(../icons/tab_sel_lft_grad.gif);
- background-repeat:repeat-y;
-}
-
-div.memberSection
-{
- background: #E3E6EB;
- border-bottom:solid 1px #bfc2c7;
- border-right:solid 1px #bfc2c7;
- padding:8px;
- background-image:url(../icons/tab_sel_lft_grad.gif);
- background-repeat:repeat-y;
- width:100%;
-}
-
-div.listSection
-{
- background: #E3E6EB;
- border-top:solid 1px #bfc2c7;
- border-bottom:solid 1px #bfc2c7;
- border-right:solid 1px #bfc2c7;
- padding:8px;
- background-image:url(../icons/tab_sel_lft_grad.gif);
- background-repeat:repeat-y;
- width:100%;
-}
-
-/* table styles */
-
-table.memberOptions
-{
- font-size:xx-small;
- padding:0px;
-}
-table.members {
- table-layout: fixed;
- background: white;
- padding:0px;
- width:100%;
-}
-
-table.members tr {
- min-height: 20px;
-}
-
-table.members th.iconColumn {
- width: 60px;
-}
-
-table.members th.nameColumn {
- width: 33%;
-}
-
-table.members th.descriptionColumn {
- width: 66%;
-}
-
-table.members th {
- border-color: #c7ced8;
- border-style: solid;
- border-width: 1px;
- background: white;
- text-align: left;
- color: #000066;
- font-weight: bold;
- font-size:xx-small;
-}
-
-table.members td {
- border-style: solid;
- border-color: #c7ced8;
- border-width: 1px;
- background: white;
- vertical-align: top;
- overflow: hidden;
- font-size:xx-small;
-}
-
-div.section table.filter {
- table-layout: fixed;
-}
-
-/* end of table styles */
-
-
-td.line
-{
- width:22em;
-}
-
-td.nsrBottom
-{
- height:0.6em;
-}
-/* end of tab styles */
-
-span.syntaxLabel
-{
- color:#0481DA;
- font-weight:bold;
-}
-
-div.seeAlsoStyle
-{
- padding-top:5px;
-}
-/* end of syntax styles */
-
-/* Glossary */
-SPAN.clsGlossary {cursor: default; color: #509950; font-weight: bold;}
-DIV.clsTooltip {border: 1px solid black; padding: 2px; position: absolute; top: 0; left: 0; display: none; background-color: #FFFFAA; color: black; font-size: 8pt; font-family: Arial;}
diff --git a/tools/Sandcastle/Presentation/hana/Styles/syntax.css b/tools/Sandcastle/Presentation/hana/Styles/syntax.css
deleted file mode 100644
index ec5b4dd..0000000
--- a/tools/Sandcastle/Presentation/hana/Styles/syntax.css
+++ /dev/null
@@ -1,22 +0,0 @@
-
-/* syntax styles */
-
-div.code span.identifier {
- font-weight: bold;
-}
-
-div.code span.keyword {
- color: #0000ff;
-}
-
-div.code span.parameter {
- font-style: italic;
-}
-
-div.code span.literal {
- color: #a31515;
-}
-
-div.code span.comment {
- color: #007f00;
-}
diff --git a/tools/Sandcastle/Presentation/hana/Styles/tabs.css b/tools/Sandcastle/Presentation/hana/Styles/tabs.css
deleted file mode 100644
index af06695..0000000
--- a/tools/Sandcastle/Presentation/hana/Styles/tabs.css
+++ /dev/null
@@ -1,118 +0,0 @@
-/* tab styles */
-
-/* unselected label */
-div.section table.filter tr.tabs td.tab {
- width: 10em;
- background: white;
- text-align: center;
- color: #0481DA;
- font-weight: normal;
- overflow: hidden;
- cursor: pointer;
- border-bottom: solid 1px #cad1da;
- font-size: xx-small;
-}
-
-/* selected label */
-div.section table.filter tr.tabs td.activeTab {
- width: 10em;
- background: #E3E6EB;
- text-align: center;
- color: #000066;
- font-weight: bold;
- overflow: hidden;
- font-size: xx-small;
-}
-
-/* unselected upper left corner */
-td.LeftTab {
- width: 5px;
- height: 5px;
- background-image: url("../icons/tab_unsel_lft_cnr.gif");
- background-repeat: no-repeat;
- font-size:2pt;
-}
-
-/* selected upper left corner */
-td.activeLeftTab {
- width: 5px;
- height: 5px;
- background-image: url("../icons/tab_sel_lft_cnr.gif");
- background-repeat: no-repeat;
- font-size:2pt;
-}
-
-/* unselected upper right corner */
-td.RightTab {
- width: 5px;
- height: 5px;
- background-image: url("../icons/tab_unsel_rt_cnr.gif");
- background-repeat: no-repeat;
- font-size:2pt;
-}
-
-/* selected upper right corner */
-td.activeRightTab {
- width: 5px;
- height: 5px;
- background-image: url("../icons/tab_sel_rt_cnr.gif");
- background-repeat: no-repeat;
- font-size:2pt;
-}
-
-/* unselected left gradient */
-td.leftGrad {
- width: 5px;
- border-bottom: solid 1px #cad1da;
- background-image: url("../icons/tab_unsel_lft_grad.gif");
- background-repeat: repeat-y;
- font-size:2pt;
-}
-
-/* selected left gradient */
-td.activeLeftGrad {
- width: 5px;
- background-image: url("../icons/tab_sel_lft_grad.gif");
- background-repeat: repeat-y;
- font-size:2pt;
-}
-
-/* unselected right gradient */
-td.RightGrad {
- width: 5px;
- border-bottom: solid 1px #cad1da;
- background-image: url("../icons/tab_unsel_rt_grad.gif");
- background-repeat: repeat-y;
- white-space:nowrap;
- font-size:2pt;
-}
-
-/* selected right gradient */
-td.activeRightGrad {
- width: 5px;
- background-image: url("../icons/tab_sel_rt_grad.gif");
- background-repeat: repeat-y;
- white-space:nowrap;
- font-size:2pt;
-}
-
-/* unselected label top */
-td.middleTab {
- width: 10em;
- background: white;
- height: 5px;
- border-top: solid 1px #cad1da;
- font-size:2pt;
-}
-
-/* selected label top */
-td.activeMiddleTab
-{
- width: 10em;
- background: #E3E6EB;
- height: 5px;
- border-top: solid 1px #bdc6d2;
- font-size:2pt;
-}
-
-
diff --git a/tools/Sandcastle/Presentation/hana/configuration/conceptual.config b/tools/Sandcastle/Presentation/hana/configuration/conceptual.config
deleted file mode 100644
index 08b4d3c..0000000
--- a/tools/Sandcastle/Presentation/hana/configuration/conceptual.config
+++ /dev/null
@@ -1,108 +0,0 @@
-<configuration>
- <dduetools>
- <builder>
- <components>
-
- <!-- Create skeleton document -->
- <component type="Microsoft.Ddue.Tools.CopyFromFileComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <data file="%DXROOT%\Presentation\Vsorcas\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>
-
- <!-- transform -->
- <component type="Microsoft.Ddue.Tools.TransformComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <transform file="%DXROOT%\Presentation\vsorcas\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" />
- <language label="JSharp" name="JSharp" style="cs" />
- <language label="JScript" name="JScript" style="cs" />
- <language label="XAML" name="XAML" 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\vsorcas\content\shared_content.xml" />
- <content file="%DXROOT%\Presentation\vsorcas\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>
-
- <!-- resolve reference links -->
- <component type="Microsoft.Ddue.Tools.ResolveReferenceLinksComponent2" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <targets base="%DXROOT%\Data\Reflection" recurse="true" files="*.xml" 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>
diff --git a/tools/Sandcastle/Presentation/hana/configuration/sandcastle-scbuild.config b/tools/Sandcastle/Presentation/hana/configuration/sandcastle-scbuild.config
deleted file mode 100644
index c2e1097..0000000
--- a/tools/Sandcastle/Presentation/hana/configuration/sandcastle-scbuild.config
+++ /dev/null
@@ -1,126 +0,0 @@
-<configuration>
- <dduetools>
- <builder>
- <components>
-
- <!-- Create skeleton document -->
- <component type="Microsoft.Ddue.Tools.CopyFromFileComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <data file="%DXROOT%\Presentation\hana\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>
-
- <!-- Copy in parameter data -->
- <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <variable expression="/document/reference/parameters/parameter//type/@api" />
- <components>
- <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <copy name="reflection" source="apidata" target="/document/reference/parameters/parameter//type[boolean(@api=$key) and not(apidata)]" />
- </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]/apidata)" />
- <then>
- <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <copy name="reflection" source="*[not(self::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>
-
- <!-- Copy in comments for the member's declaring type. -->
- <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <copy name="comments" key="string(/document/reference/containers/type/@api)" source="summary" target="/document/reference/containers" />
- </component>
-
- <!-- transform -->
- <component type="Microsoft.Ddue.Tools.TransformComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <transform file="%DXROOT%\Presentation\hana\Transforms\main_sandcastle.xsl">
- <argument key="metadata" value="true" />
- <argument key="languages">
- <language label="VisualBasic" name="VisualBasic" style="vb" />
- <language label="CSharp" name="CSharp" style="cs" />
- <language label="ManagedCPlusPlus" name="ManagedCPlusPlus" style="cpp" />
- <!--<language label="JSharp" name="JSharp" style="cs" />
- <language label="JScript" name="JScript" style="cs" />
- <language label="XAML" name="XAML" style="cs" /> -->
- </argument>
- </transform>
- </component>
-
- <!-- resolve shared content -->
- <component type="Microsoft.Ddue.Tools.SharedContentComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <content file="%DXROOT%\Presentation\hana\content\shared_content.xml" />
- <content file="%DXROOT%\Presentation\hana\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='guid']/@content,'.htm')" indent="false" omit-xml-declaration="true" />
- </component>
-
- </components>
- </builder>
- </dduetools>
-</configuration>
diff --git a/tools/Sandcastle/Presentation/hana/configuration/sandcastle.config b/tools/Sandcastle/Presentation/hana/configuration/sandcastle.config
deleted file mode 100644
index cfa51df..0000000
--- a/tools/Sandcastle/Presentation/hana/configuration/sandcastle.config
+++ /dev/null
@@ -1,127 +0,0 @@
-<configuration>
- <dduetools>
- <builder>
- <components>
-
- <!-- Create skeleton document -->
- <component type="Microsoft.Ddue.Tools.CopyFromFileComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <data file="%DXROOT%\Presentation\hana\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>
-
- <!-- Copy in parameter data -->
- <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <variable expression="/document/reference/parameters/parameter//type/@api" />
- <components>
- <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <copy name="reflection" source="apidata" target="/document/reference/parameters/parameter//type[boolean(@api=$key) and not(apidata)]" />
- </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 files="%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\*.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]/apidata)" />
- <then>
- <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <copy name="reflection" source="*[not(self::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>
-
- <!-- Copy in comments for the member's declaring type. -->
- <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <copy name="comments" key="string(/document/reference/containers/type/@api)" source="summary" target="/document/reference/containers" />
- </component>
-
- <!-- transform -->
- <component type="Microsoft.Ddue.Tools.TransformComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <transform file="%DXROOT%\Presentation\hana\Transforms\main_sandcastle.xsl">
- <argument key="metadata" value="true" />
- <argument key="languages">
- <language label="VisualBasic" name="VisualBasic" style="vb" />
- <language label="CSharp" name="CSharp" style="cs" />
- <language label="ManagedCPlusPlus" name="ManagedCPlusPlus" style="cpp" />
- <!--<language label="JSharp" name="JSharp" style="cs" />
- <language label="JScript" name="JScript" style="cs" />
- <language label="XAML" name="XAML" style="cs" /> -->
- </argument>
- </transform>
- </component>
-
- <!-- resolve shared content -->
- <component type="Microsoft.Ddue.Tools.SharedContentComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <content file="%DXROOT%\Presentation\hana\content\shared_content.xml" />
- <content file="%DXROOT%\Presentation\hana\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='guid']/@content,'.htm')" indent="false" omit-xml-declaration="true" />
- </component>
-
- </components>
- </builder>
- </dduetools>
-</configuration>
diff --git a/tools/Sandcastle/Presentation/hana/copyOutput.bat b/tools/Sandcastle/Presentation/hana/copyOutput.bat
deleted file mode 100644
index 60fc216..0000000
--- a/tools/Sandcastle/Presentation/hana/copyOutput.bat
+++ /dev/null
@@ -1,11 +0,0 @@
-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
-if not exist Output\media mkdir Output\media
-copy "%DXROOT%\Presentation\hana\icons\*" Output\icons
-copy "%DXROOT%\Presentation\hana\scripts\*" Output\scripts
-copy "%DXROOT%\Presentation\hana\styles\*" Output\styles
-if not exist Intellisense mkdir Intellisense
-
diff --git a/tools/Sandcastle/Presentation/hana/icons/CFW.gif b/tools/Sandcastle/Presentation/hana/icons/CFW.gif
deleted file mode 100644
index cbcabf1..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/CFW.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/Caution.gif b/tools/Sandcastle/Presentation/hana/icons/Caution.gif
deleted file mode 100644
index c58e1f9..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/Caution.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/LastChild.gif b/tools/Sandcastle/Presentation/hana/icons/LastChild.gif
deleted file mode 100644
index 0b9af7e..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/LastChild.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/NSRbottomgrad.gif b/tools/Sandcastle/Presentation/hana/icons/NSRbottomgrad.gif
deleted file mode 100644
index a6f9ac6..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/NSRbottomgrad.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/adm.gif b/tools/Sandcastle/Presentation/hana/icons/adm.gif
deleted file mode 100644
index 558dbd1..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/adm.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/adm_arch.gif b/tools/Sandcastle/Presentation/hana/icons/adm_arch.gif
deleted file mode 100644
index 918f568..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/adm_arch.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/adm_dev.gif b/tools/Sandcastle/Presentation/hana/icons/adm_dev.gif
deleted file mode 100644
index e7398bb..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/adm_dev.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/adm_dev_arch.gif b/tools/Sandcastle/Presentation/hana/icons/adm_dev_arch.gif
deleted file mode 100644
index 9beb941..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/adm_dev_arch.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/alert_caution.gif b/tools/Sandcastle/Presentation/hana/icons/alert_caution.gif
deleted file mode 100644
index c58e1f9..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/alert_caution.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/alert_note.gif b/tools/Sandcastle/Presentation/hana/icons/alert_note.gif
deleted file mode 100644
index 3393af3..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/alert_note.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/alert_security.gif b/tools/Sandcastle/Presentation/hana/icons/alert_security.gif
deleted file mode 100644
index 48661ce..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/alert_security.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/arch.gif b/tools/Sandcastle/Presentation/hana/icons/arch.gif
deleted file mode 100644
index a75cdf8..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/arch.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/big_adm.gif b/tools/Sandcastle/Presentation/hana/icons/big_adm.gif
deleted file mode 100644
index 9351c4b..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/big_adm.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/big_arch.gif b/tools/Sandcastle/Presentation/hana/icons/big_arch.gif
deleted file mode 100644
index 8ba260d..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/big_arch.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/big_dev.gif b/tools/Sandcastle/Presentation/hana/icons/big_dev.gif
deleted file mode 100644
index 221a4dd..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/big_dev.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/big_kw.gif b/tools/Sandcastle/Presentation/hana/icons/big_kw.gif
deleted file mode 100644
index 365cca2..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/big_kw.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/box.gif b/tools/Sandcastle/Presentation/hana/icons/box.gif
deleted file mode 100644
index c022894..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/box.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/ch_selected.gif b/tools/Sandcastle/Presentation/hana/icons/ch_selected.gif
deleted file mode 100644
index 7a81770..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/ch_selected.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/ch_selected_hover.gif b/tools/Sandcastle/Presentation/hana/icons/ch_selected_hover.gif
deleted file mode 100644
index 21edffc..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/ch_selected_hover.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/ch_unselected.gif b/tools/Sandcastle/Presentation/hana/icons/ch_unselected.gif
deleted file mode 100644
index 04c9cfd..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/ch_unselected.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/ch_unselected_hover.gif b/tools/Sandcastle/Presentation/hana/icons/ch_unselected_hover.gif
deleted file mode 100644
index 693ec56..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/ch_unselected_hover.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/collall.gif b/tools/Sandcastle/Presentation/hana/icons/collall.gif
deleted file mode 100644
index 66a6f11..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/collall.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/collapse.gif b/tools/Sandcastle/Presentation/hana/icons/collapse.gif
deleted file mode 100644
index d57c046..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/collapse.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/collapse_all.gif b/tools/Sandcastle/Presentation/hana/icons/collapse_all.gif
deleted file mode 100644
index 45f018a..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/collapse_all.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/copycode.gif b/tools/Sandcastle/Presentation/hana/icons/copycode.gif
deleted file mode 100644
index 1678162..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/copycode.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/copycodeHighlight.gif b/tools/Sandcastle/Presentation/hana/icons/copycodeHighlight.gif
deleted file mode 100644
index be87230..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/copycodeHighlight.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/dev.gif b/tools/Sandcastle/Presentation/hana/icons/dev.gif
deleted file mode 100644
index 376241d..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/dev.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/dev_arch.gif b/tools/Sandcastle/Presentation/hana/icons/dev_arch.gif
deleted file mode 100644
index 12b5520..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/dev_arch.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/drpdown.gif b/tools/Sandcastle/Presentation/hana/icons/drpdown.gif
deleted file mode 100644
index 9d3bbb6..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/drpdown.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/drpdown_orange.gif b/tools/Sandcastle/Presentation/hana/icons/drpdown_orange.gif
deleted file mode 100644
index cf50c20..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/drpdown_orange.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/drpdown_orange_up.gif b/tools/Sandcastle/Presentation/hana/icons/drpdown_orange_up.gif
deleted file mode 100644
index a173df1..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/drpdown_orange_up.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/drpup.gif b/tools/Sandcastle/Presentation/hana/icons/drpup.gif
deleted file mode 100644
index de77198..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/drpup.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/exp.gif b/tools/Sandcastle/Presentation/hana/icons/exp.gif
deleted file mode 100644
index 023b837..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/exp.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/expall.gif b/tools/Sandcastle/Presentation/hana/icons/expall.gif
deleted file mode 100644
index 1a91b12..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/expall.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/expand_all.gif b/tools/Sandcastle/Presentation/hana/icons/expand_all.gif
deleted file mode 100644
index 123fda9..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/expand_all.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/filter1a.gif b/tools/Sandcastle/Presentation/hana/icons/filter1a.gif
deleted file mode 100644
index 8a2f9b5..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/filter1a.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/filter1c.gif b/tools/Sandcastle/Presentation/hana/icons/filter1c.gif
deleted file mode 100644
index 49de223..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/filter1c.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/footer.gif b/tools/Sandcastle/Presentation/hana/icons/footer.gif
deleted file mode 100644
index 7092cde..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/footer.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/greencheck.gif b/tools/Sandcastle/Presentation/hana/icons/greencheck.gif
deleted file mode 100644
index 4ba1751..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/greencheck.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/greychck.gif b/tools/Sandcastle/Presentation/hana/icons/greychck.gif
deleted file mode 100644
index adb8fa1..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/greychck.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/header_prev_next.jpg b/tools/Sandcastle/Presentation/hana/icons/header_prev_next.jpg
deleted file mode 100644
index 2f53424..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/header_prev_next.jpg
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/header_sql_tutorial_blank.jpg b/tools/Sandcastle/Presentation/hana/icons/header_sql_tutorial_blank.jpg
deleted file mode 100644
index aca0566..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/header_sql_tutorial_blank.jpg
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/header_sql_tutorial_logo.GIF b/tools/Sandcastle/Presentation/hana/icons/header_sql_tutorial_logo.GIF
deleted file mode 100644
index e0b0bcc..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/header_sql_tutorial_logo.GIF
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/kw.gif b/tools/Sandcastle/Presentation/hana/icons/kw.gif
deleted file mode 100644
index 40a943c..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/kw.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/kw_adm.gif b/tools/Sandcastle/Presentation/hana/icons/kw_adm.gif
deleted file mode 100644
index 6e05cc8..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/kw_adm.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/kw_adm_arch.gif b/tools/Sandcastle/Presentation/hana/icons/kw_adm_arch.gif
deleted file mode 100644
index 162c7d8..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/kw_adm_arch.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/kw_adm_dev.gif b/tools/Sandcastle/Presentation/hana/icons/kw_adm_dev.gif
deleted file mode 100644
index 2d67824..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/kw_adm_dev.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/kw_adm_dev_arch.gif b/tools/Sandcastle/Presentation/hana/icons/kw_adm_dev_arch.gif
deleted file mode 100644
index 358f2fa..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/kw_adm_dev_arch.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/kw_arch.gif b/tools/Sandcastle/Presentation/hana/icons/kw_arch.gif
deleted file mode 100644
index ab5d3bb..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/kw_arch.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/kw_dev.gif b/tools/Sandcastle/Presentation/hana/icons/kw_dev.gif
deleted file mode 100644
index 6ff27ed..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/kw_dev.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/kw_dev_arch.gif b/tools/Sandcastle/Presentation/hana/icons/kw_dev_arch.gif
deleted file mode 100644
index 99f017a..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/kw_dev_arch.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/load.gif b/tools/Sandcastle/Presentation/hana/icons/load.gif
deleted file mode 100644
index 9492447..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/load.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/load_hover.gif b/tools/Sandcastle/Presentation/hana/icons/load_hover.gif
deleted file mode 100644
index 65f44aa..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/load_hover.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/note.gif b/tools/Sandcastle/Presentation/hana/icons/note.gif
deleted file mode 100644
index 3393af3..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/note.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/pencil.GIF b/tools/Sandcastle/Presentation/hana/icons/pencil.GIF
deleted file mode 100644
index 000dcb4..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/pencil.GIF
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/privclass.gif b/tools/Sandcastle/Presentation/hana/icons/privclass.gif
deleted file mode 100644
index 0939694..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/privclass.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/privdelegate.gif b/tools/Sandcastle/Presentation/hana/icons/privdelegate.gif
deleted file mode 100644
index d3aa8a6..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/privdelegate.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/privenum.gif b/tools/Sandcastle/Presentation/hana/icons/privenum.gif
deleted file mode 100644
index 47f387e..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/privenum.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/privenumeration.gif b/tools/Sandcastle/Presentation/hana/icons/privenumeration.gif
deleted file mode 100644
index 47f387e..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/privenumeration.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/privevent.gif b/tools/Sandcastle/Presentation/hana/icons/privevent.gif
deleted file mode 100644
index 30db46d..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/privevent.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/privfield.gif b/tools/Sandcastle/Presentation/hana/icons/privfield.gif
deleted file mode 100644
index cbf70f7..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/privfield.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/privinterface.gif b/tools/Sandcastle/Presentation/hana/icons/privinterface.gif
deleted file mode 100644
index f3b7950..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/privinterface.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/privmethod.gif b/tools/Sandcastle/Presentation/hana/icons/privmethod.gif
deleted file mode 100644
index 71f8822..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/privmethod.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/privproperty.gif b/tools/Sandcastle/Presentation/hana/icons/privproperty.gif
deleted file mode 100644
index b1e8074..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/privproperty.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/privstructure.gif b/tools/Sandcastle/Presentation/hana/icons/privstructure.gif
deleted file mode 100644
index ed6d1ef..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/privstructure.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/protclass.gif b/tools/Sandcastle/Presentation/hana/icons/protclass.gif
deleted file mode 100644
index 0f92942..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/protclass.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/protdelegate.gif b/tools/Sandcastle/Presentation/hana/icons/protdelegate.gif
deleted file mode 100644
index b209f2d..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/protdelegate.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/protenum.gif b/tools/Sandcastle/Presentation/hana/icons/protenum.gif
deleted file mode 100644
index cc96bb6..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/protenum.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/protenumeration.gif b/tools/Sandcastle/Presentation/hana/icons/protenumeration.gif
deleted file mode 100644
index cc96bb6..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/protenumeration.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/protevent.gif b/tools/Sandcastle/Presentation/hana/icons/protevent.gif
deleted file mode 100644
index 0e510b2..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/protevent.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/protfield.gif b/tools/Sandcastle/Presentation/hana/icons/protfield.gif
deleted file mode 100644
index 9ae6833..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/protfield.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/protinterface.gif b/tools/Sandcastle/Presentation/hana/icons/protinterface.gif
deleted file mode 100644
index a1b96d2..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/protinterface.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/protmethod.gif b/tools/Sandcastle/Presentation/hana/icons/protmethod.gif
deleted file mode 100644
index 2bc9468..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/protmethod.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/protoperator.gif b/tools/Sandcastle/Presentation/hana/icons/protoperator.gif
deleted file mode 100644
index 2cb75ab..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/protoperator.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/protproperty.gif b/tools/Sandcastle/Presentation/hana/icons/protproperty.gif
deleted file mode 100644
index 55473d1..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/protproperty.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/protstructure.gif b/tools/Sandcastle/Presentation/hana/icons/protstructure.gif
deleted file mode 100644
index af356a1..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/protstructure.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/pubclass.gif b/tools/Sandcastle/Presentation/hana/icons/pubclass.gif
deleted file mode 100644
index 1a968ab..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/pubclass.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/pubdelegate.gif b/tools/Sandcastle/Presentation/hana/icons/pubdelegate.gif
deleted file mode 100644
index 0a43eb2..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/pubdelegate.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/pubenum.gif b/tools/Sandcastle/Presentation/hana/icons/pubenum.gif
deleted file mode 100644
index 46888ad..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/pubenum.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/pubenumeration.gif b/tools/Sandcastle/Presentation/hana/icons/pubenumeration.gif
deleted file mode 100644
index 46888ad..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/pubenumeration.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/pubevent.gif b/tools/Sandcastle/Presentation/hana/icons/pubevent.gif
deleted file mode 100644
index b9226da..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/pubevent.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/pubfield.gif b/tools/Sandcastle/Presentation/hana/icons/pubfield.gif
deleted file mode 100644
index 5aed175..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/pubfield.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/pubinterface.gif b/tools/Sandcastle/Presentation/hana/icons/pubinterface.gif
deleted file mode 100644
index c38a4c4..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/pubinterface.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/pubmethod.gif b/tools/Sandcastle/Presentation/hana/icons/pubmethod.gif
deleted file mode 100644
index 2c72988..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/pubmethod.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/puboperator.gif b/tools/Sandcastle/Presentation/hana/icons/puboperator.gif
deleted file mode 100644
index 0ebe10a..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/puboperator.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/pubproperty.gif b/tools/Sandcastle/Presentation/hana/icons/pubproperty.gif
deleted file mode 100644
index dfad7b4..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/pubproperty.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/pubstructure.gif b/tools/Sandcastle/Presentation/hana/icons/pubstructure.gif
deleted file mode 100644
index 1344416..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/pubstructure.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/r_select.gif b/tools/Sandcastle/Presentation/hana/icons/r_select.gif
deleted file mode 100644
index a66334b..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/r_select.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/r_select_hover.gif b/tools/Sandcastle/Presentation/hana/icons/r_select_hover.gif
deleted file mode 100644
index 58444d6..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/r_select_hover.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/r_unselect.gif b/tools/Sandcastle/Presentation/hana/icons/r_unselect.gif
deleted file mode 100644
index 8c5a85d..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/r_unselect.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/r_unselect_hover.gif b/tools/Sandcastle/Presentation/hana/icons/r_unselect_hover.gif
deleted file mode 100644
index 58444d6..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/r_unselect_hover.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/requirements1a.gif b/tools/Sandcastle/Presentation/hana/icons/requirements1a.gif
deleted file mode 100644
index 3b08793..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/requirements1a.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/requirements1c.gif b/tools/Sandcastle/Presentation/hana/icons/requirements1c.gif
deleted file mode 100644
index d62bda3..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/requirements1c.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/save.gif b/tools/Sandcastle/Presentation/hana/icons/save.gif
deleted file mode 100644
index 6a5177e..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/save.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/save_hover.gif b/tools/Sandcastle/Presentation/hana/icons/save_hover.gif
deleted file mode 100644
index 7b62e92..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/save_hover.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/security.gif b/tools/Sandcastle/Presentation/hana/icons/security.gif
deleted file mode 100644
index 48661ce..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/security.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/seealso1a.gif b/tools/Sandcastle/Presentation/hana/icons/seealso1a.gif
deleted file mode 100644
index 2f5d50a..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/seealso1a.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/seealso1c.gif b/tools/Sandcastle/Presentation/hana/icons/seealso1c.gif
deleted file mode 100644
index 84f79e7..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/seealso1c.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/static.gif b/tools/Sandcastle/Presentation/hana/icons/static.gif
deleted file mode 100644
index c54022b..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/static.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/tab_sel_lft_cnr.gif b/tools/Sandcastle/Presentation/hana/icons/tab_sel_lft_cnr.gif
deleted file mode 100644
index 9653f83..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/tab_sel_lft_cnr.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/tab_sel_lft_grad.gif b/tools/Sandcastle/Presentation/hana/icons/tab_sel_lft_grad.gif
deleted file mode 100644
index be9c0c5..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/tab_sel_lft_grad.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/tab_sel_rt_cnr.gif b/tools/Sandcastle/Presentation/hana/icons/tab_sel_rt_cnr.gif
deleted file mode 100644
index ba65c4e..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/tab_sel_rt_cnr.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/tab_sel_rt_grad.gif b/tools/Sandcastle/Presentation/hana/icons/tab_sel_rt_grad.gif
deleted file mode 100644
index 50fee8d..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/tab_sel_rt_grad.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/tab_unsel_lft_cnr.gif b/tools/Sandcastle/Presentation/hana/icons/tab_unsel_lft_cnr.gif
deleted file mode 100644
index 989a051..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/tab_unsel_lft_cnr.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/tab_unsel_lft_grad.gif b/tools/Sandcastle/Presentation/hana/icons/tab_unsel_lft_grad.gif
deleted file mode 100644
index 1b5c283..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/tab_unsel_lft_grad.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/tab_unsel_rt_cnr.gif b/tools/Sandcastle/Presentation/hana/icons/tab_unsel_rt_cnr.gif
deleted file mode 100644
index d748332..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/tab_unsel_rt_cnr.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/tab_unsel_rt_grad.gif b/tools/Sandcastle/Presentation/hana/icons/tab_unsel_rt_grad.gif
deleted file mode 100644
index 31d4f87..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/tab_unsel_rt_grad.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/twirl_selected.gif b/tools/Sandcastle/Presentation/hana/icons/twirl_selected.gif
deleted file mode 100644
index 4cfa69b..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/twirl_selected.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/twirl_selected_hover.gif b/tools/Sandcastle/Presentation/hana/icons/twirl_selected_hover.gif
deleted file mode 100644
index f54afa1..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/twirl_selected_hover.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/twirl_unselected.gif b/tools/Sandcastle/Presentation/hana/icons/twirl_unselected.gif
deleted file mode 100644
index 97a1ea8..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/twirl_unselected.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/twirl_unselected_hover.gif b/tools/Sandcastle/Presentation/hana/icons/twirl_unselected_hover.gif
deleted file mode 100644
index 5a7352a..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/twirl_unselected_hover.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/icons/xna.gif b/tools/Sandcastle/Presentation/hana/icons/xna.gif
deleted file mode 100644
index 9e6a9d4..0000000
--- a/tools/Sandcastle/Presentation/hana/icons/xna.gif
+++ /dev/null
Binary files differ
diff --git a/tools/Sandcastle/Presentation/hana/transforms/globalTemplates.xsl b/tools/Sandcastle/Presentation/hana/transforms/globalTemplates.xsl
deleted file mode 100644
index abf6d2d..0000000
--- a/tools/Sandcastle/Presentation/hana/transforms/globalTemplates.xsl
+++ /dev/null
@@ -1,125 +0,0 @@
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
- xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
- xmlns:mshelp="http://msdn.microsoft.com/mshelp"
- xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:msxsl="urn:schemas-microsoft-com:xslt"
- >
-
- <xsl:template name="autogenSeeAlsoLinks">
-
- <!-- a link to the containing type on all list and member topics -->
- <xsl:if test="$group='member' or $group='list'">
- <div class="seeAlsoStyle">
- <include item="SeeAlsoTypeLinkText">
- <parameter>
- <referenceLink target="{$typeId}" />
- <!--<xsl:value-of select="$typeName"/> -->
- </parameter>
- <parameter>
- <xsl:value-of select="/document/reference/containers/type/apidata/@subgroup"/>
- </parameter>
- </include>
- </div>
- </xsl:if>
-
- <!-- a link to the namespace topic -->
- <xsl:if test="normalize-space($namespaceId)">
- <div class="seeAlsoStyle">
- <include item="SeeAlsoNamespaceLinkText">
- <parameter>
- <referenceLink target="{$namespaceId}" />
- <!--<xsl:value-of select="/document/reference/containers/namespace/apidata/@name"/> -->
- </parameter>
- </include>
- </div>
- </xsl:if>
-
- </xsl:template>
-
- <xsl:variable name="typeId">
- <xsl:choose>
- <xsl:when test="/document/reference/topicdata[@group='api'] and /document/reference/apidata[@group='type']">
- <xsl:value-of select="$key"/>
- </xsl:when>
- <xsl:when test="/document/reference/topicdata/@typeTopicId">
- <xsl:value-of select="/document/reference/topicdata/@typeTopicId"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/document/reference/containers/type/@api"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:variable name="namespaceId">
- <xsl:value-of select="/document/reference/containers/namespace/@api"/>
- </xsl:variable>
-
- <!-- indent by 2*n spaces -->
- <xsl:template name="indent">
- <xsl:param name="count" />
- <xsl:if test="$count &gt; 1">
- <xsl:text>&#160;&#160;</xsl:text>
- <xsl:call-template name="indent">
- <xsl:with-param name="count" select="$count - 1" />
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <!-- Gets the substring after the last occurence of a period in a given string -->
- <xsl:template name="subString">
- <xsl:param name="name" />
-
- <xsl:choose>
- <xsl:when test="contains($name, '.')">
- <xsl:call-template name="subString">
- <xsl:with-param name="name" select="substring-after($name, '.')" />
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$name" />
- </xsl:otherwise>
- </xsl:choose>
-
- </xsl:template>
-
- <xsl:template name="codeSection">
-
- <table width="100%" cellspacing="0" cellpadding="0">
- <tr>
- <th>
- <span class="copyCode" onclick="CopyCode(this)" onkeypress="CopyCode_CheckKey(this, event)" onmouseover="ChangeCopyCodeIcon(this)" onmouseout="ChangeCopyCodeIcon(this)" tabindex="0">
- <img class="copyCodeImage" name="ccImage" align="absmiddle">
- <includeAttribute name="title" item="copyImage" />
- <includeAttribute name="src" item="iconPath">
- <parameter>copycode.gif</parameter>
- </includeAttribute>
- </img>
- <include item="copyCode"/>
- </span>
- </th>
- </tr>
- <tr>
- <td colspan="2">
- <pre><xsl:text/><xsl:copy-of select="node()"/><xsl:text/></pre>
- </td>
- </tr>
- </table>
-
- </xsl:template>
-
- <xsl:template name="languageCheck">
- <xsl:param name="codeLanguage"/>
-
- <xsl:if test="$languages != 'false'">
- <xsl:if test="count($languages/language) &gt; 0">
- <xsl:for-each select="$languages/language">
- <xsl:if test="$codeLanguage = @name">
- <xsl:value-of select="@style"/>
- </xsl:if>
- </xsl:for-each>
- </xsl:if>
- </xsl:if>
- </xsl:template>
-
-</xsl:stylesheet> \ No newline at end of file
diff --git a/tools/Sandcastle/Presentation/hana/transforms/htmlBody.xsl b/tools/Sandcastle/Presentation/hana/transforms/htmlBody.xsl
deleted file mode 100644
index 64fb50e..0000000
--- a/tools/Sandcastle/Presentation/hana/transforms/htmlBody.xsl
+++ /dev/null
@@ -1,507 +0,0 @@
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
- xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
- xmlns:mshelp="http://msdn.microsoft.com/mshelp"
- xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:msxsl="urn:schemas-microsoft-com:xslt"
- >
-
- <xsl:import href="globalTemplates.xsl"/>
- <xsl:template name="upperBodyStuff">
- <input type="hidden" id="userDataCache" class="userDataStyle"/>
- <input type="hidden" id="hiddenScrollOffset"/>
-
- <xsl:call-template name="commonImages"/>
-
- <xsl:call-template name="bodyHeader"/>
-
- </xsl:template>
-
- <xsl:template name="bodyHeader">
- <div id="header">
- <xsl:call-template name="bodyHeaderTopTable"/>
- </div>
- </xsl:template>
-
- <xsl:template name="bodyHeaderTopTable">
- <table id="topTable">
- <tr id="headerTableRow3">
- <td>
- <xsl:call-template name="headerRowLinks"/>
- </td>
- </tr>
- <tr id="headerTableRow1">
- <td align="left">
- <span id="runningHeaderText">
- <xsl:call-template name="runningHeader" />
- </span>
- </td>
- </tr>
- <tr id="headerTableRow2">
- <td align="left">
- <span id="nsrTitle">
- <xsl:call-template name="topicTitleDecorated"/>
- </span>
- </td>
- </tr>
- <tr>
- <td class="nsrBottom">
- <includeAttribute name="background" item="iconPath">
- <parameter>NSRbottomgrad.gif</parameter>
- </includeAttribute>
- </td>
- </tr>
- </table>
- </xsl:template>
-
- <xsl:template name="headerRowLinks">
- <!-- most mref topics get autogenerated see also links to see also section -->
-
- <span onclick="ExpandCollapseAll(toggleAllImage)" style="cursor:default;" onkeypress="ExpandCollapseAll_CheckKey(toggleAllImage, event)" tabindex="0">
- <img ID="toggleAllImage" class="toggleAll">
- <includeAttribute name="src" item="iconPath">
- <parameter>collall.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="collapseAllImage" />
- </img>
- <label id="collapseAllLabel" for="toggleAllImage" style="display: none;">
- <include item="collapseAll"/>
- </label>
- <label id="expandAllLabel" for="toggleAllImage" style="display: none;">
- <include item="expandAll"/>
- </label>
- <xsl:text>&#160;</xsl:text>
- </span>
-
- <xsl:if test="$languages != 'false'">
- <xsl:if test="count($languages/language) &gt; 0">
- <xsl:text>&#160;|&#160;</xsl:text>
- <xsl:call-template name="languageFilterToolTip"/>
- <xsl:call-template name="languageSpan"/>
- </xsl:if>
- </xsl:if>
-
-
- <!-- include Example link if there's an Example section -->
- <xsl:choose>
- <xsl:when test="$examplesSection">
- <xsl:text>&#160;|&#160;</xsl:text>
- <a href="#exampleToggle" onclick="OpenSection(exampleToggle)">
- <xsl:text/>
- <include item="Example"/>
- <xsl:text/>
- </a>
- </xsl:when>
- </xsl:choose>
-
- <!-- class, structure, and interface About topics get link to Members topic (unless the doc model has the all members lists on the type topic) -->
- <xsl:choose>
- <xsl:when test="normalize-space(/document/reference/topicdata/@allMembersTopicId)">
- <xsl:text>&#160;|&#160;</xsl:text>
- <referenceLink target="{/document/reference/topicdata/@allMembersTopicId}">
- <include item="allMembersTitle"/>
- </referenceLink>
- </xsl:when>
- <xsl:when test="count(/document/reference/elements/element) &gt; 0 and ($subgroup='class' or $subgroup='structure' or $subgroup='interface')">
- <xsl:text>&#160;|&#160;</xsl:text>
- <a href="#membersToggle" onclick="OpenSection(membersToggle)">
- <xsl:text/>
- <include item="allMembersTitle"/>
- <xsl:text/>
- </a>
- </xsl:when>
- </xsl:choose>
-
- <xsl:if test="$hasSeeAlsoSection">
- <xsl:text>&#160;|&#160;</xsl:text>
- <a href="#seeAlsoToggle" onclick="OpenSection(seeAlsoToggle)">
- <xsl:text/>
- <include item="SeeAlso"/>
- <xsl:text/>
- </a>
- </xsl:if>
-
- <!--all members only -->
- <xsl:if test="$subgroup='members'">
- <xsl:variable name="visibility">
- <xsl:for-each select="/document/reference/elements/element">
- <xsl:choose>
- <xsl:when test="memberdata[@visibility = 'public']">
- <xsl:choose>
- <xsl:when test="not(apidata[@subsubgroup])">
- <xsl:value-of select="concat('Public', apidata/@subgroup, ';')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="concat('Public', apidata/@subsubgroup, ';')"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:when test="memberdata[@visibility = 'private'] and not(proceduredata[@virtual = 'true'])">
- <xsl:choose>
- <xsl:when test="not(apidata[@subsubgroup])">
- <xsl:value-of select="concat('Private', apidata/@subgroup, ';')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="concat('Private', apidata/@subsubgroup, ';')"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:when test="memberdata[@visibility = 'private'] and proceduredata[@virtual = 'true']">
- explicit;
- </xsl:when>
- <xsl:otherwise>
- <xsl:choose>
- <xsl:when test="not(apidata[@subsubgroup])">
- <xsl:value-of select="concat('Protected', apidata/@subgroup, ';')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="concat('Protected', apidata/@subsubgroup, ';')"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:for-each>
- </xsl:variable>
-
-
- <xsl:for-each select="/document/reference/elements/element">
- <xsl:variable name="subgroup" select="apidata/@subgroup"/>
- <xsl:variable name="subsubgroup" select="apidata/@subsubgroup" />
- <xsl:if test="not(preceding-sibling::element[apidata[@subgroup=$subgroup]]) and not($subsubgroup='attachedProperty' or $subsubgroup='attachedEvent')">
- <xsl:if test="not($subsubgroup)">
- <xsl:variable name="elementVisibility">
- <xsl:choose>
- <xsl:when test="contains($visibility, concat('Public', $subgroup))">
- <xsl:value-of select="concat('Public', $subgroup)"/>
- </xsl:when>
- <xsl:when test="contains($visibility, concat('Private', $subgroup))">
- <xsl:value-of select="concat('Private', $subgroup)"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="concat('Protected', $subgroup)"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <!-- add a link to the member list section for this subgroup -->
- <a href="#{$elementVisibility}Toggle" onclick="OpenSection({$elementVisibility}Toggle)">
- <xsl:text/>
- <include item="{$subgroup}Group"/>
- <xsl:text/>
- </a>&#160;
- </xsl:if>
- </xsl:if>
- <xsl:if test="not(preceding-sibling::element[apidata[@subsubgroup=$subsubgroup]]) and ($subsubgroup='attachedProperty' or $subsubgroup='attachedEvent')">
- <xsl:variable name="elementVisibility">
- <xsl:choose>
- <xsl:when test="contains($visibility, concat('Public', $subsubgroup))">
- <xsl:value-of select="concat('Public', $subsubgroup)"/>
- </xsl:when>
- <xsl:when test="contains($visibility, concat('Private', $subsubgroup))">
- <xsl:value-of select="concat('Private', $subsubgroup)"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="concat('Protected', $subsubgroup)"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- add a link to the member list section for this subgroup -->
- <a href="#{$elementVisibility}Toggle" onclick="OpenSection({$elementVisibility}Toggle)">
- <xsl:text/>
- <include item="{$subsubgroup}Group"/>
- <xsl:text/>
- </a>&#160;
- </xsl:if>
- </xsl:for-each>
-
- <xsl:if test="contains($visibility, 'explicit')">
- <a href="#ExplicitInterfaceImplementationToggle" onclick="OpenSection(ExplicitInterfaceImplementationSection)">
- <xsl:text/>
- <include item="ExplicitInterfaceImplementation"/>
- <xsl:text/>
- </a>&#160;
- </xsl:if>
- </xsl:if>
-
- </xsl:template>
-
- <xsl:template name="bodyHeaderBottomTable">
- <table id="bottomTable" cellspacing="0" cellpadding="0">
- <tr>
- <td>
- <span onclick="ExpandCollapseAll(toggleAllImage)" style="cursor:default;" onkeypress="ExpandCollapseAll_CheckKey(toggleAllImage, event)" tabindex="0">
- <img ID="toggleAllImage" class="toggleAll">
- <includeAttribute name="src" item="iconPath">
- <parameter>collall.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="collapseAllImage" />
- </img>
- <label id="collapseAllLabel" for="toggleAllImage" style="display: none;">
- <include item="collapseAll"/>
- </label>
- <label id="expandAllLabel" for="toggleAllImage" style="display: none;">
- <include item="expandAll"/>
- </label>
- <xsl:text>&#160;</xsl:text>
- </span>
-
- <xsl:text>&#160;</xsl:text>
-
- <xsl:call-template name="languageFilterToolTip"/>
-
- </td>
- </tr>
- </table>
- </xsl:template>
-
- <xsl:template name="languageFilterToolTip">
- <span id="languageFilterToolTip" style="cursor:default;" onmouseover="languageFilterImage.src=dropDownHoverImage.src;" onmouseout="languageFilterImage.src=dropDownImage.src;" tabindex="0">
- <img id="languageFilterImage">
- <includeAttribute name="src" item="iconPath">
- <parameter>twirl_unselected.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="dropDownImage" />
- </img>
- <xsl:for-each select="$languages/language">
- <label id="{@name}Label" for="languageFilterImage" style="display: none;">
- <include item="languageFilter">
- <parameter>
- <include item="{@label}Label"/>
- </parameter>
- </include>
- </label>
- </xsl:for-each>
- </span>
- </xsl:template>
-
- <xsl:template name="membersOptionsSpan">
- <div id="membersOptionsSpan">
- <input id="inheritedCheckbox" type='checkbox' name="membersOptionsFilter" onClick="SetMembersOptions(this)"/>
- <label class="membersOptionsFilter" for="inheritedCheckbox">
- <include item="includeInheritedMembers"/>
- </label>
- <br/>
- <input id="protectedCheckbox" type='checkbox' name="membersOptionsFilter" onClick="SetMembersOptions(this)"/>
- <label class="membersOptionsFilter" for="protectedCheckbox">
- <include item="includeProtectedMembers"/>
- </label>
- <br/>
- <input id="netcfCheckbox" type='checkbox' name="membersOptionsFilter" onClick="SetMembersOptions(this)"/>
- <label class="membersOptionsFilter" for="netcfCheckbox">
- <include item="netcfMembersOnly"/>
- </label>
- <br/>
- <!-- add a checkbox for XNA filtering -->
- <input id="netXnaCheckbox" type='checkbox' name="membersOptionsFilter" onClick="SetMembersOptions(this)"/>
- <label class="membersOptionsFilter" for="netXnaCheckbox">
- <include item="netXnaMembersOnly"/>
- </label>
- </div>
- </xsl:template>
-
- <xsl:template name="membersOptionsFilterToolTip">
- <span id="membersOptionsFilterToolTip" style="cursor:default;" onmouseover="membersOptionsFilterImage.src=dropDownHoverImage.src;" onmouseout="membersOptionsFilterImage.src=dropDownImage.src;" tabindex="0">
- <img id="membersOptionsFilterImage">
- <includeAttribute name="src" item="iconPath">
- <parameter>drpdown.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="dropDownImage" />
- </img>
- <label id="showAllMembersLabel" for="membersOptionsFilterImage" style="display: none;">
- <include item="membersOptionsShowAll"/>
- </label>
- <label id="filteredMembersLabel" for="membersOptionsFilterImage" style="display: none;">
- <include item="membersOptionsFiltered"/>
- </label>
- </span>
- </xsl:template>
-
- <xsl:template name="languageSpan">
- <div id="languageSpan">
- <xsl:for-each select="$languages/language">
- <div id="{@name}" onclick="languageFilter.changeLanguage(data, '{@name}', '{@style}');">
- <img id="{@name}Image" onmouseover="mouseOverCheck({@name}Image,radioSelectImage,radioUnSelectImage,radioSelectHoverImage,radioUnSelectHoverImage)" onmouseout="mouseOutCheck({@name}Image,radioSelectImage,radioUnSelectImage,radioSelectHoverImage,radioUnSelectHoverImage)">
- <includeAttribute name="src" item="iconPath">
- <parameter>r_unselect.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:text>&#xa0;</xsl:text>
- <include item="{@label}Label" />
- </div>
- <br />
- </xsl:for-each>
- <script>var languageFilter = new Selector('languageSpan');languageFilter.register(codeBlockHandler); languageFilter.register(styleSheetHandler); languageFilter.register(persistenceHandler);languageFilter.register(languageHandler);toggleLanguage('languageSpan', 'x-lang', 'CSharp');toggleInlineStyle('cs');</script>
- </div>
- </xsl:template>
-
-
-
- <!-- image links
-current ndppick XSLT behavior:
-expandAllImage - all
-dropDownImage - not namespace or derivedTypeList
-dropDownHoverImage - not namespace or derivedTypeList
-collapseImage - all
-expandImage - all
-collapseAllImage - all
-copyImage - overview (not namespace); list (only overload lists ctor, method, prop)
-copyHoverImage - overview (not namespace); list (only overload lists ctor, method, prop)
- -->
- <xsl:template name="commonImages">
- <img id="collapseImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>collapse_all.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="collapseImage" />
- </img>
- <img id="expandImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>expand_all.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="expandImage" />
- </img>
- <img id="collapseAllImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>collall.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="collapseAllImage" />
- </img>
- <img id="expandAllImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>expall.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="expandAllImage" />
- </img>
- <img id="dropDownImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>twirl_unselected.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="dropDownImage" />
- </img>
- <img id="dropDownHoverImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>twirl_unselected_hover.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="dropDownHoverImage" />
- </img>
- <img id="copyImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>copycode.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="copyImage" />
- </img>
- <img id="copyHoverImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>copycodeHighlight.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="copyHoverImage" />
- </img>
- <img id="checkBoxSelectImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_selected.gif</parameter>
- </includeAttribute>
- </img>
- <img id="checkBoxUnSelectImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_unselected.gif</parameter>
- </includeAttribute>
- </img>
- <img id="checkBoxSelectHoverImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_selected_hover.gif</parameter>
- </includeAttribute>
- </img>
- <img id="checkBoxUnSelectHoverImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_unselected_hover.gif</parameter>
- </includeAttribute>
- </img>
- <img id="radioSelectImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>r_select.gif</parameter>
- </includeAttribute>
- </img>
- <img id="radioUnSelectImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>r_unselect.gif</parameter>
- </includeAttribute>
- </img>
- <img id="radioSelectHoverImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>r_select_hover.gif</parameter>
- </includeAttribute>
- </img>
- <img id="radioUnSelectHoverImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>r_unselect_hover.gif</parameter>
- </includeAttribute>
- </img>
- <img id="curvedLeftSelectImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>tab_sel_lft_cnr.gif</parameter>
- </includeAttribute>
- </img>
- <img id="curvedRightSelectImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>tab_sel_rt_cnr.gif</parameter>
- </includeAttribute>
- </img>
- <img id="curvedLeftUnSelectImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>tab_unsel_lft_cnr.gif</parameter>
- </includeAttribute>
- </img>
- <img id="curvedRightUnSelectImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>tab_unsel_rt_cnr.gif</parameter>
- </includeAttribute>
- </img>
- <img id="gradLeftSelectImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>tab_sel_lft_grad.gif</parameter>
- </includeAttribute>
- </img>
- <img id="gradRightSelectImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>tab_sel_rt_grad.gif</parameter>
- </includeAttribute>
- </img>
- <img id="gradLeftUnSelectImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>tab_unsel_lft_grad.gif</parameter>
- </includeAttribute>
- </img>
- <img id="gradRightUnSelectImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>tab_unsel_rt_grad.gif</parameter>
- </includeAttribute>
- </img>
- <img id="twirlSelectImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>twirl_selected.gif</parameter>
- </includeAttribute>
- </img>
- <img id="twirlUnSelectImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>twirl_unselected.gif</parameter>
- </includeAttribute>
- </img>
- <img id="twirlSelectHoverImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>twirl_selected_hover.gif</parameter>
- </includeAttribute>
- </img>
- <img id="twirlUnSelectHoverImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>twirl_unselected_hover.gif</parameter>
- </includeAttribute>
- </img>
- <img id="NSRBottomImage" style="display:none; height:0; width:0;">
- <includeAttribute name="src" item="iconPath">
- <parameter>NSRbottomgrad.gif</parameter>
- </includeAttribute>
- </img>
- </xsl:template>
-
-
-</xsl:stylesheet> \ No newline at end of file
diff --git a/tools/Sandcastle/Presentation/hana/transforms/main_conceptual.xsl b/tools/Sandcastle/Presentation/hana/transforms/main_conceptual.xsl
deleted file mode 100644
index 9c67ca5..0000000
--- a/tools/Sandcastle/Presentation/hana/transforms/main_conceptual.xsl
+++ /dev/null
@@ -1,455 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"
- xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
- xmlns:mshelp="http://msdn.microsoft.com/mshelp"
- xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:msxsl="urn:schemas-microsoft-com:xslt"
- >
-
- <xsl:output method="xml" indent="no" encoding="utf-8" />
-
- <xsl:include href="htmlBody.xsl" />
- <xsl:include href="utilities_dduexml.xsl" />
-
- <xsl:variable name="hasSeeAlsoSection" select="boolean(count(/document/topic/*/ddue:relatedTopics/*[local-name()!='sampleRef']) > 0)"/>
- <xsl:variable name="examplesSection" select="boolean(string-length(/document/topic/*/ddue:codeExample[normalize-space(.)]) > 0)"/>
- <xsl:variable name="languageFilterSection" select="normalize-space(/document/topic/*/ddue:codeExample)
- or normalize-space(/document/topic/*//ddue:snippets/ddue:snippet)
- or /document/topic/ddue:developerSampleDocument/ddue:relatedTopics/ddue:sampleRef[@srcID]" />
- <xsl:variable name="group" select="/document/reference/apidata/@group" />
- <xsl:variable name="subgroup" select="/document/reference/apidata/@subgroup" />
- <xsl:variable name="subsubgroup" select="/document/reference/apidata/@subsubgroup" />
- <xsl:variable name="pseudo" select="boolean(/document/reference/apidata[@pseudo='true'])"/>
- <!-- key parameter is the api identifier string -->
- <xsl:param name="key" />
- <xsl:param name="metadata" value="false" />
- <xsl:param name="languages">false</xsl:param>
-
- <xsl:template match="/document">
- <html>
- <head>
- <META NAME="save" CONTENT="history"/>
- <title>
- <xsl:call-template name="topicTitlePlain"/>
- </title>
- <xsl:call-template name="insertStylesheets" />
- <xsl:call-template name="insertScripts" />
- <xsl:call-template name="insertMetadata" />
- </head>
- <body>
- <xsl:call-template name="upperBodyStuff"/>
- <xsl:call-template name="main"/>
- <script type="text/javascript">
- var data = new DataStore('docs');
- registerEventHandler(window, 'load', function() {languageFilter.select(data)});
- </script>
- </body>
- </html>
- </xsl:template>
-
- <!-- document head -->
-
- <xsl:template name="insertStylesheets">
- <link rel="stylesheet" type="text/css" href="../styles/presentation.css" />
- <!-- make mshelp links work -->
- <link rel="stylesheet" type="text/css" href="ms-help://Hx/HxRuntime/HxLink.css" />
- <link rel="stylesheet" type="text/css" href="ms-help://Dx/DxRuntime/DxLink.css" />
- </xsl:template>
-
- <xsl:template name="insertScripts">
- <script type="text/javascript">
- <includeAttribute name="src" item="scriptPath">
- <parameter>EventUtilities.js</parameter>
- </includeAttribute>
- <xsl:text> </xsl:text>
- </script>
- <script type="text/javascript">
- <includeAttribute name="src" item="scriptPath">
- <parameter>SplitScreen.js</parameter>
- </includeAttribute>
- <xsl:text> </xsl:text>
- </script>
- <script type="text/javascript">
- <includeAttribute name="src" item="scriptPath">
- <parameter>Dropdown.js</parameter>
- </includeAttribute>
- <xsl:text> </xsl:text>
- </script>
- <script type="text/javascript">
- <includeAttribute name="src" item="scriptPath">
- <parameter>script_manifold.js</parameter>
- </includeAttribute>
- <xsl:text> </xsl:text>
- </script>
- <script type="text/javascript">
- <includeAttribute name="src" item="scriptPath">
- <parameter>LanguageFilter.js</parameter>
- </includeAttribute>
- <xsl:text> </xsl:text>
- </script>
- <script type="text/javascript">
- <includeAttribute name="src" item="scriptPath">
- <parameter>DataStore.js</parameter>
- </includeAttribute>
- <xsl:text> </xsl:text>
- </script>
- <script type="text/javascript">
- <includeAttribute name="src" item="scriptPath">
- <parameter>CommonUtilities.js</parameter>
- </includeAttribute>
- <xsl:text> </xsl:text>
- </script>
- <script type="text/javascript">
- <includeAttribute name="src" item="scriptPath">
- <parameter>MemberFilter.js</parameter>
- </includeAttribute>
- <xsl:text> </xsl:text>
- </script>
- </xsl:template>
-
- <xsl:template name="insertMetadata">
- <xsl:if test="$metadata='true'">
- <xml>
- <!-- mshelp metadata -->
-
- <!-- insert toctitle -->
- <MSHelp:TOCTitle Title="{/document/metadata/tableOfContentsTitle}" />
-
- <!-- link index -->
- <MSHelp:Keyword Index="A" Term="{$key}" />
-
- <!-- authored K -->
- <xsl:variable name="docset" select="translate(/document/metadata/attribute[@name='DocSet'][1]/text(),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz ')"/>
- <xsl:for-each select="/document/metadata/keyword[@index='K']">
- <xsl:variable name="nestedKeywordText">
- <xsl:call-template name="nestedKeywordText"/>
- </xsl:variable>
- <MSHelp:Keyword Index="K">
- <xsl:choose>
- <xsl:when test="normalize-space($docset)='' or contains(text(),'[')">
- <xsl:attribute name="Term">
- <xsl:value-of select="concat(text(),$nestedKeywordText)"/>
- </xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <includeAttribute name="Term" item="kIndexTermWithTechQualifier">
- <parameter><xsl:value-of select="text()"/></parameter>
- <parameter><xsl:value-of select="$docset"/></parameter>
- <parameter><xsl:value-of select="$nestedKeywordText"/></parameter>
- </includeAttribute>
- </xsl:otherwise>
- </xsl:choose>
- </MSHelp:Keyword>
- </xsl:for-each>
-
- <!-- authored F -->
- <xsl:for-each select="/document/metadata/keyword[@index='F']">
- <MSHelp:Keyword Index="F">
- <xsl:attribute name="Term">
- <xsl:value-of select="text()" />
- <xsl:for-each select="keyword[@index='F']">
- <xsl:text>, </xsl:text>
- <xsl:value-of select="text()"/>
- </xsl:for-each>
- </xsl:attribute>
- </MSHelp:Keyword>
- </xsl:for-each>
-
- <!-- authored B -->
- <xsl:for-each select="/document/metadata/keyword[@index='B']">
- <MSHelp:Keyword Index="B">
- <xsl:attribute name="Term">
- <xsl:value-of select="text()" />
- <xsl:for-each select="keyword[@index='B']">
- <xsl:text>, </xsl:text>
- <xsl:value-of select="text()"/>
- </xsl:for-each>
- </xsl:attribute>
- </MSHelp:Keyword>
- </xsl:for-each>
-
- <!-- Topic version -->
- <MSHelp:Attr Name="RevisionNumber" Value="{/document/topic/@revisionNumber}" />
-
- <!-- Asset ID -->
- <MSHelp:Attr Name="AssetID" Value="{/document/topic/@id}" />
-
- <!-- Abstract -->
- <xsl:variable name="abstract" select="string(/document/topic//ddue:para[1])" />
- <xsl:choose>
- <xsl:when test="string-length($abstract) &gt; 254">
- <MSHelp:Attr Name="Abstract" Value="{concat(substring($abstract,1,250), ' ...')}" />
- </xsl:when>
- <xsl:when test="string-length($abstract) &gt; 0">
- <MSHelp:Attr Name="Abstract" Value="{$abstract}" />
- </xsl:when>
- </xsl:choose>
-
- <!-- authored attributes -->
- <xsl:for-each select="/document/metadata/attribute">
- <MSHelp:Attr Name="{@name}" Value="{text()}" />
- </xsl:for-each>
-
- <!-- TopicType attribute -->
- <xsl:for-each select="/document/topic/*[1]">
- <MSHelp:Attr Name="TopicType">
- <includeAttribute name="Value" item="TT_{local-name()}"/>
- </MSHelp:Attr>
- </xsl:for-each>
-
- <!-- Locale attribute -->
- <MSHelp:Attr Name="Locale">
- <includeAttribute name="Value" item="locale"/>
- </MSHelp:Attr>
-
- </xml>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="nestedKeywordText">
- <xsl:for-each select="keyword[@index='K']">
- <xsl:text>, </xsl:text>
- <xsl:value-of select="text()"/>
- </xsl:for-each>
- </xsl:template>
-
- <!-- document body -->
-
- <!-- Title in topic -->
-
- <xsl:template name="topicTitleDecorated">
- <xsl:call-template name="topicTitle" />
- </xsl:template>
-
- <xsl:template name="topicTitlePlain">
- <xsl:call-template name="topicTitle" />
- </xsl:template>
-
- <xsl:template name="topicTitle">
- <xsl:choose>
- <xsl:when test="normalize-space(/document/metadata/title)">
- <xsl:value-of select="normalize-space(/document/metadata/title)"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="normalize-space(/document/topic/*/ddue:title)"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!-- Title in TOC -->
-
- <!-- Index entry -->
-
- <!-- main window -->
-
- <xsl:template name="main">
- <div id="mainSection">
-
- <div id="mainBody">
- <div id="allHistory" class="saveHistory" onsave="saveAll()" onload="loadAll()"/>
- <xsl:call-template name="head" />
- <xsl:call-template name="body" />
- <xsl:call-template name="foot" />
- </div>
- </div>
-
- </xsl:template>
-
- <xsl:template name="head">
- <include item="header" />
- </xsl:template>
-
- <xsl:template name="body">
- <xsl:apply-templates select="topic" />
- </xsl:template>
-
- <!-- sections that behave differently in conceptual and reference -->
-
- <xsl:template match="ddue:title">
- <!-- don't print title -->
- </xsl:template>
-
- <xsl:template match="ddue:introduction">
- <xsl:apply-templates select="@address" />
- <div class="introduction">
- <xsl:apply-templates />
- </div>
- </xsl:template>
-
- <xsl:template match="ddue:parameters">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'parameters'"/>
- <xsl:with-param name="title"><include item="parametersTitle" /></xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:returnValue">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'returnValue'"/>
- <xsl:with-param name="title"><include item="returnValueTitle" /></xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:exceptions">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'ddueExceptions'"/>
- <xsl:with-param name="title"><include item="exceptionsTitle" /></xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:relatedSections">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'relatedSections'"/>
- <xsl:with-param name="title"><include item="relatedSectionsTitle" /></xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:relatedTopics">
- <xsl:if test="$hasSeeAlsoSection">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'seeAlso'"/>
- <xsl:with-param name="title">
- <include item="relatedTopicsTitle" />
- </xsl:with-param>
- <xsl:with-param name="content">
-
- <!-- Concepts sub-section -->
- <xsl:if test="normalize-space(ddue:link) or normalize-space(ddue:dynamicLink[@type='inline'])">
- <xsl:call-template name="subSection">
- <xsl:with-param name="title">
- <include item="SeeAlsoConcepts"/>
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:for-each select="*">
- <xsl:if test="name() = 'link' or (name() = 'dynamicLink' and @type = 'inline') or (name() = 'legacyLink' and not(starts-with(@xlink:href,'frlrf')
- or starts-with(@xlink:href,'N:') or starts-with(@xlink:href,'T:') or starts-with(@xlink:href,'M:') or starts-with(@xlink:href,'P:')
- or starts-with(@xlink:href,'F:') or starts-with(@xlink:href,'E:') or starts-with(@xlink:href,'Overload:')))">
- <div class="seeAlsoStyle">
- <xsl:apply-templates select="."/>
- </div>
- </xsl:if>
- </xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
-
- <!-- Reference sub-section -->
- <xsl:if test="normalize-space(ddue:codeEntityReference)">
- <xsl:call-template name="subSection">
- <xsl:with-param name="title">
- <include item="SeeAlsoReference"/>
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:for-each select="*">
- <xsl:if test="name() = 'codeEntityReference' or (name() = 'legacyLink' and (starts-with(@xlink:href,'frlrf')
- or starts-with(@xlink:href,'N:') or starts-with(@xlink:href,'T:') or starts-with(@xlink:href,'M:') or starts-with(@xlink:href,'P:')
- or starts-with(@xlink:href,'F:') or starts-with(@xlink:href,'E:') or starts-with(@xlink:href,'Overload:')))">
- <div class="seeAlsoStyle">
- <xsl:apply-templates select="."/>
- </div>
- </xsl:if>
- </xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
-
- <!-- Other Resources sub-section -->
- <xsl:if test="ddue:externalLink">
- <xsl:call-template name="subSection">
- <xsl:with-param name="title">
- <include item="SeeAlsoOtherResources"/>
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:for-each select="*">
- <xsl:if test="name() = 'externalLink'">
- <div class="seeAlsoStyle">
- <xsl:apply-templates select="."/>
- </div>
- </xsl:if>
- </xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
-
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:codeExample">
- <!-- create Example section for the first codeExample node -->
- <xsl:if test="not(preceding-sibling::ddue:codeExample) and ../ddue:codeExample[normalize-space(.)!='']">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'example'"/>
- <xsl:with-param name="title">
- <include item="Example" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- <!-- if there are additional codeExample nodes, put them inside this section -->
- <xsl:for-each select="following-sibling::ddue:codeExample">
- <xsl:apply-templates />
- </xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:codeReference">
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template name="runningHeader">
- <xsl:variable name="runningHeaderText">
- <xsl:value-of select="/document/metadata/runningHeaderText/@uscid"/>
- </xsl:variable>
- <include item="{$runningHeaderText}" />
- </xsl:template>
-
- <!-- Footer stuff -->
-
- <xsl:template name="foot">
- <div id="footer">
- <div class="footerLine">
- <img width="100%" height="3px">
- <includeAttribute name="src" item="iconPath">
- <parameter>footer.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="footerImage" />
- </img>
- </div>
-
- <include item="footer">
- <parameter>
- <xsl:value-of select="$key"/>
- </parameter>
- <parameter>
- <xsl:call-template name="topicTitlePlain"/>
- </parameter>
- </include>
- </div>
- </xsl:template>
-
-
-</xsl:stylesheet>
diff --git a/tools/Sandcastle/Presentation/hana/transforms/main_reference.xsl b/tools/Sandcastle/Presentation/hana/transforms/main_reference.xsl
deleted file mode 100644
index 57d36dc..0000000
--- a/tools/Sandcastle/Presentation/hana/transforms/main_reference.xsl
+++ /dev/null
@@ -1,447 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"
- xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
- xmlns:mshelp="http://msdn.microsoft.com/mshelp"
- xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:msxsl="urn:schemas-microsoft-com:xslt"
- >
-
- <!-- stuff specific to comments authored in DDUEXML -->
-
- <xsl:include href="utilities_reference.xsl" />
- <xsl:include href="utilities_dduexml.xsl" />
- <xsl:include href="htmlBody.xsl"/>
-
- <xsl:variable name="summary" select="normalize-space(/document/comments/ddue:dduexml/ddue:summary)" />
-
- <xsl:variable name="abstractSummary">
- <xsl:for-each select="/document/comments/ddue:dduexml/ddue:summary">
- <xsl:apply-templates select="." mode="abstract" />
- </xsl:for-each>
- </xsl:variable>
-
- <xsl:variable name="hasSeeAlsoSection"
- select="boolean(
- (count(/document/comments/ddue:dduexml/ddue:relatedTopics/*) > 0) or
- ($group='type' or $group='member' or $group='list')
- )"/>
- <xsl:variable name="examplesSection" select="boolean(string-length(/document/comments/ddue:dduexml/ddue:codeExamples[normalize-space(.)]) > 0)"/>
- <xsl:variable name="languageFilterSection" select="boolean(string-length(/document/comments/ddue:dduexml/ddue:codeExamples[normalize-space(.)]) > 0)" />
- <xsl:template name="body">
-
- <!--internalOnly boilerplate -->
- <xsl:call-template name="internalOnly"/>
-
- <!-- obsolete boilerplate -->
- <xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
- <xsl:call-template name="obsoleteSection" />
- </xsl:if>
-
- <!-- HostProtectionAttribute boilerplate -->
- <xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
- <p>
- <include item="hostProtectionAttributeLong">
- <parameter>
- <xsl:value-of select="concat($subgroup, 'Lower')"/>
- </parameter>
- <parameter>
- <b>
- <xsl:for-each select="/document/reference/attributes/attribute[type[@api='T:System.Security.Permissions.HostProtectionAttribute']]/assignment">
- <xsl:value-of select="@name"/>
- <xsl:if test="position() != last()">
- <xsl:text> | </xsl:text>
- </xsl:if>
- </xsl:for-each>
- </b>
- </parameter>
- </include>
- </p>
- </xsl:if>
-
- <!-- summary -->
- <span data="authoredSummary">
- <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:summary[1]" />
- </span>
- <xsl:if test="$group='namespace'">
- <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:remarks" />
- </xsl:if>
-
- <!-- assembly information -->
- <xsl:if test="not($group='list' or $group='root' or $group='namespace')">
- <xsl:call-template name="requirementsInfo"/>
- </xsl:if>
-
- <!-- syntax -->
- <xsl:if test="not($group='list' or $group='namespace')">
- <xsl:apply-templates select="/document/syntax" />
- </xsl:if>
-
- <!-- show authored Dependency Property Information section for properties -->
- <xsl:if test="$subgroup='property'">
- <xsl:apply-templates select="//ddue:section[starts-with(@address,'dependencyPropertyInfo')]" mode="section"/>
- </xsl:if>
-
- <!-- show authored Routed Event Information section for events -->
- <xsl:if test="$subgroup='event'">
- <xsl:apply-templates select="//ddue:section[starts-with(@address,'routedEventInfo')]" mode="section"/>
- </xsl:if>
-
- <!-- members -->
- <xsl:choose>
- <xsl:when test="$group='root'">
- <xsl:apply-templates select="/document/reference/elements" mode="root" />
- </xsl:when>
- <xsl:when test="$group='namespace'">
- <xsl:apply-templates select="/document/reference/elements" mode="namespace" />
- </xsl:when>
- <xsl:when test="$subgroup='enumeration'">
- <xsl:apply-templates select="/document/reference/elements" mode="enumeration" />
- </xsl:when>
- <xsl:when test="$group='type'">
- <xsl:apply-templates select="/document/reference/elements" mode="type" />
- </xsl:when>
- <xsl:when test="$group='list'">
- <xsl:choose>
- <xsl:when test="$subgroup='overload'">
- <xsl:apply-templates select="/document/reference/elements" mode="overload" />
- </xsl:when>
- <xsl:when test="$subgroup='DerivedTypeList'">
- <xsl:apply-templates select="/document/reference/elements" mode="derivedType" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates select="/document/reference/elements" mode="member" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- </xsl:choose>
- <!-- exceptions -->
- <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:exceptions" />
- <!-- remarks -->
- <xsl:if test="not($group='namespace')">
- <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:remarks[1]" />
- </xsl:if>
- <!-- example -->
- <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:codeExamples" />
- <!-- permissions -->
- <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:permissions" />
- <!-- inheritance -->
- <xsl:apply-templates select="/document/reference/family" />
- <!-- other comment sections -->
- <xsl:if test="$subgroup='class' or $subgroup='structure'">
- <xsl:call-template name="threadSafety" />
- </xsl:if>
- <xsl:if test="not($group='list' or $group='namespace' or $group='root')">
- <!--platforms-->
- <xsl:apply-templates select="/document/reference/platforms" />
- <!--versions-->
- <xsl:apply-templates select="/document/reference/versions" />
- </xsl:if>
- <!-- see also -->
- <xsl:call-template name="seeAlsoSection"/>
-
- </xsl:template>
-
- <xsl:template name="obsoleteSection">
- <p>
- <include item="ObsoleteBoilerPlate">
- <parameter>
- <xsl:value-of select="$subgroup"/>
- </parameter>
- </include>
- <xsl:for-each select="/document/comments/ddue:dduexml/ddue:obsoleteCodeEntity">
- <xsl:text> </xsl:text>
- <include item="nonobsoleteAlternative">
- <parameter><xsl:apply-templates select="ddue:codeEntityReference" /></parameter>
- </include>
- </xsl:for-each>
- </p>
- </xsl:template>
-
- <xsl:template name="internalOnly">
- <xsl:if test="/document/comments/ddue:dduexml/ddue:internalOnly or /document/reference/containers/ddue:internalOnly">
- <div id="internalonly" class="seeAlsoNoToggleSection">
- <p/>
- <include item="internalOnly" />
- </div>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="getParameterDescription">
- <xsl:param name="name" />
- <span data="authoredParameterSummary">
- <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:parameters/ddue:parameter[string(ddue:parameterReference)=$name]/ddue:content" />
- </span>
- </xsl:template>
-
- <xsl:template match="returns">
- <xsl:if test="normalize-space(/document/comments/ddue:dduexml/ddue:returnValue)">
- <div id="returns">
- <xsl:call-template name="subSection">
- <xsl:with-param name="title">
- <include>
- <xsl:attribute name="item">
- <xsl:value-of select="$subgroup" />
- <xsl:text>ValueTitle</xsl:text>
- </xsl:attribute>
- </include>
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:call-template name="getReturnsDescription" />
- </xsl:with-param>
- </xsl:call-template>
- </div>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="getReturnsDescription">
- <xsl:choose>
- <xsl:when test="type">
- <xsl:call-template name="typeReferenceLink">
- <xsl:with-param name="api" select="type/@api" />
- <xsl:with-param name="qualified" select="true()" />
- <xsl:with-param name="specialization" select="boolean(type/specialization)" />
- </xsl:call-template>
- <xsl:apply-templates select="type/specialization" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates select="*[1]" />
- </xsl:otherwise>
- </xsl:choose>
- <br/>
- <span data="authoredValueSummary">
- <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:returnValue" />
- </span>
- </xsl:template>
-
- <xsl:template match="templates">
- <div id="genericParameters">
- <xsl:call-template name="subSection">
- <xsl:with-param name="title"><include item="templatesTitle" /></xsl:with-param>
- <xsl:with-param name="content">
- <xsl:for-each select="template">
- <xsl:variable name="parameterName" select="@name" />
- <dl paramName="{$parameterName}">
- <dt>
- <span class="parameter"><xsl:value-of select="$parameterName"/></span>
- </dt>
- <dd>
- <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:genericParameters/ddue:genericParameter[string(ddue:parameterReference)=$parameterName]/ddue:content" />
- </dd>
- </dl>
- </xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
- </div>
- </xsl:template>
-
- <xsl:template name="getElementDescription">
- <span data="memberAuthoredSummary">
- <xsl:apply-templates select="ddue:summary[1]/ddue:para/node()" />
- </span>
- </xsl:template>
-
- <xsl:template name="getInternalOnlyDescription">
- <xsl:choose>
- <xsl:when test="ddue:internalOnly">
- <include item="infraStructure" />
- </xsl:when>
- <xsl:when test="count(element) &gt; 0">
- <xsl:variable name="internal">
- <xsl:for-each select="element">
- <xsl:if test="not(ddue:internalOnly)">
- <xsl:text>no</xsl:text>
- </xsl:if>
- </xsl:for-each>
- </xsl:variable>
- <xsl:if test="not(normalize-space($internal))">
- <include item="infraStructure" />
- </xsl:if>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="getOverloadSummary">
-
- </xsl:template>
-
- <xsl:template name="getOverloadSections">
-
- </xsl:template>
-
- <xsl:template match="syntax">
- <xsl:if test="count(*) > 0">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'syntax'" />
- <xsl:with-param name="title">
- <include item="syntaxTitle"/>
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:call-template name="syntaxBlocks" />
-
- <!-- parameters & return value -->
- <xsl:apply-templates select="/document/reference/templates" />
- <xsl:apply-templates select="/document/reference/parameters" />
- <xsl:apply-templates select="/document/reference/returns" />
- <xsl:apply-templates select="/document/reference/implements" />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
-
- <!-- DDUEXML elements that behave differently in conceptual and reference -->
-
- <xsl:template match="ddue:exceptions">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'ddueExceptions'"/>
- <xsl:with-param name="title"><include item="exceptionsTitle" /></xsl:with-param>
- <xsl:with-param name="content">
- <xsl:choose>
- <xsl:when test="ddue:exception">
- <div class="listSection">
- <table class="members" width="100%" cellspacing="0" frame="lhs">
- <tr>
- <th class="exceptionNameColumn"><include item="exceptionNameHeader" /></th>
- <th class="exceptionConditionColumn"><include item="exceptionConditionHeader" /></th>
- </tr>
- <xsl:for-each select="ddue:exception">
- <tr>
- <td>
- <xsl:apply-templates select="ddue:codeEntityReference" />
- </td>
- <td>
- <xsl:apply-templates select="ddue:content" />
- </td>
- </tr>
- </xsl:for-each>
- </table>
- </div>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:permissions">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'permissions'" />
- <xsl:with-param name="title">
- <include item="permissionsTitle" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <ul>
- <xsl:for-each select="ddue:permission">
- <li>
- <xsl:apply-templates select="ddue:codeEntityReference" />
- <xsl:text> </xsl:text>
- <xsl:apply-templates select="ddue:content" />
- </li>
- </xsl:for-each>
- </ul>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:codeExample">
- <xsl:apply-templates />
- </xsl:template>
-
- <xsl:template name="runningHeader">
- <include item="runningHeaderText" />
- </xsl:template>
-
- <xsl:template name="memberIntro">
- <xsl:if test="$subgroup='members'">
- <p>
- <xsl:apply-templates select="/document/reference/containers/ddue:summary"/>
- </p>
- </xsl:if>
-
- <xsl:if test="/document/reference/elements/element/memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly']">
- <!-- if there are exposed members, show a boilerplate intro p -->
- <xsl:variable name="introTextItemId">
- <xsl:choose>
- <xsl:when test="/document/reference/containers/type/templates">genericExposedMembersTableText</xsl:when>
- <xsl:otherwise>exposedMembersTableText</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <p>
- <include item="{$introTextItemId}">
- <parameter>
- <referenceLink target="{$typeId}" />
- </parameter>
- <parameter>
- <xsl:value-of select="$subgroup"/><xsl:text>Subgroup</xsl:text>
- </parameter>
- </include>
- </p>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="mshelpCodelangAttributes">
-
- <xsl:for-each select="/document/comments/ddue:dduexml/ddue:codeExamples/ddue:codeExample/ddue:legacy/ddue:content/ddue:snippets/ddue:snippet">
-
- <xsl:if test="not(@language=preceding::*/@language)">
- <xsl:variable name="codeLang">
- <xsl:choose>
- <xsl:when test="@language = 'VBScript' or @language = 'vbs'">
- <xsl:text>VBScript</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'VisualBasic' or @language = 'vb' or @language = 'vb#' or @language = 'VB' or @language = 'kbLangVB'" >
- <xsl:text>kbLangVB</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'CSharp' or @language = 'c#' or @language = 'cs' or @language = 'C#'" >
- <xsl:text>CSharp</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'ManagedCPlusPlus' or @language = 'cpp' or @language = 'cpp#' or @language = 'c' or @language = 'c++' or @language = 'C++' or @language = 'kbLangCPP'" >
- <xsl:text>kbLangCPP</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'JSharp' or @language = 'j#' or @language = 'jsharp' or @language = 'VJ#'">
- <xsl:text>VJ#</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'JScript' or @language = 'js' or @language = 'jscript#' or @language = 'jscript' or @language = 'JScript' or @language = 'kbJScript'">
- <xsl:text>kbJScript</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'xml'">
- <xsl:text>xml</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'html'">
- <xsl:text>html</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'vb-c#'">
- <xsl:text>visualbasicANDcsharp</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>other</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="$codeLang='other'" />
- <xsl:otherwise>
- <xsl:call-template name="codeLang">
- <xsl:with-param name="codeLang" select="$codeLang" />
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
-
- </xsl:for-each>
- </xsl:template>
-
- <xsl:template match="ddue:codeEntityReference" mode="abstract">
- <xsl:call-template name="subString">
- <xsl:with-param name="name" select="." />
- </xsl:call-template>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/tools/Sandcastle/Presentation/hana/transforms/main_sandcastle.xsl b/tools/Sandcastle/Presentation/hana/transforms/main_sandcastle.xsl
deleted file mode 100644
index cd9ac6b..0000000
--- a/tools/Sandcastle/Presentation/hana/transforms/main_sandcastle.xsl
+++ /dev/null
@@ -1,710 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1">
-
- <!-- stuff specified to comments authored in DDUEXML -->
-
-
- <xsl:include href="htmlBody.xsl"/>
- <xsl:include href="utilities_reference.xsl" />
-
- <xsl:variable name="summary" select="normalize-space(/document/comments/summary)" />
- <xsl:variable name="abstractSummary" select="/document/comments/summary" />
- <xsl:variable name="hasSeeAlsoSection" select="boolean((count(/document/comments/seealso | /document/comments/summary/seealso) > 0) or
- ($group='type' or $group='member' or $group='list'))"/>
- <xsl:variable name="examplesSection" select="boolean(string-length(/document/comments/example[normalize-space(.)]) > 0)"/>
- <xsl:variable name="languageFilterSection" select="boolean(string-length(/document/comments/example[normalize-space(.)]) > 0)" />
-
- <xsl:template name="body">
-
- <!-- auto-inserted info -->
- <!-- <xsl:apply-templates select="/document/reference/attributes" /> -->
- <xsl:apply-templates select="/document/comments/preliminary" />
- <xsl:apply-templates select="/document/comments/summary" />
- <xsl:if test="$subgroup='overload'">
- <xsl:apply-templates select="/document/reference/elements" mode="overloadSummary" />
- </xsl:if>
- <!-- assembly information -->
- <xsl:if test="not($group='list' or $group='root' or $group='namespace')">
- <xsl:call-template name="requirementsInfo"/>
- </xsl:if>
- <!-- syntax -->
- <xsl:if test="not($group='list' or $group='namespace')">
- <xsl:apply-templates select="/document/syntax" />
- </xsl:if>
-
- <!-- members -->
- <xsl:choose>
- <xsl:when test="$group='root'">
- <xsl:apply-templates select="/document/reference/elements" mode="root" />
- </xsl:when>
- <xsl:when test="$group='namespace'">
- <xsl:apply-templates select="/document/reference/elements" mode="namespace" />
- </xsl:when>
- <xsl:when test="$subgroup='enumeration'">
- <xsl:apply-templates select="/document/reference/elements" mode="enumeration" />
- </xsl:when>
- <xsl:when test="$group='type'">
- <xsl:apply-templates select="/document/reference/elements" mode="type" />
- </xsl:when>
- <xsl:when test="$group='list'">
- <xsl:choose>
- <xsl:when test="$subgroup='overload'">
- <xsl:apply-templates select="/document/reference/elements" mode="overload" />
- </xsl:when>
- <xsl:when test="$subgroup='DerivedTypeList'">
- <xsl:apply-templates select="/document/reference/elements" mode="derivedType" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates select="/document/reference/elements" mode="member" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- </xsl:choose>
- <!-- remarks -->
- <xsl:apply-templates select="/document/comments/remarks" />
- <!-- example -->
- <xsl:apply-templates select="/document/comments/example" />
- <!-- other comment sections -->
- <!-- permissions -->
- <xsl:call-template name="permissions" />
- <!-- exceptions -->
- <xsl:call-template name="exceptions" />
- <!-- inheritance -->
- <xsl:apply-templates select="/document/reference/family" />
- <xsl:apply-templates select="/document/comments/threadsafety" />
- <!--versions-->
- <xsl:if test="not($group='list' or $group='namespace' or $group='root' )">
- <xsl:apply-templates select="/document/reference/versions" />
- </xsl:if>
- <!-- see also -->
- <xsl:call-template name="seealso" />
-
- </xsl:template>
-
- <xsl:template name="getParameterDescription">
- <xsl:param name="name" />
- <xsl:apply-templates select="/document/comments/param[@name=$name]" />
- </xsl:template>
-
- <xsl:template name="getReturnsDescription">
- <xsl:param name="name" />
- <xsl:apply-templates select="/document/comments/param[@name=$name]" />
- </xsl:template>
-
- <xsl:template name="getElementDescription">
- <xsl:apply-templates select="summary[1]" />
- </xsl:template>
-
- <xsl:template name="getOverloadSummary">
- <xsl:apply-templates select="overloads" mode="summary"/>
- </xsl:template>
-
- <xsl:template name="getOverloadSections">
- <xsl:apply-templates select="overloads" mode="sections"/>
- </xsl:template>
-
- <xsl:template name="getInternalOnlyDescription">
-
- </xsl:template>
-
-
- <!-- block sections -->
-
- <xsl:template match="summary">
- <div class="summary">
- <xsl:apply-templates />
- </div>
- </xsl:template>
-
- <xsl:template match="overloads" mode="summary">
- <xsl:choose>
- <xsl:when test="count(summary) > 0">
- <xsl:apply-templates select="summary" />
- </xsl:when>
- <xsl:otherwise>
- <div class="summary">
- <xsl:apply-templates/>
- </div>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="overloads" mode="sections">
- <xsl:apply-templates select="remarks" />
- <xsl:apply-templates select="example"/>
- </xsl:template>
-
- <xsl:template match="value">
- <xsl:call-template name="subSection">
- <xsl:with-param name="title">
- <include item="fieldValueTitle" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <xsl:template match="returns">
- <xsl:call-template name="subSection">
- <xsl:with-param name="title">
- <include item="methodValueTitle" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <xsl:template match="templates">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'templates'" />
- <xsl:with-param name="title">
- <include item="templatesTitle" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <dl>
- <xsl:for-each select="template">
- <xsl:variable name="templateName" select="@name" />
- <dt>
- <span class="parameter">
- <xsl:value-of select="$templateName"/>
- </span>
- </dt>
- <dd>
- <xsl:apply-templates select="/document/comments/typeparam[@name=$templateName]" />
- </dd>
- </xsl:for-each>
- </dl>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <xsl:template match="remarks">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'remarks'"/>
- <xsl:with-param name="title"><include item="remarksTitle" /></xsl:with-param>
- <xsl:with-param name="content"><xsl:apply-templates /></xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <xsl:template match="example">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'example'" />
- <xsl:with-param name="title"><include item="examplesTitle" /></xsl:with-param>
- <xsl:with-param name="content">
- <xsl:choose>
- <xsl:when test="code/@language">
- <xsl:variable name="codeId" select="generate-id()" />
- <table class="filter">
- <tr id="curvedTabs_{$codeId}">
- <xsl:for-each select="code">
- <td class="leftTab" x-lang="{@language}">&#xa0;</td>
- <td class="middleTab" x-lang="{@language}">&#xa0;</td>
- <td class="rightTab" x-lang="{@language}">&#xa0;</td>
- </xsl:for-each>
- </tr>
- <tr class="tabs" id="ct_{$codeId}">
- <xsl:for-each select="code">
-
- <xsl:variable name="style">
- <xsl:call-template name="languageCheck">
- <xsl:with-param name="codeLanguage" select="@language" />
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:variable name="languageEvent">
- <xsl:choose>
- <xsl:when test="$style != ''">
- <xsl:text>languageFilter.changeLanguage(data, '</xsl:text><xsl:value-of select="@language"/>
- <xsl:text>', '</xsl:text><xsl:value-of select="$style" />
- <xsl:text>');</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>toggleClass('ct_</xsl:text><xsl:value-of select="$codeId" />
- <xsl:text>','x-lang','</xsl:text><xsl:value-of select="@language"/>
- <xsl:text>','activeTab','tab'); curvedToggleClass('curvedTabs_</xsl:text><xsl:value-of select="$codeId"/>
- <xsl:text>','x-lang','</xsl:text><xsl:value-of select="@language"/>
- <xsl:text>'); toggleStyle('cb_</xsl:text><xsl:value-of select="$codeId"/>
- <xsl:text>', 'x-lang','</xsl:text><xsl:value-of select="@language"/>
- <xsl:text>','display','block','none');</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <td class="leftGrad" x-lang="{@language}">&#xa0;</td>
- <td class="tab" x-lang="{@language}" onclick="{$languageEvent}">
- <include item="{@language}Label" />
- </td>
- <td class="rightGrad" x-lang="{@language}">&#xa0;</td>
- </xsl:for-each>
- </tr>
- </table>
- <div id="cb_{$codeId}">
- <xsl:for-each select="code">
- <div class="code" x-lang="{@language}">
- <xsl:call-template name="codeSection" />
- </div>
- </xsl:for-each>
- </div>
- <script type="text/javascript">
- <xsl:if test="$languages != 'false'">
- languageFilter.registerTabbedArea(<xsl:text>'curvedTabs_</xsl:text><xsl:value-of select="$codeId" /><xsl:text>','ct_</xsl:text><xsl:value-of select="$codeId" /><xsl:text>','cb_</xsl:text><xsl:value-of select="$codeId"/><xsl:text>'</xsl:text>);
- </xsl:if>
- toggleClass(<xsl:text>'ct_</xsl:text><xsl:value-of select="$codeId" /><xsl:text>'</xsl:text>,'x-lang','CSharp','activeTab','tab');
- curvedToggleClass(<xsl:text>'curvedTabs_</xsl:text><xsl:value-of select="$codeId"/><xsl:text>'</xsl:text>,'x-lang', 'CSharp');
- toggleStyle(<xsl:text>'cb_</xsl:text><xsl:value-of select="$codeId" /><xsl:text>'</xsl:text>,'x-lang','CSharp','display','block','none');
- </script>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <xsl:template match="para">
- <p><xsl:apply-templates /></p>
- </xsl:template>
-
- <xsl:template match="code">
- <div class="code">
- <xsl:call-template name="codeSection" />
- </div>
- </xsl:template>
- <xsl:template name="exceptions">
- <xsl:if test="count(/document/comments/exception) &gt; 0">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'exceptions'"/>
- <xsl:with-param name="title"><include item="exceptionsTitle" /></xsl:with-param>
- <xsl:with-param name="content">
- <div class="listSection">
- <table class="members" width="100%" cellspacing="0" frame="lhs" >
- <tr>
- <th class="exceptionNameColumn"><include item="exceptionNameHeader" /></th>
- <th class="exceptionConditionColumn"><include item="exceptionConditionHeader" /></th>
- </tr>
- <xsl:for-each select="/document/comments/exception">
- <tr>
- <td><referenceLink target="{@cref}" qualified="true" /></td>
- <td>
- <xsl:apply-templates select="." />
- </td>
- </tr>
- </xsl:for-each>
- </table>
- </div>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="permissions">
- <xsl:if test="count(/document/comments/permission) &gt; 0">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'permissions'" />
- <xsl:with-param name="title">
- <include item="permissionsTitle" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <div class="listSection">
- <table class="members" width="100%" cellspacing="0" frame="lhs" >
- <tr>
- <th class="permissionNameColumn">
- <include item="permissionNameHeader" />
- </th>
- <th class="permissionDescriptionColumn">
- <include item="permissionDescriptionHeader" />
- </th>
- </tr>
- <xsl:for-each select="/document/comments/permission">
- <tr>
- <td>
- <referenceLink target="{@cref}" qualified="true" />
- </td>
- <td>
- <xsl:apply-templates select="." />
- </td>
- </tr>
- </xsl:for-each>
- </table>
- </div>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="seealso">
- <xsl:if test="$hasSeeAlsoSection">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'seeAlso'" />
- <xsl:with-param name="title">
- <include item="relatedTitle" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:call-template name="autogenSeeAlsoLinks"/>
- <xsl:for-each select="/document/comments/seealso | /document/comments/summary/seealso">
- <div class="seeAlsoStyle">
- <xsl:apply-templates select="." />
- </div>
- </xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="list[@type='bullet']">
- <ul>
- <xsl:for-each select="item">
- <li><xsl:apply-templates /></li>
- </xsl:for-each>
- </ul>
- </xsl:template>
-
- <xsl:template match="list[@type='number']">
- <ol>
- <xsl:for-each select="item">
- <li><xsl:apply-templates /></li>
- </xsl:for-each>
- </ol>
- </xsl:template>
-
- <xsl:template match="list[@type='table']">
- <div class="listSection">
- <table class="members" width="100%" cellspacing="0" frame="lhs" >
- <xsl:for-each select="listheader">
- <tr>
- <xsl:for-each select="*">
- <th><xsl:apply-templates /></th>
- </xsl:for-each>
- </tr>
- </xsl:for-each>
- <xsl:for-each select="item">
- <tr>
- <xsl:for-each select="*">
- <td>
- <xsl:apply-templates />
- </td>
- </xsl:for-each>
- </tr>
- </xsl:for-each>
- </table>
- </div>
- </xsl:template>
-
- <!-- inline tags -->
-
- <xsl:template match="see[@cref]">
- <xsl:choose>
- <xsl:when test="normalize-space(.)">
- <referenceLink target="{@cref}">
- <xsl:value-of select="." />
- </referenceLink>
- </xsl:when>
- <xsl:otherwise>
- <referenceLink target="{@cref}"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="seealso[@href]">
- <xsl:choose>
- <xsl:when test="normalize-space(.)">
- <a>
- <xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute>
- <xsl:value-of select="." />
- </a>
- </xsl:when>
- <xsl:otherwise>
- <a>
- <xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute>
- <xsl:value-of select="@href" />
- </a>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="see[@langword]">
- <span class="keyword">
- <xsl:choose>
- <xsl:when test="@langword='null' or @langword='Nothing' or @langword='nullptr'">
- <span class="cs">null</span>
- <span class="vb">Nothing</span>
- <span class="cpp">nullptr</span>
- </xsl:when>
- <xsl:when test="@langword='static' or @langword='Shared'">
- <span class="cs">static</span>
- <span class="vb">Shared</span>
- <span class="cpp">static</span>
- </xsl:when>
- <xsl:when test="@langword='virtual' or @langword='Overridable'">
- <span class="cs">virtual</span>
- <span class="vb">Overridable</span>
- <span class="cpp">virtual</span>
- </xsl:when>
- <xsl:when test="@langword='true' or @langword='True'">
- <span class="cs">true</span>
- <span class="vb">True</span>
- <span class="cpp">true</span>
- </xsl:when>
- <xsl:when test="@langword='false' or @langword='False'">
- <span class="cs">false</span>
- <span class="vb">False</span>
- <span class="cpp">false</span>
- </xsl:when>
- <xsl:when test="@langword='abstract'">
- <span class="cs">abstract</span>
- <span class="vb">MustInherit</span>
- <span class="cpp">abstract</span>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="@langword" />
- </xsl:otherwise>
- </xsl:choose>
- </span>
- </xsl:template>
-
-
- <xsl:template match="seealso">
- <xsl:choose>
- <xsl:when test="normalize-space(.)">
- <referenceLink target="{@cref}" qualified="true">
- <xsl:value-of select="." />
- </referenceLink>
- </xsl:when>
- <xsl:otherwise>
- <referenceLink target="{@cref}" qualified="true" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="c">
- <span class="code">
- <xsl:value-of select="." />
- </span>
- </xsl:template>
-
- <xsl:template match="paramref">
- <span class="parameter">
- <xsl:value-of select="@name" />
- </span>
- </xsl:template>
-
- <xsl:template match="typeparamref">
- <span class="typeparameter">
- <xsl:value-of select="@name" />
- </span>
- </xsl:template>
-
- <xsl:template match="syntax">
- <xsl:if test="count(*) > 0">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'syntax'" />
- <xsl:with-param name="title">
- <include item="syntaxTitle"/>
- </xsl:with-param>
- <xsl:with-param name="content">
- <div id="syntaxCodeBlocks">
- <xsl:call-template name="syntaxBlocks" />
- </div>
- <!-- parameters & return value -->
- <xsl:apply-templates select="/document/reference/parameters" />
- <xsl:apply-templates select="/document/reference/templates" />
- <xsl:apply-templates select="/document/comments/value" />
- <xsl:apply-templates select="/document/comments/returns" />
- <xsl:apply-templates select="/document/reference/implements" />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="runningHeader">
- <include item="runningHeaderText" />
- </xsl:template>
-
- <!-- pass through html tags -->
-
- <xsl:template match="p|ol|ul|li|dl|dt|dd|table|tr|th|td|a|img|b|i|strong|em|del|sub|sup|br|hr|h1|h2|h3|h4|h5|h6|pre|div|span|blockquote|abbr|acronym|u|font">
- <xsl:copy>
- <xsl:copy-of select="@*" />
- <xsl:apply-templates />
- </xsl:copy>
- </xsl:template>
-
- <!-- extra tag support -->
-
- <xsl:template match="threadsafety">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'threadSafety'" />
- <xsl:with-param name="title">
- <include item="threadSafetyTitle" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:choose>
- <xsl:when test="normalize-space(.)">
- <xsl:apply-templates />
- </xsl:when>
- <xsl:otherwise>
- <xsl:if test="@static='true'">
- <include item="staticThreadSafe" />
- </xsl:if>
- <xsl:if test="@static='false'">
- <include item="staticNotThreadSafe" />
- </xsl:if>
- <xsl:if test="@instance='true'">
- <include item="instanceThreadSafe" />
- </xsl:if>
- <xsl:if test="@instance='false'">
- <include item="instanceNotThreadSafe" />
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <xsl:template match="note">
- <div class="alert">
- <img>
- <includeAttribute item="iconPath" name="src">
- <parameter>alert_note.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="noteAltText"/>
- </img>
- <xsl:text> </xsl:text>
- <include item="noteTitle" />
- <xsl:apply-templates />
- </div>
- </xsl:template>
-
- <xsl:template match="preliminary">
- <div class="preliminary">
- <include item="preliminaryText" />
- </div>
- </xsl:template>
-
- <!-- move these off into a shared file -->
-
- <xsl:template name="createReferenceLink">
- <xsl:param name="id" />
- <xsl:param name="qualified" select="false()" />
-
- <referenceLink target="{$id}" qualified="{$qualified}" />
-
- </xsl:template>
-
- <xsl:template name="section">
- <xsl:param name="toggleSwitch" />
- <xsl:param name="title" />
- <xsl:param name="content" />
-
- <xsl:variable name="toggleTitle" select="concat($toggleSwitch,'Toggle')" />
- <xsl:variable name="toggleSection" select="concat($toggleSwitch,'Section')" />
-
- <h1 class="heading">
- <span onclick="ExpandCollapse({$toggleTitle})" style="cursor:default;" onkeypress="ExpandCollapse_CheckKey({$toggleTitle}, event)" tabindex="0">
- <img id="{$toggleTitle}" onload="OnLoadImage(event)" class="toggle" name="toggleSwitch">
- <includeAttribute name="src" item="iconPath">
- <parameter>collapse_all.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:copy-of select="$title" />
- </span>
- </h1>
-
- <div id="{$toggleSection}" class="section" name="collapseableSection" style="">
- <xsl:copy-of select="$content" />
- </div>
-
- </xsl:template>
-
- <xsl:template name="subSection">
- <xsl:param name="title" />
- <xsl:param name="content" />
-
- <h4 class="subHeading">
- <xsl:copy-of select="$title" />
- </h4>
- <xsl:copy-of select="$content" />
-
- </xsl:template>
-
- <xsl:template name="memberIntro">
- <xsl:if test="$subgroup='members'">
- <p>
- <xsl:apply-templates select="/document/reference/containers/summary"/>
- </p>
- </xsl:if>
- <xsl:if test="/document/reference/elements/element/memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly']">
- <!-- if there are exposed members, show a boilerplate intro p -->
- <xsl:variable name="introTextItemId">
- <xsl:choose>
- <xsl:when test="/document/reference/containers/type/templates">genericExposedMembersTableText</xsl:when>
- <xsl:otherwise>exposedMembersTableText</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <p>
- <include item="{$introTextItemId}">
- <parameter>
- <referenceLink target="{$typeId}" />
- </parameter>
- <parameter>
- <xsl:value-of select="$subgroup"/><xsl:text>Subgroup</xsl:text>
- </parameter>
- </include>
- </p>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="mshelpCodelangAttributes">
- <xsl:for-each select="/document/comments/example/code">
-
- <xsl:if test="not(@language=preceding::*/@language)">
- <xsl:variable name="codeLang">
- <xsl:choose>
- <xsl:when test="@language = 'VBScript' or @language = 'vbs'">
- <xsl:text>VBScript</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'VisualBasic' or @language = 'vb' or @language = 'vb#' or @language = 'VB' or @language = 'kbLangVB'" >
- <xsl:text>kbLangVB</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'CSharp' or @language = 'c#' or @language = 'cs' or @language = 'C#'" >
- <xsl:text>CSharp</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'ManagedCPlusPlus' or @language = 'cpp' or @language = 'cpp#' or @language = 'c' or @language = 'c++' or @language = 'C++' or @language = 'kbLangCPP'" >
- <xsl:text>kbLangCPP</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'JSharp' or @language = 'j#' or @language = 'jsharp' or @language = 'VJ#'">
- <xsl:text>VJ#</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'JScript' or @language = 'js' or @language = 'jscript#' or @language = 'jscript' or @language = 'JScript' or @language = 'kbJScript'">
- <xsl:text>kbJScript</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'xml'">
- <xsl:text>xml</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'html'">
- <xsl:text>html</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'vb-c#'">
- <xsl:text>visualbasicANDcsharp</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>other</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="$codeLang='other'" />
- <xsl:otherwise>
- <xsl:call-template name="codeLang">
- <xsl:with-param name="codeLang" select="$codeLang" />
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
-
- </xsl:for-each>
- </xsl:template>
-</xsl:stylesheet>
diff --git a/tools/Sandcastle/Presentation/hana/transforms/skeleton.xml b/tools/Sandcastle/Presentation/hana/transforms/skeleton.xml
deleted file mode 100644
index 4d699b9..0000000
--- a/tools/Sandcastle/Presentation/hana/transforms/skeleton.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<document>
- <reference />
- <syntax />
- <USyntax />
- <comments />
- <metadata />
-</document>
diff --git a/tools/Sandcastle/Presentation/hana/transforms/skeleton_conceptual.xml b/tools/Sandcastle/Presentation/hana/transforms/skeleton_conceptual.xml
deleted file mode 100644
index 6de97d4..0000000
--- a/tools/Sandcastle/Presentation/hana/transforms/skeleton_conceptual.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<document>
- <metadata />
-</document>
diff --git a/tools/Sandcastle/Presentation/hana/transforms/utilities_dduexml.xsl b/tools/Sandcastle/Presentation/hana/transforms/utilities_dduexml.xsl
deleted file mode 100644
index e652388..0000000
--- a/tools/Sandcastle/Presentation/hana/transforms/utilities_dduexml.xsl
+++ /dev/null
@@ -1,1293 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"
- xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
- xmlns:mshelp="http://msdn.microsoft.com/mshelp"
- xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:msxsl="urn:schemas-microsoft-com:xslt"
- >
-
- <xsl:import href="../../shared/transforms/utilities_dduexml.xsl" />
-
- <!-- sections -->
-
- <!-- the Remarks section includes content from these nodes, excluding the xaml sections are captured in the xaml syntax processing -->
- <xsl:template name="HasRemarksContent">
- <xsl:choose>
- <xsl:when test="normalize-space(ddue:content)">true</xsl:when>
- <xsl:when test="normalize-space(../ddue:notesForImplementers)">true</xsl:when>
- <xsl:when test="normalize-space(../ddue:notesForCallers)">true</xsl:when>
- <xsl:when test="normalize-space(../ddue:notesForInheritors)">true</xsl:when>
- <xsl:when test="normalize-space(../ddue:platformNotes)">true</xsl:when>
- <xsl:when test="normalize-space(ddue:sections/ddue:section[not(
- starts-with(@address,'xamlValues') or
- starts-with(@address,'xamlTextUsage') or
- starts-with(@address,'xamlAttributeUsage') or
- starts-with(@address,'xamlPropertyElementUsage') or
- starts-with(@address,'xamlImplicitCollectionUsage') or
- starts-with(@address,'xamlObjectElementUsage') or
- starts-with(@address,'dependencyPropertyInfo') or
- starts-with(@address,'routedEventInfo')
- )])">true</xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="ddue:remarks">
- <xsl:variable name="hasRemarks">
- <xsl:call-template name="HasRemarksContent"/>
- </xsl:variable>
- <xsl:if test="$hasRemarks='true'">
- <xsl:choose>
- <xsl:when test="not($group = 'namespace')">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'remarks'"/>
- <xsl:with-param name="title"><include item="remarksTitle" /></xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- <xsl:apply-templates select="../ddue:notesForImplementers"/>
- <xsl:apply-templates select="../ddue:notesForCallers"/>
- <xsl:apply-templates select="../ddue:notesForInheritors"/>
- <xsl:apply-templates select="../ddue:platformNotes"/>
- <include item="mshelpKTable">
- <parameter>
- <xsl:text>tt_</xsl:text>
- <xsl:value-of select="$key"/>
- </parameter>
- </include>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:codeExamples">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'example'"/>
- <xsl:with-param name="title">
- <include item="examplesTitle" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- <xsl:call-template name="moreCodeSection"/>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <!--
- **************************************************************
- CODE EXAMPLES section
- **************************************************************
- -->
- <!-- tasks/task nodes are inserted by TaskGrabberComponent which gets content from HowTo topics -->
- <!-- these nodes are handled below in the moreCodeSection -->
- <xsl:template match="ddue:codeExamples/ddue:codeExample/ddue:legacy/ddue:content/tasks"/>
-
- <xsl:template name="moreCodeSection">
- <xsl:variable name="gotCodeAlready" select="boolean(
- (ddue:codeExample/ddue:legacy/ddue:content[ddue:codeReference[ddue:sampleCode] | ddue:code | ddue:snippets/ddue:snippet]) or
- (ddue:codeExample[ddue:codeReference[ddue:sampleCode] | ddue:code | ddue:snippets/ddue:snippet])
- )"/>
-
- <xsl:variable name="gotMoreCode" select="(count(ddue:codeExample/ddue:legacy/ddue:content/tasks/task)&gt;1) or
- ($gotCodeAlready and count(ddue:codeExample/ddue:legacy/ddue:content/tasks/task)&gt;0)"/>
-
- <!-- if no preceding code in the code examples section, display the tasks[1]/task[1] -->
- <xsl:if test="not($gotCodeAlready)">
- <xsl:for-each select="ddue:codeExample/ddue:legacy/ddue:content/tasks[1]/task[1]">
- <xsl:apply-templates select="ddue:introduction | ddue:codeExample"/>
- </xsl:for-each>
- </xsl:if>
-
- <xsl:if test="$gotMoreCode">
- <sections>
- <h4 class="subHeading">
- <include item="mrefTaskMoreCodeHeading" />
- </h4>
- <div class="subsection">
- <div class="listSection">
- <table class="members" width="100%" cellspacing="0">
- <xsl:for-each select="ddue:codeExample/ddue:legacy/ddue:content/tasks/task">
- <xsl:choose>
- <xsl:when test="not($gotCodeAlready) and position()=1"/>
- <xsl:otherwise>
- <tr valign="top">
- <td>
- <conceptualLink target="{@topicId}">
- <xsl:value-of select="ddue:title"/>
- </conceptualLink>
- </td>
- <td>
- <xsl:choose>
- <xsl:when test="ddue:introduction/ddue:para[1][normalize-space(.)!='']">
- <xsl:apply-templates select="ddue:introduction/ddue:para[1]/node()"/>
- </xsl:when>
- <xsl:when test="ddue:codeExample/ddue:legacy/ddue:content/ddue:para[1][normalize-space(.)!='']">
- <xsl:apply-templates select="ddue:codeExample/ddue:legacy/ddue:content/ddue:para[1]/node()"/>
- </xsl:when>
- </xsl:choose>
- </td>
- </tr>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:for-each>
- </table>
- </div>
- </div>
- </sections>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="threadSafety">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'threadSafety'"/>
- <xsl:with-param name="title"><include item="threadSafetyTitle" /></xsl:with-param>
- <xsl:with-param name="content">
- <xsl:choose>
- <xsl:when test="/document/comments/ddue:dduexml/ddue:threadSafety">
- <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:threadSafety"/>
- </xsl:when>
- <xsl:otherwise>
- <include item="ThreadSafetyBP"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <xsl:template match="ddue:notesForImplementers">
- <p/>
- <b>
- <include item="NotesForImplementers"/>
- </b>
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="ddue:notesForCallers">
- <p/>
- <b>
- <include item="NotesForCallers"/>
- </b>
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="ddue:notesForInheritors">
- <p/>
- <b>
- <include item="NotesForInheritors"/>
- </b>
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="ddue:platformNotes">
- <xsl:for-each select="ddue:platformNote[normalize-space(ddue:content)]">
- <p>
- <include item="PlatformNote">
- <parameter>
- <xsl:for-each select="ddue:platforms/ddue:platform">
- <xsl:variable name="platformName"><xsl:value-of select="."/></xsl:variable>
- <include item="{$platformName}"/>
- <xsl:if test="position() != last()">, </xsl:if>
- </xsl:for-each>
- </parameter>
- <parameter><xsl:apply-templates select="ddue:content"/></parameter>
- </include>
- </p>
- </xsl:for-each>
- </xsl:template>
-
- <xsl:template match="ddue:schemaHierarchy">
- <xsl:for-each select="ddue:link">
- <xsl:call-template name="indent">
- <xsl:with-param name="count" select="position()"/>
- </xsl:call-template>
- <xsl:apply-templates select="."/>
- <br/>
- </xsl:for-each>
- </xsl:template>
-
- <xsl:template match="ddue:syntaxSection">
- <div id="syntaxSection" class="section">
- <div id="syntaxCodeBlocks">
- <xsl:for-each select="ddue:legacySyntax">
- <xsl:variable name="codeLang">
- <xsl:choose>
- <xsl:when test="@language = 'vbs'">
- <xsl:text>VBScript</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'vb' or @language = 'vb#' or @language = 'VB'" >
- <xsl:text>VisualBasic</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'c#' or @language = 'cs' or @language = 'C#'" >
- <xsl:text>CSharp</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'cpp' or @language = 'cpp#' or @language = 'c' or @language = 'c++' or @language = 'C++'" >
- <xsl:text>ManagedCPlusPlus</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'j#' or @language = 'jsharp'">
- <xsl:text>JSharp</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'js' or @language = 'jscript#' or @language = 'jscript' or @language = 'JScript'">
- <xsl:text>JScript</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'xml'">
- <xsl:text>xmlLang</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'html'">
- <xsl:text>html</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'vb-c#'">
- <xsl:text>visualbasicANDcsharp</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>other</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <span codeLanguage="{$codeLang}">
- <table width="100%" cellspacing="0" cellpadding="0">
- <tr>
- <th align="left">
- <include item="{$codeLang}"/>
- </th>
- </tr>
- <tr>
- <td>
- <pre>
- <xsl:apply-templates xml:space="preserve"/>
- </pre>
- </td>
- </tr>
- </table>
- </span>
-
- </xsl:for-each>
- </div>
- </div>
- </xsl:template>
-
- <xsl:template name="seeAlsoSection">
-
- <xsl:if test="$hasSeeAlsoSection">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'seeAlso'"/>
- <xsl:with-param name="title"><include item="relatedTitle" /></xsl:with-param>
- <xsl:with-param name="content">
-
- <!-- Concepts sub-section -->
- <xsl:if test="normalize-space(ddue:link) or normalize-space(ddue:dynamicLink[@type='inline'])">
- <xsl:call-template name="subSection">
- <xsl:with-param name="title">
- <include item="SeeAlsoConcepts"/>
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:for-each select="/document/comments/ddue:dduexml/ddue:relatedTopics/*">
- <xsl:if test="name() = 'link' or (name() = 'dynamicLink' and @type = 'inline') or (name() = 'legacyLink' and not(starts-with(@xlink:href,'frlrf')
- or starts-with(@xlink:href,'N:') or starts-with(@xlink:href,'T:') or starts-with(@xlink:href,'M:') or starts-with(@xlink:href,'P:')
- or starts-with(@xlink:href,'F:') or starts-with(@xlink:href,'E:') or starts-with(@xlink:href,'Overload:')))">
- <div class="seeAlsoStyle">
- <xsl:apply-templates select="."/>
- </div>
- </xsl:if>
- </xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
-
- <!-- Reference sub-section (always one of these in an API topic) -->
- <xsl:call-template name="subSection">
- <xsl:with-param name="title">
- <include item="SeeAlsoReference"/>
- </xsl:with-param>
-
- <xsl:with-param name="content">
- <xsl:call-template name="autogenSeeAlsoLinks"/>
- <xsl:for-each select="/document/comments/ddue:dduexml/ddue:relatedTopics/*">
- <xsl:if test="name() = 'codeEntityReference' or (name() = 'legacyLink' and (starts-with(@xlink:href,'frlrf')
- or starts-with(@xlink:href,'N:') or starts-with(@xlink:href,'T:') or starts-with(@xlink:href,'M:') or starts-with(@xlink:href,'P:')
- or starts-with(@xlink:href,'F:') or starts-with(@xlink:href,'E:') or starts-with(@xlink:href,'Overload:')))">
- <div class="seeAlsoStyle">
- <xsl:apply-templates select="."/>
- </div>
- </xsl:if>
- </xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
-
- <!-- Other Resources sub-section -->
- <xsl:if test="ddue:externalLink">
- <xsl:call-template name="subSection">
- <xsl:with-param name="title">
- <include item="SeeAlsoOtherResources"/>
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:for-each select="/document/comments/ddue:dduexml/ddue:relatedTopics/*">
- <xsl:if test="name() = 'externalLink'">
- <div class="seeAlsoStyle">
- <xsl:apply-templates select="."/>
- </div>
- </xsl:if>
- </xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
-
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <!-- just skip over these -->
- <xsl:template match="ddue:content | ddue:legacy">
- <xsl:apply-templates />
- </xsl:template>
-
- <!-- block elements -->
-
- <xsl:template match="ddue:table">
- <div class="listSection">
- <table class="members" width="50%" cellspacing="0" frame="lhs">
- <xsl:apply-templates />
- </table>
- </div>
- </xsl:template>
-
- <xsl:template match="ddue:tableHeader">
- <xsl:apply-templates />
- </xsl:template>
-
- <xsl:template match="ddue:row">
- <tr>
- <xsl:apply-templates />
- </tr>
- </xsl:template>
-
- <xsl:template match="ddue:entry">
- <td>
- <xsl:apply-templates />
- </td>
- </xsl:template>
-
- <xsl:template match="ddue:tableHeader/ddue:row/ddue:entry">
- <th>
- <xsl:apply-templates />
- </th>
- </xsl:template>
-
- <xsl:template match="ddue:definitionTable">
- <dl>
- <xsl:apply-templates />
- </dl>
- </xsl:template>
-
- <xsl:template match="ddue:definedTerm">
- <dt><span class="nonLinkTerm"><xsl:apply-templates /></span></dt>
- </xsl:template>
-
- <xsl:template match="ddue:definition">
- <dd>
- <xsl:apply-templates />
- </dd>
- </xsl:template>
-
- <xsl:template match="ddue:code">
- <xsl:variable name="codeLang">
- <xsl:choose>
- <xsl:when test="@language = 'vbs'">
- <xsl:text>VBScript</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'vb' or @language = 'vb#' or @language = 'VB'" >
- <xsl:text>VisualBasic</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'c#' or @language = 'cs' or @language = 'C#'" >
- <xsl:text>CSharp</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'cpp' or @language = 'cpp#' or @language = 'c' or @language = 'c++' or @language = 'C++'" >
- <xsl:text>ManagedCPlusPlus</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'j#' or @language = 'jsharp'">
- <xsl:text>JSharp</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'js' or @language = 'jscript#' or @language = 'jscript' or @language = 'JScript'">
- <xsl:text>JScript</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'xml'">
- <xsl:text>xmlLang</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'html'">
- <xsl:text>html</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'vb-c#'">
- <xsl:text>visualbasicANDcsharp</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>other</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:variable name="titleName" select="../../ddue:title"/>
-
- <xsl:choose>
- <xsl:when test="(($titleName = 'Output') or ($titleName = 'Input') or ($titleName = 'SampleOutput'))">
- <div class="code">
- <table width="100%" cellspacing="0" cellpadding="0">
- <tr>
- <th>
- <xsl:text>&#xa0;</xsl:text>
- </th>
-
- </tr>
- <tr>
- <td colspan="2">
- <pre>
- <xsl:apply-templates/>
- </pre>
- </td>
- </tr>
- </table>
- </div>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="codeSection">
- <xsl:with-param name="codeLang" select="$codeLang" />
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
-
- </xsl:template>
-
- <xsl:template match="ddue:sampleCode">
- <div><b><xsl:value-of select="@language"/></b></div>
- <div class="code"><pre><xsl:apply-templates /></pre></div>
- </xsl:template>
-
- <xsl:template name="composeCode">
- <xsl:copy-of select="." />
- <xsl:variable name="next" select="following-sibling::*[1]" />
- <xsl:if test="boolean($next/@language) and boolean(local-name($next)=local-name())">
- <xsl:for-each select="$next">
- <xsl:call-template name="composeCode" />
- </xsl:for-each>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:alert">
- <div class="alert">
- <table width="100%" cellspacing="0" cellpadding="0">
- <tr>
- <th align="left">
- <xsl:choose>
- <xsl:when test="@class='tip'">
- <img class="note">
- <includeAttribute name="title" item="tipAltText" />
- <includeAttribute item="iconPath" name="src">
- <parameter>alert_note.gif</parameter>
- </includeAttribute>
- </img>
- <include item="tipTitle" />
- </xsl:when>
- <xsl:when test="@class='caution' or @class='warning'">
- <img class="note">
- <includeAttribute name="title" item="cautionAltText" />
- <includeAttribute item="iconPath" name="src">
- <parameter>alert_caution.gif</parameter>
- </includeAttribute>
- </img>
- <include item="cautionTitle" />
- </xsl:when>
- <xsl:when test="@class='security note'">
- <img class="note">
- <includeAttribute name="title" item="securityAltText" />
- <includeAttribute item="iconPath" name="src">
- <parameter>alert_security.gif</parameter>
- </includeAttribute>
- </img>
- <include item="securityTitle" />
- </xsl:when>
- <xsl:when test="@class='important'">
- <img class="note">
- <includeAttribute name="title" item="importantAltText" />
- <includeAttribute item="iconPath" name="src">
- <parameter>alert_caution.gif</parameter>
- </includeAttribute>
- </img>
- <include item="importantTitle" />
- </xsl:when>
- <xsl:when test="@class='visual basic note'">
- <img class="note">
- <includeAttribute name="title" item="visualBasicAltText" />
- <includeAttribute item="iconPath" name="src">
- <parameter>alert_note.gif</parameter>
- </includeAttribute>
- </img>
- <include item="visualBasicTitle" />
- </xsl:when>
- <xsl:when test="@class='visual c# note'">
- <img class="note">
- <includeAttribute name="title" item="visualC#AltText" />
- <includeAttribute item="iconPath" name="src">
- <parameter>alert_note.gif</parameter>
- </includeAttribute>
- </img>
- <include item="visualC#Title" />
- </xsl:when>
- <xsl:when test="@class='visual c++ note'">
- <img class="note">
- <includeAttribute name="title" item="visualC++AltText" />
- <includeAttribute item="iconPath" name="src">
- <parameter>alert_note.gif</parameter>
- </includeAttribute>
- </img>
- <include item="visualC++Title" />
- </xsl:when>
- <xsl:when test="@class='visual j# note'">
- <img class="note">
- <includeAttribute name="title" item="visualJ#AltText" />
- <includeAttribute item="iconPath" name="src">
- <parameter>alert_note.gif</parameter>
- </includeAttribute>
- </img>
- <include item="visualJ#Title" />
- </xsl:when>
- <xsl:when test="@class='note'">
- <img class="note">
- <includeAttribute name="title" item="noteAltText" />
- <includeAttribute item="iconPath" name="src">
- <parameter>alert_note.gif</parameter>
- </includeAttribute>
- </img>
- <include item="noteTitle" />
- </xsl:when>
- <xsl:otherwise>
- <img class="note">
- <includeAttribute name="title" item="noteAltText" />
- <includeAttribute item="iconPath" name="src">
- <parameter>alert_note.gif</parameter>
- </includeAttribute>
- </img>
- <include item="{@class}" />
- </xsl:otherwise>
- </xsl:choose>
- </th>
- </tr>
- <tr>
- <td>
- <xsl:apply-templates/>
- </td>
- </tr>
- </table>
- </div>
- </xsl:template>
-
- <xsl:template match="ddue:sections">
- <xsl:apply-templates select="ddue:section" />
- </xsl:template>
-
- <xsl:template match="ddue:section">
- <xsl:if test="descendant::ddue:content[normalize-space(.)]">
- <xsl:apply-templates select="@address" />
- <!-- Count all the possible ancestor root nodes -->
- <xsl:variable name="a1" select="count(ancestor::ddue:attributesandElements)" />
- <xsl:variable name="a2" select="count(ancestor::ddue:codeExample)" />
- <xsl:variable name="a3" select="count(ancestor::ddue:dotNetFrameworkEquivalent)" />
- <xsl:variable name="a4" select="count(ancestor::ddue:elementInformation)" />
- <xsl:variable name="a5" select="count(ancestor::ddue:exceptions)" />
- <xsl:variable name="a6" select="count(ancestor::ddue:introduction)" />
- <xsl:variable name="a7" select="count(ancestor::ddue:languageReferenceRemarks)" />
- <xsl:variable name="a8" select="count(ancestor::ddue:nextSteps)" />
- <xsl:variable name="a9" select="count(ancestor::ddue:parameters)" />
- <xsl:variable name="a10" select="count(ancestor::ddue:prerequisites)" />
- <xsl:variable name="a11" select="count(ancestor::ddue:procedure)" />
- <xsl:variable name="a12" select="count(ancestor::ddue:relatedTopics)" />
- <xsl:variable name="a13" select="count(ancestor::ddue:remarks)" />
- <xsl:variable name="a14" select="count(ancestor::ddue:requirements)" />
- <xsl:variable name="a15" select="count(ancestor::ddue:schemaHierarchy)" />
- <xsl:variable name="a16" select="count(ancestor::ddue:syntaxSection)" />
- <xsl:variable name="a17" select="count(ancestor::ddue:textValue)" />
- <xsl:variable name="a18" select="count(ancestor::ddue:type)" />
- <xsl:variable name="a19" select="count(ancestor::ddue:section)" />
- <xsl:variable name="total" select="$a1+$a2+$a3+$a4+$a5+$a6+$a7+$a8+$a9+$a10+$a11+$a12+$a13+$a14+$a15+$a16+$a17+$a18+$a19" />
- <xsl:choose>
- <xsl:when test="$total = 0">
- <xsl:variable name="sectionCount">
- <xsl:value-of select="count(preceding-sibling::ddue:section)"/>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="ddue:title">
- <h1 class="heading">
- <span onclick="ExpandCollapse(sectionToggle{$sectionCount})" style="cursor:default;" onkeypress="ExpandCollapse_CheckKey(sectionToggle{$sectionCount}, event)" tabindex="0">
- <img id="sectionToggle{$sectionCount}" onload="OnLoadImage(event)" class="toggle" name="toggleSwitch">
- <includeAttribute name="src" item="iconPath">
- <parameter>collapse_all.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:value-of select="ddue:title" />
- </span>
- </h1>
- <div id="sectionSection{$sectionCount}" class="section" name="collapseableSection" style="">
- <xsl:apply-templates select="ddue:content"/>
- <xsl:apply-templates select="ddue:sections" />
- </div>
- </xsl:when>
- <xsl:otherwise>
- <div id="sectionSection{$sectionCount}" class="seeAlsoNoToggleSection">
- <xsl:apply-templates select="ddue:content"/>
- <xsl:apply-templates select="ddue:sections"/>
- </div>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:when test="$total = 1">
- <h3 class="subHeading">
- <xsl:value-of select="ddue:title"/>
- </h3>
- <div class="subsection">
- <xsl:apply-templates select="ddue:content"/>
- <xsl:apply-templates select="ddue:sections" />
- </div>
- </xsl:when>
- <xsl:otherwise>
- <h4 class="subHeading">
- <xsl:value-of select="ddue:title"/>
- </h4>
- <div class="subsection">
- <xsl:apply-templates select="ddue:content"/>
- <xsl:apply-templates select="ddue:sections" />
- </div>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:template>
-<!--
- <xsl:template match="@address">
- <a name="{string(.)}" />
- </xsl:template>
--->
- <xsl:template match="ddue:mediaLink|ddue:mediaLinkInline">
- <span class="media">
- <xsl:if test="ddue:caption">
- <div class="caption">
- <xsl:apply-templates select="ddue:caption" />
- </div>
- <br />
- </xsl:if>
- <artLink target="{ddue:image/@xlink:href}" />
- </span>
- </xsl:template>
-
- <xsl:template match="ddue:procedure">
- <xsl:if test="normalize-space(ddue:title)">
- <h3 class="procedureSubHeading">
- <xsl:value-of select="ddue:title"/>
- </h3>
- </xsl:if>
- <div class="subSection">
- <xsl:apply-templates select="ddue:steps"/>
- <xsl:apply-templates select="ddue:conclusion"/>
- </div>
- </xsl:template>
-
- <xsl:template match="ddue:steps">
- <xsl:choose>
- <xsl:when test="@class = 'ordered'">
- <xsl:variable name="temp">
- <xsl:value-of select="count(ddue:step)"/>
- </xsl:variable>
- <xsl:if test="$temp = 1">
- <ul>
- <xsl:apply-templates select="ddue:step"/>
- </ul>
- </xsl:if>
- <xsl:if test="$temp &gt; 1">
- <ol>
- <xsl:apply-templates select="ddue:step"/>
- </ol>
- </xsl:if>
- </xsl:when>
- <xsl:when test="@class='bullet'">
- <ul>
- <xsl:apply-templates select="ddue:step" />
- </ul>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="ddue:step">
- <li><xsl:apply-templates /></li>
- </xsl:template>
-
-
- <xsl:template match="ddue:inThisSection">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'inThisSection'"/>
- <xsl:with-param name="title"><include item="inThisSectionTitle" /></xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:buildInstructions">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'buildInstructions'"/>
- <xsl:with-param name="title"><include item="buildInstructionsTitle" /></xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:nextSteps">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'nextSteps'"/>
- <xsl:with-param name="title"><include item="nextStepsTitle" /></xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:requirements">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'requirementsTitle'"/>
- <xsl:with-param name="title"><include item="requirementsTitle" /></xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <!-- inline elements -->
-
- <xsl:template match="ddue:languageKeyword">
- <xsl:variable name="word" select="." />
- <span class="keyword" data="langKeyword" value="{$word}">
- <xsl:choose>
- <xsl:when test="$word='null' or $word='Nothing' or $word='nullptr'">
- <span class="cs">null</span>
- <span class="vb">Nothing</span>
- <span class="cpp">nullptr</span>
- </xsl:when>
- <xsl:when test="$word='static' or $word='Shared'">
- <span class="cs">static</span>
- <span class="vb">Shared</span>
- <span class="cpp">static</span>
- </xsl:when>
- <xsl:when test="$word='virtual' or $word='Overridable'">
- <span class="cs">virtual</span>
- <span class="vb">Overridable</span>
- <span class="cpp">virtual</span>
- </xsl:when>
- <xsl:when test="$word='true' or $word='True'">
- <span class="cs">true</span>
- <span class="vb">True</span>
- <span class="cpp">true</span>
- </xsl:when>
- <xsl:when test="$word='false' or $word='False'">
- <span class="cs">false</span>
- <span class="vb">False</span>
- <span class="cpp">false</span>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="." />
- </xsl:otherwise>
- </xsl:choose>
- </span>
- </xsl:template>
-
- <!-- links -->
-
- <xsl:template match="ddue:dynamicLink[@type='inline']">
- <MSHelp:ktable disambiguator='span' indexMoniker='!DefaultDynamicLinkIndex'>
- <xsl:attribute name="keywords">
- <xsl:for-each select="ddue:keyword">
- <xsl:value-of select="."/>
- <xsl:if test="position() != last()">;</xsl:if>
- </xsl:for-each>
- </xsl:attribute>
- <includeAttribute name="prefix" item="dynamicLinkInlinePreFixText" />
- <includeAttribute name="postfix" item="dynamicLinkInlinePostFixText" />
- <includeAttribute name="separator" item="dynamicLinkInlineSeperatorText" />
- </MSHelp:ktable>
- </xsl:template>
-
- <xsl:template match="ddue:dynamicLink[@type='table']">
- <include item="mshelpKTable">
- <parameter>
- <xsl:for-each select="ddue:keyword">
- <xsl:value-of select="."/>
- <xsl:if test="position() != last()">;</xsl:if>
- </xsl:for-each>
- </parameter>
- </include>
- </xsl:template>
-
- <xsl:template match="ddue:dynamicLink[@type='bulleted']">
- <MSHelp:ktable disambiguator='span' indexMoniker='!DefaultDynamicLinkIndex'>
- <xsl:attribute name="keywords">
- <xsl:for-each select="ddue:keyword">
- <xsl:value-of select="."/>
- <xsl:if test="position() != last()">;</xsl:if>
- </xsl:for-each>
- </xsl:attribute>
- <xsl:attribute name="prefix">&lt;ul&gt;&lt;li&gt;</xsl:attribute>
- <xsl:attribute name="postfix">&lt;/li&gt;&lt;/ul&gt;</xsl:attribute>
- <xsl:attribute name="separator">&lt;/li&gt;&lt;li&gt;</xsl:attribute>
- </MSHelp:ktable>
- </xsl:template>
-
- <xsl:template match="ddue:codeFeaturedElement">
- <xsl:if test="normalize-space(.)">
- <xsl:if test="count(preceding::ddue:codeFeaturedElement) &gt; 0"><br/></xsl:if>
- <b><xsl:apply-templates/></b>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:languageReferenceRemarks">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'languageReferenceRemarks'"/>
- <xsl:with-param name="title">
- <include item="remarksTitle" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:attributesandElements">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'attributesAndElements'"/>
- <xsl:with-param name="title">
- <include item="attributesAndElements" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:attributes">
- <xsl:if test="normalize-space(.)">
- <h4 class="subHeading">
- <include item="attributes"/>
- </h4>
- <xsl:apply-templates/>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:attribute">
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="ddue:attribute/ddue:title">
- <h4 class="subHeading">
- <xsl:apply-templates/>
- </h4>
- </xsl:template>
-
- <xsl:template match="ddue:childElement">
- <xsl:if test="normalize-space(.)">
- <h4 class="subHeading">
- <include item="childElement"/>
- </h4>
- <xsl:apply-templates/>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:parentElement">
- <xsl:if test="normalize-space(.)">
- <h4 class="subHeading">
- <include item="parentElement"/>
- </h4>
- <xsl:apply-templates/>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:textValue">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'textValue'"/>
- <xsl:with-param name="title">
- <include item="textValue" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:elementInformation">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'elementInformation'"/>
- <xsl:with-param name="title">
- <include item="elementInformation" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:dotNetFrameworkEquivalent">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'dotNetFrameworkEquivalent'"/>
- <xsl:with-param name="title">
- <include item="dotNetFrameworkEquivalent" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:prerequisites">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'prerequisites'"/>
- <xsl:with-param name="title">
- <include item="prerequisites" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:type">
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="ddue:robustProgramming">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'robustProgramming'"/>
- <xsl:with-param name="title">
- <include item="robustProgramming" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:security">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'security'"/>
- <xsl:with-param name="title">
- <include item="securitySection" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:externalResources">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'externalResources'"/>
- <xsl:with-param name="title">
- <include item="externalResources" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:demonstrates">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'demonstrates'"/>
- <xsl:with-param name="title">
- <include item="demonstrates" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:appliesTo">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'appliesTo'"/>
- <xsl:with-param name="title">
- <include item="appliesTo" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:conclusion">
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="ddue:background">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'background'"/>
- <xsl:with-param name="title">
- <include item="background" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:whatsNew">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'whatsNew'"/>
- <xsl:with-param name="title">
- <include item="whatsNew" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:reference">
- <xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'reference'"/>
- <xsl:with-param name="title">
- <include item="reference" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:developerErrorMessageDocument">
- <xsl:for-each select="*">
- <xsl:choose>
- <xsl:when test="name() = 'secondaryErrorTitle'">
- <xsl:if test="not(../ddue:nonLocErrorTitle)">
- <xsl:apply-templates select=".">
- <xsl:with-param name="newSection">yes</xsl:with-param>
- </xsl:apply-templates>
- </xsl:if>
- </xsl:when>
-
- <xsl:otherwise><xsl:apply-templates select="." /></xsl:otherwise>
- </xsl:choose>
- </xsl:for-each>
-
- </xsl:template>
-
- <xsl:template match="ddue:nonLocErrorTitle">
- <xsl:if test="string-length(../ddue:nonLocErrorTitle[normalize-space(.)]) > 0 or string-length(../ddue:secondaryErrorTitle[normalize-space(.)]) > 0">
- <div id="errorTitleSection" class="section">
- <xsl:if test="../ddue:secondaryErrorTitle">
- <h4 class="subHeading"><include item="errorMessage"/></h4>
- <xsl:apply-templates select="../ddue:secondaryErrorTitle">
- <xsl:with-param name="newSection">no</xsl:with-param>
- </xsl:apply-templates>
- </xsl:if>
- <xsl:apply-templates/><p/>
- </div>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ddue:secondaryErrorTitle">
- <xsl:param name="newSection"/>
- <xsl:if test="string-length(../ddue:secondaryErrorTitle[normalize-space(.)]) > 0">
- <xsl:choose>
- <xsl:when test="$newSection = 'yes'">
- <div id="errorTitleSection" class="section">
- <xsl:apply-templates/><p/>
- </div>
- </xsl:when>
- <xsl:otherwise><xsl:apply-templates/><br/></xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:template>
-
-
- <xsl:template name="createReferenceLink">
- <xsl:param name="id" />
- <xsl:param name="qualified" select="false()" />
- <referenceLink target="{$id}" qualified="{$qualified}" />
- </xsl:template>
-
- <xsl:template match="ddue:snippets">
- <xsl:variable name="codeId" select="generate-id()" />
- <table class="filter" cellspacing="0" cellpadding="0">
- <tr id="curvedTabs_{$codeId}">
- <xsl:for-each select="ddue:snippet">
- <td class="leftTab" x-lang="{@language}">&#xa0;</td>
- <td class="middleTab" x-lang="{@language}">&#xa0;</td>
- <td class="rightTab" x-lang="{@language}">&#xa0;</td>
- </xsl:for-each>
- </tr>
- <tr class="tabs" id="ct_{$codeId}">
- <xsl:for-each select="ddue:snippet">
-
- <xsl:variable name="style">
- <xsl:call-template name="languageCheck">
- <xsl:with-param name="codeLanguage" select="@language" />
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:variable name="languageEvent">
- <xsl:choose>
- <xsl:when test="$style != ''">
- <xsl:text>languageFilter.changeLanguage(data, '</xsl:text><xsl:value-of select="@language"/>
- <xsl:text>', '</xsl:text><xsl:value-of select="$style" />
- <xsl:text>');</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>toggleClass('ct_</xsl:text><xsl:value-of select="$codeId" />
- <xsl:text>','x-lang','</xsl:text><xsl:value-of select="@language"/>
- <xsl:text>','activeTab','tab'); curvedToggleClass('curvedTabs_</xsl:text><xsl:value-of select="$codeId"/>
- <xsl:text>','x-lang','</xsl:text><xsl:value-of select="@language"/>
- <xsl:text>'); toggleStyle('cb_</xsl:text><xsl:value-of select="$codeId"/>
- <xsl:text>', 'x-lang','</xsl:text><xsl:value-of select="@language"/>
- <xsl:text>','display','block','none');</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <td class="leftGrad" x-lang="{@language}">&#xa0;</td>
- <td class="tab" x-lang="{@language}" onclick="{$languageEvent}">
- <include item="{@language}Label" />
- </td>
- <td class="rightGrad" x-lang="{@language}">&#xa0;</td>
- </xsl:for-each>
- </tr>
- </table>
- <div id="cb_{$codeId}">
- <xsl:for-each select="ddue:snippet">
- <div class="code" x-lang="{@language}">
- <xsl:call-template name="codeSection" />
- </div>
- </xsl:for-each>
- </div>
- <script type="text/javascript">
- <xsl:if test="$languages != 'false'">
- languageFilter.registerTabbedArea(<xsl:text>'curvedTabs_</xsl:text><xsl:value-of select="$codeId" /><xsl:text>','ct_</xsl:text><xsl:value-of select="$codeId" /><xsl:text>','cb_</xsl:text><xsl:value-of select="$codeId"/><xsl:text>'</xsl:text>);
- </xsl:if>
- toggleClass(<xsl:text>'ct_</xsl:text><xsl:value-of select="$codeId" /><xsl:text>'</xsl:text>,'x-lang','CSharp','activeTab','tab');
- curvedToggleClass(<xsl:text>'curvedTabs_</xsl:text><xsl:value-of select="$codeId"/><xsl:text>'</xsl:text>,'x-lang', 'CSharp');
- toggleStyle(<xsl:text>'cb_</xsl:text><xsl:value-of select="$codeId" /><xsl:text>'</xsl:text>,'x-lang','CSharp','display','block','none');
- </script>
- </xsl:template>
-
- <xsl:template name="section">
- <xsl:param name="toggleSwitch" />
- <xsl:param name="title" />
- <xsl:param name="content" />
-
- <xsl:variable name="toggleTitle" select="concat($toggleSwitch,'Toggle')" />
- <xsl:variable name="toggleSection" select="concat($toggleSwitch,'Section')" />
-
- <h1 class="heading">
- <span onclick="ExpandCollapse({$toggleTitle})" style="cursor:default;" onkeypress="ExpandCollapse_CheckKey({$toggleTitle}, event)" tabindex="0">
- <img id="{$toggleTitle}" onload="OnLoadImage(event)" class="toggle" name="toggleSwitch">
- <includeAttribute name="src" item="iconPath">
- <parameter>collapse_all.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:copy-of select="$title" />
- </span>
- </h1>
-
- <div id="{$toggleSection}" class="section" name="collapseableSection" style="">
- <xsl:copy-of select="$content" />
- </div>
-
- </xsl:template>
-
- <xsl:template name="subSection">
- <xsl:param name="title" />
- <xsl:param name="content" />
-
- <h4 class="subHeading">
- <xsl:copy-of select="$title" />
- </h4>
- <xsl:copy-of select="$content" />
-
- </xsl:template>
-
- <!-- capture authored glossary <link> nodes -->
- <xsl:template match="ddue:link[starts-with(.,'GTMT#')]">
- <!-- not supporting popup definitions; just show the display text -->
- <span data="link">
- <xsl:value-of select="substring-after(.,'GTMT#')"/>
- </span>
- </xsl:template>
-
-
- <!-- fail if any unknown elements are encountered -->
- <!--
- <xsl:template match="*">
- <xsl:message terminate="yes">
- <xsl:text>An unknown element was encountered.</xsl:text>
- </xsl:message>
- </xsl:template>
--->
-
- <xsl:template match="ddue:developerSampleDocument">
- <!-- show the topic intro -->
- <xsl:apply-templates select="ddue:introduction"/>
-
- <!-- the sample download list section from dsSample -->
- <xsl:if test="ddue:relatedTopics/ddue:sampleRef">
- <include item="{ddue:relatedTopics/ddue:sampleRef/@srcID}"/>
- </xsl:if>
-
- <!-- then the rest of the topic's content -->
- <xsl:for-each select="*">
- <xsl:choose>
- <!-- introduction was already captured above -->
- <xsl:when test="name() = 'introduction'"/>
-
- <xsl:otherwise>
- <xsl:apply-templates select="." />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:for-each>
-
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/tools/Sandcastle/Presentation/hana/transforms/utilities_metadata.xsl b/tools/Sandcastle/Presentation/hana/transforms/utilities_metadata.xsl
deleted file mode 100644
index 8da8e5e..0000000
--- a/tools/Sandcastle/Presentation/hana/transforms/utilities_metadata.xsl
+++ /dev/null
@@ -1,928 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"
- xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
- xmlns:mshelp="http://msdn.microsoft.com/mshelp"
- xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:msxsl="urn:schemas-microsoft-com:xslt"
- >
-
- <xsl:import href="../../shared/transforms/utilities_metadata.xsl" />
-
- <xsl:template name="insertMetadata">
- <xsl:if test="$metadata='true'">
- <xml>
- <xsl:call-template name="mshelpTitles" />
- <MSHelp:Attr Name="AssetID" Value="{$key}" />
- <!-- toc metadata -->
- <xsl:call-template name="linkMetadata" />
- <xsl:call-template name="indexMetadata" />
- <xsl:call-template name="helpMetadata" />
- <xsl:call-template name="helpPriorityMetadata" />
- <xsl:call-template name="apiTaggingMetadata" />
- <xsl:call-template name="mshelpDevlangAttributes" />
- <MSHelp:Attr Name="Locale">
- <includeAttribute name="Value" item="locale" />
- </MSHelp:Attr>
- <!-- attribute to allow F1 help integration -->
- <MSHelp:Attr Name="TopicType">
- <includeAttribute name="Value" item="TT_ManagedReference"/>
- </MSHelp:Attr>
-
- <!-- Abstract -->
- <xsl:choose>
- <xsl:when test="string-length($abstractSummary) &gt; 254">
- <MSHelp:Attr Name="Abstract" Value="{normalize-space(concat(substring($abstractSummary,1,250), ' ...'))}" />
- </xsl:when>
- <xsl:when test="string-length($abstractSummary) &gt; 0">
- <MSHelp:Attr Name="Abstract" Value="{normalize-space($abstractSummary)}" />
- </xsl:when>
- </xsl:choose>
-
- <xsl:call-template name="mshelpCodelangAttributes" />
- <xsl:call-template name="versionMetadata" />
- <xsl:call-template name="authoredMetadata" />
- </xml>
- </xsl:if>
- </xsl:template>
-
- <!-- add DocSet and Technology attributes depending on the versions that support this api -->
- <xsl:template name="versionMetadata">
- <xsl:variable name="supportedOnCf">
- <xsl:call-template name="IsMemberSupportedOnCf"/>
- </xsl:variable>
- <xsl:if test="count(/document/reference/versions/versions[@name='netfw']/version) &gt; 0">
- <MSHelp:Attr Name="Technology">
- <includeAttribute name="Value" item="desktopTechnologyAttribute" />
- </MSHelp:Attr>
- </xsl:if>
- <xsl:if test="count(/document/reference/versions/versions[@name='netcfw']/version) &gt; 0 or normalize-space($supportedOnCf)!=''">
- <MSHelp:Attr Name="Technology">
- <includeAttribute name="Value" item="netcfTechnologyAttribute" />
- </MSHelp:Attr>
- <MSHelp:Attr Name="DocSet">
- <includeAttribute name="Value" item="netcfDocSetAttribute" />
- </MSHelp:Attr>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="authoredMetadata">
-
- <!-- authored attributes -->
- <xsl:for-each select="/document/metadata/attribute">
- <MSHelp:Attr Name="{@name}" Value="{text()}" />
- </xsl:for-each>
-
- <!-- authored K -->
- <xsl:for-each select="/document/metadata/keyword[@index='K']">
- <MSHelp:Keyword Index="K">
- <xsl:attribute name="Term">
- <xsl:value-of select="text()" />
- <xsl:for-each select="keyword[@index='K']">
- <xsl:text>, </xsl:text>
- <xsl:value-of select="text()"/>
- </xsl:for-each>
- </xsl:attribute>
- </MSHelp:Keyword>
- </xsl:for-each>
-
- <!-- authored F -->
- <xsl:for-each select="/document/metadata/keyword[@index='F']">
- <MSHelp:Keyword Index="F">
- <xsl:attribute name="Term">
- <xsl:value-of select="text()" />
- <xsl:for-each select="keyword[@index='F']">
- <xsl:text>, </xsl:text>
- <xsl:value-of select="text()"/>
- </xsl:for-each>
- </xsl:attribute>
- </MSHelp:Keyword>
- </xsl:for-each>
-
- <!-- authored B -->
- <xsl:for-each select="/document/metadata/keyword[@index='B']">
- <MSHelp:Keyword Index="B">
- <xsl:attribute name="Term">
- <xsl:value-of select="text()" />
- <xsl:for-each select="keyword[@index='B']">
- <xsl:text>, </xsl:text>
- <xsl:value-of select="text()"/>
- </xsl:for-each>
- </xsl:attribute>
- </MSHelp:Keyword>
- </xsl:for-each>
-
- </xsl:template>
-
- <xsl:template name="mshelpTitles">
-
- <!-- Toc List title-->
- <MSHelp:TOCTitle>
- <includeAttribute name="Title" item="tocTitle">
- <parameter>
- <xsl:call-template name="topicTitlePlain" />
- </parameter>
- </includeAttribute>
- </MSHelp:TOCTitle>
-
- <!-- The Results List title -->
- <MSHelp:RLTitle>
- <includeAttribute name="Title" item="rlTitle">
- <parameter>
- <xsl:call-template name="topicTitlePlain">
- <xsl:with-param name="qualifyMembers" value="true()" />
- </xsl:call-template>
- </parameter>
- <parameter>
- <xsl:value-of select="$namespaceName"/>
- </parameter>
- </includeAttribute>
- </MSHelp:RLTitle>
-
- </xsl:template>
-
- <xsl:template name="apiTaggingMetadata">
- <xsl:if test="($group='type' or $group='member')">
- <MSHelp:Attr Name="APIType" Value="Managed" />
- <MSHelp:Attr Name="APILocation" Value="{/document/reference/containers/library/@assembly}.dll" />
- <xsl:choose>
- <xsl:when test="$group='type'">
- <xsl:variable name="apiTypeName">
- <xsl:value-of select="concat(/document/reference/containers/namespace/apidata/@name,'.',/document/reference/apidata/@name)" />
- <xsl:if test="count(/document/reference/templates/template) > 0">
- <xsl:value-of select="concat('`',count(/document/reference/templates/template))" />
- </xsl:if>
- </xsl:variable>
- <!-- Namespace + Type -->
- <MSHelp:Attr Name="APIName" Value="{$apiTypeName}" />
- <xsl:choose>
- <xsl:when test="boolean($subgroup='delegate')">
- <MSHelp:Attr Name="APIName" Value="{concat($apiTypeName,'.ctor')}" />
- <MSHelp:Attr Name="APIName" Value="{concat($apiTypeName,'.','Invoke')}" />
- <MSHelp:Attr Name="APIName" Value="{concat($apiTypeName,'.','BeginInvoke')}" />
- <MSHelp:Attr Name="APIName" Value="{concat($apiTypeName,'.','EndInvoke')}" />
- </xsl:when>
- <xsl:when test="$subgroup='enumeration'">
- <xsl:for-each select="/document/reference/elements/element">
- <MSHelp:Attr Name="APIName" Value="{substring(@api,3)}" />
- </xsl:for-each>
- <!-- Namespace + Type + Member for each member -->
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- <xsl:when test="$group='member'">
- <xsl:variable name="apiTypeName">
- <xsl:value-of select="concat(/document/reference/containers/namespace/apidata/@name,'.',/document/reference/containers/type/apidata/@name)" />
- <xsl:if test="count(/document/reference/templates/template) > 0">
- <xsl:value-of select="concat('`',count(/document/reference/templates/template))" />
- </xsl:if>
- </xsl:variable>
- <!-- Namespace + Type + Member -->
- <MSHelp:Attr Name="APIName" Value="{concat($apiTypeName,'.',/document/reference/apidata/@name)}" />
- <xsl:choose>
- <xsl:when test="boolean($subgroup='property')">
- <!-- Namespace + Type + get_Member if get-able -->
- <!-- Namespace + Type + set_Member if set-able -->
- </xsl:when>
- <xsl:when test="boolean($subgroup='event')">
- <!-- Namespace + Type + add_Member -->
- <!-- Namespace + Type + remove_Member -->
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- </xsl:choose>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="linkMetadata">
- <!-- code entity reference keyword -->
- <MSHelp:Keyword Index="A" Term="{$key}" />
-
- <xsl:if test="$subgroup='enumeration'">
- <xsl:for-each select="/document/reference/elements/element">
- <MSHelp:Keyword Index="A" Term="{@api}" />
- </xsl:for-each>
- </xsl:if>
-
- <!-- frlrf keywords -->
- <xsl:choose>
- <xsl:when test="$group='namespace'">
- <MSHelp:Keyword Index="A" Term="{translate(concat('frlrf',/document/reference/apidata/@name),'.','')}" />
- </xsl:when>
- <!-- types & members, too -->
- <xsl:when test="$group='type'">
- <MSHelp:Keyword Index="A" Term="{translate(concat('frlrf',/document/reference/containers/namespace/apidata/@name, /document/reference/apidata/@name, 'ClassTopic'),'.','')}" />
- </xsl:when>
- <xsl:when test="$group='list'">
- <MSHelp:Keyword Index="A" Term="{translate(concat('frlrf',/document/reference/containers/namespace/apidata/@name, /document/reference/topicdata/@name, 'MembersTopic'),'.','')}" />
- </xsl:when>
- <xsl:when test="$group='member'">
- <MSHelp:Keyword Index="A" Term="{translate(concat('frlrf',/document/reference/containers/namespace/apidata/@name, /document/reference/containers/type/apidata/@name, 'Class', /document/reference/apidata/@name, 'Topic'),'.','')}" />
- </xsl:when>
- </xsl:choose>
- <xsl:choose>
- <xsl:when test="$group='namespace'">
- <MSHelp:Keyword Index="A" Term="{concat('frlrf',translate(@name,'.',''))}" />
- </xsl:when>
- <!-- types & members, too -->
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="oldIndexMetadata">
- <!-- K keywords -->
- <xsl:choose>
- <xsl:when test="$group='namespace'">
- <!-- namespace -->
- <xsl:variable name="namespace" select="/document/reference/apidata/@name" />
- <xsl:if test="boolean($namespace)">
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="namespaceIndexEntry">
- <parameter><xsl:value-of select="$namespace" /></parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:if>
- </xsl:when>
- <xsl:when test="$group='type'">
- <!-- type -->
- <xsl:choose>
- <xsl:when test="count(/document/reference/templates/template) = 0">
- <!-- non-generic type -->
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="nameSubgroupIndexEntry">
- <parameter><xsl:value-of select="/document/reference/apidata/@name" /></parameter>
- <parameter><xsl:value-of select="$subgroup" /></parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="nameSubgroupIndexEntry">
- <parameter><xsl:value-of select="concat(/document/reference/containers/namespace[@api]/apidata/@name,'.',/document/reference/apidata/@name)" /></parameter>
- <parameter><xsl:value-of select="$subgroup" /></parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:when>
- <xsl:otherwise>
- <!-- generic type -->
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="nameSubgroupIndexEntry">
- <parameter>
- <xsl:value-of select="/document/reference/apidata/@name" />
- <xsl:for-each select="/document/reference/templates"><xsl:call-template name="csTemplatesInIndex" /></xsl:for-each>
- </parameter>
- <parameter>
- <xsl:value-of select="$subgroup" />
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="nameSubgroupIndexEntry">
- <parameter>
- <xsl:value-of select="/document/reference/apidata/@name" />
- <xsl:for-each select="/document/reference/templates">
- <xsl:call-template name="vbTemplates">
- <xsl:with-param name="seperator" select="string('%2C ')" />
- </xsl:call-template>
- </xsl:for-each>
- </parameter>
- <parameter><xsl:value-of select="$subgroup" /></parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:otherwise>
- </xsl:choose>
- <!-- an entry like: "FileClassifier class, about FileClassifier class" -->
- <xsl:if test="$subgroup='class' or $subgroup='structure' or $subgroup='interface'">
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="aboutTypeIndexEntry">
- <parameter>
- <xsl:value-of select="/document/reference/apidata/@name" />
- </parameter>
- <parameter>
- <xsl:value-of select="$subgroup"/>
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:if>
- <!-- for enums, an entry for each enum member, e.g. "Sunken enumeration member" -->
- <xsl:if test="$subgroup='enumeration'">
- <xsl:for-each select="/document/reference/elements/element">
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="nameSubgroupIndexEntry">
- <parameter>
- <xsl:value-of select="apidata/@name" />
- </parameter>
- <parameter>
- <xsl:text>enumMember</xsl:text>
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:for-each>
- </xsl:if>
- </xsl:when>
- <xsl:when test="($group='member') and (starts-with($key,'Overload:') or not(/document/reference/memberdata/@overload))">
- <!-- member -->
- <xsl:variable name="indexEntryItem">
- <xsl:choose>
- <xsl:when test="boolean($subsubgroup)">
- <xsl:value-of select="$subsubgroup" />
- </xsl:when>
- <xsl:when test="boolean($subgroup)">
- <xsl:value-of select="$subgroup" />
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="count(/document/reference/templates/template) = 0">
- <!-- non-generic member -->
- <MSHelp:Keyword Index="K">
- <xsl:choose>
- <xsl:when test="$subgroup='constructor'">
- <includeAttribute name="Term" item="listTopicIndexEntry">
- <parameter>
- <xsl:value-of select="/document/reference/containers/type/apidata/@name"/>
- </parameter>
- <parameter>
- <xsl:value-of select="/document/reference/containers/type/apidata/@subgroup"/>
- </parameter>
- <parameter>
- <xsl:value-of select="$indexEntryItem" />
- </parameter>
- </includeAttribute>
- </xsl:when>
- <xsl:otherwise>
- <includeAttribute name="Term" item="nameSubgroupIndexEntry">
- <parameter>
- <xsl:value-of select="/document/reference/apidata/@name"/>
- </parameter>
- <parameter>
- <xsl:value-of select="$indexEntryItem" />
- </parameter>
- </includeAttribute>
- </xsl:otherwise>
- </xsl:choose>
- </MSHelp:Keyword>
- </xsl:when>
- <xsl:otherwise>
- <!-- generic member -->
- <MSHelp:Keyword Index="K">
- <xsl:choose>
- <xsl:when test="$subgroup='constructor'">
- <includeAttribute name="Term" item="listTopicIndexEntry">
- <parameter>
- <xsl:value-of select="/document/reference/containers/type/apidata/@name"/>
- <xsl:for-each select="/document/reference/templates">
- <xsl:call-template name="csTemplatesInIndex" />
- </xsl:for-each>
- </parameter>
- <parameter>
- <xsl:value-of select="/document/reference/containers/type/apidata/@subgroup"/>
- </parameter>
- <parameter>
- <xsl:value-of select="$indexEntryItem" />
- </parameter>
- </includeAttribute>
- </xsl:when>
- <xsl:otherwise>
- <includeAttribute name="Term" item="nameSubgroupIndexEntry">
- <parameter>
- <xsl:value-of select="/document/reference/apidata/@name"/>
- <xsl:for-each select="/document/reference/templates">
- <xsl:call-template name="csTemplatesInIndex" />
- </xsl:for-each>
- </parameter>
- <parameter>
- <xsl:value-of select="$indexEntryItem" />
- </parameter>
- </includeAttribute>
- </xsl:otherwise>
- </xsl:choose>
- </MSHelp:Keyword>
- <MSHelp:Keyword Index="K">
- <xsl:choose>
- <xsl:when test="$subgroup='constructor'">
- <includeAttribute name="Term" item="listTopicIndexEntry">
- <parameter>
- <xsl:value-of select="/document/reference/containers/type/apidata/@name"/>
- <xsl:for-each select="/document/reference/templates">
- <xsl:call-template name="vbTemplates">
- <xsl:with-param name="seperator" select="string('%2C ')" />
- </xsl:call-template>
- </xsl:for-each>
- </parameter>
- <parameter>
- <xsl:value-of select="/document/reference/containers/type/apidata/@subgroup"/>
- </parameter>
- <parameter>
- <xsl:value-of select="$indexEntryItem" />
- </parameter>
- </includeAttribute>
- </xsl:when>
- <xsl:otherwise>
- <includeAttribute name="Term" item="nameSubgroupIndexEntry">
- <parameter>
- <xsl:value-of select="/document/reference/apidata/@name"/>
- <xsl:for-each select="/document/reference/templates">
- <xsl:call-template name="vbTemplates">
- <xsl:with-param name="seperator" select="string('%2C ')" />
- </xsl:call-template>
- </xsl:for-each>
- </parameter>
- <parameter>
- <xsl:value-of select="$indexEntryItem" />
- </parameter>
- </includeAttribute>
- </xsl:otherwise>
- </xsl:choose>
- </MSHelp:Keyword>
- </xsl:otherwise>
- </xsl:choose>
- <!-- type + member -->
- <xsl:choose>
- <xsl:when test="count(/document/reference/containers/namespace[@api]/templates/template) = 0">
- <!-- non-generic type -->
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="nameSubgroupIndexEntry">
- <parameter>
- <xsl:choose>
- <xsl:when test="$subgroup='constructor'">
- <xsl:value-of select="concat(/document/reference/containers/type/apidata/@name,'.',/document/reference/containers/type/apidata/@name)" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="concat(/document/reference/containers/namespace[@api]/apidata/@name,'.',/document/reference/apidata/@name)" />
- </xsl:otherwise>
- </xsl:choose>
- </parameter>
- <parameter>
- <xsl:value-of select="$indexEntryItem" />
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:when>
- <xsl:otherwise>
- <!-- generic type -->
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="nameSubgroupIndexEntry">
- <parameter>
- <xsl:value-of select="/document/reference/containers/namespace[@api]/apidata/@name"/>
- <xsl:for-each select="/document/reference/containers/namespace[@api]/templates">
- <xsl:call-template name="vbTemplates">
- <xsl:with-param name="seperator" select="string('%2C ')" />
- </xsl:call-template>
- </xsl:for-each>
- <xsl:text>.</xsl:text>
- <xsl:choose>
- <xsl:when test="$subgroup='constructor'">
- <xsl:value-of select="/document/reference/type/apidata/@name" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/document/reference/apidata/@name" />
- </xsl:otherwise>
- </xsl:choose>
- </parameter>
- <parameter>
- <xsl:value-of select="$indexEntryItem" />
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="nameSubgroupIndexEntry">
- <parameter>
- <xsl:value-of select="/document/reference/containers/namespace[@api]/apidata/@name"/>
- <xsl:for-each select="/document/reference/containers/namespace[@api]/templates">
- <xsl:call-template name="csTemplatesInIndex" />
- </xsl:for-each>
- <xsl:text>.</xsl:text>
- <xsl:choose>
- <xsl:when test="$subgroup='constructor'">
- <xsl:value-of select="/document/reference/type/apidata/@name" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/document/reference/apidata/@name" />
- </xsl:otherwise>
- </xsl:choose>
- </parameter>
- <parameter>
- <xsl:value-of select="$indexEntryItem" />
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:when test="($group='members' or $group='derivedtype')">
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="listTopicIndexEntry">
- <parameter>
- <xsl:value-of select="/document/reference/apidata/@name" />
- </parameter>
- <parameter>
- <xsl:value-of select="/document/reference/containers/type[@api]/apidata/@subgroup"/>
- </parameter>
- <parameter>
- <xsl:value-of select="$subgroup" />
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="helpMetadata">
- <!-- F keywords -->
- <xsl:choose>
- <!-- namespace pages get the namespace keyword, if it exists -->
- <xsl:when test="$group='namespace'">
- <xsl:variable name="namespace" select="/document/reference/apidata/@name" />
- <xsl:if test="boolean($namespace)">
- <MSHelp:Keyword Index="F" Term="{$namespace}" />
- </xsl:if>
- </xsl:when>
- <!-- type overview and member list pages get type and namespace.type keywords -->
- <xsl:when test="$group='type' or ($group='list' and $subgroup='members')">
- <xsl:variable name="namespace" select="/document/reference/containers/namespace/apidata/@name" />
- <xsl:variable name="type">
- <xsl:for-each select="/document/reference[1]">
- <xsl:call-template name="typeNamePlain">
- <xsl:with-param name="annotated" select="true()" />
- </xsl:call-template>
- </xsl:for-each>
- </xsl:variable>
- <MSHelp:Keyword Index="F" Term="{$type}" />
- <xsl:if test="boolean($namespace)">
- <MSHelp:Keyword Index="F" Term="{concat($namespace,'.',$type)}" />
- </xsl:if>
- <xsl:if test="$subgroup = 'enumeration'">
- <xsl:for-each select="/document/reference/elements/element">
- <MSHelp:Keyword Index="F" Term="{concat($type, '.', apidata/@name)}" />
- <xsl:if test="boolean($namespace)">
- <MSHelp:Keyword Index="F" Term="{concat($namespace,'.',$type, '.', apidata/@name)}" />
- </xsl:if>
- </xsl:for-each>
- </xsl:if>
- <xsl:call-template name="xamlMSHelpFKeywords"/>
- </xsl:when>
- <!-- member pages get member, type.member, and namepsace.type.member keywords -->
- <xsl:when test="$group='member'">
- <xsl:variable name="namespace" select="/document/reference/containers/namespace/apidata/@name" />
- <xsl:variable name="type">
- <xsl:for-each select="/document/reference/containers/type[1]">
- <xsl:call-template name="typeNamePlain">
- <xsl:with-param name="annotate" select="true()" />
- </xsl:call-template>
- </xsl:for-each>
- </xsl:variable>
- <xsl:variable name="member">
- <xsl:choose>
- <!-- if the member is a constructor, use the member name for the type name -->
- <xsl:when test="$subgroup='constructor'">
- <xsl:value-of select="$type" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/document/reference/apidata/@name"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!--
- <xsl:choose>
- -->
- <!--
- <xsl:when test="$subgroup='constructor'">
- <MSHelp:Keyword Index="F" Term="{$type}" />
- <MSHelp:Keyword Index="F" Term="{concat($type, '.', $type)}" />
- <xsl:if test="boolean($namespace)">
- <MSHelp:Keyword Index="F" Term="{concat($namespace, '.', $type, '.', $type)}" />
- </xsl:if>
- </xsl:when>
- <xsl:otherwise>
- -->
- <MSHelp:Keyword Index="F" Term="{$member}" />
- <MSHelp:Keyword Index="F" Term="{concat($type, '.', $member)}" />
- <xsl:if test="boolean($namespace)">
- <MSHelp:Keyword Index="F" Term="{concat($namespace, '.', $type, '.', $member)}" />
- </xsl:if>
- <!--
- </xsl:otherwise>
- </xsl:choose>
- -->
- </xsl:when>
- </xsl:choose>
-</xsl:template>
-
-<xsl:template name="helpPriorityMetadata">
- <xsl:choose>
- <xsl:when test="$group='namespace' or $subgroup='members'">
- <MSHelp:Attr Name="HelpPriority" Value="1"/>
- </xsl:when>
- <xsl:when test="$group='type'">
- <MSHelp:Attr Name="HelpPriority" Value="2"/>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <!--
- <xsl:template name="apiName">
- <xsl:choose>
- <xsl:when test="$subgroup='constructor'">
- <xsl:value-of select="/document/reference/containers/type/apidata/@name" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/document/reference/apidata/@name" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
- -->
-
- <xsl:template name="codeLang">
- <xsl:param name="codeLang" />
- <MSHelp:Attr Name="codelang" Value="{$codeLang}" />
- </xsl:template>
-
- <xsl:template name="mshelpDevlangAttributes">
- <xsl:for-each select="/document/syntax/div[@codeLanguage]">
- <xsl:if test="not(@codeLanguage=preceding::*/@codeLanguage)">
- <xsl:variable name="devlang">
- <xsl:choose>
- <xsl:when test="@codeLanguage = 'CSharp' or @codeLanguage = 'c#' or @codeLanguage = 'cs' or @codeLanguage = 'C#'" >
- <xsl:text>CSharp</xsl:text>
- </xsl:when>
- <xsl:when test="@codeLanguage = 'ManagedCPlusPlus' or @codeLanguage = 'cpp' or @codeLanguage = 'cpp#' or @codeLanguage = 'c' or @codeLanguage = 'c++' or @codeLanguage = 'C++' or @codeLanguage = 'kbLangCPP'" >
- <xsl:text>C++</xsl:text>
- </xsl:when>
- <xsl:when test="@codeLanguage = 'JScript' or @codeLanguage = 'js' or @codeLanguage = 'jscript#' or @codeLanguage = 'jscript' or @codeLanguage = 'JScript' or @codeLanguage = 'kbJScript'">
- <xsl:text>JScript</xsl:text>
- </xsl:when>
- <xsl:when test="@codeLanguage = 'VisualBasic' or @codeLanguage = 'vb' or @codeLanguage = 'vb#' or @codeLanguage = 'VB' or @codeLanguage = 'kbLangVB'" >
- <xsl:text>VB</xsl:text>
- </xsl:when>
- <xsl:when test="@codeLanguage = 'VBScript' or @codeLanguage = 'vbs'">
- <xsl:text>VBScript</xsl:text>
- </xsl:when>
- <xsl:when test="@codeLanguage = 'JSharp' or @codeLanguage = 'j#' or @codeLanguage = 'jsharp' or @codeLanguage = 'VJ#'">
- <xsl:text>VJ#</xsl:text>
- </xsl:when>
- <xsl:when test="@codeLanguage = 'xaml' or @codeLanguage = 'XAML'">
- <xsl:text>XAML</xsl:text>
- </xsl:when>
- <xsl:when test="@codeLanguage = 'xml' or @codeLanguage = 'XML'">
- <xsl:text>XML</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>other</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="$devlang='other'" />
- <xsl:otherwise>
- <MSHelp:Attr Name="DevLang" Value="{$devlang}" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:for-each>
- </xsl:template>
-
- <!--
- Additional F1 keywords for class, struct, and enum topics in a set of WPF namespaces.
- This template inserts the MSHelp:Keyword nodes.
- The keyword prefixes and the WPF namespaces are hard-coded in variables.
- -->
- <xsl:variable name="var_wpf_f1index_prefix_1">http://schemas.microsoft.com/winfx/2006/xaml/presentation#</xsl:variable>
- <xsl:variable name="var_wpf_f1index_prefix_1_namespaces">N:System.Windows.Controls#N:System.Windows.Documents#N:System.Windows.Shapes#N:System.Windows.Navigation#N:System.Windows.Data#N:System.Windows#N:System.Windows.Controls.Primitives#N:System.Windows.Media.Animation#N:System.Windows.Annotations#N:System.Windows.Annotations.Anchoring#N:System.Windows.Annotations.Storage#N:System.Windows.Media#N:System.Windows.Media.Animation#N:System.Windows.Media.Media3D#N:</xsl:variable>
-
- <xsl:template name="xamlMSHelpFKeywords">
- <xsl:if test="$subgroup='class' or $subgroup='enumeration' or $subgroup='structure'">
- <xsl:if test="boolean(contains($var_wpf_f1index_prefix_1_namespaces, concat('#',/document/reference/containers/namespace/@api,'#'))
- or starts-with($var_wpf_f1index_prefix_1_namespaces, concat(/document/reference/containers/namespace/@api,'#')))">
- <MSHelp:Keyword Index="F" Term="{concat($var_wpf_f1index_prefix_1, /document/reference/apidata/@name)}"/>
- </xsl:if>
- </xsl:if>
- </xsl:template>
-
- <!-- Index Logic -->
-
- <xsl:template name="indexMetadata">
- <xsl:choose>
- <!-- namespace topics get one unqualified index entry -->
- <xsl:when test="$group='namespace'">
- <xsl:variable name="names">
- <xsl:for-each select="/document/reference">
- <xsl:call-template name="textNames" />
- </xsl:for-each>
- </xsl:variable>
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="namespaceIndexEntry">
- <parameter>
- <xsl:value-of select="msxsl:node-set($names)/name" />
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:when>
- <!-- type overview topics get unqualified about -->
- <xsl:when test="$group='type'">
- <xsl:variable name="names">
- <xsl:for-each select="/document/reference">
- <xsl:call-template name="textNames" />
- </xsl:for-each>
- </xsl:variable>
- <xsl:variable name="namespace" select="/document/reference/containers/namespace/apidata/@name" />
- <xsl:for-each select="msxsl:node-set($names)/name">
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="{$subgroup}IndexEntry">
- <parameter>
- <xsl:value-of select="." />
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- <xsl:if test="boolean($namespace)">
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="{$subgroup}IndexEntry">
- <parameter>
- <xsl:value-of select="$namespace"/>
- <xsl:text>.</xsl:text>
- <xsl:value-of select="." />
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:if>
- <xsl:if test="$subgroup = 'class' or $subgroup= 'structure' or $subgroup= 'interface'">
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="aboutTypeIndexEntry">
- <parameter>
- <include item="{$subgroup}IndexEntry">
- <parameter>
- <xsl:value-of select="." />
- </parameter>
- </include>
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:if>
- </xsl:for-each>
- <xsl:if test="$subgroup = 'enumeration'">
- <xsl:for-each select="/document/reference/elements/element">
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="{$subgroup}MemberIndexEntry">
- <parameter>
- <xsl:value-of select="apidata/@name" />
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:for-each>
- </xsl:if>
- </xsl:when>
- <!-- all member lists get unqualified entries, qualified entries, and unqualified sub-entries -->
- <xsl:when test="$group='list' and $subgroup='members'">
- <xsl:variable name="typeSubgroup" select="/document/reference/apidata/@subgroup" />
- <xsl:variable name="names">
- <xsl:for-each select="/document/reference">
- <xsl:call-template name="textNames" />
- </xsl:for-each>
- </xsl:variable>
- <xsl:for-each select="msxsl:node-set($names)/name">
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="{$typeSubgroup}IndexEntry">
- <parameter>
- <xsl:value-of select="." />
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="membersIndexEntry">
- <parameter>
- <include item="{$typeSubgroup}IndexEntry">
- <parameter>
- <xsl:value-of select="." />
- </parameter>
- </include>
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:for-each>
- <xsl:variable name="qnames">
- <xsl:for-each select="/document/reference">
- <xsl:call-template name="qualifiedTextNames" />
- </xsl:for-each>
- </xsl:variable>
- <xsl:for-each select="msxsl:node-set($qnames)/name">
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="{$typeSubgroup}IndexEntry">
- <parameter>
- <xsl:value-of select="." />
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:for-each>
- <!-- enumeration topics also get entries for each member -->
- </xsl:when>
- <!-- other member list pages get unqualified sub-entries -->
- <xsl:when test="$group='list' and not($subgroup = 'overload')">
- <xsl:variable name="typeSubgroup" select="/document/reference/apidata/@subgroup" />
- <xsl:variable name="names">
- <xsl:for-each select="/document/reference">
- <xsl:call-template name="textNames" />
- </xsl:for-each>
- </xsl:variable>
- <xsl:for-each select="msxsl:node-set($names)/name">
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="{$subgroup}IndexEntry">
- <parameter>
- <include item="{$typeSubgroup}IndexEntry">
- <parameter>
- <xsl:value-of select="." />
- </parameter>
- </include>
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:for-each>
- </xsl:when>
- <!-- constructor (or constructor overload) topics get unqualified sub-entries using the type names -->
- <xsl:when test="($subgroup='constructor' and not(/document/reference/memberdata/@overload)) or ($subgroup='overload' and /document/reference/apidata/@subgroup = 'constructor')">
- <xsl:variable name="typeSubgroup" select="/document/reference/containers/type/apidata/@subgroup" />
- <xsl:variable name="names">
- <xsl:for-each select="/document/reference/containers/type">
- <xsl:call-template name="textNames" />
- </xsl:for-each>
- </xsl:variable>
- <xsl:for-each select="msxsl:node-set($names)/name">
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="constructorIndexEntry">
- <parameter>
- <include item="{$typeSubgroup}IndexEntry">
- <parameter>
- <xsl:value-of select="." />
- </parameter>
- </include>
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:for-each>
- <xsl:variable name="qnames">
- <xsl:for-each select="/document/reference">
- <xsl:call-template name="qualifiedTextNames" />
- </xsl:for-each>
- </xsl:variable>
- <xsl:for-each select="msxsl:node-set($qnames)/name">
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="constructorTypeIndexEntry">
- <parameter>
- <xsl:value-of select="." />
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:for-each>
- </xsl:when>
- <!-- other member (or overload) topics get qualified and unqualified entries using the member names -->
- <xsl:when test="($group='member' and not(/document/reference/memberdata/@overload)) or $subgroup='overload'">
- <!-- no index entries for explicit interface implementations -->
- <xsl:if test="not(/document/reference/proceduredata/@virtual='true' and /document/reference/memberdata/@visibility='private')">
- <xsl:variable name="entryType">
- <xsl:choose>
- <xsl:when test="string($subsubgroup)">
- <xsl:value-of select="$subsubgroup" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:choose>
- <xsl:when test="$subgroup='overload'">
- <xsl:value-of select="/document/reference/apidata/@subgroup"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$subgroup" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="names">
- <xsl:for-each select="/document/reference">
- <xsl:call-template name="textNames" />
- </xsl:for-each>
- </xsl:variable>
- <xsl:for-each select="msxsl:node-set($names)/name">
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="{$entryType}IndexEntry">
- <parameter>
- <xsl:value-of select="." />
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:for-each>
- <xsl:variable name="qnames">
- <xsl:for-each select="/document/reference">
- <xsl:call-template name="qualifiedTextNames" />
- </xsl:for-each>
- </xsl:variable>
- <xsl:for-each select="msxsl:node-set($qnames)/name">
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="{$entryType}IndexEntry">
- <parameter>
- <xsl:value-of select="." />
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:for-each>
- </xsl:if>
- </xsl:when>
- <!-- derived type lists get unqualified sub-entries -->
- </xsl:choose>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/tools/Sandcastle/Presentation/hana/transforms/utilities_reference.xsl b/tools/Sandcastle/Presentation/hana/transforms/utilities_reference.xsl
deleted file mode 100644
index d35d378..0000000
--- a/tools/Sandcastle/Presentation/hana/transforms/utilities_reference.xsl
+++ /dev/null
@@ -1,2442 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"
- xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
- xmlns:mshelp="http://msdn.microsoft.com/mshelp"
- xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:msxsl="urn:schemas-microsoft-com:xslt"
- >
-
- <xsl:import href="../../shared/transforms/utilities_reference.xsl"/>
-
- <xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" />
-<!--
- <xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" doctype-public="-//W3C//DTD HTML 4.0 Transitional//EN" doctype-system="http://www.w3.org/TR/html4/loose.dtd" />
--->
- <!-- key parameter is the api identifier string -->
- <xsl:param name="key" />
- <xsl:param name="metadata" value="false" />
- <xsl:param name="languages">false</xsl:param>
- <xsl:param name="useOverloadRowsInMemberlists" select="false()"/>
-
- <xsl:include href="utilities_metadata.xsl" />
- <xsl:include href="xamlSyntax.xsl"/>
-
- <xsl:template match="/">
- <html>
- <head>
- <META NAME="save" CONTENT="history"/>
- <title><xsl:call-template name="topicTitlePlain"/></title>
- <xsl:call-template name="insertStylesheets" />
- <xsl:call-template name="insertScripts" />
- <xsl:call-template name="insertFilename" />
- <xsl:call-template name="insertMetadata" />
- </head>
- <body>
-
- <xsl:call-template name="upperBodyStuff"/>
- <!--<xsl:call-template name="control"/>-->
- <xsl:call-template name="main"/>
- <xsl:if test="$languages != 'false'">
- <script type="text/javascript">
- var data = new DataStore('docs');
- registerEventHandler(window, 'load', function() {languageFilter.select(data)});
- </script>
- </xsl:if>
- </body>
- </html>
- </xsl:template>
-
- <!-- useful global variables -->
-
- <xsl:variable name="group">
- <xsl:choose>
- <xsl:when test="/document/reference/topicdata/@group = 'api'">
- <xsl:value-of select="/document/reference/apidata/@group" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/document/reference/topicdata/@group" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:variable name="subgroup">
- <xsl:choose>
- <xsl:when test="/document/reference/topicdata/@group = 'api'">
- <xsl:value-of select="/document/reference/apidata/@subgroup" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/document/reference/topicdata/@subgroup" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:variable name="subsubgroup">
- <xsl:choose>
- <xsl:when test="/document/reference/topicdata/@group = 'api'">
- <xsl:value-of select="/document/reference/apidata/@subsubgroup" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/document/reference/topicdata/@subsubgroup" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:variable name="pseudo" select="boolean(/document/reference/topicdata[@pseudo='true'])"/>
-
- <xsl:variable name="namespaceName">
- <xsl:value-of select="substring-after(/document/reference/containers/namespace/@api,':')"/>
- </xsl:variable>
-
-
- <!-- document head -->
-
- <xsl:template name="insertStylesheets">
- <link rel="stylesheet" type="text/css" href="../styles/presentation.css" />
- <!-- make mshelp links work -->
- <link rel="stylesheet" type="text/css" href="ms-help://Hx/HxRuntime/HxLink.css" />
- <link rel="stylesheet" type="text/css" href="ms-help://Dx/DxRuntime/DxLink.css" />
- </xsl:template>
-
- <xsl:template name="insertScripts">
- <script type="text/javascript">
- <includeAttribute name="src" item="scriptPath"><parameter>EventUtilities.js</parameter></includeAttribute>
- <xsl:text> </xsl:text>
- </script>
- <script type="text/javascript">
- <includeAttribute name="src" item="scriptPath"><parameter>SplitScreen.js</parameter></includeAttribute>
- <xsl:text> </xsl:text>
- </script>
- <script type="text/javascript">
- <includeAttribute name="src" item="scriptPath"><parameter>Dropdown.js</parameter></includeAttribute>
- <xsl:text> </xsl:text>
- </script>
- <script type="text/javascript">
- <includeAttribute name="src" item="scriptPath"><parameter>script_manifold.js</parameter></includeAttribute>
- <xsl:text> </xsl:text>
- </script>
- <script type="text/javascript">
- <includeAttribute name="src" item="scriptPath"><parameter>LanguageFilter.js</parameter></includeAttribute>
- <xsl:text> </xsl:text>
- </script>
- <script type="text/javascript">
- <includeAttribute name="src" item="scriptPath"><parameter>DataStore.js</parameter></includeAttribute>
- <xsl:text> </xsl:text>
- </script>
- <script type="text/javascript">
- <includeAttribute name="src" item="scriptPath"><parameter>CommonUtilities.js</parameter></includeAttribute>
- <xsl:text> </xsl:text>
- </script>
- <script type="text/javascript">
- <includeAttribute name="src" item="scriptPath">
- <parameter>MemberFilter.js</parameter>
- </includeAttribute>
- <xsl:text> </xsl:text>
- </script>
- </xsl:template>
-
- <xsl:template match="parameters">
- <div id="parameters">
- <xsl:call-template name="subSection">
- <xsl:with-param name="title">
- <include item="parametersTitle"/>
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:for-each select="parameter">
- <xsl:variable name="paramName" select="@name"/>
- <dl paramName="{$paramName}">
- <dt>
- <span class="parameter">
- <xsl:value-of select="$paramName"/>
- </span>
- </dt>
- <dd>
- <xsl:apply-templates select="*[1]" mode="link" />
- <!--
- <xsl:choose>
- <xsl:when test="type">
- <xsl:call-template name="typeReferenceLink">
- <xsl:with-param name="api" select="type/@api" />
- <xsl:with-param name="qualified" select="true()" />
- <xsl:with-param name="specialization" select="boolean(type/specialization)" />
- </xsl:call-template>
- <xsl:apply-templates select="type/specialization" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates select="*[1]" />
- </xsl:otherwise>
- </xsl:choose>
- -->
- <br />
- <xsl:call-template name="getParameterDescription">
- <xsl:with-param name="name" select="@name" />
- </xsl:call-template>
- </dd>
- </dl>
- </xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
- </div>
- </xsl:template>
-
- <xsl:template match="implements">
- <xsl:if test="member">
- <xsl:call-template name="subSection">
- <xsl:with-param name="title">
- <include item="implementsTitle" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:for-each select="member">
- <referenceLink target="{@api}" qualified="true" />
- <br />
- </xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="element" mode="root">
- <tr>
- <td>
- <xsl:choose>
- <xsl:when test="apidata/@name = ''">
- <referenceLink target="{@api}" qualified="false">
- <include item="defaultNamespace" />
- </referenceLink>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="createReferenceLink">
- <xsl:with-param name="id" select="@api" />
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </td>
- <td>
- <xsl:call-template name="getElementDescription" />
- </td>
- </tr>
- </xsl:template>
-
- <xsl:template match="element" mode="namespace">
- <xsl:variable name="typeVisibility">
- <xsl:choose>
- <xsl:when test="typedata/@visibility='family' or typedata/@visibility='family or assembly' or typedata/@visibility='assembly'">prot</xsl:when>
- <xsl:when test="typedata/@visibility='private'">priv</xsl:when>
- <xsl:otherwise>pub</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <tr>
- <xsl:attribute name="data">
- <xsl:value-of select="apidata/@subgroup" />
- <xsl:text>; public</xsl:text>
- </xsl:attribute>
- <td>
- <xsl:call-template name="typeIcon">
- <xsl:with-param name="typeVisibility" select="$typeVisibility" />
- </xsl:call-template>
- </td>
- <td>
- <xsl:call-template name="createReferenceLink">
- <xsl:with-param name="id" select="@api" />
- </xsl:call-template>
- </td>
- <td>
- <xsl:call-template name="getInternalOnlyDescription" />
- <xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
- <xsl:text> </xsl:text>
- <include item="obsoleteRed" />
- </xsl:if>
- <xsl:if test="attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
- <xsl:text> </xsl:text>
- <include item="hostProtectionAttributeShort" />
- </xsl:if>
- <xsl:call-template name="getElementDescription" />
- </td>
- </tr>
- </xsl:template>
-
- <xsl:template match="element" mode="member">
- <xsl:variable name="inheritedMember">
- <xsl:call-template name="IsMemberInherited"/>
- </xsl:variable>
- <xsl:variable name="staticMember">
- <xsl:call-template name="IsMemberStatic"/>
- </xsl:variable>
- <xsl:variable name="supportedOnXna">
- <xsl:call-template name="IsMemberSupportedOnXna"/>
- </xsl:variable>
- <xsl:variable name="supportedOnCf">
- <xsl:call-template name="IsMemberSupportedOnCf"/>
- </xsl:variable>
- <xsl:variable name="protectedMember">
- <xsl:call-template name="IsMemberProtected"/>
- </xsl:variable>
- <tr>
- <xsl:attribute name="data">
- <xsl:choose>
- <xsl:when test="memberdata[@visibility='private'] and proceduredata[@virtual = 'true']">
- <xsl:text>explicit</xsl:text>
- </xsl:when>
- <xsl:when test="apidata/@subsubgroup">
- <xsl:value-of select="apidata/@subsubgroup"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="apidata/@subgroup" />
- </xsl:otherwise>
- </xsl:choose>
- <xsl:choose>
- <xsl:when test="memberdata/@visibility='public'">
- <xsl:text>; public</xsl:text>
- </xsl:when>
- <xsl:when test="normalize-space($protectedMember)!=''">
- <xsl:text>; protected</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>; public</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:choose>
- <xsl:when test="normalize-space($staticMember)!=''">
- <xsl:text>; static</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>; instance</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:choose>
- <xsl:when test="normalize-space($inheritedMember)!=''">
- <xsl:text>; inherited</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>; declared</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:choose>
- <xsl:when test="normalize-space($supportedOnCf)!=''">
- <xsl:text>; compact</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>; none</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:choose>
- <xsl:when test="normalize-space($supportedOnXna)!=''">
- <xsl:text>; xna</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>; none</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- <td>
- <xsl:call-template name="memberIcons">
- <xsl:with-param name="memberVisibility">
- <xsl:choose>
- <xsl:when test="memberdata/@visibility='family' or memberdata/@visibility='family or assembly' or memberdata/@visibility='assembly'">prot</xsl:when>
- <xsl:when test="memberdata/@visibility='private'">priv</xsl:when>
- <xsl:when test="memberdata[@visibility='public']">pub</xsl:when>
- <xsl:otherwise>pub</xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="staticMember" select="normalize-space($staticMember)" />
- <xsl:with-param name="supportedOnXna" select="normalize-space($supportedOnXna)"/>
- <xsl:with-param name="supportedOnCf" select="normalize-space($supportedOnCf)"/>
- </xsl:call-template>
- </td>
- <td>
- <xsl:choose>
- <xsl:when test="@display-api">
- <referenceLink target="{@api}" display-target="{@display-api}" />
- </xsl:when>
- <xsl:otherwise>
- <referenceLink target="{@api}" />
- </xsl:otherwise>
- </xsl:choose>
- </td>
- <td>
- <xsl:call-template name="getInternalOnlyDescription" />
- <xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
- <xsl:text> </xsl:text>
- <include item="obsoleteRed" />
- </xsl:if>
- <xsl:if test="attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
- <xsl:text> </xsl:text>
- <include item="hostProtectionAttributeShort" />
- </xsl:if>
- <xsl:if test="memberdata[@overload='true']">
- <include item="Overloaded"/>
- <xsl:text> </xsl:text>
- </xsl:if>
- <xsl:call-template name="getElementDescription" />
- <xsl:choose>
- <xsl:when test="@signatureset">
- <!-- TODO add boilerplate for other members in the sig set -->
- </xsl:when>
- <xsl:when test="not(topicdata[@subgroup='overload'])">
- <xsl:choose>
- <xsl:when test="normalize-space($inheritedMember)!=''">
- <xsl:text> </xsl:text>
- <include item="inheritedFrom">
- <parameter>
- <xsl:apply-templates select="containers/type" mode="link" />
- <!--
- <xsl:call-template name="typeReferenceLink">
- <xsl:with-param name="api" select="containers/type/@api" />
- <xsl:with-param name="qualified" select="false()" />
- <xsl:with-param name="specialization" select="boolean(type/specialization)" />
- </xsl:call-template>
- <xsl:apply-templates select="type/specialization" />
- -->
- </parameter>
- </include>
- </xsl:when>
- <xsl:when test="overrides/member">
- <xsl:text> </xsl:text>
- <include item="overridesMember">
- <parameter>
- <xsl:call-template name="createReferenceLink">
- <xsl:with-param name="id" select="overrides/member/@api"/>
- <xsl:with-param name="qualified" select="true()"/>
- </xsl:call-template>
- </parameter>
- </include>
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- </xsl:choose>
- </td>
- </tr>
- </xsl:template>
-
- <xsl:template match="element" mode="enumeration">
- <tr>
- <xsl:variable name="id" select="@api" />
- <td target="{$id}">
- <span class="referenceNoLink"><xsl:value-of select="apidata/@name"/></span>
- </td>
- <td>
- <xsl:call-template name="getElementDescription" />
- </td>
- </tr>
- </xsl:template>
-
- <xsl:template match="element" mode="derivedType">
- <tr>
- <td>
- <xsl:choose>
- <xsl:when test="@display-api">
- <referenceLink target="{@api}" display-target="{@display-api}" />
- </xsl:when>
- <xsl:otherwise>
- <referenceLink target="{@api}" />
- </xsl:otherwise>
- </xsl:choose>
- </td>
- <td>
-
- <xsl:call-template name="getInternalOnlyDescription" />
- <xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
- <xsl:text> </xsl:text>
- <include item="obsoleteRed" />
- </xsl:if>
- <xsl:if test="attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
- <xsl:text> </xsl:text>
- <include item="hostProtectionAttributeShort" />
- </xsl:if>
- <xsl:call-template name="getElementDescription" />
- <xsl:choose>
- <xsl:when test="($group != 'member') and ($subgroup != 'DerivedTypeList') and not(contains($key, containers/type/@api))">
- <xsl:text> </xsl:text>
- <include item="inheritedFrom">
- <parameter>
- <xsl:apply-templates select="containers/type" mode="link" />
- <!--
- <xsl:call-template name="typeReferenceLink">
- <xsl:with-param name="api" select="containers/type/@api" />
- <xsl:with-param name="qualified" select="false()" />
- <xsl:with-param name="specialization" select="boolean(type/specialization)" />
- </xsl:call-template>
- <xsl:apply-templates select="type/specialization" />
- -->
- </parameter>
- </include>
- </xsl:when>
- <xsl:when test="overrides">
- <xsl:text> </xsl:text>
- <include item="overridesMember">
- <parameter>
- <xsl:apply-templates select="overrides/member" />
- </parameter>
- </include>
- </xsl:when>
- </xsl:choose>
- </td>
- </tr>
-
-
- </xsl:template>
-
- <xsl:template match="element" mode="overload">
- <tr>
- <xsl:attribute name="data">
- <xsl:value-of select="apidata/@subgroup" />
- <xsl:choose>
- <xsl:when test="memberdata/@visibility='public'">
- <xsl:text>; public</xsl:text>
- </xsl:when>
- <xsl:when test="memberdata/@visibility='family'">
- <xsl:text>; protected</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>; public</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:choose>
- <xsl:when test="memberdata/@static = 'true'">
- <xsl:text>; static</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>; instance</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:choose>
- <xsl:when test="string(containers/type/@api) = $key">
- <xsl:text>; declared</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>; inherited</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- <td>
- <xsl:choose>
- <xsl:when test="@display-api">
- <referenceLink target="{@api}" display-target="{@display-api}" />
- </xsl:when>
- <xsl:otherwise>
- <referenceLink target="{@api}" />
- </xsl:otherwise>
- </xsl:choose>
- </td>
- <td>
- <xsl:call-template name="getInternalOnlyDescription" />
- <xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
- <xsl:text> </xsl:text>
- <include item="obsoleteRed" />
- </xsl:if>
- <xsl:if test="attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
- <xsl:text> </xsl:text>
- <include item="hostProtectionAttributeShort" />
- </xsl:if>
- <xsl:call-template name="getElementDescription" />
- <xsl:choose>
- <xsl:when test="($group != 'member') and ($subgroup != 'overload') and not(contains($key, containers/type/@api))">
- <xsl:text> </xsl:text>
- <include item="inheritedFrom">
- <parameter>
- <xsl:apply-templates select="containers/type" mode="link" />
- <!--
- <xsl:call-template name="typeReferenceLink">
- <xsl:with-param name="api" select="containers/type/@api" />
- <xsl:with-param name="qualified" select="false()" />
- <xsl:with-param name="specialization" select="boolean(type/specialization)" />
- </xsl:call-template>
- <xsl:apply-templates select="type/specialization" />
- -->
- </parameter>
- </include>
- </xsl:when>
- <xsl:when test="overrides">
- <xsl:text> </xsl:text>
- <include item="overridesMember">
- <parameter>
- <xsl:apply-templates select="overrides/member" />
- </parameter>
- </include>
- </xsl:when>
- </xsl:choose>
-
- </td>
- </tr>
- </xsl:template>
-
- <xsl:template name="insertFilename">
- <meta name="guid">
- <xsl:attribute name="content">
- <xsl:value-of select="/document/reference/file/@name" />
- </xsl:attribute>
- </meta>
- </xsl:template>
-
- <!-- writing templates -->
-
- <xsl:template name="csTemplates">
- <xsl:param name="seperator" select="string(',')" />
- <xsl:text>&lt;</xsl:text>
- <xsl:for-each select="template">
- <xsl:value-of select="@name" />
- <xsl:if test="not(position()=last())">
- <xsl:value-of select="$seperator" />
- </xsl:if>
- </xsl:for-each>
- <xsl:text>&gt;</xsl:text>
- </xsl:template>
-
- <xsl:template name="csTemplatesInIndex" >
- <xsl:text>%3C</xsl:text>
- <xsl:for-each select="template">
- <xsl:value-of select="@name" />
- <xsl:if test="not(position()=last())">
- <xsl:text>%2C </xsl:text>
- </xsl:if>
- </xsl:for-each>
- <xsl:text>%3E</xsl:text>
- </xsl:template>
-
- <xsl:template name="vbTemplates">
- <xsl:param name="seperator" select="string(',')" />
- <xsl:text>(Of </xsl:text>
- <xsl:for-each select="template">
- <xsl:value-of select="@name" />
- <xsl:if test="not(position()=last())">
- <xsl:value-of select="$seperator" />
- </xsl:if>
- </xsl:for-each>
- <xsl:text>)</xsl:text>
- </xsl:template>
-
- <xsl:template name="typeTitle">
- <xsl:if test="containers/container[@type]">
- <xsl:for-each select="containers/container[@type]">
- <xsl:call-template name="typeTitle" />
- </xsl:for-each>
- <xsl:text>.</xsl:text>
- </xsl:if>
- <xsl:value-of select="apidata/@name" />
- <xsl:if test="count(templates/template) > 0">
- <xsl:for-each select="templates"><xsl:call-template name="csTemplates" /></xsl:for-each>
- </xsl:if>
- </xsl:template>
-
- <!-- document body -->
-
- <!-- control window -->
-
- <xsl:template name="control">
- <div id="control">
- <span class="topicTitle"><xsl:call-template name="topicTitleDecorated" /></span><br/>
- </div>
- </xsl:template>
-
- <!-- Title in topic -->
-
- <!-- Title in topic -->
-
- <xsl:template name="topicTitlePlain">
- <xsl:param name="qualifyMembers" select="false()" />
- <include>
- <xsl:attribute name="item">
- <xsl:if test="boolean(/document/reference/templates) and not($group='list')">
- <xsl:text>generic_</xsl:text>
- </xsl:if>
- <xsl:choose>
- <xsl:when test="string($subsubgroup)">
- <xsl:value-of select="$subsubgroup" />
- </xsl:when>
- <xsl:when test="string($subgroup)">
- <xsl:choose>
- <xsl:when test="$subgroup='overload'">
- <xsl:value-of select="/document/reference/apidata/@subgroup"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$subgroup" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$group" />
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>TopicTitle</xsl:text>
- </xsl:attribute>
- <parameter>
- <xsl:call-template name="shortNamePlain">
- <xsl:with-param name="qualifyMembers" select="$qualifyMembers" />
- </xsl:call-template>
- </parameter>
- <parameter>
- <xsl:if test="document/reference/memberdata/@overload" >
- <xsl:for-each select="/document/reference">
- <xsl:call-template name="parameterTypesPlain" />
- </xsl:for-each>
- </xsl:if>
- </parameter>
- </include>
- </xsl:template>
-
- <xsl:template name="topicTitleDecorated">
- <xsl:param name="titleType" />
- <include>
- <xsl:attribute name="item">
- <xsl:choose>
- <xsl:when test="$titleType = 'tocTitle' and $group='namespace'">
- <xsl:text>tocTitle</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:choose>
- <xsl:when test="string($subsubgroup)">
- <xsl:value-of select="$subsubgroup" />
- </xsl:when>
- <xsl:when test="string($subgroup)">
- <xsl:choose>
- <xsl:when test="$subgroup='overload'">
- <xsl:value-of select="/document/reference/apidata/@subgroup" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$subgroup" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$group" />
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>TopicTitle</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- <parameter>
- <xsl:call-template name="shortNameDecorated">
- <xsl:with-param name="titleType" select="$titleType" />
- </xsl:call-template>
- </parameter>
- <parameter>
- <xsl:if test="document/reference/memberdata/@overload" >
- <xsl:for-each select="/document/reference">
- <xsl:call-template name="parameterTypesDecorated" />
- </xsl:for-each>
- </xsl:if>
- </parameter>
- </include>
- </xsl:template>
-
-
- <!-- Title in TOC -->
-
- <!-- Index entry -->
-
- <!-- main window -->
-
- <xsl:template name="main">
- <div id="mainSection">
-
- <div id="mainBody">
- <div id="allHistory" class="saveHistory" onsave="saveAll()" onload="loadAll()"/>
- <xsl:call-template name="head" />
- <xsl:call-template name="body" />
- <xsl:call-template name="foot" />
- </div>
- </div>
-
- </xsl:template>
-
- <xsl:template name="head">
- <include item="header" />
- </xsl:template>
-
- <xsl:template name="syntaxBlocks">
- <table class="filter" cellspacing="0" cellpadding="0">
- <tr id="curvedSyntaxTabs">
- <xsl:for-each select="div[@codeLanguage]">
- <td class="leftTab" x-lang="{@codeLanguage}">&#xa0;</td>
- <td class="middleTab" x-lang="{@codeLanguage}">&#xa0;</td>
- <td class="rightTab" x-lang="{@codeLanguage}">&#xa0;</td>
- </xsl:for-each>
- </tr>
- <tr class="tabs" id="syntaxTabs">
- <xsl:for-each select="div[@codeLanguage]">
-
- <xsl:variable name="style">
- <xsl:call-template name="languageCheck">
- <xsl:with-param name="codeLanguage" select="@codeLanguage" />
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:variable name="languageEvent">
- <xsl:choose>
- <xsl:when test="$style != ''">
- <xsl:text>languageFilter.changeLanguage(data, '</xsl:text><xsl:value-of select="@codeLanguage"/>
- <xsl:text>', '</xsl:text><xsl:value-of select="$style" />
- <xsl:text>');</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>toggleClass('syntaxTabs','x-lang','</xsl:text><xsl:value-of select="@codeLanguage"/>
- <xsl:text>','activeTab','tab'); curvedToggleClass('curvedSyntaxTabs','x-lang','</xsl:text><xsl:value-of select="@codeLanguage"/>
- <xsl:text>');toggleStyle('syntaxBlocks','x-lang','</xsl:text><xsl:value-of select="@codeLanguage"/>
- <xsl:text>','display','block','none');</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <td class="leftGrad" x-lang="{@codeLanguage}">&#xa0;</td>
- <td class="tab" x-lang="{@codeLanguage}" onclick="{$languageEvent}"><include item="{@codeLanguage}Label" /></td>
- <td class="rightGrad" x-lang="{@codeLanguage}">&#xa0;</td>
- </xsl:for-each>
- </tr>
- </table>
- <div id="syntaxBlocks">
- <xsl:for-each select="div[@codeLanguage]">
- <xsl:variable name="language" select="@codeLanguage" />
- <div class="code" x-lang="{@codeLanguage}">
- <xsl:if test="/document/USyntax/div/@codeLanguage = $language">
- <div id="{$language}Declaration" onclick="toggleSelect({$language}DeclarationImage,{$language}DeclarationSection);">
- <img id="{$language}DeclarationImage" onmouseover="mouseOverCheck({$language}DeclarationImage,twirlSelectImage,twirlUnSelectImage,twirlSelectHoverImage,twirlUnSelectHoverImage)" onmouseout="mouseOutCheck({$language}DeclarationImage,twirlSelectImage,twirlUnSelectImage,twirlSelectHoverImage,twirlUnSelectHoverImage)">
- <includeAttribute name="src" item="iconPath">
- <parameter>twirl_selected.gif</parameter>
- </includeAttribute>
- <xsl:text>&#xa0;</xsl:text>
- <span class="syntaxLabel"><include item="declarationLabel" /></span>
- </img>
- </div>
- <br/>
- </xsl:if>
- <div id="{$language}DeclarationSection">
- <pre><xsl:copy-of select="./node()" /></pre>
- </div>
- <xsl:for-each select="/document/USyntax/div[@codeLanguage]">
- <xsl:if test="@codeLanguage = $language">
- <div id="{$language}Usage" onclick="toggleSelect({$language}UsageImage,{$language}UsageSection);">
- <img id="{$language}UsageImage" onmouseover="mouseOverCheck({$language}UsageImage,twirlSelectImage,twirlUnSelectImage,twirlSelectHoverImage,twirlUnSelectHoverImage)" onmouseout="mouseOutCheck({$language}UsageImage,twirlSelectImage,twirlUnSelectImage,twirlSelectHoverImage,twirlUnSelectHoverImage)">
- <includeAttribute name="src" item="iconPath">
- <parameter>twirl_selected.gif</parameter>
- </includeAttribute>
- <xsl:text>&#xa0;</xsl:text>
- <span class="syntaxLabel"><include item="usageLabel" /></span>
- </img>
- </div>
- <div id="{$language}UsageSection">
- <pre><xsl:copy-of select="./node()" /></pre>
- </div>
- </xsl:if>
- </xsl:for-each>
- </div>
- </xsl:for-each>
- </div>
- <script type="text/javascript">
- <xsl:text>
- toggleClass('syntaxTabs','x-lang','</xsl:text>
- <xsl:value-of select="div[1]/@codeLanguage" />
- <xsl:text>','activeTab','tab');
- toggleStyle('syntaxBlocks','x-lang','</xsl:text>
- <xsl:value-of select="div[1]/@codeLanguage" />
- <xsl:text>','display','block','none');
- curvedToggleClass('curvedSyntaxTabs', 'x-lang', '</xsl:text>
- <xsl:value-of select="div[1]/@codeLanguage" />
- <xsl:text>');
- </xsl:text>
- <xsl:if test="$languages != 'false'">
- languageFilter.registerTabbedArea('curvedSyntaxTabs', 'syntaxTabs', 'syntaxBlocks');
- </xsl:if>
- </script>
- </xsl:template>
-
- <xsl:template name="languageSyntaxBlock">
- <xsl:param name="language" select="@codeLanguage"/>
- <span codeLanguage="{$language}">
- <table>
- <tr>
- <th>
- <include item="{$language}" />
- </th>
- </tr>
- <tr>
- <td>
- <pre xml:space="preserve"><xsl:text/><xsl:copy-of select="node()"/><xsl:text/></pre>
- </td>
- </tr>
- </table>
- </span>
- </xsl:template>
-
- <xsl:template match="elements" mode="root">
- <xsl:if test="count(element) > 0">
-
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'namespaces'"/>
- <xsl:with-param name="title"><include item="namespacesTitle" /></xsl:with-param>
- <xsl:with-param name="content">
- <div class="listsection">
- <table class="members" id="memberList" frame="lhs" cellspacing="0">
- <tr>
- <th class="nameColumn">
- <include item="namespaceNameHeader"/>
- </th>
- <th class="descriptionColumn">
- <include item="namespaceDescriptionHeader" />
- </th>
- </tr>
- <xsl:apply-templates select="element" mode="root">
- <xsl:sort select="apidata/@name" />
- </xsl:apply-templates>
- </table>
- </div>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="namespaceSection">
- <xsl:param name="listSubgroup" />
- <xsl:variable name="header" select="concat($listSubgroup, 'TypesFilterLabel')"/>
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="$listSubgroup"/>
- <xsl:with-param name="title">
- <include item="{$header}" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:call-template name="namespaceList">
- <xsl:with-param name="listSubgroup" select="$listSubgroup" />
- </xsl:call-template>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <xsl:template match="elements" mode="namespace">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'types'" />
- <xsl:with-param name="title">
- <include item="typesTitle" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <table class="filter" cellspacing="0" cellpadding="0">
- <tr id="curvedTypeTabs">
- <td class="leftTab" value="all">&#xa0;</td>
- <td class="middleTab" value="all">&#xa0;</td>
- <td class="rightTab" value="all">&#xa0;</td>
- <xsl:if test="element/apidata[@subgroup='class']">
- <td class="leftTab" value="class">&#xa0;</td>
- <td class="middleTab" value="class">&#xa0;</td>
- <td class="rightTab" value="class">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subgroup='structure']">
- <td class="leftTab" value="structure">&#xa0;</td>
- <td class="middleTab" value="structure">&#xa0;</td>
- <td class="rightTab" value="structure">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subgroup='interface']">
- <td class="leftTab" value="interface">&#xa0;</td>
- <td class="middleTab" value="interface">&#xa0;</td>
- <td class="rightTab" value="interface">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subgroup='enumeration']">
- <td class="leftTab" value="enumeration">&#xa0;</td>
- <td class="middleTab" value="enumeration">&#xa0;</td>
- <td class="rightTab" value="enumeration">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subgroup='delegate']">
- <td class="leftTab" value="delegate">&#xa0;</td>
- <td class="middleTab" value="delegate">&#xa0;</td>
- <td class="rightTab" value="delegate">&#xa0;</td>
- </xsl:if>
- </tr>
- <tr class="tabs" id="typeFilter">
- <td class="leftGrad" value="all">&#xa0;</td>
- <td class="tab" value="all" onclick="toggleClass('typeFilter','value','all','activeTab','tab'); curvedToggleClass('curvedTypeTabs','value','all');tf.subgroup='all'; process('typeList',getInstanceDelegate(tf,'filterElement'));">
- <include item="allTypesFilterLabel" />
- </td>
- <td class="rightGrad" value="all">&#xa0;</td>
- <xsl:if test="element/apidata[@subgroup='class']">
- <td class="leftGrad" value="class">&#xa0;</td>
- <td class="tab" value="class" onclick="toggleClass('typeFilter','value','class','activeTab','tab'); curvedToggleClass('curvedTypeTabs','value','class'); tf.subgroup='class'; process('typeList',getInstanceDelegate(tf,'filterElement'));">
- <include item="classTypesFilterLabel" />
- <xsl:text>&#xa0;</xsl:text>
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>pubclass.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="pubClassAltText" />
- </img>
- </td>
- <td class="rightGrad" value="class">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subgroup='structure']">
- <td class="leftGrad" value="structure">&#xa0;</td>
- <td class="tab" value="structure" onclick="toggleClass('typeFilter','value','structure','activeTab','tab'); curvedToggleClass('curvedTypeTabs','value','structure'); tf.subgroup='structure'; process('typeList',getInstanceDelegate(tf,'filterElement'));">
- <include item="structureTypesFilterLabel" />
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>pubstructure.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="pubStructureAltText" />
- </img>
- </td>
- <td class="rightGrad" value="structure">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subgroup='interface']">
- <td class="leftGrad" value="interface">&#xa0;</td>
- <td class="tab" value="interface" onclick="toggleClass('typeFilter','value','interface','activeTab','tab'); curvedToggleClass('curvedTypeTabs','value','interface'); tf.subgroup='interface'; process('typeList',getInstanceDelegate(tf,'filterElement'));">
- <include item="interfaceTypesFilterLabel" />
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>pubinterface.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="pubInterfaceAltText" />
- </img>
- </td>
- <td class="rightGrad" value="interface">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subgroup='enumeration']">
- <td class="leftGrad" value="enumeration">&#xa0;</td>
- <td class="tab" value="enumeration" onclick="toggleClass('typeFilter','value','enumeration','activeTab','tab'); curvedToggleClass('curvedTypeTabs','value','enumeration'); tf.subgroup='enumeration'; process('typeList',getInstanceDelegate(tf,'filterElement'));">
- <include item="enumerationTypesFilterLabel" />
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>pubenum.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="pubEnumerationAltText" />
- </img>
- </td>
- <td class="rightGrad" value="enumeration">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subgroup='delegate']">
- <td class="leftGrad" value="delegate">&#xa0;</td>
- <td class="tab" value="delegate" onclick="toggleClass('typeFilter','value','delegate','activeTab','tab'); curvedToggleClass('curvedTypeTabs','value','delegate'); tf.subgroup='delegate'; process('typeList',getInstanceDelegate(tf,'filterElement'));">
- <include item="delegateTypesFilterLabel" />
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>pubdelegate.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="pubDelegateAltText" />
- </img>
- </td>
- <td class="rightGrad" value="delegate">&#xa0;</td>
- </xsl:if>
- </tr>
- </table>
- <div class="memberSection">
- <table id="typeList" class="members" cellspacing="0">
- <tr>
- <th class="iconColumn">
- <xsl:text>&#xa0;</xsl:text>
- </th>
- <th class="nameColumn">
- <include item="typeNameHeader"/>
- </th>
- <th class="descriptionColumn">
- <include item="typeDescriptionHeader" />
- </th>
- </tr>
- <xsl:apply-templates select="element" mode="namespace">
- <xsl:sort select="apidata/@name" />
- </xsl:apply-templates>
- </table>
- </div>
- <script type="text/javascript">
- <xsl:text>
- var tf = new TypeFilter();
- toggleClass('typeFilter','value','all','activeTab','tab');
- curvedToggleClass('curvedTypeTabs','value','all');
- </xsl:text>
- </script>
- </xsl:with-param>
- </xsl:call-template>
-
- </xsl:template>
-
- <xsl:template name="namespaceList">
- <xsl:param name="listSubgroup" />
-
- <table id="typeList" class="members" frame="lhs">
- <tr>
- <th class="iconColumn">
- &#160;
- </th>
- <th class="nameColumn">
- <include item="{$listSubgroup}NameHeader"/>
- </th>
- <th class="descriptionColumn">
- <include item="typeDescriptionHeader" />
- </th>
- </tr>
- <xsl:apply-templates select="element[apidata/@subgroup=$listSubgroup]" mode="namespace">
- <xsl:sort select="@api" />
- </xsl:apply-templates>
- </table>
-
- </xsl:template>
-
- <xsl:template match="elements" mode="enumeration">
- <xsl:if test="count(element) > 0">
- <div id="enumerationSection">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'members'"/>
- <xsl:with-param name="title">
- <include item="enumMembersTitle" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <div class="listSection">
- <table class="members" id="memberList" frame="lhs" cellspacing="0">
- <tr>
- <th class="nameColumn">
- <include item="memberNameHeader"/>
- </th>
- <th class="descriptionColumn">
- <include item="memberDescriptionHeader" />
- </th>
- </tr>
- <!-- do not sort enumeration elements -->
- <xsl:apply-templates select="element" mode="enumeration"/>
- </table>
- </div>
- </xsl:with-param>
- </xsl:call-template>
- </div>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="element" mode="members">
- <xsl:param name="subgroup"/>
- <xsl:if test="memberdata[@visibility='public'] and apidata[@subgroup=$subgroup]">
- public;
- </xsl:if>
- <xsl:if test="memberdata[@visibility='family' or @visibility='family or assembly' or @visibility='assembly'] and apidata[@subgroup=$subgroup]">
- protected;
- </xsl:if>
- <xsl:if test="memberdata[@visibility='private'] and apidata[@subgroup=$subgroup] and not(proceduredata[@virtual = 'true'])">
- private;
- </xsl:if>
- <xsl:if test="memberdata[@visibility='private'] and proceduredata[@virtual = 'true']">
- explicit;
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="elements" mode="member">
-
- <xsl:call-template name="memberIntro" />
-
- <xsl:if test="count(element) > 0">
- <xsl:variable name="header">
- <xsl:choose>
- <xsl:when test="element[apidata/@subsubgroup]">
- <xsl:value-of select="concat(element/apidata/@subsubgroup, 'MembersFilterLabel')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="concat(element/apidata/@subgroup, 'MembersFilterLabel')"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="$header" />
- <xsl:with-param name="title">
- <include item="{$header}" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <div class="listSection">
- <table class="memberOptions">
- <tr>
- <td class="line">
- <div id="public" onclick="var checked=toggleCheck(publicImage); mf['public']=checked; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <img id="publicImage" onmouseover="mouseOverCheck(publicImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(publicImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_selected.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:text>&#xa0;</xsl:text>
- <include item="publicMembersFilterLabel" />
- </div>
- <br />
- <div id="protected" onclick="var checked=toggleCheck(protectedImage); mf['protected']=checked; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <img id="protectedImage" onmouseover="mouseOverCheck(protectedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(protectedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_selected.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:text>&#xa0;</xsl:text>
- <include item="protectedMembersFilterLabel" />
- </div>
- </td>
- <td class="line">
- <div id="instance" onclick="var checked=toggleCheck(instanceImage); mf['instance']=checked; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <img id="instanceImage" onmouseover="mouseOverCheck(instanceImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(instanceImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_selected.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:text>&#xa0;</xsl:text>
- <include item="instanceMembersFilterLabel" />
- </div>
- <br />
- <div id="static" onclick="var checked=toggleCheck(staticImage); mf['static']=checked; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <img id="staticImage" onmouseover="mouseOverCheck(staticImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(staticImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_selected.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:text>&#xa0;</xsl:text>
- <include item="staticMembersFilterLabel" />
- </div>
- </td>
- <td class="line">
- <div id="declared" onclick="var checked=toggleCheck(declaredImage); mf['declared']=checked; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <img id="declaredImage" onmouseover="mouseOverCheck(declaredImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(declaredImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_selected.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:text>&#xa0;</xsl:text>
- <include item="declaredMembersFilterLabel" />
- </div>
- <br />
- <div id="inherited" onclick="var checked=toggleCheck(inheritedImage); mf['inherited']=checked; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <img id="inheritedImage" onmouseover="mouseOverCheck(inheritedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(inheritedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_selected.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:text>&#xa0;</xsl:text>
- <include item="inheritedMembersFilterLabel" />
- </div>
- </td>
- <td class="line">
- <div id="xna" onclick="var checked=toggleCheck(xnaImage); mf['xna']=checked; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <img id="xnaImage" onmouseover="mouseOverCheck(xnaImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(xnaImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_selected.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:text>&#xa0;</xsl:text>
- <include item="XNAFilterLabel" />
- </div>
- <br/>
- <div id="compact" onclick="var checked=toggleCheck(compactImage); mf['compact']=checked; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <img id="compactImage" onmouseover="mouseOverCheck(compactImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(compactImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_selected.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:text>&#xa0;</xsl:text>
- <include item=".NETCompactFilterLabel" />
- </div>
- </td>
- <td class="line">
- <br/>
- </td>
- </tr>
- </table>
- <table class="members" id="memberList" cellspacing="0" frame="lhs">
- <tr>
- <th class="iconColumn">
- <xsl:text>&#xa0;</xsl:text>
- </th>
- <th class="nameColumn">
- <include item="memberNameHeader"/>
- </th>
- <th class="descriptionColumn">
- <include item="memberDescriptionHeader" />
- </th>
- </tr>
- <xsl:apply-templates select=".//element[not(child::element)]" mode="member">
- <xsl:sort select="apidata/@name" />
- </xsl:apply-templates>
- </table>
- </div>
- <script type="text/javascript">
- <xsl:text>
- var mf = new MemberFilter();
- </xsl:text>
- </script>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
-
- </xsl:template>
-
- <xsl:template name="memberlistSectionGroup">
- <xsl:param name="listSubgroup" />
-
- <xsl:if test="element[apidata[@subgroup=$listSubgroup and not(@subsubgroup)] and memberdata[@visibility='public']]">
- <xsl:call-template name="memberlistSection">
- <xsl:with-param name="listSubgroup" select="$listSubgroup" />
- <xsl:with-param name="listVisibility">public</xsl:with-param>
- </xsl:call-template>
- </xsl:if>
-
- <xsl:if test="element[apidata[@subgroup=$listSubgroup and not(@subsubgroup)] and memberdata[@visibility='protected']]">
- <xsl:call-template name="memberlistSection">
- <xsl:with-param name="listSubgroup" select="$listSubgroup" />
- <xsl:with-param name="listVisibility">protected</xsl:with-param>
- </xsl:call-template>
- </xsl:if>
-
- </xsl:template>
-
- <xsl:template name="memberlistSection">
- <xsl:param name="listSubgroup" />
- <xsl:param name="listSubsubgroup" />
- <xsl:param name="listVisibility" />
- <xsl:param name="explicit" />
-
- <xsl:variable name="header">
- <xsl:choose>
- <xsl:when test="$explicit='true'">ExplicitInterfaceImplementation</xsl:when>
- <xsl:when test="$listSubgroup='constructor'">constructorsTable</xsl:when>
- <xsl:when test="boolean($listSubsubgroup)">
- <xsl:value-of select="concat('Public', $listSubsubgroup)"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="concat($listVisibility, $listSubgroup)"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="$header" />
- <xsl:with-param name="title">
- <include item="{$header}" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <table id="typeList" class="members" frame="lhs">
- <tr>
- <th class="iconColumn">
- &#160;
- </th>
- <th class="nameColumn">
- <include item="typeNameHeader"/>
- </th>
- <th class="descriptionColumn">
- <include item="typeDescriptionHeader" />
- </th>
- </tr>
-
- <xsl:choose>
- <xsl:when test="boolean($listSubgroup) and boolean($useOverloadRowsInMemberlists)">
- <xsl:apply-templates select="element[not(starts-with(@api,'Overload:'))][apidata[@subgroup=$listSubgroup and not(@subsubgroup)] and memberdata[@visibility=$listVisibility]]
- | element[starts-with(@api,'Overload:')][element[apidata[@subgroup=$listSubgroup and not(@subsubgroup)] and memberdata[@visibility=$listVisibility]]]"
- mode="memberlistRow">
- <xsl:sort select="apidata/@name" />
- <xsl:with-param name="listVisibility" select="$listVisibility"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:when test="boolean($listSubgroup)">
- <xsl:apply-templates select="element[not(starts-with(@api,'Overload:'))][apidata[@subgroup=$listSubgroup and not(@subsubgroup)] and memberdata[@visibility=$listVisibility]]
- | element[starts-with(@api,'Overload:')]/element[apidata[@subgroup=$listSubgroup and not(@subsubgroup)] and memberdata[@visibility=$listVisibility]]"
- mode="memberlistRow">
- <xsl:sort select="apidata/@name" />
- <xsl:with-param name="listVisibility" select="$listVisibility"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:when test="boolean($listSubsubgroup)">
- <xsl:apply-templates select="element[apidata[@subsubgroup=$listSubsubgroup]]" mode="memberlistRow">
- <xsl:sort select="apidata/@name" />
- <xsl:with-param name="listVisibility" select="$listVisibility"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:when test="$explicit='true'">
- <xsl:apply-templates select="element[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]" mode="memberlistRow">
- <xsl:sort select="apidata/@name" />
- </xsl:apply-templates>
- </xsl:when>
- </xsl:choose>
- </table>
- </xsl:with-param>
- </xsl:call-template>
-
- </xsl:template>
-
- <xsl:template match="elements" mode="type">
- <xsl:if test="count(element) > 0">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'members'" />
- <xsl:with-param name="title">
- <include item="allMembersTitle" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <table class="filter" cellspacing="0" cellpadding="0">
- <tr id="curvedMemberTabs">
- <td class="leftTab" value="all">&#xa0;</td>
- <td class="middleTab" value="all">&#xa0;</td>
- <td class="rightTab" value="all">&#xa0;</td>
- <xsl:if test="element/apidata[@subgroup='constructor']">
- <td class="leftTab" value="constructor">&#xa0;</td>
- <td class="middleTab" value="constructor">&#xa0;</td>
- <td class="rightTab" value="constructor">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subgroup='field']">
- <td class="leftTab" value="field">&#xa0;</td>
- <td class="middleTab" value="field">&#xa0;</td>
- <td class="rightTab" value="field">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subgroup='property']">
- <td class="leftTab" value="property">&#xa0;</td>
- <td class="middleTab" value="property">&#xa0;</td>
- <td class="rightTab" value="property">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subgroup='method']">
- <td class="leftTab" value="method">&#xa0;</td>
- <td class="middleTab" value="method">&#xa0;</td>
- <td class="rightTab" value="method">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subgroup='event']">
- <td class="leftTab" value="event">&#xa0;</td>
- <td class="middleTab" value="event">&#xa0;</td>
- <td class="rightTab" value="event">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subsubgroup='attachedProperty']">
- <td class="leftTab" value="attachedProperty">&#xa0;</td>
- <td class="middleTab" value="attachedProperty">&#xa0;</td>
- <td class="rightTab" value="attachedProperty">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subsubgroup='attachedEvent']">
- <td class="leftTab" value="attachedEvent">&#xa0;</td>
- <td class="middleTab" value="attachedEvent">&#xa0;</td>
- <td class="rightTab" value="attachedEvent">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]">
- <td class="leftTab" value="explicit">&#xa0;</td>
- <td class="middleTab" value="explicit">&#xa0;</td>
- <td class="rightTab" value="explicit">&#xa0;</td>
- </xsl:if>
- </tr>
- <tr class="tabs" id="memberTabs">
- <td class="leftGrad" value="all">&#xa0;</td>
- <td class="tab" value="all" onclick="toggleClass('memberTabs','value','all','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'all'); mf.subgroup='all'; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <include item="allMembersFilterLabel" />
- </td>
- <td class="rightGrad" value="all">&#xa0;</td>
- <xsl:if test="element/apidata[@subgroup='constructor']">
- <td class="leftGrad" value="constructor">&#xa0;</td>
- <td class="tab" value="constructor" onclick="toggleClass('memberTabs','value','constructor','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'constructor'); mf.subgroup='constructor'; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <include item="constructorMembersFilterLabel" />
- <xsl:text>&#xa0;</xsl:text>
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>pubmethod.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="pubMethodAltText" />
- </img>
- </td>
- <td class="rightGrad" value="constructor">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subgroup='field']">
- <td class="leftGrad" value="field">&#xa0;</td>
- <td class="tab" value="field" onclick="toggleClass('memberTabs','value','field','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'field'); mf.subgroup='field'; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <include item="fieldMembersFilterLabel" />
- <xsl:text>&#xa0;</xsl:text>
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>pubfield.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="pubFieldAltText" />
- </img>
- </td>
- <td class="rightGrad" value="field">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subgroup='property' and not(@subsubgroup)]">
- <td class="leftGrad" value="property">&#xa0;</td>
- <td class="tab" value="property" onclick="toggleClass('memberTabs','value','property','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'property'); mf.subgroup='property'; process('memberList', getInstanceDelegate(mf,'filterElement'));">
- <include item="propertyMembersFilterLabel" />
- <xsl:text>&#xa0;</xsl:text>
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>pubproperty.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="pubPropertyAltText" />
- </img>
- </td>
- <td class="rightGrad" value="property">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subgroup='method']">
- <td class="leftGrad" value="method">&#xa0;</td>
- <td class="tab" value="method" onclick="toggleClass('memberTabs','value','method','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'method'); mf.subgroup='method'; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <include item="methodMembersFilterLabel" />
- <xsl:text>&#xa0;</xsl:text>
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>pubmethod.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="pubMethodAltText" />
- </img>
- </td>
- <td class="rightGrad" value="method">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subgroup='event' and not(@subsubgroup)]">
- <td class="leftGrad" value="event">&#xa0;</td>
- <td class="tab" value="event" onclick="toggleClass('memberTabs','value','event','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'event'); mf.subgroup='event'; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <include item="eventMembersFilterLabel" />
- <xsl:text>&#xa0;</xsl:text>
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>pubevent.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="pubEventAltText" />
- </img>
- </td>
- <td class="rightGrad" value="event">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subsubgroup='attachedProperty']">
- <td class="leftGrad" value="attachedProperty">&#xa0;</td>
- <td class="tab" value="attachedProperty" onclick="toggleClass('memberTabs','value','attachedProperty','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'attachedProperty'); mf.subgroup='attachedProperty'; process('memberList', getInstanceDelegate(mf,'filterElement'));">
- <include item="attachedPropertyMembersFilterLabel" />
- <xsl:text>&#xa0;</xsl:text>
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>pubproperty.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="pubPropertyAltText" />
- </img>
- </td>
- <td class="rightGrad" value="attachedProperty">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element/apidata[@subsubgroup='attachedEvent']">
- <td class="leftGrad" value="attachedEvent">&#xa0;</td>
- <td class="tab" value="attachedEvent" onclick="toggleClass('memberTabs','value','attachedEvent','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'attachedEvent'); mf.subgroup='attachedEvent'; process('memberList', getInstanceDelegate(mf,'filterElement'));">
- <include item="attachedEventMembersFilterLabel" />
- <xsl:text>&#xa0;</xsl:text>
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>pubevent.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="pubEventAltText" />
- </img>
- </td>
- <td class="rightGrad" value="attachedEvent">&#xa0;</td>
- </xsl:if>
- <xsl:if test="element[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]">
- <td class="leftGrad" value="explicit">&#xa0;</td>
- <td class="tab" value="explicit" onclick="toggleClass('memberTabs','value','explicit','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'explicit'); mf.subgroup='explicit'; process('memberList', getInstanceDelegate(mf,'filterElement'));">
- <include item="explicitInterfaceMembersFilterLabel" />
- <xsl:text>&#xa0;</xsl:text>
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>pubinterface.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="ExplicitInterfaceAltText" />
- </img>
- </td>
- <td class="rightGrad" value="explicit">&#xa0;</td>
- </xsl:if>
- </tr>
- </table>
- <div class="memberSection">
- <table class="memberOptions">
- <tr>
- <td class="line">
- <div id="public" onclick="var checked=toggleCheck(publicImage); mf['public']=checked; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <img id="publicImage" onmouseover="mouseOverCheck(publicImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(publicImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_selected.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:text>&#xa0;</xsl:text>
- <include item="publicMembersFilterLabel" />
- </div>
- <br />
- <div id="protected" onclick="var checked=toggleCheck(protectedImage); mf['protected']=checked; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <img id="protectedImage" onmouseover="mouseOverCheck(protectedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(protectedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_selected.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:text>&#xa0;</xsl:text>
- <include item="protectedMembersFilterLabel" />
- </div>
- </td>
- <td class="line">
- <div id="instance" onclick="var checked=toggleCheck(instanceImage); mf['instance']=checked; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <img id="instanceImage" onmouseover="mouseOverCheck(instanceImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(instanceImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_selected.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:text>&#xa0;</xsl:text>
- <include item="instanceMembersFilterLabel" />
- </div>
- <br />
- <div id="static" onclick="var checked=toggleCheck(staticImage); mf['static']=checked; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <img id="staticImage" onmouseover="mouseOverCheck(staticImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(staticImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_selected.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:text>&#xa0;</xsl:text>
- <include item="staticMembersFilterLabel" />
- <xsl:text>&#xa0;</xsl:text>
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>static.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="staticAltText" />
- </img>
- </div>
- </td>
- <td class="line">
- <div id="declared" onclick="var checked=toggleCheck(declaredImage); mf['declared']=checked; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <img id="declaredImage" onmouseover="mouseOverCheck(declaredImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(declaredImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_selected.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:text>&#xa0;</xsl:text>
- <include item="declaredMembersFilterLabel" />
- </div>
- <br />
- <div id="inherited" onclick="var checked=toggleCheck(inheritedImage); mf['inherited']=checked; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <img id="inheritedImage" onmouseover="mouseOverCheck(inheritedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(inheritedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_selected.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:text>&#xa0;</xsl:text>
- <include item="inheritedMembersFilterLabel" />
- </div>
- </td>
- <td class="line">
- <div id="xna" onclick="var checked=toggleCheck(xnaImage); mf['xna']=checked; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <img id="xnaImage" onmouseover="mouseOverCheck(xnaImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(xnaImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_selected.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:text>&#xa0;</xsl:text>
- <include item="XNAFilterLabel" />
- <xsl:text>&#xa0;</xsl:text>
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>xna.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="XNAFrameworkAltText" />
- </img>
- </div>
- <br/>
- <div id="compact" onclick="var checked=toggleCheck(compactImage); mf['compact']=checked; process('memberList',getInstanceDelegate(mf,'filterElement'));">
- <img id="compactImage" onmouseover="mouseOverCheck(compactImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(compactImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
- <includeAttribute name="src" item="iconPath">
- <parameter>ch_selected.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:text>&#xa0;</xsl:text>
- <include item=".NETCompactFilterLabel" />
- <xsl:text>&#xa0;</xsl:text>
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>CFW.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="compactFrameworkAltText" />
- </img>
- </div>
- </td>
- <td class="line">
- <br/>
- </td>
- </tr>
- </table>
- <table class="members" id="memberList" cellspacing="0" frame="lhs">
- <tr>
- <th class="iconColumn">
- <xsl:text>&#xa0;</xsl:text>
- </th>
- <th class="nameColumn">
- <include item="memberNameHeader"/>
- </th>
- <th class="descriptionColumn">
- <include item="memberDescriptionHeader" />
- </th>
- </tr>
- <!-- use select="element" to show overload-sets, select=".//element[not(parent::element)]" to show all overloads -->
- <xsl:apply-templates select=".//element[not(child::element)]" mode="member">
- <xsl:sort select="apidata/@name" />
- </xsl:apply-templates>
- </table>
- </div>
- <script type="text/javascript">
- <xsl:text>
- var mf = new MemberFilter();
- toggleClass('memberTabs','value','all','activeTab','tab');
- curvedToggleClass('curvedMemberTabs', 'value', 'all');
- </xsl:text>
- </script>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="IsMemberSupportedOnXna">
- <xsl:choose>
- <xsl:when test="element and not(@signatureset)">
- <xsl:for-each select="element">
- <xsl:call-template name="IsMemberSupportedOnXna"/>
- </xsl:for-each>
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="platformFilterExcludesXna" select="boolean(platforms and not(platforms/platform[.='Xbox360']))" />
- <xsl:if test="boolean(not($platformFilterExcludesXna) and @xnafw)">
- <xsl:text>supported</xsl:text>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="IsMemberSupportedOnCf">
- <xsl:choose>
- <xsl:when test="document/reference/topicdata[@subgroup='overload'] and document/reference/elements/element and not(@signatureset)">
- <xsl:for-each select="document/reference/elements/element">
- <xsl:call-template name="IsMemberSupportedOnCf"/>
- </xsl:for-each>
- </xsl:when>
- <xsl:when test="element and not(@signatureset)">
- <xsl:for-each select="element">
- <xsl:call-template name="IsMemberSupportedOnCf"/>
- </xsl:for-each>
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="platformFilterExcludesCF" select="boolean( platforms and not(platforms[platform[.='PocketPC'] or platform[.='SmartPhone'] or platform[.='WindowsCE']]) )" />
- <xsl:if test="boolean(not($platformFilterExcludesCF) and @netcfw)">
- <xsl:text>yes</xsl:text>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="IsMemberStatic">
- <xsl:choose>
- <xsl:when test="element and not(@signatureset)">
- <xsl:for-each select="element">
- <xsl:call-template name="IsMemberStatic"/>
- </xsl:for-each>
- </xsl:when>
- <xsl:when test="apidata[@subsubgroup='attachedProperty' or @subsubgroup='attachedEvent']"/>
- <xsl:otherwise>
- <xsl:if test="memberdata/@static='true'">
- <xsl:text>yes</xsl:text>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="IsMemberInherited">
- <xsl:choose>
- <xsl:when test="element and not(@signatureset)">
- <xsl:for-each select="element">
- <xsl:call-template name="IsMemberInherited"/>
- </xsl:for-each>
- </xsl:when>
- <xsl:otherwise>
- <xsl:if test="not(contains($key, containers/type/@api))">
- <xsl:text>yes</xsl:text>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="IsMemberProtected">
- <xsl:choose>
- <xsl:when test="element and not(@signatureset)">
- <xsl:for-each select="element">
- <xsl:call-template name="IsMemberProtected"/>
- </xsl:for-each>
- </xsl:when>
- <xsl:otherwise>
- <xsl:if test="memberdata[@visibility='family' or @visibility='family or assembly' or @visibility='assembly']">
- <xsl:text>yes</xsl:text>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="element" mode="memberlistRow">
- <xsl:param name="listVisibility"/>
- <xsl:variable name="supportedOnXna">
- <xsl:call-template name="IsMemberSupportedOnXna"/>
- </xsl:variable>
- <xsl:variable name="supportedOnCf">
- <xsl:call-template name="IsMemberSupportedOnCf"/>
- </xsl:variable>
- <xsl:variable name="staticMember">
- <xsl:call-template name="IsMemberStatic"/>
- </xsl:variable>
- <xsl:variable name="inheritedMember">
- <xsl:call-template name="IsMemberInherited"/>
- </xsl:variable>
- <xsl:variable name="protectedMember">
- <xsl:call-template name="IsMemberProtected"/>
- </xsl:variable>
- <tr>
- <xsl:if test="normalize-space($inheritedMember)!=''">
- <xsl:attribute name="name">inheritedMember</xsl:attribute>
- </xsl:if>
- <xsl:if test="normalize-space($protectedMember)!=''">
- <xsl:attribute name="protected">true</xsl:attribute>
- </xsl:if>
- <xsl:if test="normalize-space($supportedOnXna)=''">
- <xsl:attribute name="notSupportedOnXna">true</xsl:attribute>
- </xsl:if>
- <xsl:if test="normalize-space($supportedOnCf)=''">
- <xsl:attribute name="notSupportedOn">netcf</xsl:attribute>
- </xsl:if>
-
- <td>
- <xsl:call-template name="memberIcons">
- <xsl:with-param name="memberVisibility">
- <xsl:choose>
- <xsl:when test="$listVisibility='public'">pub</xsl:when>
- <xsl:when test="$listVisibility='private'">priv</xsl:when>
- <xsl:when test="$listVisibility='protected'">prot</xsl:when>
- <xsl:otherwise>
- <xsl:choose>
- <xsl:when test="memberdata/@visibility='family' or memberdata/@visibility='family or assembly' or memberdata/@visibility='assembly'">prot</xsl:when>
- <xsl:when test="memberdata/@visibility='private'">priv</xsl:when>
- <xsl:otherwise>pub</xsl:otherwise>
- </xsl:choose>
- <xsl:choose>
- <xsl:when test="memberdata[@visibility='public']">pub</xsl:when>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="staticMember" select="normalize-space($staticMember)" />
- <xsl:with-param name="supportedOnXna" select="normalize-space($supportedOnXna)"/>
- <xsl:with-param name="supportedOnCf" select="normalize-space($supportedOnCf)"/>
- </xsl:call-template>
- </td>
- <td>
- <xsl:choose>
- <xsl:when test="@display-api">
- <referenceLink target="{@api}" display-target="{@display-api}" show-parameters="false" />
- </xsl:when>
- <xsl:otherwise>
- <referenceLink target="{@api}" show-parameters="false" />
- </xsl:otherwise>
- </xsl:choose>
- </td>
- <td>
- <xsl:call-template name="getInternalOnlyDescription" />
- <xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
- <xsl:text> </xsl:text>
- <include item="obsoleteRed" />
- </xsl:if>
- <xsl:if test="attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
- <xsl:text> </xsl:text>
- <include item="hostProtectionAttributeShort" />
- </xsl:if>
- <xsl:if test="topicdata[@subgroup='overload']">
- <include item="Overloaded"/>
- <xsl:text> </xsl:text>
- </xsl:if>
- <xsl:apply-templates select="element" mode="overloadSummary" />
- <xsl:call-template name="getElementDescription" />
- <xsl:choose>
- <xsl:when test="@signatureset">
- <!-- TODO add boilerplate for other members in the sig set -->
- </xsl:when>
- <xsl:when test="not(topicdata[@subgroup='overload'])">
- <xsl:choose>
- <xsl:when test="normalize-space($inheritedMember)!=''">
- <xsl:text> </xsl:text>
- <include item="inheritedFrom">
- <parameter>
- <xsl:apply-templates select="containers/type" mode="link" />
- <!--
- <xsl:call-template name="typeReferenceLink">
- <xsl:with-param name="api" select="containers/type/@api" />
- <xsl:with-param name="qualified" select="false()" />
- <xsl:with-param name="specialization" select="boolean(type/specialization)" />
- </xsl:call-template>
- <xsl:apply-templates select="type/specialization" />
- -->
- </parameter>
- </include>
- </xsl:when>
- <xsl:when test="overrides/member">
- <xsl:text> </xsl:text>
- <include item="overridesMember">
- <parameter>
- <xsl:call-template name="createReferenceLink">
- <xsl:with-param name="id" select="overrides/member/@api"/>
- <xsl:with-param name="qualified" select="true()"/>
- </xsl:call-template>
- </parameter>
- </include>
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- </xsl:choose>
- </td>
- </tr>
- </xsl:template>
-
- <xsl:template match="elements" mode="derivedType">
- <xsl:if test="count(element) > 0">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'DerivedClasses'"/>
- <xsl:with-param name="title">
- <include item="derivedClasses" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <div class="listSection">
- <table class="members" id="memberList" frame="lhs" cellspacing="0">
- <tr>
- <th class="nameColumn">
- <include item="memberNameHeader"/>
- </th>
- <th class="descriptionColumn">
- <include item="memberDescriptionHeader" />
- </th>
- </tr>
- <xsl:apply-templates select="element" mode="derivedType">
- <xsl:sort select="apidata/@name" />
- </xsl:apply-templates>
- </table>
- </div>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="elements" mode="overload">
- <xsl:if test="count(element) > 0">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'overloadMembers'"/>
- <xsl:with-param name="title"><include item="membersTitle" /></xsl:with-param>
- <xsl:with-param name="content">
- <div class="listSection">
- <table class="members" id="memberList" frame="lhs" cellspacing="0">
- <tr>
- <th class="nameColumn">
- <include item="typeNameHeader"/>
- </th>
- <th class="descriptionColumn">
- <include item="typeDescriptionHeader" />
- </th>
- </tr>
- <xsl:apply-templates select="element" mode="overload">
- <xsl:sort select="apidata/@name" />
- </xsl:apply-templates>
- </table>
- </div>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- <xsl:apply-templates select="element" mode="overloadSections">
- <xsl:sort select="apidata/@name" />
- </xsl:apply-templates>
- </xsl:template>
-
- <xsl:template match="elements" mode="overloadSummary">
- <xsl:apply-templates select="element" mode="overloadSummary" >
- <xsl:sort select="apidata/@name"/>
- </xsl:apply-templates>
- </xsl:template>
-
- <xsl:template match="element" mode="overloadSummary">
- <xsl:call-template name="getOverloadSummary" />
- </xsl:template>
-
- <xsl:template match="element" mode="overloadSections">
- <xsl:call-template name="getOverloadSections" />
- </xsl:template>
-
- <xsl:template name="typeIcon">
- <xsl:param name="typeVisibility" />
-
- <xsl:variable name="typeSubgroup" select="apidata/@subgroup" />
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>
- <xsl:value-of select="concat($typeVisibility,$typeSubgroup,'.gif')" />
- </parameter>
- </includeAttribute>
- <includeAttribute name="title" item="{concat($typeVisibility,$typeSubgroup,'AltText')}" />
- </img>
-
- </xsl:template>
-
- <xsl:template name="memberIcons">
- <xsl:param name="memberVisibility" />
- <xsl:param name="staticMember" />
- <xsl:param name="supportedOnXna"/>
- <xsl:param name="supportedOnCf"/>
-
- <xsl:variable name="memberSubgroup">
- <xsl:choose>
- <xsl:when test="apidata/@subgroup='constructor'">
- <xsl:text>method</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="apidata/@subgroup" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <!-- test for explicit interface implementations, which get the interface icon -->
- <xsl:if test="memberdata/@visibility='private' and proceduredata/@virtual='true'">
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>pubinterface.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="ExplicitInterfaceAltText" />
- </img>
- </xsl:if>
-
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>
- <xsl:value-of select="concat($memberVisibility,$memberSubgroup,'.gif')" />
- </parameter>
- </includeAttribute>
- <includeAttribute name="title" item="{concat($memberVisibility,$memberSubgroup,'AltText')}" />
- </img>
-
- <xsl:if test="$staticMember!=''">
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>static.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="staticAltText" />
- </img>
- </xsl:if>
-
- <xsl:if test="$supportedOnCf!=''">
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>CFW.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="CompactFrameworkAltText" />
- </img>
- </xsl:if>
-
- <xsl:if test="$supportedOnXna!=''">
- <img>
- <includeAttribute name="src" item="iconPath">
- <parameter>xna.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="XNAFrameworkAltText" />
- </img>
- </xsl:if>
- </xsl:template>
-
- <!-- Footer stuff -->
-
- <xsl:template name="foot">
- <div id="footer">
- <div class="footerLine">
- <img width="100%" height="3px">
- <includeAttribute name="src" item="iconPath">
- <parameter>footer.gif</parameter>
- </includeAttribute>
- <includeAttribute name="title" item="footerImage" />
- </img>
- </div>
-
- <include item="footer">
- <parameter>
- <xsl:value-of select="$key"/>
- </parameter>
- <parameter>
- <xsl:call-template name="topicTitlePlain"/>
- </parameter>
- </include>
- </div>
- </xsl:template>
-
- <!-- Assembly information -->
-
- <xsl:template name="requirementsInfo">
- <p/>
- <include item="requirementsNamespaceLayout" />
- <xsl:text>&#xa0;</xsl:text>
- <referenceLink target="{/document/reference/containers/namespace/@api}" />
- <br/>
- <xsl:call-template name="assembliesInfo"/>
-
- <!-- some apis display a XAML xmlns uri -->
- <xsl:call-template name="xamlXmlnsInfo"/>
- </xsl:template>
-
- <xsl:template name="assemblyNameAndModule">
- <xsl:param name="library" select="/document/reference/containers/library"/>
- <include item="assemblyNameAndModule">
- <parameter>
- <span data="assembly">
- <xsl:value-of select="$library/@assembly"/>
- </span>
- </parameter>
- <parameter>
- <xsl:value-of select="$library/@module"/>
- </parameter>
- <parameter>
- <xsl:choose>
- <xsl:when test="$library/@kind = 'DynamicallyLinkedLibrary'">
- <xsl:text>dll</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>exe</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </parameter>
- </include>
- </xsl:template>
-
- <xsl:template name="assembliesInfo">
- <xsl:choose>
- <xsl:when test="count(/document/reference/containers/library)&gt;1">
- <include item="requirementsAssembliesLabel"/>
- <xsl:for-each select="/document/reference/containers/library">
- <xsl:text>&#xa0;&#xa0;</xsl:text>
- <xsl:call-template name="assemblyNameAndModule">
- <xsl:with-param name="library" select="."/>
- </xsl:call-template>
- <br/>
- </xsl:for-each>
- </xsl:when>
- <xsl:otherwise>
- <include item="requirementsAssemblyLabel"/>
- <xsl:text>&#xa0;</xsl:text>
- <xsl:call-template name="assemblyNameAndModule"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!-- Platform information -->
-
- <xsl:template match="platforms">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'platformsTitle'"/>
- <xsl:with-param name="title">
- <include item="platformsTitle" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <p>
- <xsl:for-each select="platform">
- <include item="{.}" /><xsl:if test="position()!=last()"><xsl:text>, </xsl:text></xsl:if>
- </xsl:for-each>
- </p>
- <p>
- <include item="developmentPlatformsLayout"/>
- </p>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <!-- Version information -->
-
- <xsl:template match="versions">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'versionsTitle'"/>
- <xsl:with-param name="title">
- <include item="versionsTitle" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:call-template name="processVersions" />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <xsl:template name="processVersions">
- <xsl:choose>
- <xsl:when test="versions">
- <xsl:for-each select="versions">
- <!-- $platformFilterExcluded is based on platform filtering information -->
- <xsl:variable name="platformFilterExcluded" select="boolean(/document/reference/platforms and ( (@name='netcfw' and not(/document/reference/platforms/platform[.='PocketPC']) and not(/document/reference/platforms/platform[.='SmartPhone']) and not(/document/reference/platforms/platform[.='WindowsCE']) ) or (@name='xnafw' and not(/document/reference/platforms/platform[.='Xbox360']) ) ) )" />
- <xsl:if test="not($platformFilterExcluded) and count(version) &gt; 0">
- <h4 class ="subHeading">
- <include item="{@name}" />
- </h4>
- <xsl:call-template name="processVersions" />
- </xsl:if>
- </xsl:for-each>
- </xsl:when>
- <xsl:otherwise>
- <!-- show the versions in which the api is supported, if any -->
- <xsl:variable name="supportedCount" select="count(version[not(@obsolete)])"/>
- <xsl:if test="$supportedCount &gt; 0">
- <include item="supportedIn_{$supportedCount}">
- <xsl:for-each select="version[not(@obsolete)]">
- <parameter>
- <include item="{@name}" />
- </parameter>
- </xsl:for-each>
- </include>
- <br/>
- </xsl:if>
- <!-- show the versions in which the api is obsolete with a compiler warning, if any -->
- <xsl:for-each select="version[@obsolete='warning']">
- <include item="obsoleteWarning">
- <parameter>
- <include item="{@name}" />
- </parameter>
- </include>
- <br/>
- </xsl:for-each>
- <!-- show the versions in which the api is obsolete and does not compile, if any -->
- <xsl:for-each select="version[@obsolete='error']">
- <xsl:if test="position()=last()">
- <include item="obsoleteError">
- <parameter>
- <include item="{@name}" />
- </parameter>
- </include>
- <br/>
- </xsl:if>
- </xsl:for-each>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!-- Inheritance hierarchy -->
-
- <xsl:template match="family">
-
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'family'"/>
- <xsl:with-param name="title">
- <include item="familyTitle" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:variable name="ancestorCount" select="count(ancestors/*)" />
- <xsl:variable name="childCount" select="count(descendents/*)" />
-
- <xsl:for-each select="ancestors/type">
- <xsl:sort select="position()" data-type="number" order="descending" />
-
- <xsl:call-template name="indent">
- <xsl:with-param name="count" select="position()" />
- </xsl:call-template>
-
- <xsl:apply-templates select="self::type" mode="link">
- <xsl:with-param name="qualified" select="true()" />
- </xsl:apply-templates>
-
- <!--
- <xsl:call-template name="typeReferenceLink">
- <xsl:with-param name="api" select="@api" />
- <xsl:with-param name="qualified" select="true()" />
- <xsl:with-param name="specialization" select="boolean(specialization)" />
- </xsl:call-template>
- <xsl:apply-templates select="type/specialization" />
- -->
- <br/>
- </xsl:for-each>
-
- <xsl:call-template name="indent">
- <xsl:with-param name="count" select="$ancestorCount + 1" />
- </xsl:call-template>
-
- <referenceLink target="{$key}" qualified="true"/>
- <br/>
-
- <xsl:choose>
-
- <xsl:when test="descendents/@derivedTypes">
- <xsl:call-template name="indent">
- <xsl:with-param name="count" select="$ancestorCount + 2" />
- </xsl:call-template>
- <referenceLink target="{descendents/@derivedTypes}" qualified="true">
- <include item="derivedClasses"/>
- </referenceLink>
- </xsl:when>
- <xsl:otherwise>
-
- <xsl:for-each select="descendents/type">
- <xsl:call-template name="indent">
- <xsl:with-param name="count" select="$ancestorCount + 2" />
- </xsl:call-template>
-
- <xsl:apply-templates select="self::type" mode="link">
- <xsl:with-param name="qualified" select="true()" />
- </xsl:apply-templates>
- <!--
- <xsl:call-template name="typeReferenceLink">
- <xsl:with-param name="api" select="@api" />
- <xsl:with-param name="qualified" select="true()" />
- <xsl:with-param name="specialization" select="boolean(specialization)" />
- </xsl:call-template>
- <xsl:apply-templates select="specialization" />
- -->
- <br/>
- </xsl:for-each>
- </xsl:otherwise>
- </xsl:choose>
-
- </xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <xsl:template name="createTableEntries">
- <xsl:param name="count" />
- <xsl:if test="number($count) > 0">
- <td>&#x20;</td>
- <xsl:call-template name="createTableEntries">
- <xsl:with-param name="count" select="number($count)-1" />
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="typeReferenceLink">
- <xsl:param name="api" />
- <xsl:param name="qualified" />
- <xsl:param name="specialization" />
-
- <referenceLink target="{$api}" qualified="{$qualified}">
- <xsl:choose>
- <xsl:when test="$specialization = 'true'">
- <xsl:attribute name="show-templates">false</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="show-templates">true</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
- </referenceLink>
-
- </xsl:template>
-
- <xsl:template match="template">
- <xsl:choose>
- <xsl:when test="@api=$key">
- <xsl:value-of select="@name" />
- </xsl:when>
- <xsl:otherwise>
- <include item="typeLinkToTypeParameter">
- <parameter>
- <xsl:value-of select="@name"/>
- </parameter>
- <parameter>
- <referenceLink target="{@api}" qualified="true" />
- </parameter>
- </include>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="member">
- <xsl:apply-templates select="type" mode="link" />
- <xsl:text>.</xsl:text>
- <xsl:choose>
- <xsl:when test="@display-api">
- <referenceLink target="{@api}" display-target="{@display-api}" />
- </xsl:when>
- <xsl:otherwise>
- <referenceLink target="{@api}" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!-- Naming -->
-
- <xsl:template name="shortName">
- <xsl:choose>
- <xsl:when test="$subgroup='constructor'">
- <xsl:value-of select="/document/reference/containers/type/apidata/@name" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/document/reference/apidata/@name" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!-- decorated names -->
-
- <xsl:template name="shortNameDecorated">
- <!--<xsl:param name="titleType" /> -->
- <xsl:choose>
- <!-- type overview pages get the type name -->
- <xsl:when test="$group='type' or ($group='list' and not($subgroup='overload'))">
- <xsl:for-each select="/document/reference[1]">
- <xsl:call-template name="typeNameDecorated" />
- </xsl:for-each>
- </xsl:when>
- <!-- constructors and member list pages also use the type name -->
- <xsl:when test="$subgroup='constructor' or ($subgroup='overload' and /document/reference/apidata/@subgroup='constructor')">
- <xsl:for-each select="/document/reference/containers/type[1]">
- <xsl:call-template name="typeNameDecorated" />
- </xsl:for-each>
- </xsl:when>
- <!--
- <xsl:when test="$group='member'">
- <xsl:variable name="type">
- <xsl:for-each select="/document/reference">
- <xsl:call-template name="GetTypeName" />
- </xsl:for-each>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="$titleType = 'tocTitle'">
- <xsl:value-of select="$type" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="concat($typeName, '.', $type)"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- -->
- <!-- member pages use the qualified member name -->
- <xsl:when test="$group='member' or ($subgroup='overload' and /document/reference/apidata/@group='member')">
- <xsl:for-each select="/document/reference/containers/type[1]">
- <xsl:call-template name="typeNameDecorated" />
- </xsl:for-each>
- <span class="cs">.</span>
- <span class="vb">.</span>
- <span class="cpp">::</span>
- <xsl:for-each select="/document/reference[1]">
- <xsl:value-of select="apidata/@name" />
- <xsl:apply-templates select="templates" mode="decorated" />
- </xsl:for-each>
- </xsl:when>
- <!-- namespace (and any other) topics just use the name -->
- <xsl:when test="/document/reference/apidata/@name = ''">
- <include item="defaultNamespace" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/document/reference/apidata/@name" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!-- plain names -->
-
- <xsl:template name="shortNamePlain">
- <xsl:param name="qualifyMembers" select="false()" />
- <xsl:choose>
- <!-- type overview pages get the type name -->
- <xsl:when test="$group='type' or (group='list' and not($subgroup = 'overload'))">
- <xsl:for-each select="/document/reference[1]">
- <xsl:call-template name="typeNamePlain" />
- </xsl:for-each>
- </xsl:when>
- <!-- constructors and member list pages also use the type name -->
- <xsl:when test="$subgroup='constructor' or ($subgroup='overload' and /document/reference/apidata/@subgroup='constructor')">
- <xsl:for-each select="/document/reference/containers/type[1]">
- <xsl:call-template name="typeNamePlain" />
- </xsl:for-each>
- </xsl:when>
- <!-- namespace, member (and any other) topics just use the name -->
- <xsl:when test="/document/reference/apidata/@name = ''">
- <include item="defaultNamespace" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:if test="$qualifyMembers and /document/reference/apidata/@group='member'">
- <xsl:for-each select="/document/reference/containers/type[1]">
- <xsl:call-template name="typeNamePlain" />
- </xsl:for-each>
- <xsl:text>.</xsl:text>
- </xsl:if>
- <xsl:value-of select="/document/reference/apidata/@name" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="typeNamePlain">
- <xsl:param name="annotate" select="false()" />
- <xsl:if test="(containers/type)|type">
- <xsl:for-each select="(containers/type)|type">
- <xsl:call-template name="typeNamePlain">
- <xsl:with-param name="annotate" select="$annotate" />
- </xsl:call-template>
- </xsl:for-each>
- <xsl:text>.</xsl:text>
- </xsl:if>
- <xsl:value-of select="apidata/@name" />
- <xsl:if test="$annotate and templates/template">
- <xsl:value-of select="concat('`',count(templates/template))"/>
- </xsl:if>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/tools/Sandcastle/Presentation/hana/transforms/xamlSyntax.xsl b/tools/Sandcastle/Presentation/hana/transforms/xamlSyntax.xsl
deleted file mode 100644
index 4362a26..0000000
--- a/tools/Sandcastle/Presentation/hana/transforms/xamlSyntax.xsl
+++ /dev/null
@@ -1,491 +0,0 @@
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
- xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
- xmlns:mshelp="http://msdn.microsoft.com/mshelp"
- xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:msxsl="urn:schemas-microsoft-com:xslt"
- >
-
- <xsl:import href="globalTemplates.xsl"/>
-
- <xsl:variable name="showNonXamlAssemblyBoilerplate" select="'false'" />
-
- <!-- XAML Syntax -->
-
- <xsl:template name="XamlSyntaxBlock">
- <!-- Branch based on pagetype -->
- <xsl:choose>
- <!-- Display boilerplate for pagetypes that cannot be used in XAML,
- unless there's an authored XAML text section, which is used in place of the boilerplate. -->
- <xsl:when test="$subgroup='method' or
- $subgroup='constructor' or
- $subgroup='interface' or
- $subgroup='delegate' or
- $subgroup='field'">
- <xsl:call-template name="nonXamlMembersXamlSyntax"/>
- </xsl:when>
-
- <!-- class and struct -->
- <xsl:when test="$subgroup='class' or
- $subgroup='structure'">
- <xsl:call-template name="classOrStructXamlSyntax"/>
- </xsl:when>
-
- <!-- enumeration -->
- <xsl:when test="$subgroup='enumeration'">
- <xsl:call-template name="enumerationXamlSyntax"/>
- </xsl:when>
-
- <!-- property -->
- <xsl:when test="$subgroup='property' or $subsubgroup='attachedProperty'">
- <xsl:call-template name="propertyXamlSyntax"/>
- </xsl:when>
-
- <!-- event -->
- <xsl:when test="$subgroup='event' or $subsubgroup='attachedEvent'">
- <xsl:call-template name="eventXamlSyntax"/>
- </xsl:when>
-
- </xsl:choose>
- </xsl:template>
-
- <!-- XAML syntax for CLASS and STRUCT topics. This is the logic:
- if authored OESyntax,
- display it
- else if autogen OESyntax (AND no authored XAML section),
- display it.
- if authored AttrUsage,
- display it
- if authored XAML section,
- display it
- if no (authored OESyntax OR authored AttrUsage OR authored XAML section),
- display autogen boilerplate
- display XAML Values section, if any
- -->
- <xsl:template name="classOrStructXamlSyntax">
- <!-- Object Element Usage
- //ddue:section[starts-with(@address,'xamlValues')]
- //ddue:section[starts-with(@address,'xamlTextUsage')]
- //ddue:section[starts-with(@address,'xamlAttributeUsage')]
- //ddue:section[starts-with(@address,'xamlPropertyElementUsage')]
- //ddue:section[starts-with(@address,'xamlImplicitCollectionUsage')]
- //ddue:section[starts-with(@address,'xamlObjectElementUsage')]
- //ddue:section[starts-with(@address,'dependencyPropertyInfo')]
- //ddue:section[starts-with(@address,'routedEventInfo')]
- -->
- <xsl:choose>
- <!-- Show the authored Object Element Usage, if any. -->
- <xsl:when test="//ddue:section[starts-with(@address,'xamlObjectElementUsage')]">
- <xsl:for-each select="//ddue:section[starts-with(@address,'xamlObjectElementUsage')][1]">
- <xsl:call-template name="ShowAuthoredXamlSyntax"/>
- </xsl:for-each>
- </xsl:when>
- <!-- Else if no authored xamlTextUsage section, show the autogenerated Object Element Usage, if any. -->
- <xsl:when test="not(//ddue:section[starts-with(@address,'xamlTextUsage')])">
- <xsl:call-template name="ShowAutogeneratedXamlSyntax">
- <xsl:with-param name="autogenContent">
- <xsl:copy-of select="div[@class='xamlObjectElementUsageHeading']"/>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- </xsl:choose>
- <!-- Implicit Collection Usage - show authored section, if any. -->
- <xsl:for-each select="//ddue:section[starts-with(@address,'xamlImplicitCollectionUsage')][1]">
- <xsl:call-template name="ShowAuthoredXamlSyntax"/>
- </xsl:for-each>
- <!-- Attribute Usage - show authored section, if any. -->
- <xsl:for-each select="//ddue:section[starts-with(@address,'xamlAttributeUsage')][1]">
- <xsl:call-template name="ShowAuthoredXamlSyntax"/>
- </xsl:for-each>
- <!-- XAML Text section - show authored section, if any. -->
- <xsl:for-each select="//ddue:section[starts-with(@address,'xamlTextUsage')][1]">
- <xsl:call-template name="ShowAuthoredXamlSyntax"/>
- </xsl:for-each>
- <!-- Autogen - show autogen boilerplate, if no authored xaml sections to override it. -->
- <xsl:if test="not(//ddue:section[starts-with(@address,'xamlObjectElementUsage')] or //ddue:section[starts-with(@address,'xamlImplicitCollectionUsage')] or //ddue:section[starts-with(@address,'xamlAttributeUsage')] or //ddue:section[starts-with(@address,'xamlTextUsage')])">
- <xsl:call-template name="ShowXamlSyntaxBoilerplate">
- <xsl:with-param name="param0">
- <xsl:copy-of select="."/>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- <!-- Show the authored XAML Values section, if any. -->
- <xsl:call-template name="showXamlValuesSection"/>
- </xsl:template>
-
- <!-- XAML syntax for ENUMERATION topics. This is the logic:
- if authored AttrUsage,
- display it
- if authored XAML section,
- display it
- if no (authored AttrUsage OR authored XAML section),
- display autogen AttrUsage or boilerplate.
- display XAML Values section, if any
- -->
- <xsl:template name="enumerationXamlSyntax">
- <!-- Attribute Usage - show authored section, if any. -->
- <xsl:for-each select="//ddue:section[starts-with(@address,'xamlAttributeUsage')][1]">
- <xsl:call-template name="ShowAuthoredXamlSyntax"/>
- </xsl:for-each>
- <!-- XAML Text section - show authored section, if any. -->
- <xsl:for-each select="//ddue:section[starts-with(@address,'xamlTextUsage')][1]">
- <xsl:call-template name="ShowAuthoredXamlSyntax"/>
- </xsl:for-each>
- <!-- Autogen - show enum syntax boilerplate, if no authored xaml sections to override it. -->
- <xsl:choose>
- <xsl:when test="$showNonXamlAssemblyBoilerplate='false' and div[@class='nonXamlAssemblyBoilerplate']"/>
- <xsl:when test="not(//ddue:section[starts-with(@address,'xamlAttributeUsage')] or //ddue:section[starts-with(@address,'xamlTextUsage')])">
- <span codeLanguage="XAML">
- <table>
- <tr>
- <th>
- <include item="xamlAttributeUsageHeading" />
- </th>
- </tr>
- <tr>
- <td>
- <pre xml:space="preserve"><xsl:text/><include item="enumerationOverviewXamlSyntax"/></pre>
- </td>
- </tr>
- </table>
- </span>
- </xsl:when>
- </xsl:choose>
- <!-- Show the authored XAML Values section, if any. -->
- <xsl:call-template name="showXamlValuesSection"/>
- </xsl:template>
-
- <!-- XAML syntax for PROPERTY topics. This is the logic:
- if authored OESyntax,
- display it
- if authored PEUsage,
- display it
- else if autogen PEUsage (AND no authored XAML section),
- display it
- if authored AttrUsage,
- display it
- else if autogen AttrUsage (AND no authored XAML section),
- display it
- if authored XAML section,
- display it
- if no (authored OESyntax OR authored PEUsage OR authored AttrUsage OR authored XAML section),
- display autogen boilerplate
- -->
- <xsl:template name="propertyXamlSyntax">
- <!-- Object Element Usage - show authored section, if any. -->
- <xsl:for-each select="//ddue:section[starts-with(@address,'xamlObjectElementUsage')][1]">
- <xsl:call-template name="ShowAuthoredXamlSyntax"/>
- </xsl:for-each>
- <!-- Property Element Usage -->
- <xsl:choose>
- <!-- Show the authored Property Element Usage, if any. -->
- <xsl:when test="//ddue:section[starts-with(@address,'xamlPropertyElementUsage')]">
- <xsl:for-each select="//ddue:section[starts-with(@address,'xamlPropertyElementUsage')][1]">
- <xsl:call-template name="ShowAuthoredXamlSyntax"/>
- </xsl:for-each>
- </xsl:when>
- <!-- Else if no authored xamlTextUsage section, show the autogenerated Property Element Usage, if any. -->
- <xsl:when test="not(//ddue:section[starts-with(@address,'xamlTextUsage')])">
- <xsl:call-template name="ShowAutogeneratedXamlSyntax">
- <xsl:with-param name="autogenContent">
- <xsl:copy-of select="div[@class='xamlPropertyElementUsageHeading' or @class='xamlContentElementUsageHeading']"/>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- </xsl:choose>
- <!-- Attribute Usage -->
- <xsl:choose>
- <!-- Show the authored Attribute Usage, if any. -->
- <xsl:when test="//ddue:section[starts-with(@address,'xamlAttributeUsage')]">
- <xsl:for-each select="//ddue:section[starts-with(@address,'xamlAttributeUsage')][1]">
- <xsl:call-template name="ShowAuthoredXamlSyntax"/>
- </xsl:for-each>
- </xsl:when>
- <!-- Else if no authored xamlTextUsage section, show the autogenerated Attribute Usage, if any. -->
- <xsl:when test="not(//ddue:section[starts-with(@address,'xamlTextUsage')])">
- <xsl:call-template name="ShowAutogeneratedXamlSyntax">
- <xsl:with-param name="autogenContent">
- <xsl:copy-of select="div[@class='xamlAttributeUsageHeading']"/>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- </xsl:choose>
- <!-- XAML Text section - show authored section, if any. -->
- <xsl:for-each select="//ddue:section[starts-with(@address,'xamlTextUsage')][1]">
- <xsl:call-template name="ShowAuthoredXamlSyntax"/>
- </xsl:for-each>
- <!-- Autogen - show autogen boilerplate, if no authored xaml sections to override it. -->
- <xsl:if test="not(//ddue:section[starts-with(@address,'xamlObjectElementUsage')] or //ddue:section[starts-with(@address,'xamlPropertyElementUsage')] or //ddue:section[starts-with(@address,'xamlAttributeUsage')] or //ddue:section[starts-with(@address,'xamlTextUsage')])">
- <xsl:call-template name="ShowXamlSyntaxBoilerplate">
- <xsl:with-param name="param0">
- <xsl:copy-of select="div/*"/>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- <!-- Show the authored XAML Values section, if any. -->
- <xsl:call-template name="showXamlValuesSection"/>
- </xsl:template>
-
- <!-- XAML syntax for EVENT topics. This is the logic:
- if authored AttrUsage,
- display it
- if authored XAML section,
- display it
- if no (authored AttrUsage OR authored XAML section),
- display autogen AttrUsage or boilerplate.
- display XAML Values section, if any
- -->
- <xsl:template name="eventXamlSyntax">
- <!-- Attribute Usage - show authored section, if any. -->
- <xsl:for-each select="//ddue:section[starts-with(@address,'xamlAttributeUsage')][1]">
- <xsl:call-template name="ShowAuthoredXamlSyntax"/>
- </xsl:for-each>
- <!-- XAML Text section - show authored section, if any. -->
- <xsl:for-each select="//ddue:section[starts-with(@address,'xamlTextUsage')][1]">
- <xsl:call-template name="ShowAuthoredXamlSyntax"/>
- </xsl:for-each>
- <!-- Autogen - show autogen syntax or boilerplate, if no authored xaml sections to override it. -->
- <xsl:if test="not(//ddue:section[starts-with(@address,'xamlAttributeUsage')] or //ddue:section[starts-with(@address,'xamlTextUsage')])">
- <!-- If XamlSyntax component generated an Attribute Usage block, this template will show it. -->
- <xsl:call-template name="ShowAutogeneratedXamlSyntax">
- <xsl:with-param name="autogenContent">
- <xsl:copy-of select="div[@class='xamlAttributeUsageHeading']"/>
- </xsl:with-param>
- </xsl:call-template>
- <!-- If XamlSyntax component generated a boilerplate block, this template will show it. -->
- <xsl:call-template name="ShowXamlSyntaxBoilerplate">
- <xsl:with-param name="param0">
- <xsl:copy-of select="div/*"/>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- <!-- Show the authored XAML Values section, if any. -->
- <xsl:call-template name="showXamlValuesSection"/>
- </xsl:template>
-
- <!-- XAML syntax for members that cannot be used in XAML: interface, delegate, method, field, constructor.
- If there's an authored XAML section, show it. Otherwise, use the standard boilerplate. -->
- <xsl:template name="nonXamlMembersXamlSyntax">
- <xsl:choose>
- <!-- XAML Text section - show authored section, if any. -->
- <xsl:when test="//ddue:section[starts-with(@address,'xamlTextUsage')]">
- <xsl:for-each select="//ddue:section[starts-with(@address,'xamlTextUsage')][1]">
- <xsl:call-template name="ShowAuthoredXamlSyntax"/>
- </xsl:for-each>
- </xsl:when>
- <!-- Autogen - show autogen boilerplate, if no authored xaml sections to override it. -->
- <xsl:otherwise>
- <xsl:call-template name="ShowXamlSyntaxBoilerplate"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!-- Displays one of the standard XAML boilerplate strings. -->
- <xsl:template name="ShowXamlSyntaxBoilerplate">
- <xsl:param name="param0"/>
- <xsl:variable name="boilerplateId">
- <xsl:choose>
- <!-- don't show boilerplate for apis that are not in xaml assemblies -->
- <xsl:when test="$showNonXamlAssemblyBoilerplate='false' and div[@class='nonXamlAssemblyBoilerplate']"/>
- <xsl:otherwise>
- <xsl:value-of select="div/@class[not(.='xamlAttributeUsageHeading' or
- .='xamlObjectElementUsageHeading' or
- .='xamlContentElementUsageHeading' or
- .='xamlPropertyElementUsageHeading' or
- .='xamlXmlnsUri')]"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:if test="$boilerplateId!=''">
- <span codeLanguage="XAML">
- <table>
- <tr>
- <th>
- <include item="xamlSyntaxBoilerplateHeading" />
- </th>
- </tr>
- <tr>
- <td>
- <pre xml:space="preserve"><span class="message"><xsl:text/><include item="{$boilerplateId}">
- <xsl:choose>
- <xsl:when test="$param0!=''">
- <parameter>
- <xsl:copy-of select="msxsl:node-set($param0)"/>
- </parameter>
- </xsl:when>
- <!-- make sure we at least pass in an empty param because some boilerplates expect them -->
- <xsl:otherwise>
- <parameter/>
- </xsl:otherwise>
- </xsl:choose>
- </include></span></pre>
- </td>
- </tr>
- </table>
- </span>
- </xsl:if>
- </xsl:template>
-
- <!-- Displays an authored XAML syntax section -->
- <xsl:template name="ShowAuthoredXamlSyntax">
- <xsl:if test="ddue:content[normalize-space(.)!='']">
- <xsl:variable name="headingID">
- <xsl:choose>
- <xsl:when test="starts-with(@address,'xamlObjectElementUsage')">xamlObjectElementUsageHeading</xsl:when>
- <xsl:when test="starts-with(@address,'xamlImplicitCollectionUsage')">xamlImplicitCollectionUsageHeading</xsl:when>
- <xsl:when test="starts-with(@address,'xamlPropertyElementUsage')">
- <xsl:choose>
- <xsl:when test="//div[@class='xamlContentElementUsageHeading']">xamlContentElementUsageHeading</xsl:when>
- <xsl:otherwise>xamlPropertyElementUsageHeading</xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:when test="starts-with(@address,'xamlAttributeUsage')">xamlAttributeUsageHeading</xsl:when>
- <xsl:when test="starts-with(@address,'xamlTextUsage')">xamlSyntaxBoilerplateHeading</xsl:when>
- </xsl:choose>
- </xsl:variable>
- <span codeLanguage="XAML">
- <table>
- <tr>
- <th>
- <include item="{$headingID}" />
- </th>
- </tr>
- <xsl:choose>
- <xsl:when test="$headingID='xamlSyntaxBoilerplateHeading'">
- <tr>
- <td>
- <xsl:apply-templates select="ddue:content"/>
- </td>
- </tr>
- </xsl:when>
- <xsl:otherwise>
- <tr>
- <td>
- <pre xml:space="preserve"><xsl:choose>
- <xsl:when test="ddue:content/ddue:code"><xsl:apply-templates select="ddue:content/ddue:code[1]/node()" /></xsl:when>
- <xsl:when test="ddue:content/ddue:para"><xsl:apply-templates select="ddue:content/ddue:para"/></xsl:when>
- </xsl:choose></pre>
- </td>
- </tr>
- </xsl:otherwise>
- </xsl:choose>
- </table>
- </span>
- </xsl:if>
- </xsl:template>
-
- <!-- Displays the autogenerated XAML syntax for pagetypes other than enumerations -->
- <xsl:template name="ShowAutogeneratedXamlSyntax">
- <xsl:param name="autogenContent"/>
- <xsl:if test="count(msxsl:node-set($autogenContent))>0">
- <xsl:for-each select="msxsl:node-set($autogenContent)/div">
- <xsl:variable name="headingID">
- <xsl:value-of select="@class"/>
- </xsl:variable>
- <span codeLanguage="XAML">
- <table>
- <tr>
- <th>
- <include item="{$headingID}" />
- </th>
- </tr>
- <tr>
- <td>
- <pre xml:space="preserve"><xsl:text/><xsl:copy-of select="node()"/></pre>
- </td>
- </tr>
- </table>
- </span>
- </xsl:for-each>
- </xsl:if>
- </xsl:template>
-
- <!-- Display the XAML Values section. -->
- <xsl:template name="showXamlValuesSection">
- <xsl:for-each select="//ddue:section[starts-with(@address,'xamlValues')]">
- <span codeLanguage="XAML">
- <p/>
- <xsl:call-template name="subSection">
- <xsl:with-param name="title">
- <include item="xamlValuesSectionHeading" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates select="ddue:content"/>
- </xsl:with-param>
- </xsl:call-template>
- </span>
- </xsl:for-each>
- </xsl:template>
-
- <!-- these xaml sections are captured in the xaml syntax processing, so this template prevents them from showing up twice -->
- <xsl:template match="//ddue:section[starts-with(@address,'xamlValues') or
- starts-with(@address,'xamlTextUsage') or
- starts-with(@address,'xamlAttributeUsage') or
- starts-with(@address,'xamlPropertyElementUsage') or
- starts-with(@address,'xamlImplicitCollectionUsage') or
- starts-with(@address,'xamlObjectElementUsage') or
- starts-with(@address,'dependencyPropertyInfo') or
- starts-with(@address,'routedEventInfo')]"/>
-
- <!-- the authored dependency Property Information section -->
- <xsl:template match="ddue:section[starts-with(@address,'dependencyPropertyInfo')]" mode="section">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'dependencyPropertyInfo'"/>
- <xsl:with-param name="title">
- <include item="dependencyPropertyInfoHeading" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates select="ddue:content" />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <!-- the authored routed event Information section -->
- <xsl:template match="ddue:section[starts-with(@address,'routedEventInfo')]" mode="section">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'routedEventInfo'"/>
- <xsl:with-param name="title">
- <include item="routedEventInfoHeading" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates select="ddue:content" />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <!-- Show XAML xmlns for apis that support XAML -->
- <xsl:template name="xamlXmlnsInfo">
- <xsl:variable name="hasAuthoredXamlSyntax" select="boolean(//ddue:sections/ddue:section[
- starts-with(@address,'xamlTextUsage') or
- starts-with(@address,'xamlAttributeUsage') or
- starts-with(@address,'xamlPropertyElementUsage') or
- starts-with(@address,'xamlImplicitCollectionUsage') or
- starts-with(@address,'xamlObjectElementUsage')])" />
- <xsl:variable name="hasAutogeneratedXamlSyntax" select="boolean(/document/syntax/div[@codeLanguage='XAML']/div[
- @class='xamlAttributeUsageHeading' or
- @class='xamlObjectElementUsageHeading' or
- @class='xamlContentElementUsageHeading' or
- @class='xamlPropertyElementUsageHeading'])" />
- <!-- All topics that have authored or autogen'd xaml syntax get an "XMLNS for XAML" line in the Requirements section.
- Topics with boilerplate xaml syntax, e.g. "Not applicable", do NOT get this line. -->
- <xsl:if test="$hasAuthoredXamlSyntax or $hasAutogeneratedXamlSyntax">
- <br/>
- <include item="xamlXmlnsRequirementsLayout">
- <parameter>
- <xsl:choose>
- <xsl:when test="/document/syntax/div[@codeLanguage='XAML']/div[@class='xamlXmlnsUri']">
- <xsl:for-each select="/document/syntax/div[@codeLanguage='XAML']/div[@class='xamlXmlnsUri']">
- <xsl:if test="position()!=1"><xsl:text>, </xsl:text></xsl:if>
- <xsl:value-of select="."/>
- </xsl:for-each>
- </xsl:when>
- <xsl:otherwise>
- <include item="unmappedXamlXmlns"/>
- </xsl:otherwise>
- </xsl:choose>
- </parameter>
- </include>
- </xsl:if>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/tools/Sandcastle/Presentation/vs2005/Content/conceptual_content.xml b/tools/Sandcastle/Presentation/vs2005/Content/conceptual_content.xml
index 9063b63..50aef54 100644
--- a/tools/Sandcastle/Presentation/vs2005/Content/conceptual_content.xml
+++ b/tools/Sandcastle/Presentation/vs2005/Content/conceptual_content.xml
@@ -53,5 +53,9 @@
<p>This section contains the following subsections.</p>
</item>
<item id="RelatedTopicsLinkText">Related Topics</item>
+ <!-- resolve the autoOutline token -->
+ <item id="autoOutline">
+ <autoOutline/>
+ </item>
</content>
diff --git a/tools/Sandcastle/Presentation/vs2005/Content/feedBack_content.xml b/tools/Sandcastle/Presentation/vs2005/Content/feedBack_content.xml
index 6d3a068..2412a85 100644
--- a/tools/Sandcastle/Presentation/vs2005/Content/feedBack_content.xml
+++ b/tools/Sandcastle/Presentation/vs2005/Content/feedBack_content.xml
@@ -4,6 +4,7 @@
<item id="fb_product"></item>
<item id="fb_deliverable"></item>
+ <item id="fb_subject">Customer%20Feedback</item>
<item id="fb_body"></item>
<item id="fb_headerFeedBack">Send Feedback</item>
@@ -17,6 +18,7 @@
<item id="feedback_fileVersion"></item>
<item id="feedback_topicVersion"></item>
<item id="feedback_body"></item>
+ <item id="feedback_subject"></item>
<item id="fb_Introduction">We value your feedback. To rate this topic and send feedback about this topic to the documentation team, click a rating, and then click <b>Send Feedback</b>. For assistance with support issues, refer to the technical support information included with the product.</item>
@@ -27,4 +29,4 @@
<item id="fb_Title">Documentation Feedback</item>
<item id="fb_altIcon">Display feedback instructions at the bottom of the page.</item>
-</content>
+</content> \ No newline at end of file
diff --git a/tools/Sandcastle/Presentation/vs2005/Content/reference_content.xml b/tools/Sandcastle/Presentation/vs2005/Content/reference_content.xml
index 970abb0..dfd9de0 100644
--- a/tools/Sandcastle/Presentation/vs2005/Content/reference_content.xml
+++ b/tools/Sandcastle/Presentation/vs2005/Content/reference_content.xml
@@ -21,8 +21,15 @@
<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>
+ <!-- title for operator members -->
+ <item id="operatorTopicTitle">{0} Operator {1}</item>
+
+ <!-- title for op_explicit and op_implicit members -->
+ <item id="typeConversionTopicTitle">{0} Conversion {1}</item>
+ <!-- title for overload op_explicit and op_implicit topics -->
+ <item id="conversionOperatorTopicTitle">{0} Conversion Operators</item>
+
<item id="attachedPropertyTopicTitle">{0} Attached Property</item>
<item id="attachedEventTopicTitle">{0} Attached Event</item>
@@ -35,9 +42,17 @@
<!-- list topic titles -->
<item id="FieldsTopicTitle">{0} Fields</item>
- <item id="MethodsTopicTitle">{0} Methods {1}</item>
- <item id="ConstructorsTopicTitle">{0} Constructors {1}</item>
- <item id="PropertiesTopicTitle">{0} Properties {1}</item>
+ <item id="MethodsTopicTitle">{0} Methods</item>
+
+ <!-- title for operator list topic that has [operators + no type conversions] -->
+ <item id="OperatorsTopicTitle">{0} Operators</item>
+ <!-- title for operator list topic that has [operators + type conversions] -->
+ <item id="OperatorsAndTypeConversionsTopicTitle">{0} Operators and Type Conversions</item>
+ <!-- title for operator list topic that has [no operators + type conversions] -->
+ <item id="TypeConversionsTopicTitle">{0} Type Conversions</item>
+
+ <item id="ConstructorsTopicTitle">{0} Constructors</item>
+ <item id="PropertiesTopicTitle">{0} Properties</item>
<item id="EventsTopicTitle">{0} Events</item>
<item id="AttachedPropertiesTopicTitle">{0} Attached Properties</item>
<item id="AttachedEventsTopicTitle">{0} Attached Events</item>
@@ -59,6 +74,14 @@
<item id="derivedTypesIndexEntry">{0}, derived types</item>
<item id="membersIndexEntry">{0}, all members</item>
<item id="methodsIndexEntry">{0}, methods</item>
+ <!-- index entry for operator list topic that has [operators + no type conversions] -->
+ <item id="operatorsIndexEntry">{0}, operators</item>
+ <!-- index entry for operator list topic that has [operators + type conversions] -->
+ <item id="operatorsAndTypeConversionsIndexEntry">{0}, operators and type conversions</item>
+ <!-- index entry for operator list topic that has [no operators + type conversions] -->
+ <item id="typeConversionsIndexEntry">{0}, type conversions</item>
+ <!-- index entries for op_explicit and op_implicit members -->
+ <item id="conversionOperatorIndexEntry">{0} conversion</item>
<item id="propertiesIndexEntry">{0}, properties</item>
<item id="fieldsIndexEntry">{0}, fields</item>
<item id="eventsIndexEntry">{0}, events</item>
@@ -111,7 +134,7 @@
<item id="implementsTitle">Implements</item>
<item id="examplesTitle">Examples</item>
<item id="threadSafetyTitle">Thread Safety</item>
- <item id="permissionsTitle">Permissions</item>
+ <item id="permissionsTitle">.NET Framework Security</item>
<item id="namespacesTitle">Namespaces</item>
<item id="typesTitle">Types</item>
<item id="allMembersTitle">Members</item>
@@ -142,6 +165,10 @@
<item id="exceptionConditionHeader">Condition</item>
<item id="permissionNameHeader">Permission</item>
<item id="permissionDescriptionHeader">Description</item>
+ <item id="requiresNameHeader">Requires</item>
+ <item id="ensuresNameHeader">Ensures</item>
+ <item id="ensuresOnThrowNameHeader">EnsuresOnThrow</item>
+ <item id="invariantsNameHeader">Invariants</item>
<!-- filter control text -->
<item id="allTypesFilterLabel">All Types</item>
@@ -180,9 +207,9 @@
<item id="ThreadSafety">Thread Safety</item>
<item id="ThreadSafetyBP">Any public <include item="staticKeyword"/> members of this type are thread safe. Any instance members are not guaranteed to be thread safe.</item>
- <item id="NotesForImplementers">Notes to Implementers: </item>
- <item id="NotesForCallers">Notes to Callers: </item>
- <item id="NotesForInheritors">Notes to Inheritors: </item>
+ <item id="NotesForImplementers">Notes to Implementers</item>
+ <item id="NotesForCallers">Notes to Callers</item>
+ <item id="NotesForInheritors">Notes to Inheritors</item>
<!-- Used for Platform Notes -->
<item id="PlatformNote">
@@ -245,7 +272,7 @@
<item id="nonobsoleteAlternative">The non-obsolete alternative is {0}.</item>
<item id="obsoleteRed"><font color="red"><b>Obsolete. </b></font></item>
<item id="ObsoleteBoilerPlate">
- <font color="red"><b>NOTE: This API is now obsolete.</b></font>
+ <font color="red"><b>Note: This API is now obsolete.</b></font>
</item>
<item id="definedBy">(Defined by {0}.)</item>
<item id="inheritedFrom">(Inherited from {0}.)</item>
@@ -429,9 +456,23 @@
<item id="internalOnly">This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.</item>
<item id="infraStructure">Infrastructure. </item>
+
+ <!-- Variance boilerplate text -->
+ <item id="inKeyword"><span class="languageSpecificText"><span class="cs"><span class="keyword">in</span> </span><span class="vb"><span class="keyword">In</span> </span><span class="cpp"><span class="keyword">in</span> </span><span class="nu"><span class="keyword">in</span> </span><span class="fs"></span></span></item>
+ <item id="outKeyword"><span class="languageSpecificText"><span class="cs"><span class="keyword">out</span> </span><span class="vb"><span class="keyword">Out</span> </span><span class="cpp"><span class="keyword">out</span> </span><span class="nu"><span class="keyword">out</span> </span><span class="fs"></span></span></item>
+
+ <item id="covariant">This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. </item>
+ <item id="contravariant">This type parameter is contavariant. That is, you can use either the type you specified or any type that is less derived. </item>
+ <item id="variance">For more information about covariance and contravariance, see <conceptualLink target="2678dc63-c7f9-4590-9ddc-0a4df684d42e" />.</item>
+
<!-- Non Cls Compliant boilerplate text-->
<item id="NotClsCompliant">This API is not CLS-compliant.</item>
<item id="AltClsCompliant">The CLS-compliant alternative is {0}.</item>
+
+ <!-- Security Critical Boilerplate text-->
+ <item id="typeSecurityCriticalBoilerplate">This type has a SecurityCriticalAttribute attribute, which restricts it to internal use by the .NET Framework for Silverlight class library. Application code that uses any member of this type throws a MethodAccessException.</item>
+ <item id="memberSecurityCriticalBoilerplate">This member has a SecurityCriticalAttribute attribute, which restricts it to internal use by the .NET Framework for Silverlight class library. Application code that uses this member throws a MethodAccessException.</item>
+ <item id="securityCritical">[SECURITY CRITICAL] </item>
<!-- platform names that appear in the Platforms section on mref type and member pages
The id values must be in sync with the platform/@name values used in the manifold platformFilters.xml filter files.
@@ -446,10 +487,19 @@
<item id="PocketPC">Windows Mobile for Pocket PC</item>
<item id="SmartPhone">Windows Mobile for Smartphone</item>
<item id="WinSvr2003">Windows Server 2003</item>
+ <item id="WinSvr2008">Windows Server 2008</item>
+ <item id="WinSvr2008R2">Windows Server 2008 R2</item>
<item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
<item id="WinXPSE">Windows XP Starter Edition</item>
<item id="WinVista">Windows Vista</item>
+ <item id="Win7">Windows 7</item>
<item id="Xbox360">Xbox 360</item>
+ <item id="Zune">Zune</item>
+
+ <!-- Platforms boilerplate for Silverlight mref builds -->
+ <item id="silverlightplatforms">
+ For information on the operating systems and browsers supported by <include item="silverlight"/>, see "Supported Operating Systems and Browsers" in <conceptualLink target="d1c41046-1eef-4a73-8049-5c9f0487f7fc"/>.
+ </item>
<!-- framework ids:
These shared content item strings are used for the headings in the Version Information section
@@ -458,12 +508,15 @@
<item id="netfw">.NET Framework</item>
<item id="netcfw">.NET Compact Framework</item>
<item id="xnafw">XNA Framework</item>
+ <item id="silverlight">Silverlight</item>
<!-- framework version ids
These shared content item strings are used in the Version Information section.
These ids must be in sync with the ids used in the config file for VersionBuilder.
The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
-->
+ <item id="netfw40">4.0</item>
+ <item id="netfw35_1">3.5 SP1</item>
<item id="netfw35">3.5</item>
<item id="netfw30_1">3.0 SP1</item>
<item id="netfw30">3.0</item>
@@ -472,18 +525,23 @@
<item id="netfw11">1.1</item>
<item id="netfw10">1.0</item>
+ <item id="netcfw37">3.7</item>
<item id="netcfw35">3.5</item>
<item id="netcfw20">2.0</item>
<item id="netcfw10">1.0</item>
<item id="xnafw10">1.0</item>
+ <!-- silverlight version ids used in Version Information section. -->
+ <item id="silverlight20">2.0</item>
+ <item id="silverlight10">1.0</item>
+
<!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
<item id="xamlXmlnsRequirementsLayout"><b>XMLNS for XAML:</b> {0}</item>
<item id="unmappedXamlXmlns">Not mapped to an xmlns.</item>
<item id="secondaryFrameworkOverride"><br/><br/>In <include item="{0}"/>, this member is overridden by {1}.</item>
- <item id="secondaryFrameworkInherited"><br/><br/>In <include item="{0}"/>&#160;<include item="{1}"/>, this member is inherited from {2}<span class="languageSpecificText"><span class="cs">.</span><span class="vb">.</span><span class="cpp">::</span><span class="nu">.</span></span>{3}.</item>
+ <item id="secondaryFrameworkInherited"><br/><br/>In <include item="{0}"/>&#160;<include item="{1}"/>, this member is inherited from {2}<span class="languageSpecificText"><span class="cs">.</span><span class="vb">.</span><span class="cpp">::</span><span class="nu">.</span><span class="fs">.</span></span>{3}.</item>
<item id="secondaryFrameworkMember"><br/><br/>In <include item="{0}"/>&#160;<include item="{1}"/>, this member is {2}.</item>
<item id="useBaseSummary">This member overrides {0}.</item>
diff --git a/tools/Sandcastle/Presentation/vs2005/Content/shared_content.xml b/tools/Sandcastle/Presentation/vs2005/Content/shared_content.xml
index f4a3d99..75d17fd 100644
--- a/tools/Sandcastle/Presentation/vs2005/Content/shared_content.xml
+++ b/tools/Sandcastle/Presentation/vs2005/Content/shared_content.xml
@@ -19,19 +19,29 @@
<!-- header -->
<item id="header"><font color="DarkGray"></font><p/> </item>
+ <!-- freshness date -->
+ <item id="UpdateTitle"><font color="DarkGray">Updated: {0}</font></item>
+ <!-- if the TransformComponent of the BuildAssembler config file has the argument:
+ argument key="changeHistoryOptions" value="showDefaultFreshnessDate"
+ the "defaultFreshnessDate" item is used as the default freshness date for topics that don't have a Change History table. -->
+ <item id="defaultFreshnessDate"/>
+
+ <!-- change history table section-->
+ <item id="changeHistory">Change History</item>
+
<!-- topic title -->
<item id="nsrTitle">{0}</item>
<!-- alert titles -->
- <item id="tipTitle"><b>Tip:</b></item>
- <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>
+ <item id="tipTitle"><b>Tip</b></item>
+ <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</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>
<!-- alert alt text -->
<item id="tipAltText">Tip</item>
@@ -50,9 +60,14 @@
<item id="ManagedCPlusPlusLabel">Visual C++</item>
<item id="JSharpLabel">J#</item>
<item id="JScriptLabel">JScript</item>
+ <item id="JavaScriptLabel">JavaScript</item>
+ <item id="XAMLLabel">XAML</item>
<!-- section titles -->
<item id="exceptionsTitle">Exceptions</item>
+ <item id="contractsTitle">Contracts</item>
+ <item id="setterTitle">Set</item>
+ <item id="getterTitle">Get</item>
<item id="SeeAlso">See&#160;Also</item>
<item id="SeeAlsoTasks">Tasks</item>
<item id="SeeAlsoReference">Reference</item>
@@ -100,6 +115,7 @@
<item id="JScript">JScript</item>
<item id="xmlLang">Xml</item>
<item id="JavaScript">JavaScript</item>
+ <item id="FSharp">F#</item>
<item id="html">Html</item>
<item id="visualbasicANDcsharp"><include item="VisualBasic"/> and <include item="CSharp"/></item>
<item id="other"></item>
@@ -196,7 +212,7 @@
</a>
</span>
</item>
-<item id="MailToLink">javascript:SubmitFeedback('<include item="fb_alias" />','<include item="fb_product" />','<include item="fb_deliverable" />','{0}','{1}','<include item="fb_body" />');</item>
+<item id="MailToLink">javascript:SubmitFeedback('<include item="fb_alias" />','<include item="fb_product" />','<include item="fb_deliverable" />','{0}','{1}','<include item="fb_body" />','<include item="fb_subject" />');</item>
<!-- 5 star rating feedback control in sandcastle scenario-->
<!--
@@ -235,7 +251,7 @@
</span>
</item>
-<item id="MailToLink">javascript:SubmitFeedback('<include item="feedback_alias" />','<include item="feedback_product" />','<include item="feedback_deliverable" />','<include item="feedback_fileVersion" />','<include item="feedback_topicVersion" />','<include item="feedback_body" />');</item>
+<item id="MailToLink">javascript:SubmitFeedback('<include item="feedback_alias" />','<include item="feedback_product" />','<include item="feedback_deliverable" />','<include item="feedback_fileVersion" />','<include item="feedback_topicVersion" />','<include item="feedback_body" />','<include item="feedback_subject" />');</item>
-->
<item id="copyrightStatement"><include item="copyrightText"/></item>
diff --git a/tools/Sandcastle/Presentation/vs2005/Scripts/CommonUtilities.js b/tools/Sandcastle/Presentation/vs2005/Scripts/CommonUtilities.js
index e2d5767..42a9360 100644
--- a/tools/Sandcastle/Presentation/vs2005/Scripts/CommonUtilities.js
+++ b/tools/Sandcastle/Presentation/vs2005/Scripts/CommonUtilities.js
@@ -103,6 +103,8 @@ function GetDevlangCheckboxId(devlang)
return devlangsMenu.GetCheckboxId("JSharp");
case "JavaScript":
return devlangsMenu.GetCheckboxId("JavaScript");
+ case "FSharp":
+ return devlangsMenu.GetCheckboxId("FSharp");
default:
return "";
}
@@ -116,26 +118,36 @@ function styleSheetHandler(oneDevlang)
var sd = getStyleDictionary();
if (devlang == 'cs') {
- sd['span.cs'].display = 'inline';
- sd['span.vb'].display = 'none';
- sd['span.cpp'].display = 'none';
- sd['span.nu'].display = 'none';
+ sd['span.cs'].display = 'inline';
+ sd['span.vb'].display = 'none';
+ sd['span.cpp'].display = 'none';
+ sd['span.nu'].display = 'none';
+ sd['span.fs'].display = 'none';
} else if (devlang == 'vb') {
- sd['span.cs'].display = 'none';
- sd['span.vb'].display = 'inline';
- sd['span.cpp'].display = 'none';
- sd['span.nu'].display = 'none';
- } else if (devlang == 'cpp') {
- sd['span.cs'].display = 'none';
- sd['span.vb'].display = 'none';
- sd['span.cpp'].display = 'inline';
- sd['span.nu'].display = 'none';
- } else if (devlang == 'nu') {
- sd['span.cs'].display = 'none';
- sd['span.vb'].display = 'none';
- sd['span.cpp'].display = 'none';
- sd['span.nu'].display = 'inline';
- }
+ sd['span.cs'].display = 'none';
+ sd['span.vb'].display = 'inline';
+ sd['span.cpp'].display = 'none';
+ sd['span.nu'].display = 'none';
+ sd['span.fs'].display = 'none';
+ } else if (devlang == 'cpp') {
+ sd['span.cs'].display = 'none';
+ sd['span.vb'].display = 'none';
+ sd['span.cpp'].display = 'inline';
+ sd['span.nu'].display = 'none';
+ sd['span.fs'].display = 'none';
+ } else if (devlang == 'nu') {
+ sd['span.cs'].display = 'none';
+ sd['span.vb'].display = 'none';
+ sd['span.cpp'].display = 'none';
+ sd['span.nu'].display = 'inline';
+ sd['span.fs'].display = 'none';
+ } else if (devlang == 'fs') {
+ sd['span.cs'].display = 'none';
+ sd['span.vb'].display = 'none';
+ sd['span.cpp'].display = 'none';
+ sd['span.nu'].display = 'none';
+ sd['span.fs'].display = 'inline';
+ }
}
function getStyleDictionary() {
diff --git a/tools/Sandcastle/Presentation/vs2005/Scripts/script_feedBack.js b/tools/Sandcastle/Presentation/vs2005/Scripts/script_feedBack.js
index 4f79de1..55ee44a 100644
--- a/tools/Sandcastle/Presentation/vs2005/Scripts/script_feedBack.js
+++ b/tools/Sandcastle/Presentation/vs2005/Scripts/script_feedBack.js
@@ -82,9 +82,9 @@ function GetRating()
return sRating;
}
-function SubmitFeedback(alias, product, deliverable, productVersion, documentationVersion, defaultBody)
+function SubmitFeedback(alias, product, deliverable, productVersion, documentationVersion, defaultBody, defaultSubject)
{
- var subject = title
+ var subject = defaultSubject
+ " ("
+ "/1:"
+ product
diff --git a/tools/Sandcastle/Presentation/vs2005/Scripts/script_manifold.js b/tools/Sandcastle/Presentation/vs2005/Scripts/script_manifold.js
index 26bb631..ebc63a7 100644
--- a/tools/Sandcastle/Presentation/vs2005/Scripts/script_manifold.js
+++ b/tools/Sandcastle/Presentation/vs2005/Scripts/script_manifold.js
@@ -99,6 +99,13 @@ function HideSelect()
i = n;
}
break;
+ case "fsharp":
+ for (m=0; m<spanEles.length; m++)
+ {
+ if (spanEles[m].getAttribute("codeLanguage") == "FSharp" && spanEles[m].style.display != "none" && n < i)
+ i = n;
+ }
+ break;
}
}
if (i != 10)
diff --git a/tools/Sandcastle/Presentation/vs2005/Styles/Presentation.css b/tools/Sandcastle/Presentation/vs2005/Styles/Presentation.css
index 8c7e864..5fe081f 100644
--- a/tools/Sandcastle/Presentation/vs2005/Styles/Presentation.css
+++ b/tools/Sandcastle/Presentation/vs2005/Styles/Presentation.css
@@ -148,7 +148,7 @@ span.selflink {
}
span.nolink {
-
+ font-weight: bold;
}
/***********************************************************
@@ -233,7 +233,7 @@ div#header table tr#headerTableRow3 td
/* Applies to the lower table in the non-scrolling header region. Text in this table
includes Collapse All/Expand All, Language Filter, and Members Options. */
-div#header table#topTable
+div#header table#bottomTable
{
border-top-color: #FFFFFF;
border-top-style: solid;
@@ -891,6 +891,11 @@ span.nu {
display: inline;
}
+span.fs
+{
+ display: none;
+}
+
span.code {
font-family: Monospace, Courier New, Courier;
font-size: 105%;
diff --git a/tools/Sandcastle/Presentation/vs2005/configuration/conceptual.config b/tools/Sandcastle/Presentation/vs2005/configuration/conceptual.config
index 5458268..7025e18 100644
--- a/tools/Sandcastle/Presentation/vs2005/configuration/conceptual.config
+++ b/tools/Sandcastle/Presentation/vs2005/configuration/conceptual.config
@@ -50,45 +50,106 @@
<copy name="projectSettings" key="string('PBM_FileVersion')" 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;\r\n]*\&#34;" class="literal" />
- <color pattern="\b((AddHandler)|(AddressOf)|(As)|(Boolean)|(ByRef)|(ByVal)|(Case)|(Catch)|(Char)|(Class)|(Const)|(Continue)|(Delegate)|(Dim)|(Double)|(Each)|(Else)|(ElseIf)|(End)|(Enum)|(Event)|(Exit)|(False)|(Finally)|(For)|(Friend)|(From)|(Function)|(Get)|(Handles)|(If)|(Implements)|(Imports)|(In)|(Inherits)|(Integer)|(Interface)|(Is)|(Let)|(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)|(Return)|(Select)|(Set)|(Shadows)|(Shared)|(Static)|(Step)|(String)|(Structure)|(Sub)|(Then)|(Throw)|(To)|(True)|(Try)|(Until)|(Using)|(When)|(Where)|(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;\r\n]*\&#34;" class="literal" />
- <color pattern="\b((abstract)|(as)|(ascending)|(base)|(bool)|(break)|(by)|(case)|(catch)|(char)|(class)|(const)|(continue)|(default)|(delegate)|(descending)|(do)|(double)|(else)|(enum)|(equals)|(event)|(extern)|(false)|(finally)|(float)|(for)|(foreach)|(from)|(get)|(group)|(if)|(in)|(int)|(interface)|(internal)|(into)|(is)|(join)|(let)|(namespace)|(new)|(null)|(on)|(orderby)|(out)|(override)|(params)|(private)|(protected)|(public)|(readonly)|(ref)|(return)|(sealed)|(select)|(set)|(static)|(struct)|(switch)|(this)|(throw)|(true)|(try)|(typeof)|(using)|(virtual)|(volatile)|(void)|(where)|(while))\b" class="keyword" />
- </colors>
- <colors language="ManagedCPlusPlus">
- <color pattern="/\*(.|\n)+?\*/" class="comment" />
- <color pattern="//[^\r\n]*" class="comment" />
- <color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="literal" />
- <color pattern="\b((abstract)|(array)|(bool)|(break)|(case)|(catch)|(char)|(class)|(const)|(continue)|(delegate)|(delete)|(do)|(double)|(else)|(enum)|(event)|(extern)|(false)|(finally)|(float)|(for)|(friend)|(gcnew)|(generic)|(goto)|(if)|(initonly)|(inline)|(int)|(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>
+ <!-- Resolve code snippets -->
+ <component type="Microsoft.Ddue.Tools.SnippetComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <examples>
+ <example directory="d:\SnippetComponentTest\parsnip" />
+ </examples>
+ <!-- Each excludedUnits/unitFolder node specifies the name of a folder to exclude at the unit-level of the sample tree.
+ The unit folders are typically named "CS", "VB", etc.
+ Many example folders have "CPP_OLD" unit folders containing snippets that we do NOT want to include in the build. -->
+ <excludedUnits>
+ <unitFolder name="CPP_OLD" />
+ </excludedUnits>
+ <!-- You can specify an optional Parsnip approval log, in which case snippets are included only if they are in approved example units in the log. -->
+ <!-- TFS 480671 says DO NOT USE Parsnip approval logs for DevDiv content; ALL snippets should be included, regardless of Parsnip results. -->
+ <!--
+ <approvalLogs>
+ <approvalLog file="\\docbuildtask\snippet_building\Orcas\parsnip\approved-all.xml" />
+ </approvalLogs>
+ -->
+
+ <!-- language nodes specify:
+ @unit: name of the unit folders in the sample tree that contain examples in this language
+ @languageId: id for this language used in Manifold transforms, etc.
+ optional color nodes to specify rules for coloring snippets in this language
+ The order of language nodes determines the order in which the snippets are displayed
+ -->
+ <languages>
+ <language unit="VB" languageId="VisualBasic" extension=".vb">
+ <color pattern="^\s*'[^\r\n]*" class="comment" />
+ <color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="literal" />
+ <color pattern="\b((AddHandler)|(AddressOf)|(Alias)|(And)|(AndAlso)|(As)|(Boolean)|(ByRef)|(Byte)|(ByVal)|(Call)|(Case)|(Catch)|(CBool)|(CByte)|(CChar)|(CDate)|(CDec)|(CDbl)|(Char)|(CInt)|(Class)|(CLng)|(CObj)|(Const)|(Continue)|(CSByte)|(CShort)|(CSng)|(CStr)|(CType)|(CUInt)|(CULng)|(CUShort)|(Date)|(Decimal)|(Declare)|(Default)|(Delegate)|(Dim)|(DirectCast)|(Do)|(Double)|(Each)|(Else)|(ElseIf)|(End)|(EndIf)|(Enum)|(Erase)|(Error)|(Event)|(Exit)|(False)|(Finally)|(For)|(Friend)|(From)|(Function)|(Get)|(GetType)|(GetXMLNamespace)|(Global)|(GoSub)|(GoTo)|(Handles)|(If)|(Implements)|(Imports)|(In)|(Inherits)|(Integer)|(Interface)|(Is)|(IsNot)|(Let)|(Lib)|(Like)|(Long)|(Loop)|(Me)|(Mod)|(Module)|(MustInherit)|(MustOverride)|(MyBase)|(MyClass)|(Namespace)|(Narrowing)|(New)|(Next)|(Not)|(Nothing)|(NotInheritable)|(NotOverridable)|(Object)|(Of)|(On)|(Operator)|(Option)|(Optional)|(Or)|(OrElse)|(Overloads)|(Overridable)|(Overrides)|(ParamArray)|(Partial)|(Private)|(Property)|(Protected)|(Public)|(RaiseEvent)|(ReadOnly)|(ReDim)|(REM)|(RemoveHandler)|(Resume)|(Return)|(SByte)|(Select)|(Set)|(Shadows)|(Shared)|(Short)|(Single)|(Static)|(Step)|(Stop)|(String)|(Structure)|(Sub)|(SyncLock)|(Then)|(Throw)|(To)|(True)|(Try)|(TryCast)|(TypeOf)|(Variant)|(Wend)|(UInteger)|(ULong)|(UShort)|(Until)|(Using)|(When)|(Where)|(While)|(Widening)|(With)|(WithEvents)|(WriteOnly)|(Xor)|(#Const)|(#Else)|(#ElseIf)|(#End)|(#If))\b" class="keyword" />
+ </language>
+
+ <language unit="CS" languageId="CSharp" extension=".cs">
+ <color pattern="/\*(.|\n)+?\*/" class="comment" />
+ <color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="literal" />
+ <color pattern="//[^\r\n]*" class="comment" />
+ <color pattern="\b((abstract)|(as)|(ascending)|(base)|(bool)|(break)|(by)|(byte)|(case)|(catch)|(char)|(checked)|(class)|(const)|(continue)|(decimal)|(default)|(delegate)|(descending)|(do)|(double)|(else)|(enum)|(equals)|(event)|(explicit)|(extern)|(false)|(finally)|(fixed)|(float)|(for)|(foreach)|(from)|(get)|(goto)|(group)|(if)|(implicit)|(in)|(int)|(interface)|(internal)|(into)|(is)|(join)|(let)|(lock)|(long)|(namespace)|(new)|(null)|(object)|(operator)|(on)|(orderby)|(out)|(override)|(params)|(partial)|(private)|(protected)|(public)|(readonly)|(ref)|(return)|(sbyte)|(sealed)|(select)|(set)|(short)|(sizeof)|(stackalloc)|(static)|(string)|(struct)|(switch)|(this)|(throw)|(true)|(try)|(typeof)|(uint)|(ulong)|(unchecked)|(unsafe)|(ushort)|(using)|(value)|(var)|(yield)|(virtual)|(volatile)|(void)|(where)|(while))\b" class="keyword" />
+ </language>
+
+ <language unit="CPP" languageId="ManagedCPlusPlus" extension=".cpp">
+ <color pattern="/\*(.|\n)+?\*/" class="comment" />
+ <color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="literal" />
+ <color pattern="//[^\r\n]*" class="comment" />
+ <color pattern="\b((abstract)|(array)|(bool)|(break)|(case)|(catch)|(char)|(class)|(const)|(continue)|(default)|(delegate)|(delete)|(deprecated)|(dllexport)|(dllimport)|(do)|(double)|(else)|(enum)|(event)|(explicit)|(extern)|(false)|(finally)|(float)|(for)|(friend)|(gcnew)|(generic)|(goto)|(if)|(initonly)|(inline)|(int)|(interface)|(literal)|(long)|(mutable)|(naked)|(namespace)|(new)|(noinline)|(noreturn)|(nothrow)|(novtable)|(nullptr)|(operator)|(private)|(property)|(protected)|(public)|(ref)|(register)|(return)|(safecast)|(sealed)|(selectany)|(short)|(signed)|(sizeof)|(static)|(struct)|(switch)|(template)|(this)|(thread)|(throw)|(true)|(try)|(typedef)|(typeid)|(typename)|(union)|(unsigned)|(using)|(uuid)|(value)|(virtual)|(void)|(volatile)|(while))\b" class="keyword" />
+ </language>
+
+ <language unit="FS" languageId="FSharp" extension=".fs">
+ <color pattern="\(\*(.|\n)+?\*\)" class="comment" />"
+ <color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="literal" />
+ <color pattern="//[^\r\n]*" class="comment" />
+ <color pattern="\b((abstract)|(and)|(as)|(asr)|(assert)|(atomic)|(base)|(begin)|(break)|(checked)|(class)|(component)|(const)|(constraint)|(constructor)|(continue)|(default)|(delegate)|(do)|(done)|(downcast)|(downto)|(eager)|(elif)|(else)|(end)|(event)|(exception)|(extern)|(external)|(false)|(finally)|(fixed)|(for)|(fun)|(function)|(functor)|(global)|(if)|(in)|(include)|(inherit)|(inline)|(interface)|(internal)|(land)|(lazy)|(let)|(lor)|(lsl)|(lsr)|(lxor)|(match)|(member)|(method)|(mixin)|(mod)|(module)|(mutable)|(namespace)|(new)|(null)|(object)|(of)|(open)|(or)|(override)|(parallel)|(private)|(process)|(protected)|(public)|(pure)|(rec)|(return)|(sealed)|(sig)|(static)|(struct)|(tailcall)|(then)|(to)|(trait)|(true)|(try)|(type)|(upcast)|(use)|(val)|(virtual)|(void)|(volatile)|(when)|(while)|(with)|(yield))\b" class="keyword" />
+ </language>
+
+ <language unit="JS" languageId="JScript" />
+ <language unit="JSL" languageId="JSharp" />
+ <language unit="Common" languageId="None" />
+ <language unit="XAML" languageId="XAML" />
+ </languages>
+
</component>
+ <!-- Copy in topicTypes -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <context prefix="xlink" name="http://www.w3.org/1999/xlink" />
+ <variable expression="/document/topic/*/ddue:relatedTopics/*/@xlink:href" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <context prefix="xlink" name="http://www.w3.org/1999/xlink" />
+ <index name="topicType" value="/metadata/topic" key="@id">
+ <data base="%DXROOT%\Data\ContentMetadata" recurse="true" files="*.contentmetadata.xml" />
+ </index>
+ <copy name="topicType" source="topicType" target="/document/topic/*/ddue:relatedTopics/*[@xlink:href='{0}' and not(@topicType_id)]" attribute="true" ignoreCase="true" missing-target="error" />
+ </component>
+ </components>
+ </component>
+
<!-- transform -->
<component type="Microsoft.Ddue.Tools.TransformComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
<transform file="%DXROOT%\Presentation\Vs2005\transforms\main_conceptual.xsl">
- <argument key="metadata" value="true" />
- <argument key="languages">
- <language label="VisualBasic" name="VisualBasic" style="vb" />
+ <argument key="metadata" value="true" />
+ <argument key="languages">
+ <language label="VisualBasic" name="VisualBasic" style="vb" />
<language label="CSharp" name="CSharp" style="cs" />
<language label="ManagedCPlusPlus" name="ManagedCPlusPlus" style="cpp" />
- <language label="JSharp" name="JSharp" style="cs" />
<language label="JScript" name="JScript" style="cs" />
+ <language label="FSharp" name="FSharp" style="fs" />
</argument>
+ <!-- You can use the optional changeHistoryOptions argument to control display of freshness date and Change History sections.
+ If value='showDefaultFreshnessDate', all topics have a freshness date; default date is from 'defaultFreshnessDate' shared content item.
+ if value='omit', freshness date and Change History sections are omitted from all topics.
+ <argument key="changeHistoryOptions" value="omit" />
+ -->
</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" />
+ <targets input="%DXROOT%\Data\ArtStore" baseOutput=".\Output" outputPath="media" link="../media" map="%DXROOT%\Data\ArtSharedContent.loc.xml" />
</component>
<!-- resolve shared content -->
@@ -106,16 +167,16 @@
<!-- resolve reference links -->
<component type="Microsoft.Ddue.Tools.ResolveReferenceLinksComponent2" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <targets base="%DXROOT%\Data\Reflection\" recurse="true" files="*.xml" type="index" />
+ <targets base="%FxReflectionData%\" recurse="true" files="*.xml" 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" />
+ <save base=".\Output\html" path="concat($key,'.htm')" link="../html" indent="true" omit-xml-declaration="true" />
</component>
<!-- record file creation events -->
- <component type="Microsoft.Ddue.Tools.HxfGeneratorComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll" input="%DXROOT%\Presentation\vs2005\seed.HxF" output=".\Output\test.HxF" />
+ <component type="Microsoft.Ddue.Tools.HxfGeneratorComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll" input="%DXROOT%\Presentation\vs2005\seed.HxF" output="test.HxF" />
</components>
</builder>
diff --git a/tools/Sandcastle/Presentation/vs2005/configuration/reference-core-componentized.config b/tools/Sandcastle/Presentation/vs2005/configuration/reference-core-componentized.config
new file mode 100644
index 0000000..8081189
--- /dev/null
+++ b/tools/Sandcastle/Presentation/vs2005/configuration/reference-core-componentized.config
@@ -0,0 +1,374 @@
+<configuration>
+ <dduetools>
+ <builder>
+ <context>
+ <namespace prefix="ddue" uri="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ </context>
+ <components>
+
+ <!-- Create skeleton document -->
+ <component type="Microsoft.Ddue.Tools.CopyFromFileComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <data file="%DXROOT%\Presentation\vs2005\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 files=".\reflection.xml" />
+ </index>
+ <copy name="reflection" source="*" target="/document/reference" missing-entry="error" missing-source="error" missing-target="error" />
+ </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="topicdata|apidata|typedata|family|templates|attributes" target="/document/reference/containers//type[@api=$key]" missing-entry="error" missing-source="error" missing-target="error" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in type version data on memberlist topics -->
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" key="string(/document/reference/topicdata/@typeTopicId)" source="versions" target="/document/reference/topicdata" />
+ </component>
+
+ <!-- Copy in members version data for overload list topics -->
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" key="string(/document/reference[topicdata[@subgroup='overload']]/elements//element/@api)" source="versions" target="/document/reference[topicdata[@subgroup='overload']]/elements//element[@api=$key]" />
+ </component>
+
+ <!-- Copy in explicitInterfaceImplemented reflection data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/implements/member/@api | /document/reference/implements//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata" target="/document/reference/implements//*[@api=$key and not(apidata)]" />
+ <copy name="reflection" source="templates" target="/document/reference/implements//*[@api=$key and not(apidata) and not(specialization)]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in parameter data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/parameters/parameter//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata" target="/document/reference/parameters/parameter//type[boolean(@api=$key) and not(apidata)]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in return type reflection data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/returns//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata|typedata|family|templates|containers|attributes" target="/document/reference/returns//type[@api=$key]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in event handler type reflection data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/eventhandler/type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata|typedata|family|templates|containers|attributes" target="/document/reference/eventhandler/type[@api=$key]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Generate syntax -->
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="/document/reference/topicdata/@group='api'" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.SyntaxComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <syntax input="/document/reference" output="/document/syntax" />
+ <generators>
+ <generator name="VisualBasic" type="Microsoft.Ddue.Tools.VisualBasicDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator name="VisualBasicUsage" type="Microsoft.Ddue.Tools.VisualBasicUsageSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator name="CSharp" type="Microsoft.Ddue.Tools.CSharpDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator name="ManagedCPlusPlus" type="Microsoft.Ddue.Tools.CPlusPlusDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator name="JSharp" type="Microsoft.Ddue.Tools.JSharpDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator name="JScript" type="Microsoft.Ddue.Tools.JScriptDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator type="Microsoft.Ddue.Tools.XamlUsageSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll">
+ <!-- filter files specify xaml configuration info, e.g. to control the assemblies whose apis get xaml syntax -->
+ <filter files="%DXROOT%\Presentation\shared\configuration\xamlSyntax.config"/>
+ </generator>
+ <generator type="Microsoft.Ddue.Tools.AspNetSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ </generators>
+ </component>
+ </then>
+ </component>
+
+ <!-- Copy in metadata attributes -->
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <index name="metadata" value="/metadata/topic" key="@id">
+ <data files=".\SupportFiles\*Metadata.xml" />
+ </index>
+ <index name="version" value="/metadata/topic" key="@id">
+ <data files="Version.xml" />
+ </index>
+ <copy name="metadata" source="*" target="/document/metadata" missing-target="error" />
+ <copy name="metadata" key="string('*')" source="*" target="/document/metadata" missing-target="error" />
+ <copy name="version" key="string('*')" source="*" target="/document/metadata" missing-target="error" />
+ </component>
+
+ <!-- Copy in metadata project settings -->
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <index name="projectSettings" value="/*/item" key="@id">
+ <data files=".\ExtractedFiles\*projectsettings.xml" />
+ </index>
+ <copy name="projectSettings" key="string('PBM_FileVersion')" source="." target="/document/metadata" />
+ </component>
+
+ <!-- Copy in comments -->
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <index name="comments" value="/doc/members/member" key="@name" cache="100">
+ <data base=".\DdueXml" recurse="true" files="*.xml" />
+ </index>
+ <copy name="comments" source="*" target="/document/comments" missing-target="error" />
+ </component>
+
+ <!-- Copy in comments of overidden member -->
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="boolean(/document/comments/ddue:dduexml/ddue:useBase)" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" key="string(/document/reference/overrides/member/@api)" source="ddue:dduexml/ddue:summary|ddue:dduexml/ddue:parameters|ddue:dduexml/ddue:returnValue" target="/document/comments/ddue:dduexml" />
+ </component>
+ </then>
+ </component>
+
+ <!-- Copy in comments of parent topics for inherited overload topics -->
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="boolean(/document/reference/topicdata/@parentTopicId)" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" key="string(/document/reference/topicdata/@parentTopicId)" source="*" target="/document/comments" />
+ </component>
+ </then>
+ </component>
+
+ <!-- Copy in HowDoI tasks -->
+ <component type="Microsoft.Ddue.Tools.TaskGrabberComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5"/>
+ <keywords topic="/metadata/topic[keyword[@index='B']]" keyword="keyword[@index='B']" files=".\SupportFiles\HowDoIKeywords\*.xml"/>
+ <source value="/topic/ddue:developerHowToDocument" key="../@id">
+ <data files=".\SupportFiles\HowDoIData\*.xml"/>
+ </source>
+ <copy source="ddue:title|ddue:introduction|ddue:codeExample" target="/document/comments/ddue:dduexml/ddue:codeExamples/ddue:codeExample/ddue:legacy/ddue:content/ddue:codeReference[starts-with(.,'HOWDOI#')]"/>
+ </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;\r\n]*\&#34;" class="literal" />
+ <color pattern="\b((AddHandler)|(AddressOf)|(Alias)|(And)|(AndAlso)|(As)|(Boolean)|(ByRef)|(Byte)|(ByVal)|(Call)|(Case)|(Catch)|(CBool)|(CByte)|(CChar)|(CDate)|(CDec)|(CDbl)|(Char)|(CInt)|(Class)|(CLng)|(CObj)|(Const)|(Continue)|(CSByte)|(CShort)|(CSng)|(CStr)|(CType)|(CUInt)|(CULng)|(CUShort)|(Date)|(Decimal)|(Declare)|(Default)|(Delegate)|(Dim)|(DirectCast)|(Do)|(Double)|(Each)|(Else)|(ElseIf)|(End)|(EndIf)|(Enum)|(Erase)|(Error)|(Event)|(Exit)|(False)|(Finally)|(For)|(Friend)|(From)|(Function)|(Get)|(GetType)|(GetXMLNamespace)|(Global)|(GoSub)|(GoTo)|(Handles)|(If)|(Implements)|(Imports)|(In)|(Inherits)|(Integer)|(Interface)|(Is)|(IsNot)|(Let)|(Lib)|(Like)|(Long)|(Loop)|(Me)|(Mod)|(Module)|(MustInherit)|(MustOverride)|(MyBase)|(MyClass)|(Namespace)|(Narrowing)|(New)|(Next)|(Not)|(Nothing)|(NotInheritable)|(NotOverridable)|(Object)|(Of)|(On)|(Operator)|(Option)|(Optional)|(Or)|(OrElse)|(Overloads)|(Overridable)|(Overrides)|(ParamArray)|(Partial)|(Private)|(Property)|(Protected)|(Public)|(RaiseEvent)|(ReadOnly)|(ReDim)|(REM)|(RemoveHandler)|(Resume)|(Return)|(SByte)|(Select)|(Set)|(Shadows)|(Shared)|(Short)|(Single)|(Static)|(Step)|(Stop)|(String)|(Structure)|(Sub)|(SyncLock)|(Then)|(Throw)|(To)|(True)|(Try)|(TryCast)|(TypeOf)|(Variant)|(Wend)|(UInteger)|(ULong)|(UShort)|(Until)|(Using)|(When)|(Where)|(While)|(Widening)|(With)|(WithEvents)|(WriteOnly)|(Xor)|(#Const)|(#Else)|(#ElseIf)|(#End)|(#If))\b" class="keyword" />
+ </colors>
+ <colors language="CSharp">
+ <color pattern="/\*(.|\n)+?\*/" class="comment" />
+ <color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="literal" />
+ <color pattern="//[^\r\n]*" class="comment" />
+ <color pattern="\b((abstract)|(as)|(ascending)|(base)|(bool)|(break)|(by)|(byte)|(case)|(catch)|(char)|(checked)|(class)|(const)|(continue)|(decimal)|(default)|(delegate)|(descending)|(do)|(double)|(else)|(enum)|(equals)|(event)|(explicit)|(extern)|(false)|(finally)|(fixed)|(float)|(for)|(foreach)|(from)|(get)|(goto)|(group)|(if)|(implicit)|(in)|(int)|(interface)|(internal)|(into)|(is)|(join)|(let)|(lock)|(long)|(namespace)|(new)|(null)|(object)|(operator)|(on)|(orderby)|(out)|(override)|(params)|(partial)|(private)|(protected)|(public)|(readonly)|(ref)|(return)|(sbyte)|(sealed)|(select)|(set)|(short)|(sizeof)|(stackalloc)|(static)|(string)|(struct)|(switch)|(this)|(throw)|(true)|(try)|(typeof)|(uint)|(ulong)|(unchecked)|(unsafe)|(ushort)|(using)|(value)|(var)|(vield)|(virtual)|(volatile)|(void)|(where)|(while))\b" class="keyword" />
+ </colors>
+ <colors language="ManagedCPlusPlus">
+ <color pattern="/\*(.|\n)+?\*/" class="comment" />
+ <color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="literal" />
+ <color pattern="//[^\r\n]*" class="comment" />
+ <color pattern="\b((abstract)|(array)|(bool)|(break)|(case)|(catch)|(char)|(class)|(const)|(continue)|(default)|(delegate)|(delete)|(deprecated)|(dllexport)|(dllimport)|(do)|(double)|(else)|(enum)|(event)|(explicit)|(extern)|(false)|(finally)|(float)|(for)|(friend)|(gcnew)|(generic)|(goto)|(if)|(initonly)|(inline)|(int)|(interface)|(literal)|(long)|(mutable)|(naked)|(namespace)|(new)|(noinline)|(noreturn)|(nothrow)|(novtable)|(nullptr)|(operator)|(private)|(property)|(protected)|(public)|(ref)|(register)|(return)|(safecast)|(sealed)|(selectany)|(short)|(signed)|(sizeof)|(static)|(struct)|(switch)|(template)|(this)|(thread)|(throw)|(true)|(try)|(typedef)|(typeid)|(typename)|(union)|(unsigned)|(using)|(uuid)|(value)|(virtual)|(void)|(volatile)|(while))\b" class="keyword" />
+ </colors>
+ </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]/apidata)" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="*[not(self::elements)]" target="/document/reference/elements//element[@api=$key]" missing-entry="error" missing-source="error" missing-target="error" />
+ </component>
+ </then>
+ </component>
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="boolean(/document/reference/elements//element[@api=$key]/topicdata/@parentTopicId)" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" key="string(/document/reference/elements//element[@api=$key]/topicdata/@parentTopicId)" source="ddue:dduexml/ddue:summary|ddue:dduexml/ddue:useBase|ddue:dduexml/ddue:obsoleteCodeEntity|ddue:dduexml/ddue:clsCompliantAlternative|ddue:dduexml/ddue:platformNotes|ddue:dduexml/ddue:internalOnly" target="/document/reference/elements//element[@api=$key]" />
+ </component>
+ </then>
+ </component>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" source="ddue:dduexml/ddue:summary|ddue:dduexml/ddue:useBase|ddue:dduexml/ddue:obsoleteCodeEntity|ddue:dduexml/ddue:clsCompliantAlternative|ddue:dduexml/ddue:platformNotes|ddue:dduexml/ddue:internalOnly" target="/document/reference/elements//element[@api=$key]" missing-target="error" />
+ </component>
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="boolean(/document/reference/elements//element[@api=$key]/ddue:useBase)" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" key="string(/document/reference/elements//element[@api=$key]/overrides/member/@api)" source="ddue:dduexml/ddue:summary" target="/document/reference/elements//element[@api=$key]" />
+ </component>
+ </then>
+ </component>
+ </components>
+ </component>
+
+ <!-- Add platforms data -->
+ <component type="Microsoft.Ddue.Tools.PlatformsComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <!-- The order of filter files in this config determines the order of platforms in the output. -->
+ <filter files=".\SupportFiles\Platforms\WinVista.xml"/>
+ <filter files=".\SupportFiles\Platforms\WinXP.xml"/>
+ <filter files=".\SupportFiles\Platforms\WinXpMediaCenter.xml"/>
+ <filter files=".\SupportFiles\Platforms\WinXPPro64.xml"/>
+ <filter files=".\SupportFiles\Platforms\WinXPSE.xml"/>
+ <filter files=".\SupportFiles\Platforms\WinSvr2003.xml"/>
+ <filter files=".\SupportFiles\Platforms\WinSvr2000.xml"/>
+ <filter files=".\SupportFiles\Platforms\WinME.xml"/>
+ <filter files=".\SupportFiles\Platforms\Win98.xml"/>
+ <filter files=".\SupportFiles\Platforms\WindowsCE.xml"/>
+ <filter files=".\SupportFiles\Platforms\SmartPhone.xml"/>
+ <filter files=".\SupportFiles\Platforms\PocketPC.xml"/>
+ <filter files=".\SupportFiles\Platforms\Xbox360.xml"/>
+ </component>
+
+ <!-- Copy in comments for a member list topic's declaring type. -->
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="boolean(/document/reference/topicdata[@group='list' and @subgroup!='overload'])" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" key="string(/document/reference/topicdata[@group='list' and @subgroup!='overload']/@typeTopicId)"
+ source="ddue:dduexml/ddue:summary|ddue:dduexml/ddue:useBase|ddue:dduexml/ddue:obsoleteCodeEntity|ddue:dduexml/ddue:clsCompliantAlternative|ddue:dduexml/ddue:platformNotes|ddue:dduexml/ddue:internalOnly"
+ target="/document/reference/containers" />
+ </component>
+ </then>
+ </component>
+
+ <!-- Copy in comments for a member's declaring type. -->
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="boolean((/document/reference/topicdata[@group='list' and @subgroup='overload']) | (/document/reference/apidata[@group='member']))" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" key="string(/document/reference/containers/type/@api)"
+ source="ddue:dduexml/ddue:summary|ddue:dduexml/ddue:useBase|ddue:dduexml/ddue:obsoleteCodeEntity|ddue:dduexml/ddue:clsCompliantAlternative|ddue:dduexml/ddue:platformNotes|ddue:dduexml/ddue:internalOnly"
+ target="/document/reference/containers" />
+ </component>
+ </then>
+ </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="/document//ddue:token" item="string(.)" />
+ </component>
+
+ <!-- Copy in topicTypes -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <context prefix="xlink" name="http://www.w3.org/1999/xlink" />
+ <variable expression="/document/comments/ddue:relatedTopics/*/@xlink:href" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <context prefix="xlink" name="http://www.w3.org/1999/xlink" />
+ <index name="topicType" value="/metadata/topic" key="@id">
+ <data base="%DXROOT%\Data\ContentMetadata" recurse="true" files="*.contentmetadata.xml" />
+ </index>
+ <copy name="topicType" source="topicType" target="/document/comments/ddue:relatedTopics/*[@xlink:href='{0}' and not(@topicType_id)]" attribute="true" ignoreCase="true" missing-target="error" />
+ </component>
+ </components>
+ </component>
+
+ <!-- transform -->
+ <component type="Microsoft.Ddue.Tools.TransformComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <transform file="%DXROOT%\Presentation\vs2005\transforms\main_reference.xsl">
+ <argument key="metadata" value="true" />
+ <argument key="languages">
+ <language label="VisualBasic" name="VisualBasic" style="vb" />
+ <language label="CSharp" name="CSharp" style="cs" />
+ <language label="ManagedCPlusPlus" name="ManagedCPlusPlus" style="cpp" />
+ <language label="JSharp" name="JSharp" style="cs" />
+ <language label="JScript" name="JScript" style="cs" />
+ </argument>
+ <argument key="omitAptcaBoilerplate" value="false" />
+ <argument key="RTMReleaseDate" value="June 2007" />
+ </transform>
+ </component>
+
+ <!-- resolve art links -->
+ <component type="Microsoft.Ddue.Tools.ResolveArtLinksComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <targets input="%DXROOT%\Data\ArtStore" baseOutput=".\Output" outputPath="concat(/html/head/meta[@name='container']/@content,'\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\vs2005\content\shared_content.xml" />
+ <content file="%DXROOT%\Presentation\Vs2005\content\feedBack_content.xml" />
+ <content file="%DXROOT%\Presentation\vs2005\content\reference_content.xml" />
+ <content file="%DXROOT%\Presentation\shared\content\syntax_content.xml" />
+ </component>
+
+ <!-- resolve conceptual links -->
+ <component type="Microsoft.Ddue.Tools.ResolveConceptualLinksComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <targets base="%DXROOT%\Data\XmlComp" type="index"/>
+ </component>
+
+ <!-- resolve reference links -->
+ <component type="Microsoft.Ddue.Tools.ResolveReferenceLinksComponent2" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <targets files=".\reflection.xml" type="LocalOrIndex" />
+ </component>
+
+<!--
+ <component type="Microsoft.Ddue.Tools.DisplayComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <xpath>/</xpath>
+ </component>
+-->
+
+ <!-- Write out intellisense -->
+ <component type="Microsoft.Ddue.Tools.IntellisenseComponent2" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <output directory=".\Intellisense" />
+ <expressions root="/html/body/div[@id='mainSection']/div[@id='mainBody']"
+ assembly="string(span[@sdata='assembly'])"
+ summary="span[@sdata='authoredSummary']"
+ parameters="div[@id='syntaxSection']/div[@id='parameters']/dl"
+ parameterContent="dd/span[@sdata='authoredParameterSummary']"
+ templates="div[@id='syntaxSection']/div[@id='genericParameters']/dl"
+ templateContent="dd"
+ returns="div[@id='syntaxSection']/div[@id='returns']/span[@sdata='authoredValueSummary']"
+ exception="div[@id='ddueExceptionsSection']/div[@class='tableSection']/table/tr/td[2]"
+ exceptionCref="../td[1]/span[@sdata='cer']"
+ enumeration="div[@id='enumerationSection']/div[@id='membersSection']/table[@class='members']/tr/td[3]"
+ enumerationApi="../td[2]"
+ memberSummary="span[@sdata='memberAuthoredSummary']" />
+ </component>
+
+ <!-- save the result -->
+ <component type="Microsoft.Ddue.Tools.SaveComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <save base=".\Output" path="concat(/html/head/meta[@name='container']/@content,'\html\',/html/head/meta[@name='file']/@content,'.htm')" indent="true" omit-xml-declaration="true" />
+ </component>
+
+ <!-- record file creation events -->
+ <component type="Microsoft.Ddue.Tools.HxfGeneratorComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll" input="%DXROOT%\Presentation\vs2005\seed.HxF" output="test.HXF" />
+
+ </components>
+ </builder>
+ </dduetools>
+</configuration>
diff --git a/tools/Sandcastle/Presentation/vs2005/configuration/reference-core.config b/tools/Sandcastle/Presentation/vs2005/configuration/reference-core.config
new file mode 100644
index 0000000..56a14dd
--- /dev/null
+++ b/tools/Sandcastle/Presentation/vs2005/configuration/reference-core.config
@@ -0,0 +1,373 @@
+<configuration>
+ <dduetools>
+ <builder>
+ <context>
+ <namespace prefix="ddue" uri="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ </context>
+ <components>
+
+ <!-- Create skeleton document -->
+ <component type="Microsoft.Ddue.Tools.CopyFromFileComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <data file="%DXROOT%\Presentation\vs2005\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 files=".\reflection.xml" />
+ </index>
+ <copy name="reflection" source="*" target="/document/reference" missing-entry="error" missng-source="error" missing-target="error" />
+ </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="topicdata|apidata|typedata|family|templates|attributes" target="/document/reference/containers//type[@api=$key]" missing-entry="error" missing-source="error" missing-target="error" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in type version data on memberlist topics -->
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" key="string(/document/reference/topicdata/@typeTopicId)" source="versions" target="/document/reference/topicdata" />
+ </component>
+
+ <!-- Copy in members version data for overload list topics -->
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" key="string(/document/reference[topicdata[@subgroup='overload']]/elements//element/@api)" source="versions" target="/document/reference[topicdata[@subgroup='overload']]/elements//element[@api=$key]" />
+ </component>
+
+ <!-- Copy in explicitInterfaceImplemented reflection data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/implements/member/@api | /document/reference/implements//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata" target="/document/reference/implements//*[@api=$key and not(apidata)]" />
+ <copy name="reflection" source="templates" target="/document/reference/implements//*[@api=$key and not(apidata) and not(specialization)]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in parameter data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/parameters/parameter//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata" target="/document/reference/parameters/parameter//type[boolean(@api=$key) and not(apidata)]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in return type reflection data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/returns//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata|typedata|family|templates|containers|attributes" target="/document/reference/returns//type[@api=$key]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in event handler type reflection data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/eventhandler/type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata|typedata|family|templates|containers|attributes" target="/document/reference/eventhandler/type[@api=$key]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Generate syntax -->
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="/document/reference/topicdata/@group='api'" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.SyntaxComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <syntax input="/document/reference" output="/document/syntax" />
+ <generators>
+ <generator name="VisualBasic" type="Microsoft.Ddue.Tools.VisualBasicDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator name="VisualBasicUsage" type="Microsoft.Ddue.Tools.VisualBasicUsageSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator name="CSharp" type="Microsoft.Ddue.Tools.CSharpDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator name="ManagedCPlusPlus" type="Microsoft.Ddue.Tools.CPlusPlusDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator name="JSharp" type="Microsoft.Ddue.Tools.JSharpDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator name="JScript" type="Microsoft.Ddue.Tools.JScriptDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator type="Microsoft.Ddue.Tools.XamlUsageSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll">
+ <!-- filter files specify xaml configuration info, e.g. to control the assemblies whose apis get xaml syntax -->
+ <filter files="%DXROOT%\Presentation\shared\configuration\xamlSyntax.config"/>
+ </generator>
+ <generator type="Microsoft.Ddue.Tools.AspNetSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ </generators>
+ </component>
+ </then>
+ </component>
+
+ <!-- Copy in metadata attributes -->
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <index name="metadata" value="/metadata/topic" key="@id">
+ <data files=".\SupportFiles\*Metadata.xml" />
+ </index>
+ <index name="version" value="/metadata/topic" key="@id">
+ <data files="Version.xml" />
+ </index>
+ <copy name="metadata" source="*" target="/document/metadata" missing-target="error" />
+ <copy name="metadata" key="string('*')" source="*" target="/document/metadata" missing-target="error" />
+ <copy name="version" key="string('*')" source="*" target="/document/metadata" missing-target="error" />
+ </component>
+
+ <!-- Copy in metadata project settings -->
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <index name="projectSettings" value="/*/item" key="@id">
+ <data files=".\ExtractedFiles\*projectsettings.xml" />
+ </index>
+ <copy name="projectSettings" key="string('PBM_FileVersion')" source="." target="/document/metadata" />
+ </component>
+
+ <!-- Copy in comments -->
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <index name="comments" value="/doc/members/member" key="@name" cache="100">
+ <data base=".\DdueXml" recurse="true" files="*.xml" />
+ </index>
+ <copy name="comments" source="*" target="/document/comments" missing-target="error" />
+ </component>
+
+ <!-- Copy in comments of overidden member -->
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="boolean(/document/comments/ddue:dduexml/ddue:useBase)" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" key="string(/document/reference/overrides/member/@api)" source="ddue:dduexml/ddue:summary|ddue:dduexml/ddue:parameters|ddue:dduexml/ddue:returnValue" target="/document/comments/ddue:dduexml" />
+ </component>
+ </then>
+ </component>
+
+ <!-- Copy in comments of parent topics for inherited overload topics -->
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="boolean(/document/reference/topicdata/@parentTopicId)" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" key="string(/document/reference/topicdata/@parentTopicId)" source="*" target="/document/comments" />
+ </component>
+ </then>
+ </component>
+
+ <!-- Copy in HowDoI tasks -->
+ <component type="Microsoft.Ddue.Tools.TaskGrabberComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5"/>
+ <keywords topic="/metadata/topic[keyword[@index='B']]" keyword="keyword[@index='B']" files=".\SupportFiles\HowDoIKeywords\*.xml"/>
+ <source value="/topic/ddue:developerHowToDocument" key="../@id">
+ <data files=".\SupportFiles\HowDoIData\*.xml"/>
+ </source>
+ <copy source="ddue:title|ddue:introduction|ddue:codeExample" target="/document/comments/ddue:dduexml/ddue:codeExamples/ddue:codeExample/ddue:legacy/ddue:content/ddue:codeReference[starts-with(.,'HOWDOI#')]"/>
+ </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;\r\n]*\&#34;" class="literal" />
+ <color pattern="\b((AddHandler)|(AddressOf)|(Alias)|(And)|(AndAlso)|(As)|(Boolean)|(ByRef)|(Byte)|(ByVal)|(Call)|(Case)|(Catch)|(CBool)|(CByte)|(CChar)|(CDate)|(CDec)|(CDbl)|(Char)|(CInt)|(Class)|(CLng)|(CObj)|(Const)|(Continue)|(CSByte)|(CShort)|(CSng)|(CStr)|(CType)|(CUInt)|(CULng)|(CUShort)|(Date)|(Decimal)|(Declare)|(Default)|(Delegate)|(Dim)|(DirectCast)|(Do)|(Double)|(Each)|(Else)|(ElseIf)|(End)|(EndIf)|(Enum)|(Erase)|(Error)|(Event)|(Exit)|(False)|(Finally)|(For)|(Friend)|(From)|(Function)|(Get)|(GetType)|(GetXMLNamespace)|(Global)|(GoSub)|(GoTo)|(Handles)|(If)|(Implements)|(Imports)|(In)|(Inherits)|(Integer)|(Interface)|(Is)|(IsNot)|(Let)|(Lib)|(Like)|(Long)|(Loop)|(Me)|(Mod)|(Module)|(MustInherit)|(MustOverride)|(MyBase)|(MyClass)|(Namespace)|(Narrowing)|(New)|(Next)|(Not)|(Nothing)|(NotInheritable)|(NotOverridable)|(Object)|(Of)|(On)|(Operator)|(Option)|(Optional)|(Or)|(OrElse)|(Overloads)|(Overridable)|(Overrides)|(ParamArray)|(Partial)|(Private)|(Property)|(Protected)|(Public)|(RaiseEvent)|(ReadOnly)|(ReDim)|(REM)|(RemoveHandler)|(Resume)|(Return)|(SByte)|(Select)|(Set)|(Shadows)|(Shared)|(Short)|(Single)|(Static)|(Step)|(Stop)|(String)|(Structure)|(Sub)|(SyncLock)|(Then)|(Throw)|(To)|(True)|(Try)|(TryCast)|(TypeOf)|(Variant)|(Wend)|(UInteger)|(ULong)|(UShort)|(Until)|(Using)|(When)|(Where)|(While)|(Widening)|(With)|(WithEvents)|(WriteOnly)|(Xor)|(#Const)|(#Else)|(#ElseIf)|(#End)|(#If))\b" class="keyword" />
+ </colors>
+ <colors language="CSharp">
+ <color pattern="/\*(.|\n)+?\*/" class="comment" />
+ <color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="literal" />
+ <color pattern="//[^\r\n]*" class="comment" />
+ <color pattern="\b((abstract)|(as)|(ascending)|(base)|(bool)|(break)|(by)|(byte)|(case)|(catch)|(char)|(checked)|(class)|(const)|(continue)|(decimal)|(default)|(delegate)|(descending)|(do)|(double)|(else)|(enum)|(equals)|(event)|(explicit)|(extern)|(false)|(finally)|(fixed)|(float)|(for)|(foreach)|(from)|(get)|(goto)|(group)|(if)|(implicit)|(in)|(int)|(interface)|(internal)|(into)|(is)|(join)|(let)|(lock)|(long)|(namespace)|(new)|(null)|(object)|(operator)|(on)|(orderby)|(out)|(override)|(params)|(partial)|(private)|(protected)|(public)|(readonly)|(ref)|(return)|(sbyte)|(sealed)|(select)|(set)|(short)|(sizeof)|(stackalloc)|(static)|(string)|(struct)|(switch)|(this)|(throw)|(true)|(try)|(typeof)|(uint)|(ulong)|(unchecked)|(unsafe)|(ushort)|(using)|(value)|(var)|(vield)|(virtual)|(volatile)|(void)|(where)|(while))\b" class="keyword" />
+ </colors>
+ <colors language="ManagedCPlusPlus">
+ <color pattern="/\*(.|\n)+?\*/" class="comment" />
+ <color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="literal" />
+ <color pattern="//[^\r\n]*" class="comment" />
+ <color pattern="\b((abstract)|(array)|(bool)|(break)|(case)|(catch)|(char)|(class)|(const)|(continue)|(default)|(delegate)|(delete)|(deprecated)|(dllexport)|(dllimport)|(do)|(double)|(else)|(enum)|(event)|(explicit)|(extern)|(false)|(finally)|(float)|(for)|(friend)|(gcnew)|(generic)|(goto)|(if)|(initonly)|(inline)|(int)|(interface)|(literal)|(long)|(mutable)|(naked)|(namespace)|(new)|(noinline)|(noreturn)|(nothrow)|(novtable)|(nullptr)|(operator)|(private)|(property)|(protected)|(public)|(ref)|(register)|(return)|(safecast)|(sealed)|(selectany)|(short)|(signed)|(sizeof)|(static)|(struct)|(switch)|(template)|(this)|(thread)|(throw)|(true)|(try)|(typedef)|(typeid)|(typename)|(union)|(unsigned)|(using)|(uuid)|(value)|(virtual)|(void)|(volatile)|(while))\b" class="keyword" />
+ </colors>
+ </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]/apidata)" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="*[not(self::elements)]" target="/document/reference/elements//element[@api=$key]" missing-entry="error" missing-source="error" missing-target="error" />
+ </component>
+ </then>
+ </component>
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="boolean(/document/reference/elements//element[@api=$key]/topicdata/@parentTopicId)" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" key="string(/document/reference/elements//element[@api=$key]/topicdata/@parentTopicId)" source="ddue:dduexml/ddue:summary|ddue:dduexml/ddue:useBase|ddue:dduexml/ddue:obsoleteCodeEntity|ddue:dduexml/ddue:clsCompliantAlternative|ddue:dduexml/ddue:platformNotes|ddue:dduexml/ddue:internalOnly" target="/document/reference/elements//element[@api=$key]" />
+ </component>
+ </then>
+ </component>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" source="ddue:dduexml/ddue:summary|ddue:dduexml/ddue:useBase|ddue:dduexml/ddue:obsoleteCodeEntity|ddue:dduexml/ddue:clsCompliantAlternative|ddue:dduexml/ddue:platformNotes|ddue:dduexml/ddue:internalOnly" target="/document/reference/elements//element[@api=$key]" missing-target="error" />
+ </component>
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="boolean(/document/reference/elements//element[@api=$key]/ddue:useBase)" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" key="string(/document/reference/elements//element[@api=$key]/overrides/member/@api)" source="ddue:dduexml/ddue:summary" target="/document/reference/elements//element[@api=$key]" />
+ </component>
+ </then>
+ </component>
+ </components>
+ </component>
+
+ <!-- Add platforms data -->
+ <component type="Microsoft.Ddue.Tools.PlatformsComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <!-- The order of filter files in this config determines the order of platforms in the output. -->
+ <filter files=".\SupportFiles\Platforms\WinVista.xml"/>
+ <filter files=".\SupportFiles\Platforms\WinXP.xml"/>
+ <filter files=".\SupportFiles\Platforms\WinXpMediaCenter.xml"/>
+ <filter files=".\SupportFiles\Platforms\WinXPPro64.xml"/>
+ <filter files=".\SupportFiles\Platforms\WinXPSE.xml"/>
+ <filter files=".\SupportFiles\Platforms\WinSvr2003.xml"/>
+ <filter files=".\SupportFiles\Platforms\WinSvr2000.xml"/>
+ <filter files=".\SupportFiles\Platforms\WinME.xml"/>
+ <filter files=".\SupportFiles\Platforms\Win98.xml"/>
+ <filter files=".\SupportFiles\Platforms\WindowsCE.xml"/>
+ <filter files=".\SupportFiles\Platforms\SmartPhone.xml"/>
+ <filter files=".\SupportFiles\Platforms\PocketPC.xml"/>
+ <filter files=".\SupportFiles\Platforms\Xbox360.xml"/>
+ </component>
+
+ <!-- Copy in comments for a member list topic's declaring type. -->
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="boolean(/document/reference/topicdata[@group='list' and @subgroup!='overload'])" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" key="string(/document/reference/topicdata[@group='list' and @subgroup!='overload']/@typeTopicId)"
+ source="ddue:dduexml/ddue:summary|ddue:dduexml/ddue:useBase|ddue:dduexml/ddue:obsoleteCodeEntity|ddue:dduexml/ddue:clsCompliantAlternative|ddue:dduexml/ddue:platformNotes|ddue:dduexml/ddue:internalOnly"
+ target="/document/reference/containers" />
+ </component>
+ </then>
+ </component>
+
+ <!-- Copy in comments for a member's declaring type. -->
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="boolean((/document/reference/topicdata[@group='list' and @subgroup='overload']) | (/document/reference/apidata[@group='member']))" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" key="string(/document/reference/containers/type/@api)"
+ source="ddue:dduexml/ddue:summary|ddue:dduexml/ddue:useBase|ddue:dduexml/ddue:obsoleteCodeEntity|ddue:dduexml/ddue:clsCompliantAlternative|ddue:dduexml/ddue:platformNotes|ddue:dduexml/ddue:internalOnly"
+ target="/document/reference/containers" />
+ </component>
+ </then>
+ </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="/document//ddue:token" item="string(.)" />
+ </component>
+
+ <!-- Copy in topicTypes -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <context prefix="xlink" name="http://www.w3.org/1999/xlink" />
+ <variable expression="/document/comments/ddue:relatedTopics/*/@xlink:href" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <context prefix="xlink" name="http://www.w3.org/1999/xlink" />
+ <index name="topicType" value="/metadata/topic" key="@id">
+ <data base="%DXROOT%\Data\ContentMetadata" recurse="true" files="*.contentmetadata.xml" />
+ </index>
+ <copy name="topicType" source="topicType" target="/document/comments/ddue:relatedTopics/*[@xlink:href='{0}' and not(@topicType_id)]" attribute="true" ignoreCase="true" missing-target="error" />
+ </component>
+ </components>
+ </component>
+
+ <!-- transform -->
+ <component type="Microsoft.Ddue.Tools.TransformComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <transform file="%DXROOT%\Presentation\vs2005\transforms\main_reference.xsl">
+ <argument key="metadata" value="true" />
+ <argument key="languages">
+ <language label="VisualBasic" name="VisualBasic" style="vb" />
+ <language label="CSharp" name="CSharp" style="cs" />
+ <language label="ManagedCPlusPlus" name="ManagedCPlusPlus" style="cpp" />
+ <language label="JSharp" name="JSharp" style="cs" />
+ <language label="JScript" name="JScript" style="cs" />
+ </argument>
+ <argument key="omitAptcaBoilerplate" value="false" />
+ <argument key="RTMReleaseDate" value="June 2007" />
+ </transform>
+ </component>
+
+ <!-- resolve art links -->
+ <component type="Microsoft.Ddue.Tools.ResolveArtLinksComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <targets input="%DXROOT%\Data\ArtStore" baseOutput=".\Output" outputPath="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\vs2005\content\shared_content.xml" />
+ <content file="%DXROOT%\Presentation\Vs2005\content\feedBack_content.xml" />
+ <content file="%DXROOT%\Presentation\vs2005\content\reference_content.xml" />
+ <content file="%DXROOT%\Presentation\shared\content\syntax_content.xml" />
+ </component>
+
+ <!-- resolve conceptual links -->
+ <component type="Microsoft.Ddue.Tools.ResolveConceptualLinksComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <targets base="%DXROOT%\Data\XmlComp" type="index"/>
+ </component>
+
+ <!-- resolve reference links -->
+ <component type="Microsoft.Ddue.Tools.ResolveReferenceLinksComponent2" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <targets files=".\reflection.xml" type="local" />
+ </component>
+<!--
+ <component type="Microsoft.Ddue.Tools.DisplayComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <xpath>/</xpath>
+ </component>
+ -->
+
+ <!-- Write out intellisense -->
+ <component type="Microsoft.Ddue.Tools.IntellisenseComponent2" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <output directory=".\Intellisense" />
+ <expressions root="/html/body/div[@id='mainSection']/div[@id='mainBody']"
+ assembly="string(span[@sdata='assembly'])"
+ summary="span[@sdata='authoredSummary']"
+ parameters="div[@id='syntaxSection']/div[@id='parameters']/dl"
+ parameterContent="dd/span[@sdata='authoredParameterSummary']"
+ templates="div[@id='syntaxSection']/div[@id='genericParameters']/dl"
+ templateContent="dd"
+ returns="div[@id='syntaxSection']/div[@id='returns']/span[@sdata='authoredValueSummary']"
+ exception="div[@id='ddueExceptionsSection']/div[@class='tableSection']/table/tr/td[2]"
+ exceptionCref="../td[1]/span[@sdata='cer']"
+ enumeration="div[@id='enumerationSection']/div[@id='membersSection']/table[@class='members']/tr/td[3]"
+ enumerationApi="../td[2]"
+ memberSummary="span[@sdata='memberAuthoredSummary']" />
+ </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')" link="../html" indent="true" omit-xml-declaration="true" />
+ </component>
+
+ <!-- record file creation events -->
+ <component type="Microsoft.Ddue.Tools.HxfGeneratorComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll" input="%DXROOT%\Presentation\vs2005\seed.HxF" output="test.HxF" />
+
+ </components>
+ </builder>
+ </dduetools>
+</configuration>
diff --git a/tools/Sandcastle/Presentation/vs2005/configuration/reference.config b/tools/Sandcastle/Presentation/vs2005/configuration/reference.config
new file mode 100644
index 0000000..775ec5b
--- /dev/null
+++ b/tools/Sandcastle/Presentation/vs2005/configuration/reference.config
@@ -0,0 +1,344 @@
+<configuration>
+ <dduetools>
+ <builder>
+
+ <context>
+ <namespace prefix="ddue" uri="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ </context>
+
+ <components>
+
+ <!-- Create skeleton document -->
+ <component type="Microsoft.Ddue.Tools.CopyFromFileComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <data file="%DXROOT%\Presentation\vs2005\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="topicdata|apidata|typedata|family|templates|attributes" target="/document/reference/containers//type[@api=$key]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in type version data on memberlist topics -->
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" key="string(/document/reference/topicdata/@typeTopicId)" source="versions" target="/document/reference/topicdata" />
+ </component>
+
+ <!-- Copy in members version data for overload list topics -->
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" key="string(/document/reference[topicdata[@subgroup='overload']]/elements//element/@api)" source="versions" target="/document/reference[topicdata[@subgroup='overload']]/elements//element[@api=$key]" />
+ </component>
+
+ <!-- Copy in explicitInterfaceImplemented reflection data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/implements/member/@api | /document/reference/implements//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata" target="/document/reference/implements//*[@api=$key and not(apidata)]" />
+ <copy name="reflection" source="templates" target="/document/reference/implements//*[@api=$key and not(apidata) and not(specialization)]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in parameter data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/parameters/parameter//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata" target="/document/reference/parameters/parameter//type[boolean(@api=$key) and not(apidata)]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in return type reflection data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/returns//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata|typedata|family|templates|containers|attributes" target="/document/reference/returns//type[@api=$key]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in event handler type reflection data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/eventhandler/type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata|typedata|family|templates|containers|attributes" target="/document/reference/eventhandler/type[@api=$key]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Generate syntax -->
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="/document/reference/topicdata/@group='api'" />
+ <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.VisualBasicDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator type="Microsoft.Ddue.Tools.VisualBasicUsageSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator type="Microsoft.Ddue.Tools.CSharpDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator type="Microsoft.Ddue.Tools.CPlusPlusDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator type="Microsoft.Ddue.Tools.JScriptDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator type="Microsoft.Ddue.Tools.XamlUsageSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll">
+ <!-- filter files specify xaml configuration info, e.g. to control the assemblies whose apis get xaml syntax -->
+ <filter files="%DXROOT%\Presentation\shared\configuration\xamlSyntax.config"/>
+ </generator>
+ </generators>
+ </component>
+ </then>
+ </component>
+
+ <!-- Copy in metadata attributes -->
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <index name="metadata" value="/metadata/topic" key="@id">
+ <data files=".\SupportFiles\*Metadata.xml" />
+ </index>
+ <index name="version" value="/metadata/topic" key="@id">
+ <data files="Version.xml" />
+ </index>
+ <copy name="metadata" source="*" target="/document/metadata" />
+ <copy name="metadata" key="string('*')" source="*" target="/document/metadata" missing-target="error" />
+ <copy name="version" key="string('*')" source="*" target="/document/metadata" missing-target="error" />
+ </component>
+
+ <!-- Copy in metadata project settings -->
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <index name="projectSettings" value="/*/item" key="@id">
+ <data files=".\ExtractedFiles\*projectsettings.xml" />
+ </index>
+ <copy name="projectSettings" key="string('PBM_FileVersion')" source="." target="/document/metadata" />
+ </component>
+
+ <!-- Copy in comments -->
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <index name="comments" value="/doc/members/member" key="@name" cache="100">
+ <data base="%DXROOT%\Data\DdueXml" recurse="true" files="*.xml" />
+ <data base=".\DdueXml" recurse="true" files="*.xml" />
+ </index>
+ <copy name="comments" source="*" target="/document/comments" />
+ </component>
+
+ <!-- Copy in comments of overidden member -->
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="boolean(/document/comments/ddue:dduexml/ddue:useBase)" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" key="string(/document/reference/overrides/member/@api)" source="ddue:dduexml/ddue:summary|ddue:dduexml/ddue:parameters|ddue:dduexml/ddue:returnValue" target="/document/comments/ddue:dduexml" />
+ </component>
+ </then>
+ </component>
+
+ <!-- Copy in comments of parent topics for inherited overload topics -->
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="boolean(/document/reference/topicdata/@parentTopicId)" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" key="string(/document/reference/topicdata/@parentTopicId)" source="*" target="/document/comments" />
+ </component>
+ </then>
+ </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;\r\n]*\&#34;" class="literal" />
+ <color pattern="\b((AddHandler)|(AddressOf)|(Alias)|(And)|(AndAlso)|(As)|(Boolean)|(ByRef)|(Byte)|(ByVal)|(Call)|(Case)|(Catch)|(CBool)|(CByte)|(CChar)|(CDate)|(CDec)|(CDbl)|(Char)|(CInt)|(Class)|(CLng)|(CObj)|(Const)|(Continue)|(CSByte)|(CShort)|(CSng)|(CStr)|(CType)|(CUInt)|(CULng)|(CUShort)|(Date)|(Decimal)|(Declare)|(Default)|(Delegate)|(Dim)|(DirectCast)|(Do)|(Double)|(Each)|(Else)|(ElseIf)|(End)|(EndIf)|(Enum)|(Erase)|(Error)|(Event)|(Exit)|(False)|(Finally)|(For)|(Friend)|(From)|(Function)|(Get)|(GetType)|(GetXMLNamespace)|(Global)|(GoSub)|(GoTo)|(Handles)|(If)|(Implements)|(Imports)|(In)|(Inherits)|(Integer)|(Interface)|(Is)|(IsNot)|(Let)|(Lib)|(Like)|(Long)|(Loop)|(Me)|(Mod)|(Module)|(MustInherit)|(MustOverride)|(MyBase)|(MyClass)|(Namespace)|(Narrowing)|(New)|(Next)|(Not)|(Nothing)|(NotInheritable)|(NotOverridable)|(Object)|(Of)|(On)|(Operator)|(Option)|(Optional)|(Or)|(OrElse)|(Overloads)|(Overridable)|(Overrides)|(ParamArray)|(Partial)|(Private)|(Property)|(Protected)|(Public)|(RaiseEvent)|(ReadOnly)|(ReDim)|(REM)|(RemoveHandler)|(Resume)|(Return)|(SByte)|(Select)|(Set)|(Shadows)|(Shared)|(Short)|(Single)|(Static)|(Step)|(Stop)|(String)|(Structure)|(Sub)|(SyncLock)|(Then)|(Throw)|(To)|(True)|(Try)|(TryCast)|(TypeOf)|(Variant)|(Wend)|(UInteger)|(ULong)|(UShort)|(Until)|(Using)|(When)|(Where)|(While)|(Widening)|(With)|(WithEvents)|(WriteOnly)|(Xor)|(#Const)|(#Else)|(#ElseIf)|(#End)|(#If))\b" class="keyword" />
+
+ </colors>
+ <colors language="CSharp">
+ <color pattern="/\*(.|\n)+?\*/" class="comment" />
+ <color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="literal" />
+ <color pattern="//[^\r\n]*" class="comment" />
+ <color pattern="\b((abstract)|(as)|(ascending)|(base)|(bool)|(break)|(by)|(byte)|(case)|(catch)|(char)|(checked)|(class)|(const)|(continue)|(decimal)|(default)|(delegate)|(descending)|(do)|(double)|(else)|(enum)|(equals)|(event)|(explicit)|(extern)|(false)|(finally)|(fixed)|(float)|(for)|(foreach)|(from)|(get)|(goto)|(group)|(if)|(implicit)|(in)|(int)|(interface)|(internal)|(into)|(is)|(join)|(let)|(lock)|(long)|(namespace)|(new)|(null)|(object)|(operator)|(on)|(orderby)|(out)|(override)|(params)|(partial)|(private)|(protected)|(public)|(readonly)|(ref)|(return)|(sbyte)|(sealed)|(select)|(set)|(short)|(sizeof)|(stackalloc)|(static)|(string)|(struct)|(switch)|(this)|(throw)|(true)|(try)|(typeof)|(uint)|(ulong)|(unchecked)|(unsafe)|(ushort)|(using)|(value)|(var)|(vield)|(virtual)|(volatile)|(void)|(where)|(while))\b" class="keyword" />
+ </colors>
+ <colors language="ManagedCPlusPlus">
+ <color pattern="/\*(.|\n)+?\*/" class="comment" />
+ <color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="literal" />
+ <color pattern="//[^\r\n]*" class="comment" />
+ <color pattern="\b((abstract)|(array)|(bool)|(break)|(case)|(catch)|(char)|(class)|(const)|(continue)|(default)|(delegate)|(delete)|(deprecated)|(dllexport)|(dllimport)|(do)|(double)|(else)|(enum)|(event)|(explicit)|(extern)|(false)|(finally)|(float)|(for)|(friend)|(gcnew)|(generic)|(goto)|(if)|(initonly)|(inline)|(int)|(interface)|(literal)|(long)|(mutable)|(naked)|(namespace)|(new)|(noinline)|(noreturn)|(nothrow)|(novtable)|(nullptr)|(operator)|(private)|(property)|(protected)|(public)|(ref)|(register)|(return)|(safecast)|(sealed)|(selectany)|(short)|(signed)|(sizeof)|(static)|(struct)|(switch)|(template)|(this)|(thread)|(throw)|(true)|(try)|(typedef)|(typeid)|(typename)|(union)|(unsigned)|(using)|(uuid)|(value)|(virtual)|(void)|(volatile)|(while))\b" class="keyword" />
+ </colors>
+ </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]/apidata)" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="*[not(self::elements)]" target="/document/reference/elements//element[@api=$key]" />
+ </component>
+ </then>
+ </component>
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="boolean(/document/reference/elements//element[@api=$key]/topicdata/@parentTopicId)" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" key="string(/document/reference/elements//element[@api=$key]/topicdata/@parentTopicId)" source="ddue:dduexml/ddue:summary|ddue:dduexml/ddue:useBase|ddue:dduexml/ddue:obsoleteCodeEntity|ddue:dduexml/ddue:clsCompliantAlternative|ddue:dduexml/ddue:platformNotes|ddue:dduexml/ddue:internalOnly" target="/document/reference/elements//element[@api=$key]" />
+ </component>
+ </then>
+ </component>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" source="ddue:dduexml/ddue:summary|ddue:dduexml/ddue:useBase|ddue:dduexml/ddue:obsoleteCodeEntity|ddue:dduexml/ddue:clsCompliantAlternative|ddue:dduexml/ddue:platformNotes|ddue:dduexml/ddue:internalOnly" target="/document/reference/elements//element[@api=$key]" />
+ </component>
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="boolean(/document/reference/elements//element[@api=$key]/ddue:useBase)" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" key="string(/document/reference/elements//element[@api=$key]/overrides/member/@api)" source="ddue:dduexml/ddue:summary" target="/document/reference/elements//element[@api=$key]" />
+ </component>
+ </then>
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in comments for a member list topic's declaring type. -->
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="boolean(/document/reference/topicdata[@group='list' and @subgroup!='overload'])" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" key="string(/document/reference/topicdata[@group='list' and @subgroup!='overload']/@typeTopicId)"
+ source="ddue:dduexml/ddue:summary|ddue:dduexml/ddue:useBase|ddue:dduexml/ddue:obsoleteCodeEntity|ddue:dduexml/ddue:clsCompliantAlternative|ddue:dduexml/ddue:platformNotes|ddue:dduexml/ddue:internalOnly"
+ target="/document/reference/containers" />
+ </component>
+ </then>
+ </component>
+
+ <!-- Copy in comments for a member's declaring type. -->
+ <component type="Microsoft.Ddue.Tools.IfThenComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <if condition="boolean((/document/reference/topicdata[@group='list' and @subgroup='overload']) | (/document/reference/apidata[@group='member']))" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <copy name="comments" key="string(/document/reference/containers/type/@api)"
+ source="ddue:dduexml/ddue:summary|ddue:dduexml/ddue:useBase|ddue:dduexml/ddue:obsoleteCodeEntity|ddue:dduexml/ddue:clsCompliantAlternative|ddue:dduexml/ddue:platformNotes|ddue:dduexml/ddue:internalOnly"
+ target="/document/reference/containers" />
+ </component>
+ </then>
+ </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="/document//ddue:token" item="string(.)" />
+ </component>
+
+ <!-- Copy in topicTypes -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <context prefix="xlink" name="http://www.w3.org/1999/xlink" />
+ <variable expression="/document/comments/ddue:relatedTopics/*/@xlink:href" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+ <context prefix="xlink" name="http://www.w3.org/1999/xlink" />
+ <index name="topicType" value="/metadata/topic" key="@id">
+ <data base="%DXROOT%\Data\ContentMetadata" recurse="true" files="*.contentmetadata.xml" />
+ </index>
+ <copy name="topicType" source="topicType" target="/document/comments/ddue:relatedTopics/*[@xlink:href='{0}' and not(@topicType_id)]" attribute="true" ignoreCase="true" missing-target="error" />
+ </component>
+ </components>
+ </component>
+
+ <!-- transform -->
+ <component type="Microsoft.Ddue.Tools.TransformComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <transform file="%DXROOT%\Presentation\vs2005\transforms\main_reference.xsl">
+ <argument key="metadata" value="true" />
+ <argument key="languages">
+ <language label="VisualBasic" name="VisualBasic" style="vb" />
+ <language label="CSharp" name="CSharp" style="cs" />
+ <language label="ManagedCPlusPlus" name="ManagedCPlusPlus" style="cpp" />
+ <language label="JSharp" name="JSharp" style="cs" />
+ <language label="JScript" name="JScript" style="cs" />
+ </argument>
+ <argument key="omitAptcaBoilerplate" value="false" />
+ <argument key="RTMReleaseDate" value="June 2007" />
+ </transform>
+ </component>
+
+ <!-- resolve art links -->
+ <component type="Microsoft.Ddue.Tools.ResolveArtLinksComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <targets input="%DXROOT%\Data\ArtStore" baseOutput=".\Output" outputPath="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\vs2005\content\shared_content.xml" />
+ <content file="%DXROOT%\Presentation\Vs2005\content\feedBack_content.xml" />
+ <content file="%DXROOT%\Presentation\vs2005\content\reference_content.xml" />
+ <content file="%DXROOT%\Presentation\shared\content\syntax_content.xml" />
+ </component>
+
+ <!-- resolve conceptual links -->
+ <component type="Microsoft.Ddue.Tools.ResolveConceptualLinksComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <targets base="%DXROOT%\Data\XmlComp" type="index"/>
+ </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="index" /> -->
+ <targets files=".\reflection.xml" type="local" />
+ </component>
+
+ <!-- Write out intellisense -->
+ <component type="Microsoft.Ddue.Tools.IntellisenseComponent2" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <output directory=".\Intellisense" />
+ <expressions root="/html/body/div[@id='mainSection']/div[@id='mainBody']"
+ assembly="string(span[@sdata='assembly'])"
+ summary="span[@sdata='authoredSummary']"
+ parameters="div[@id='syntaxSection']/div[@id='parameters']/dl"
+ parameterContent="dd/span[@sdata='authoredParameterSummary']"
+ templates="div[@id='syntaxSection']/div[@id='genericParameters']/dl"
+ templateContent="dd"
+ returns="div[@id='syntaxSection']/div[@id='returns']/span[@sdata='authoredValueSummary']"
+ exception="div[@id='ddueExceptionsSection']/div[@class='tableSection']/table/tr/td[2]"
+ exceptionCref="../td[1]/span[@sdata='cer']"
+ enumeration="div[@id='enumerationSection']/div[@id='membersSection']/table[@class='members']/tr/td[3]"
+ enumerationApi="../td[2]"
+ memberSummary="span[@sdata='memberAuthoredSummary']" />
+ </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')" link="../html" indent="true" omit-xml-declaration="true" />
+ </component>
+
+ <!-- record file creation events -->
+ <component type="Microsoft.Ddue.Tools.HxfGeneratorComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll" input="%DXROOT%\Presentation\vs2005\seed.HxF" output="test.HxF" />
+
+ </components>
+ </builder>
+ </dduetools>
+</configuration>
diff --git a/tools/Sandcastle/Presentation/vs2005/configuration/sandcastle-scbuild.config b/tools/Sandcastle/Presentation/vs2005/configuration/sandcastle-scbuild.config
index 237a27e..0c5a7ff 100644
--- a/tools/Sandcastle/Presentation/vs2005/configuration/sandcastle-scbuild.config
+++ b/tools/Sandcastle/Presentation/vs2005/configuration/sandcastle-scbuild.config
@@ -41,13 +41,55 @@
</components>
</component>
- <!-- Copy in parameter data -->
- <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <!-- Copy in extension method template/type data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/elements//element[@source='extension']/templates//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata" target="/document/reference/elements//element[@source='extension']/templates//type[boolean(@api=$key) and not(apidata)]" />
+ <copy name="reflection" source="templates" target="/document/reference/elements//element[@source='extension']/templates//type[boolean(@api=$key) and not(apidata) and not(specialization)]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in parameter data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
<variable expression="/document/reference/parameters/parameter//type/@api" />
<components>
- <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
<copy name="reflection" source="apidata" target="/document/reference/parameters/parameter//type[boolean(@api=$key) and not(apidata)]" />
- </component>
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in templates type reflection data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/templates//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata" target="/document/reference/templates//type[@api=$key]" />
+ <copy name="reflection" source="templates" target="/document/reference/templates//type[@api=$key and not(specialization)]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in return type reflection data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/returns//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata|typedata|family|templates|containers|attributes" target="/document/reference/returns//type[@api=$key]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in event handler type reflection data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/eventhandler/type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata|typedata|family|templates|containers|attributes" target="/document/reference/eventhandler/type[@api=$key]" />
+ </component>
</components>
</component>
@@ -73,6 +115,12 @@
<data base="%DxTempDir%\Comments\" recurse="false" files="*.xml" />
</index>
<copy name="comments" source="*" target="/document/comments" />
+ <components>
+ <!-- copy comments for inheritdoc -->
+ <component type="Microsoft.Ddue.Tools.InheritDocumentationComponent" assembly="%DXROOT%\ProductionTools\CopyComponents.dll">
+ <copy name="comments" use="reflection"/>
+ </component>
+ </components>
</component>
<!-- Copy in reflection data and comments for members -->
@@ -88,7 +136,13 @@
</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]" />
+ <copy name="comments" source="summary|overloads|inheritdoc" target="/document/reference/elements//element[@api=$key]" />
+ <components>
+ <!-- copy comments for inheritdoc -->
+ <component type="Microsoft.Ddue.Tools.InheritDocumentationComponent" assembly="%DXROOT%\ProductionTools\CopyComponents.dll">
+ <copy name="comments" use="reflection"/>
+ </component>
+ </components>
</component>
</components>
</component>
@@ -108,7 +162,7 @@
<language label="ManagedCPlusPlus" name="ManagedCPlusPlus" style="cpp" />
<!--<language label="JSharp" name="JSharp" style="cs" />
<language label="JScript" name="JScript" style="cs" />-->
- <language label="JavaScript" name="JavaScript" style="vb" />
+ <language label="JavaScript" name="JavaScript" style="cs" />
</argument>
</transform>
</component>
diff --git a/tools/Sandcastle/Presentation/vs2005/configuration/sandcastle-webref.config b/tools/Sandcastle/Presentation/vs2005/configuration/sandcastle-webref.config
index e4b7612..956c5a6 100644
--- a/tools/Sandcastle/Presentation/vs2005/configuration/sandcastle-webref.config
+++ b/tools/Sandcastle/Presentation/vs2005/configuration/sandcastle-webref.config
@@ -41,13 +41,55 @@
</components>
</component>
- <!-- Copy in parameter data -->
- <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <!-- Copy in extension method template/type data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/elements//element[@source='extension']/templates//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata" target="/document/reference/elements//element[@source='extension']/templates//type[boolean(@api=$key) and not(apidata)]" />
+ <copy name="reflection" source="templates" target="/document/reference/elements//element[@source='extension']/templates//type[boolean(@api=$key) and not(apidata) and not(specialization)]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in parameter data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
<variable expression="/document/reference/parameters/parameter//type/@api" />
<components>
- <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
<copy name="reflection" source="apidata" target="/document/reference/parameters/parameter//type[boolean(@api=$key) and not(apidata)]" />
- </component>
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in templates type reflection data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/templates//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata" target="/document/reference/templates//type[@api=$key]" />
+ <copy name="reflection" source="templates" target="/document/reference/templates//type[@api=$key and not(specialization)]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in return type reflection data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/returns//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata|typedata|family|templates|containers|attributes" target="/document/reference/returns//type[@api=$key]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in event handler type reflection data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/eventhandler/type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata|typedata|family|templates|containers|attributes" target="/document/reference/eventhandler/type[@api=$key]" />
+ </component>
</components>
</component>
@@ -73,6 +115,12 @@
<data base="%DxTempDir%\Comments\" recurse="false" files="*.xml" />
</index>
<copy name="comments" source="*" target="/document/comments" />
+ <components>
+ <!-- copy comments for inheritdoc -->
+ <component type="Microsoft.Ddue.Tools.InheritDocumentationComponent" assembly="%DXROOT%\ProductionTools\CopyComponents.dll">
+ <copy name="comments" use="reflection"/>
+ </component>
+ </components>
</component>
<!-- Copy in reflection data and comments for members -->
@@ -88,7 +136,13 @@
</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]" />
+ <copy name="comments" source="summary|overloads|inheritdoc" target="/document/reference/elements//element[@api=$key]" />
+ <components>
+ <!-- copy comments for inheritdoc -->
+ <component type="Microsoft.Ddue.Tools.InheritDocumentationComponent" assembly="%DXROOT%\ProductionTools\CopyComponents.dll">
+ <copy name="comments" use="reflection"/>
+ </component>
+ </components>
</component>
</components>
</component>
@@ -108,7 +162,7 @@
<language label="ManagedCPlusPlus" name="ManagedCPlusPlus" style="cpp" />
<!--<language label="JSharp" name="JSharp" style="cs" />
<language label="JScript" name="JScript" style="cs" />-->
- <language label="JavaScript" name="JavaScript" style="vb" />
+ <language label="JavaScript" name="JavaScript" style="cs" />
</argument>
</transform>
</component>
diff --git a/tools/Sandcastle/Presentation/vs2005/configuration/sandcastle.config b/tools/Sandcastle/Presentation/vs2005/configuration/sandcastle.config
index 8522fd9..7d45cf8 100644
--- a/tools/Sandcastle/Presentation/vs2005/configuration/sandcastle.config
+++ b/tools/Sandcastle/Presentation/vs2005/configuration/sandcastle.config
@@ -1,141 +1,195 @@
<configuration>
- <dduetools>
- <builder>
- <components>
-
- <!-- Create skeleton document -->
- <component type="Microsoft.Ddue.Tools.CopyFromFileComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <data file="%DXROOT%\Presentation\vs2005\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="%FxReflectionData%" recurse="true" files="*.xml" />
- <data files="%ReflectionXmlFile%" />
- </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>
-
- <!-- Copy in explicitInterfaceImplemented reflection data -->
- <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <variable expression="/document/reference/implements/member/@api | /document/reference/implements//type/@api" />
- <components>
- <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <copy name="reflection" source="apidata" target="/document/reference/implements//*[@api=$key and not(apidata)]" />
- <copy name="reflection" source="templates" target="/document/reference/implements//*[@api=$key and not(apidata) and not(specialization)]" />
- </component>
- </components>
- </component>
-
- <!-- Copy in parameter data -->
- <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <variable expression="/document/reference/parameters/parameter//type/@api" />
- <components>
- <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <copy name="reflection" source="apidata" target="/document/reference/parameters/parameter//type[boolean(@api=$key) and not(apidata)]" />
- </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.VisualBasicDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
- <generator type="Microsoft.Ddue.Tools.CSharpDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
- <generator type="Microsoft.Ddue.Tools.CPlusPlusDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
- <generator type="Microsoft.Ddue.Tools.ScriptSharpDeclarationSyntaxGenerator" 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="%DocumentationFile%" />
- </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]/apidata)" />
- <then>
- <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <copy name="reflection" source="*[not(self::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>
-
- <!-- Copy in comments for the member's declaring type. -->
- <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <copy name="comments" key="string(/document/reference/containers/type/@api)" source="summary" target="/document/reference/containers" />
- </component>
-
- <!-- transform -->
- <component type="Microsoft.Ddue.Tools.TransformComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <transform file="%DXROOT%\Presentation\vs2005\Transforms\main_sandcastle.xsl">
- <argument key="metadata" value="true" />
- <argument key="languages">
- <language label="VisualBasic" name="VisualBasic" style="vb" />
- <language label="CSharp" name="CSharp" style="cs" />
- <language label="ManagedCPlusPlus" name="ManagedCPlusPlus" style="cpp" />
- <!--<language label="JSharp" name="JSharp" style="cs" />
+ <dduetools>
+ <builder>
+ <components>
+
+ <!-- Create skeleton document -->
+ <component type="Microsoft.Ddue.Tools.CopyFromFileComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <data file="%DXROOT%\Presentation\vs2005\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="%FxReflectionData%" recurse="true" files="*.xml" />
+ <data files="%ReflectionXmlFile%" />
+ </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>
+
+ <!-- Copy in explicitInterfaceImplemented reflection data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/implements/member/@api | /document/reference/implements//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata" target="/document/reference/implements//*[@api=$key and not(apidata)]" />
+ <copy name="reflection" source="templates" target="/document/reference/implements//*[@api=$key and not(apidata) and not(specialization)]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in extension method template/type data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/elements//element[@source='extension']/templates//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata" target="/document/reference/elements//element[@source='extension']/templates//type[boolean(@api=$key) and not(apidata)]" />
+ <copy name="reflection" source="templates" target="/document/reference/elements//element[@source='extension']/templates//type[boolean(@api=$key) and not(apidata) and not(specialization)]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in parameter data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/parameters/parameter//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata" target="/document/reference/parameters/parameter//type[boolean(@api=$key) and not(apidata)]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in templates type reflection data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/templates//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata" target="/document/reference/templates//type[@api=$key]" />
+ <copy name="reflection" source="templates" target="/document/reference/templates//type[@api=$key and not(specialization)]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in return type reflection data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/returns//type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata|typedata|family|templates|containers|attributes" target="/document/reference/returns//type[@api=$key]" />
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in event handler type reflection data -->
+ <component type="Microsoft.Ddue.Tools.ForEachComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <variable expression="/document/reference/eventhandler/type/@api" />
+ <components>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="apidata|typedata|family|templates|containers|attributes" target="/document/reference/eventhandler/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.VisualBasicDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator type="Microsoft.Ddue.Tools.CSharpDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator type="Microsoft.Ddue.Tools.CPlusPlusDeclarationSyntaxGenerator" assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" />
+ <generator type="Microsoft.Ddue.Tools.ScriptSharpDeclarationSyntaxGenerator" 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="%DocumentationFile%" />
+ </index>
+ <copy name="comments" source="*" target="/document/comments" />
+ <components>
+ <!-- copy comments for inheritdoc -->
+ <component type="Microsoft.Ddue.Tools.InheritDocumentationComponent" assembly="%DXROOT%\ProductionTools\CopyComponents.dll">
+ <copy name="comments" use="reflection"/>
+ </component>
+ </components>
+ </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]/apidata)" />
+ <then>
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="reflection" source="*[not(self::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|inheritdoc" target="/document/reference/elements//element[@api=$key]" />
+ <components>
+ <!-- copy comments for inheritdoc -->
+ <component type="Microsoft.Ddue.Tools.InheritDocumentationComponent" assembly="%DXROOT%\ProductionTools\CopyComponents.dll">
+ <copy name="comments" use="reflection"/>
+ </component>
+ </components>
+ </component>
+ </components>
+ </component>
+
+ <!-- Copy in comments for the member's declaring type. -->
+ <component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <copy name="comments" key="string(/document/reference/containers/type/@api)" source="summary" target="/document/reference/containers" />
+ </component>
+
+ <!-- transform -->
+ <component type="Microsoft.Ddue.Tools.TransformComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <transform file="%DXROOT%\Presentation\vs2005\Transforms\main_sandcastle.xsl">
+ <argument key="metadata" value="true" />
+ <argument key="languages">
+ <language label="VisualBasic" name="VisualBasic" style="vb" />
+ <language label="CSharp" name="CSharp" style="cs" />
+ <language label="ManagedCPlusPlus" name="ManagedCPlusPlus" style="cpp" />
+ <!--<language label="JSharp" name="JSharp" style="cs" />
<language label="JScript" name="JScript" style="cs" />-->
- <language label="JavaScript" name="JavaScript" style="vb" />
- </argument>
- </transform>
- </component>
-
- <!-- resolve shared content -->
- <component type="Microsoft.Ddue.Tools.SharedContentComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <content file="%DXROOT%\Presentation\vs2005\content\shared_content.xml" />
- <content file="%DXROOT%\Presentation\vs2005\content\reference_content.xml" />
- <content file="%DXROOT%\Presentation\shared\content\syntax_content.xml" />
- <content file="%DXROOT%\Presentation\vs2005\content\feedback_content.xml" />
- </component>
-
-
- <!-- resolve reference links -->
- <component type="Microsoft.Ddue.Tools.ResolveReferenceLinksComponent2" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <targets base="%FxReflectionData%" recurse="true" files="*.xml" type="msdn" />
- <targets files="%ReflectionXmlFile%" type="local" />
- </component>
-
- <!-- save the result -->
- <component type="Microsoft.Ddue.Tools.SaveComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
- <save base ="%OutputHtml%" path="concat(/html/head/meta[@name='file']/@content,'.htm')" indent="true" omit-xml-declaration="true" />
- </component>
-
- </components>
- </builder>
- </dduetools>
+ <language label="JavaScript" name="JavaScript" style="cs" />
+ </argument>
+ </transform>
+ </component>
+
+ <!-- resolve shared content -->
+ <component type="Microsoft.Ddue.Tools.SharedContentComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <content file="%DXROOT%\Presentation\vs2005\content\shared_content.xml" />
+ <content file="%DXROOT%\Presentation\vs2005\content\reference_content.xml" />
+ <content file="%DXROOT%\Presentation\shared\content\syntax_content.xml" />
+ <content file="%DXROOT%\Presentation\vs2005\content\feedback_content.xml" />
+ </component>
+
+
+ <!-- resolve reference links -->
+ <component type="Microsoft.Ddue.Tools.ResolveReferenceLinksComponent2" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <targets base="%FxReflectionData%" recurse="true" files="*.xml" type="msdn" />
+ <targets files="%ReflectionXmlFile%" type="local" />
+ </component>
+
+ <!-- save the result -->
+ <component type="Microsoft.Ddue.Tools.SaveComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
+ <save base ="%OutputHtml%" path="concat(/html/head/meta[@name='file']/@content,'.htm')" indent="true" omit-xml-declaration="true" />
+ </component>
+
+ </components>
+ </builder>
+ </dduetools>
</configuration>
diff --git a/tools/Sandcastle/Presentation/vs2005/transforms/conceptualMetadataHelp20.xsl b/tools/Sandcastle/Presentation/vs2005/transforms/conceptualMetadataHelp20.xsl
new file mode 100644
index 0000000..0cb6330
--- /dev/null
+++ b/tools/Sandcastle/Presentation/vs2005/transforms/conceptualMetadataHelp20.xsl
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
+ xmlns:mshelp="http://msdn.microsoft.com/mshelp"
+ xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+ xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+ exclude-result-prefixes="msxsl"
+>
+
+ <xsl:template name="insertMetadata">
+ <xsl:if test="$metadata='true'">
+ <xml>
+ <!-- mshelp metadata -->
+
+ <!-- insert toctitle -->
+ <xsl:if test="normalize-space(/document/metadata/tableOfContentsTitle) and (/document/metadata/tableOfContentsTitle != /document/metadata/title)">
+ <MSHelp:TOCTitle Title="{/document/metadata/tableOfContentsTitle}" />
+ </xsl:if>
+
+ <!-- link index -->
+ <MSHelp:Keyword Index="A" Term="{$key}" />
+
+ <!-- authored K -->
+ <xsl:variable name="docset" select="translate(/document/metadata/attribute[@name='DocSet'][1]/text(),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz ')"/>
+ <xsl:for-each select="/document/metadata/keyword[@index='K']">
+ <xsl:variable name="nestedKeywordText">
+ <xsl:call-template name="nestedKeywordText"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="not(contains(text(),'[')) and ($docset='avalon' or $docset='wpf' or $docset='wcf' or $docset='windowsforms')">
+ <MSHelp:Keyword Index="K">
+ <includeAttribute name="Term" item="kIndexTermWithTechQualifier">
+ <parameter>
+ <xsl:value-of select="text()"/>
+ </parameter>
+ <parameter>
+ <xsl:value-of select="$docset"/>
+ </parameter>
+ <parameter>
+ <xsl:value-of select="$nestedKeywordText"/>
+ </parameter>
+ </includeAttribute>
+ </MSHelp:Keyword>
+ </xsl:when>
+ <xsl:otherwise>
+ <MSHelp:Keyword Index="K" Term="{concat(text(),$nestedKeywordText)}" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+
+ <!-- authored S -->
+ <xsl:for-each select="/document/metadata/keyword[@index='S']">
+ <MSHelp:Keyword Index="S">
+ <xsl:attribute name="Term">
+ <xsl:value-of select="text()" />
+ <xsl:for-each select="keyword[@index='S']">
+ <xsl:text>, </xsl:text>
+ <xsl:value-of select="text()"/>
+ </xsl:for-each>
+ </xsl:attribute>
+ </MSHelp:Keyword>
+ <!-- S index keywords need to be converted to F index keywords -->
+ <MSHelp:Keyword Index="F">
+ <xsl:attribute name="Term">
+ <xsl:value-of select="text()" />
+ <xsl:for-each select="keyword[@index='S']">
+ <xsl:text>, </xsl:text>
+ <xsl:value-of select="text()"/>
+ </xsl:for-each>
+ </xsl:attribute>
+ </MSHelp:Keyword>
+ </xsl:for-each>
+
+ <!-- authored F -->
+ <xsl:for-each select="/document/metadata/keyword[@index='F']">
+ <MSHelp:Keyword Index="F">
+ <xsl:attribute name="Term">
+ <xsl:value-of select="text()" />
+ <xsl:for-each select="keyword[@index='F']">
+ <xsl:text>, </xsl:text>
+ <xsl:value-of select="text()"/>
+ </xsl:for-each>
+ </xsl:attribute>
+ </MSHelp:Keyword>
+ </xsl:for-each>
+
+ <!-- authored B -->
+ <xsl:for-each select="/document/metadata/keyword[@index='B']">
+ <MSHelp:Keyword Index="B">
+ <xsl:attribute name="Term">
+ <xsl:value-of select="text()" />
+ <xsl:for-each select="keyword[@index='B']">
+ <xsl:text>, </xsl:text>
+ <xsl:value-of select="text()"/>
+ </xsl:for-each>
+ </xsl:attribute>
+ </MSHelp:Keyword>
+ </xsl:for-each>
+
+ <!-- Topic version -->
+ <MSHelp:Attr Name="RevisionNumber" Value="{/document/topic/@revisionNumber}" />
+
+ <!-- Asset ID -->
+ <MSHelp:Attr Name="AssetID" Value="{/document/topic/@id}" />
+
+ <!-- Abstract -->
+ <xsl:variable name="abstract" select="string(/document/topic//ddue:para[1])" />
+ <xsl:choose>
+ <xsl:when test="string-length($abstract) &gt; 254">
+ <MSHelp:Attr Name="Abstract" Value="{concat(substring($abstract,1,250), ' ...')}" />
+ </xsl:when>
+ <xsl:when test="string-length($abstract) &gt; 0">
+ <MSHelp:Attr Name="Abstract" Value="{$abstract}" />
+ </xsl:when>
+ </xsl:choose>
+
+ <!-- Autogenerate codeLang attributes based on the snippets -->
+ <xsl:call-template name="mshelpCodelangAttributes">
+ <xsl:with-param name="snippets" select="/document/topic/*//ddue:snippets/ddue:snippet" />
+ </xsl:call-template>
+
+ <!-- authored attributes -->
+ <xsl:for-each select="/document/metadata/attribute">
+ <MSHelp:Attr Name="{@name}" Value="{text()}" />
+ </xsl:for-each>
+
+ <!-- TopicType attribute -->
+ <xsl:for-each select="/document/topic/*[1]">
+ <MSHelp:Attr Name="TopicType">
+ <includeAttribute name="Value" item="TT_{local-name()}"/>
+ </MSHelp:Attr>
+ </xsl:for-each>
+
+ <!-- Locale attribute -->
+ <MSHelp:Attr Name="Locale">
+ <includeAttribute name="Value" item="locale"/>
+ </MSHelp:Attr>
+
+ </xml>
+ </xsl:if>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/tools/Sandcastle/Presentation/vs2005/transforms/conceptualMetadataHelp30.xsl b/tools/Sandcastle/Presentation/vs2005/transforms/conceptualMetadataHelp30.xsl
new file mode 100644
index 0000000..54af982
--- /dev/null
+++ b/tools/Sandcastle/Presentation/vs2005/transforms/conceptualMetadataHelp30.xsl
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+ xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+
+ exclude-result-prefixes="msxsl"
+>
+
+ <xsl:template name="insertKeywordsF1Metadata">
+
+ <!-- authored K -->
+ <xsl:variable name="docset" select="translate(/document/metadata/attribute[@name='DocSet'][1]/text(),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz ')"/>
+ <xsl:for-each select="/document/metadata/keyword[@index='K']">
+ <xsl:variable name="nestedKeywordText">
+ <xsl:call-template name="nestedKeywordText"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="not(contains(text(),'[')) and ($docset='avalon' or $docset='wpf' or $docset='wcf' or $docset='windowsforms')">
+ <meta name="System.Keywords">
+ <includeAttribute name="content" item="kIndexTermWithTechQualifier">
+ <parameter>
+ <xsl:value-of select="text()"/>
+ </parameter>
+ <parameter>
+ <xsl:value-of select="$docset"/>
+ </parameter>
+ <parameter>
+ <xsl:value-of select="$nestedKeywordText"/>
+ </parameter>
+ </includeAttribute>
+ </meta>
+ </xsl:when>
+ <xsl:otherwise>
+ <meta name="System.Keywords" content="{concat(text(),$nestedKeywordText)}" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+
+ <!-- authored F -->
+ <xsl:for-each select="/document/metadata/keyword[@index='F']">
+ <meta name="Microsoft.Help.F1">
+ <xsl:attribute name="content">
+ <xsl:value-of select="text()" />
+ <xsl:for-each select="keyword[@index='F']">
+ <xsl:text>, </xsl:text>
+ <xsl:value-of select="text()"/>
+ </xsl:for-each>
+ </xsl:attribute>
+ </meta>
+ </xsl:for-each>
+
+ <!-- authored B -->
+ <xsl:for-each select="/document/metadata/keyword[@index='B']">
+ <meta name="Microsoft.Help.F1">
+ <xsl:attribute name="content">
+ <xsl:value-of select="text()" />
+ <xsl:for-each select="keyword[@index='B']">
+ <xsl:text>, </xsl:text>
+ <xsl:value-of select="text()"/>
+ </xsl:for-each>
+ </xsl:attribute>
+ </meta>
+ </xsl:for-each>
+
+ </xsl:template>
+
+ <xsl:template name="insert30Metadata">
+
+ <!-- System.Language -->
+ <meta name="Language">
+ <includeAttribute name="content" item="locale" />
+ </meta>
+
+ <!-- System.Title -->
+ <!-- <title> is set elsewhere (eg, main_conceptual.xsl, utilities_reference.xsl) -->
+
+ <!-- System.Keywords -->
+ <xsl:call-template name="insertKeywordsF1Metadata" />
+
+ <!-- Microsoft.Help.Id -->
+ <meta name="Microsoft.Help.Id" content="{/document/topic/@id}" />
+
+ <!-- Microsoft.Help.Description -->
+ <xsl:variable name="abstract" select="string(/document/topic//ddue:para[1])" />
+ <xsl:if test="$abstract">
+ <meta name="Description">
+ <xsl:attribute name="content">
+ <xsl:call-template name="trimAtPeriod">
+ <xsl:with-param name="string" select="$abstract" />
+ </xsl:call-template>
+ </xsl:attribute>
+ </meta>
+ </xsl:if>
+
+ <!-- Microsoft.Help.TocParent -->
+ <xsl:for-each select="/document/metadata/attribute[@name='TOCParent']">
+ <meta name="Microsoft.Help.TocParent" content="{.}" />
+ <meta name="Microsoft.Help.TocOrder" content="0" />
+ </xsl:for-each>
+
+ <!-- Microsoft.Help.Product -->
+ <!-- Added by MTPS -->
+
+ <!-- Microsoft.Help.ProductVersion -->
+ <!-- Added by MTPS -->
+
+ <!-- Microsoft.Help.Category -->
+ <xsl:for-each select="/document/metadata/attribute[@name='Category']">
+ <meta name="Microsoft.Help.Category" content="{.}" />
+ </xsl:for-each>
+
+ <!-- Microsoft.Help.ContentFilter -->
+ <xsl:for-each select="/document/metadata/attribute[@name='ContentFilter']">
+ <meta name="Microsoft.Help.ContentFilter" content="{.}" />
+ </xsl:for-each>
+
+ <!-- Microsoft.Help.ContentType -->
+ <xsl:variable name="contentTypeDocStudio">
+ <xsl:variable name="lookupValue">
+ <xsl:value-of select="local-name(/document/topic/*[1])"/>
+ </xsl:variable>
+ <xsl:value-of select="msxsl:node-set($topicTypes)/topic[@name = $lookupValue]/text()"/>
+ </xsl:variable>
+
+ <xsl:variable name="contentTypeTopicType">
+ <xsl:variable name="lookupValue">
+ <xsl:value-of select="translate(/document/metadata/topicType/@id,
+ 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
+ </xsl:variable>
+ <xsl:value-of select="msxsl:node-set($topicTypes)/topic[@guid = $lookupValue]/text()"/>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$contentTypeDocStudio">
+ <meta name="Microsoft.Help.ContentType" content="{$contentTypeDocStudio}" />
+ </xsl:when>
+ <xsl:when test="$contentTypeTopicType">
+ <meta name="Microsoft.Help.ContentType" content="{$contentTypeTopicType}" />
+ </xsl:when>
+ </xsl:choose>
+
+ <!-- Microsoft.Package.Book -->
+ <xsl:variable name="Book" select="/document/metadata/attribute[@name='Book']/text()" />
+ <xsl:if test="$Book">
+ <meta name="Microsoft.Package.Book" content="{$Book}" />
+ </xsl:if>
+
+ <!-- Source -->
+ <xsl:for-each select="/document/metadata/attribute[@name='Source']">
+ <meta name="Source" content="{.}" />
+ </xsl:for-each>
+
+ </xsl:template>
+
+
+ <xsl:variable name="topicTypes">
+ <topic guid="EF7DDB37-8ED3-4DFA-B38D-5A3CC1906034" name="">Concepts</topic>
+ <topic guid="1FE70836-AA7D-4515-B54B-E10C4B516E50" name="developerConceptualDocument">Concepts</topic>
+ <topic guid="B137C930-7BF7-48A2-A329-3ADCAEF8868E" name="developerOrientationDocument">Concepts</topic>
+ <topic guid="68F07632-C4C5-4645-8DFA-AC87DCB4BD54" name="developerSDKTechnologyOverviewArchitectureDocument">Concepts</topic>
+ <topic guid="CDB8C120-888F-447B-8AF8-F9540562E7CA" name="developerSDKTechnologyOverviewOrientationDocument">Concepts</topic>
+ <topic guid="356C57C4-384D-4AF2-A637-FDD6F088A033" name="developerSDKTechnologyOverviewScenariosDocument">Concepts</topic>
+ <topic guid="19F1BB0E-F32A-4D5F-80A9-211D92A8A715" name="developerSDKTechnologyOverviewTechnologySummaryDocument">Concepts</topic>
+ <topic guid="56DB00EC-28BA-4C0D-8694-28E8B244E236" name="developerWhitePaperDocument">Concepts</topic>
+ <topic guid="B137C930-7BF7-48A2-A329-3ADCAEF8868E" name="developerOrientationDocument">Concepts</topic>
+
+ <topic guid="DAC3A6A0-C863-4E5B-8F65-79EFC6A4BA09" name="developerHowToDocument">How To</topic>
+ <topic guid="4779DD54-5D0C-4CC3-9DB3-BF1C90B721B3" name="developerWalkthroughDocument">How To</topic>
+
+ <topic guid="A635375F-98C2-4241-94E7-E427B47C20B6" name="developerErrorMessageDocument">Reference</topic>
+ <topic guid="95DADC4C-A2A6-447A-AA36-B6BE3A4F8DEC" name="developerReferenceWithSyntaxDocument">Reference</topic>
+ <topic guid="F9205737-4DEC-4A58-AA69-0E621B1236BD" name="developerReferenceWithoutSyntaxDocument">Reference</topic>
+ <topic guid="38C8E0D1-D601-4DBA-AE1B-5BEC16CD9B01" name="developerTroubleshootingDocument">Reference</topic>
+ <topic guid="B8ED9F21-39A4-4967-928D-160CD2ED9DCE" name="developerUIReferenceDocument">Reference</topic>
+ <topic guid="3272D745-2FFC-48C4-9E9D-CF2B2B784D5F" name="developerXmlReference">Reference</topic>
+ <topic guid="A689E19C-2687-4881-8CE1-652FF60CF46C" name="developerGlossaryDocument">Reference</topic>
+
+ <topic guid="069EFD88-412D-4E2F-8848-2D5C3AD56BDE" name="developerSampleDocument">Samples</topic>
+ <topic guid="4BBAAF90-0E5F-4C86-9D31-A5CAEE35A416" name="developerSDKTechnologyOverviewCodeDirectoryDocument">Samples</topic>
+ <topic guid="4A273212-0AC8-4D72-8349-EC11CD2FF8CD" name="">Samples</topic>
+ </xsl:variable>
+
+</xsl:stylesheet>
diff --git a/tools/Sandcastle/Presentation/vs2005/transforms/globalTemplates.xsl b/tools/Sandcastle/Presentation/vs2005/transforms/globalTemplates.xsl
index c878e22..a6cde9a 100644
--- a/tools/Sandcastle/Presentation/vs2005/transforms/globalTemplates.xsl
+++ b/tools/Sandcastle/Presentation/vs2005/transforms/globalTemplates.xsl
@@ -174,7 +174,8 @@
<tr>
<th>
<xsl:variable name="codeLangLC" select="translate($codeLang,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz ')"/>
- <xsl:if test="$codeLangLC='visualbasic' or $codeLangLC='csharp' or $codeLangLC='managedcplusplus' or $codeLangLC='jsharp' or $codeLangLC='jscript'">
+ <!-- Added JavaScript to look for AJAX snippets as JScript represents javascript snippets-->
+ <xsl:if test="$codeLangLC='visualbasic' or $codeLangLC='csharp' or $codeLangLC='managedcplusplus' or $codeLangLC='jsharp' or $codeLangLC='jscript' or $codeLangLC='javascript' or $codeLangLC='fsharp' ">
<include item="{$codeLang}"/>
</xsl:if>
<xsl:text>&#xa0;</xsl:text>
@@ -182,6 +183,7 @@
<th>
<span class="copyCode" onclick="CopyCode(this)" onkeypress="CopyCode_CheckKey(this, event)" onmouseover="ChangeCopyCodeIcon(this)" onmouseout="ChangeCopyCodeIcon(this)" tabindex="0">
<img class="copyCodeImage" name="ccImage" align="absmiddle">
+ <includeAttribute name="alt" item="copyImage" />
<includeAttribute name="title" item="copyImage" />
<includeAttribute name="src" item="iconPath">
<parameter>copycode.gif</parameter>
@@ -202,11 +204,6 @@
</div>
</xsl:template>
-
- <!-- sireeshm: fix bug 361746 - use copy-of, so that span class="keyword", "literal" and "comment" nodes are copied to preserve code colorization in snippets -->
- <xsl:template match="ddue:span[@class='keyword' or @class='literal' or @class='comment']">
- <xsl:copy-of select="."/>
- </xsl:template>
<xsl:template name="nonScrollingRegionTypeLinks">
<include item="nonScrollingTypeLinkText">
@@ -224,4 +221,107 @@
</include>
</xsl:template>
+ <xsl:template name="mshelpCodelangAttributes">
+ <xsl:param name="snippets" />
+ <xsl:for-each select="$snippets">
+
+ <xsl:if test="not(@language=preceding::*/@language)">
+ <xsl:variable name="codeLang">
+ <xsl:choose>
+ <xsl:when test="@language = 'VBScript' or @language = 'vbs'">
+ <xsl:text>VBScript</xsl:text>
+ </xsl:when>
+ <xsl:when test="@language = 'VisualBasic' or @language = 'vb' or @language = 'vb#' or @language = 'VB' or @language = 'kbLangVB'" >
+ <xsl:text>kbLangVB</xsl:text>
+ </xsl:when>
+ <xsl:when test="@language = 'CSharp' or @language = 'c#' or @language = 'cs' or @language = 'C#'" >
+ <xsl:text>CSharp</xsl:text>
+ </xsl:when>
+ <xsl:when test="@language = 'ManagedCPlusPlus' or @language = 'cpp' or @language = 'cpp#' or @language = 'c' or @language = 'c++' or @language = 'C++' or @language = 'kbLangCPP'" >
+ <xsl:text>kbLangCPP</xsl:text>
+ </xsl:when>
+ <xsl:when test="@language = 'JSharp' or @language = 'j#' or @language = 'jsharp' or @language = 'VJ#'">
+ <xsl:text>VJ#</xsl:text>
+ </xsl:when>
+ <xsl:when test="@language = 'JScript' or @language = 'js' or @language = 'jscript#' or @language = 'jscript' or @language = 'JScript' or @language = 'kbJScript'">
+ <xsl:text>kbJScript</xsl:text>
+ </xsl:when>
+ <xsl:when test="@language = 'XAML' or @language = 'xaml'">
+ <xsl:text>XAML</xsl:text>
+ </xsl:when>
+ <xsl:when test="@language = 'JavaScript' or @language = 'javascript'">
+ <xsl:text>JavaScript</xsl:text>
+ </xsl:when>
+ <xsl:when test="@language = 'xml'">
+ <xsl:text>xml</xsl:text>
+ </xsl:when>
+ <xsl:when test="@language = 'html'">
+ <xsl:text>html</xsl:text>
+ </xsl:when>
+ <xsl:when test="@language = 'vb-c#'">
+ <xsl:text>visualbasicANDcsharp</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>other</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$codeLang='other'" />
+ <!-- If $codeLang is already authored, then do nothing -->
+ <xsl:when test="/document/metadata/attribute[@name='codelang']/text() = $codeLang" />
+ <xsl:otherwise>
+ <xsl:call-template name="codeLang">
+ <xsl:with-param name="codeLang" select="$codeLang" />
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+
+ </xsl:for-each>
+ </xsl:template>
+
+ <xsl:template name="codeLang">
+ <xsl:param name="codeLang" />
+ <MSHelp:Attr Name="codelang" Value="{$codeLang}" />
+ </xsl:template>
+
+ <xsl:template name="trimAtPeriod">
+ <xsl:param name="string" />
+
+ <xsl:variable name="trimmedString" select="substring(normalize-space($string), 1, 256)" />
+ <xsl:choose>
+ <xsl:when test="normalize-space($string) != $trimmedString">
+ <xsl:choose>
+ <xsl:when test="not(contains($trimmedString, '.'))">
+ <xsl:value-of select="$trimmedString"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="substringAndLastPeriod">
+ <xsl:with-param name="string" select="$trimmedString" />
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="normalize-space($string)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="substringAndLastPeriod">
+ <xsl:param name="string" />
+
+ <xsl:if test="contains($string, '.')">
+ <xsl:variable name="after" select="substring-after($string, '.')" />
+ <xsl:value-of select="concat(substring-before($string, '.'),'.')" />
+ <xsl:if test="contains($after, '.')">
+ <xsl:call-template name="substringAndLastPeriod">
+ <xsl:with-param name="string" select="$after" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:if>
+ </xsl:template>
+
+
</xsl:stylesheet> \ No newline at end of file
diff --git a/tools/Sandcastle/Presentation/vs2005/transforms/htmlBody.xsl b/tools/Sandcastle/Presentation/vs2005/transforms/htmlBody.xsl
index 099857d..b12b082 100644
--- a/tools/Sandcastle/Presentation/vs2005/transforms/htmlBody.xsl
+++ b/tools/Sandcastle/Presentation/vs2005/transforms/htmlBody.xsl
@@ -110,27 +110,32 @@
<!--all members only -->
<xsl:if test="$subgroup='members'">
- <xsl:if test="/document/reference/elements/element/apidata[@subgroup='constructor']">
+ <xsl:if test="/document/reference/elements/element[apidata[@subgroup='constructor']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]">
<!-- add a link to the member list section for this subgroup -->
<xsl:call-template name="memberTableLink">
<xsl:with-param name="headerGroup">constructor</xsl:with-param>
</xsl:call-template>
</xsl:if>
-
- <!-- method subgroup includes operators -->
- <xsl:if test="/document/reference/elements/element/apidata[@subgroup='method']">
+
+ <xsl:if test="/document/reference/elements/element[apidata[@subgroup='method']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]">
<xsl:call-template name="memberTableLink">
<xsl:with-param name="headerGroup">method</xsl:with-param>
</xsl:call-template>
</xsl:if>
- <xsl:if test="/document/reference/elements/element/apidata[@subgroup='field']">
+ <xsl:if test="/document/reference/elements/element/apidata[@subsubgroup='operator']">
+ <xsl:call-template name="memberTableLink">
+ <xsl:with-param name="headerGroup">operator</xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+
+ <xsl:if test="/document/reference/elements/element[apidata[@subgroup='field']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]">
<xsl:call-template name="memberTableLink">
<xsl:with-param name="headerGroup">field</xsl:with-param>
</xsl:call-template>
</xsl:if>
- <xsl:if test="/document/reference/elements/element/apidata[@subgroup='property' and not(@subsubgroup)]">
+ <xsl:if test="/document/reference/elements/element[apidata[@subgroup='property' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]">
<xsl:call-template name="memberTableLink">
<xsl:with-param name="headerGroup">property</xsl:with-param>
</xsl:call-template>
@@ -142,7 +147,7 @@
</xsl:call-template>
</xsl:if>
- <xsl:if test="/document/reference/elements/element/apidata[@subgroup='event' and not(@subsubgroup)]">
+ <xsl:if test="/document/reference/elements/element[apidata[@subgroup='event' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]">
<xsl:call-template name="memberTableLink">
<xsl:with-param name="headerGroup">event</xsl:with-param>
</xsl:call-template>
@@ -203,7 +208,7 @@
<xsl:template name="bodyHeaderTopTable">
<xsl:variable name="showDevlangsFilter" select="boolean(($languages != 'false') and (count($languages/language) &gt; 0))"/>
<xsl:variable name="showMemberOptionsFilter" select="boolean($group='list' and $subgroup!='DerivedTypeList')"/>
- <xsl:variable name="showMemberFrameworksFilter" select="boolean($group='list' and $subgroup!='DerivedTypeList' and /document/reference/elements//element/versions/versions)"/>
+ <xsl:variable name="showMemberFrameworksFilter" select="boolean($group='list' and $subgroup!='DerivedTypeList' and /document/reference/elements//element[count(versions/versions) &gt; 1])"/>
<table id="topTable" cellspacing="0" cellpadding="0">
<tr>
<td>
@@ -448,12 +453,14 @@ copyHoverImage - overview (not namespace); list (only overload lists ctor, metho
<includeAttribute name="src" item="iconPath">
<parameter>collapse_all.gif</parameter>
</includeAttribute>
+ <includeAttribute name="alt" item="collapseImage" />
<includeAttribute name="title" item="collapseImage" />
</img>
<img id="expandImage" style="display:none; height:0; width:0;">
<includeAttribute name="src" item="iconPath">
<parameter>expand_all.gif</parameter>
</includeAttribute>
+ <includeAttribute name="alt" item="expandImage" />
<includeAttribute name="title" item="expandImage" />
</img>
<img id="collapseAllImage" style="display:none; height:0; width:0;">
@@ -480,12 +487,14 @@ copyHoverImage - overview (not namespace); list (only overload lists ctor, metho
<includeAttribute name="src" item="iconPath">
<parameter>copycode.gif</parameter>
</includeAttribute>
+ <includeAttribute name="alt" item="copyImage" />
<includeAttribute name="title" item="copyImage" />
</img>
<img id="copyHoverImage" style="display:none; height:0; width:0;">
<includeAttribute name="src" item="iconPath">
<parameter>copycodeHighlight.gif</parameter>
</includeAttribute>
+ <includeAttribute name="alt" item="copyHoverImage" />
<includeAttribute name="title" item="copyHoverImage" />
</img>
diff --git a/tools/Sandcastle/Presentation/vs2005/transforms/main_conceptual.xsl b/tools/Sandcastle/Presentation/vs2005/transforms/main_conceptual.xsl
index 41daf9c..427d8be 100644
--- a/tools/Sandcastle/Presentation/vs2005/transforms/main_conceptual.xsl
+++ b/tools/Sandcastle/Presentation/vs2005/transforms/main_conceptual.xsl
@@ -9,8 +9,12 @@
<xsl:output method="xml" indent="no" encoding="utf-8" />
+ <xsl:param name="changeHistoryOptions" />
<xsl:include href="htmlBody.xsl" />
<xsl:include href="utilities_dduexml.xsl" />
+ <xsl:include href="seeAlsoSection.xsl" />
+ <xsl:include href="conceptualMetadataHelp30.xsl"/>
+ <xsl:include href="conceptualMetadataHelp20.xsl"/>
<xsl:variable name="hasSeeAlsoSection" select="boolean(count(/document/topic/*/ddue:relatedTopics/*[local-name()!='sampleRef']) > 0)"/>
<xsl:variable name="examplesSection" select="boolean(string-length(/document/topic/*/ddue:codeExample[normalize-space(.)]) > 0)"/>
@@ -31,9 +35,11 @@
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"/>
<META NAME="save" CONTENT="history"/>
+ <xsl:call-template name="insertNoIndexNoFollow" />
<title>
<xsl:call-template name="topicTitlePlain"/>
</title>
+ <xsl:call-template name="insert30Metadata" />
<xsl:call-template name="insertStylesheets" />
<xsl:call-template name="insertScripts" />
<xsl:call-template name="insertMetadata" />
@@ -47,6 +53,12 @@
<!-- document head -->
+ <xsl:template name="insertNoIndexNoFollow">
+ <xsl:if test="/document/metadata/attribute[@name='NoSearch']">
+ <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW" />
+ </xsl:if>
+ </xsl:template>
+
<xsl:template name="insertStylesheets">
<link rel="stylesheet" type="text/css" href="../styles/presentation.css" />
<!-- make mshelp links work -->
@@ -100,151 +112,6 @@
</xsl:template>
- <xsl:template name="insertMetadata">
- <xsl:if test="$metadata='true'">
- <xml>
- <!-- mshelp metadata -->
-
- <!-- insert toctitle -->
- <xsl:if test="normalize-space(/document/metadata/tableOfContentsTitle) and (/document/metadata/tableOfContentsTitle != /document/metadata/title)">
- <MSHelp:TOCTitle Title="{/document/metadata/tableOfContentsTitle}" />
- </xsl:if>
-
- <!-- link index -->
- <MSHelp:Keyword Index="A" Term="{$key}" />
-
- <!-- authored K -->
- <xsl:variable name="docset" select="translate(/document/metadata/attribute[@name='DocSet'][1]/text(),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz ')"/>
- <xsl:for-each select="/document/metadata/keyword[@index='K']">
- <xsl:variable name="nestedKeywordText">
- <xsl:call-template name="nestedKeywordText"/>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="not(contains(text(),'[')) and ($docset='avalon' or $docset='wpf' or $docset='wcf' or $docset='windowsforms')">
- <MSHelp:Keyword Index="K">
- <includeAttribute name="Term" item="kIndexTermWithTechQualifier">
- <parameter>
- <xsl:value-of select="text()"/>
- </parameter>
- <parameter>
- <xsl:value-of select="$docset"/>
- </parameter>
- <parameter>
- <xsl:value-of select="$nestedKeywordText"/>
- </parameter>
- </includeAttribute>
- </MSHelp:Keyword>
- </xsl:when>
- <xsl:otherwise>
- <MSHelp:Keyword Index="K" Term="{concat(text(),$nestedKeywordText)}" />
- </xsl:otherwise>
- </xsl:choose>
- <!--
- <MSHelp:Keyword Index="K">
- <xsl:choose>
- <xsl:when test="normalize-space($docset)='' or contains(text(),'[')">
- <xsl:attribute name="Term">
- <xsl:value-of select="concat(text(),$nestedKeywordText)"/>
- </xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <includeAttribute name="Term" item="kIndexTermWithTechQualifier">
- <parameter><xsl:value-of select="text()"/></parameter>
- <parameter><xsl:value-of select="$docset"/></parameter>
- <parameter><xsl:value-of select="$nestedKeywordText"/></parameter>
- </includeAttribute>
- </xsl:otherwise>
- </xsl:choose>
- </MSHelp:Keyword>
- -->
- </xsl:for-each>
-
- <!-- authored S -->
- <xsl:for-each select="/document/metadata/keyword[@index='S']">
- <MSHelp:Keyword Index="S">
- <xsl:attribute name="Term">
- <xsl:value-of select="text()" />
- <xsl:for-each select="keyword[@index='S']">
- <xsl:text>, </xsl:text>
- <xsl:value-of select="text()"/>
- </xsl:for-each>
- </xsl:attribute>
- </MSHelp:Keyword>
- <!-- S index keywords need to be converted to F index keywords -->
- <MSHelp:Keyword Index="F">
- <xsl:attribute name="Term">
- <xsl:value-of select="text()" />
- <xsl:for-each select="keyword[@index='S']">
- <xsl:text>, </xsl:text>
- <xsl:value-of select="text()"/>
- </xsl:for-each>
- </xsl:attribute>
- </MSHelp:Keyword>
- </xsl:for-each>
-
- <!-- authored F -->
- <xsl:for-each select="/document/metadata/keyword[@index='F']">
- <MSHelp:Keyword Index="F">
- <xsl:attribute name="Term">
- <xsl:value-of select="text()" />
- <xsl:for-each select="keyword[@index='F']">
- <xsl:text>, </xsl:text>
- <xsl:value-of select="text()"/>
- </xsl:for-each>
- </xsl:attribute>
- </MSHelp:Keyword>
- </xsl:for-each>
-
- <!-- authored B -->
- <xsl:for-each select="/document/metadata/keyword[@index='B']">
- <MSHelp:Keyword Index="B">
- <xsl:attribute name="Term">
- <xsl:value-of select="text()" />
- <xsl:for-each select="keyword[@index='B']">
- <xsl:text>, </xsl:text>
- <xsl:value-of select="text()"/>
- </xsl:for-each>
- </xsl:attribute>
- </MSHelp:Keyword>
- </xsl:for-each>
-
- <!-- Topic version -->
- <MSHelp:Attr Name="RevisionNumber" Value="{/document/topic/@revisionNumber}" />
-
- <!-- Asset ID -->
- <MSHelp:Attr Name="AssetID" Value="{/document/topic/@id}" />
-
- <!-- Abstract -->
- <xsl:variable name="abstract" select="string(/document/topic//ddue:para[1])" />
- <xsl:choose>
- <xsl:when test="string-length($abstract) &gt; 254">
- <MSHelp:Attr Name="Abstract" Value="{concat(substring($abstract,1,250), ' ...')}" />
- </xsl:when>
- <xsl:when test="string-length($abstract) &gt; 0">
- <MSHelp:Attr Name="Abstract" Value="{$abstract}" />
- </xsl:when>
- </xsl:choose>
-
- <!-- authored attributes -->
- <xsl:for-each select="/document/metadata/attribute">
- <MSHelp:Attr Name="{@name}" Value="{text()}" />
- </xsl:for-each>
-
- <!-- TopicType attribute -->
- <xsl:for-each select="/document/topic/*[1]">
- <MSHelp:Attr Name="TopicType">
- <includeAttribute name="Value" item="TT_{local-name()}"/>
- </MSHelp:Attr>
- </xsl:for-each>
-
- <!-- Locale attribute -->
- <MSHelp:Attr Name="Locale">
- <includeAttribute name="Value" item="locale"/>
- </MSHelp:Attr>
-
- </xml>
- </xsl:if>
- </xsl:template>
<xsl:template name="nestedKeywordText">
<xsl:for-each select="keyword[@index='K']">
@@ -286,10 +153,11 @@
<div id="mainSection">
<div id="mainBody">
- <div id="allHistory" class="saveHistory" onsave="saveAll()" onload="loadAll()">
- <include item="header" />
- </div>
- <!--<xsl:call-template name="head" />-->
+ <div id="allHistory" class="saveHistory" onsave="saveAll()" onload="loadAll()"/>
+
+ <!-- 'header' shared content item is used to show optional boilerplate at the top of the topic's scrolling region, e.g. pre-release boilerplate -->
+ <include item="header" />
+
<xsl:call-template name="body" />
</div>
<xsl:call-template name="foot" />
@@ -297,12 +165,17 @@
</xsl:template>
- <!--<xsl:template name="head">
- <include item="header" />
- </xsl:template>-->
-
<xsl:template name="body">
+ <!-- freshness date -->
+ <xsl:call-template name="writeFreshnessDate">
+ <xsl:with-param name="ChangedHistoryDate" select="/document/topic/*//ddue:section[ddue:title = 'Change History']/ddue:content/ddue:table/ddue:row[1]/ddue:entry[1] |
+ /document/topic/*/ddue:changeHistory/ddue:content/ddue:table/ddue:row[1]/ddue:entry[1]" />
+ </xsl:call-template>
+
<xsl:apply-templates select="topic" />
+
+ <!-- changed table section -->
+ <xsl:call-template name="writeChangeHistorySection" />
</xsl:template>
<!-- sections that behave differently in conceptual and reference -->
@@ -332,13 +205,30 @@
<xsl:template match="ddue:returnValue">
<xsl:if test="normalize-space(.)">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'returnValue'"/>
- <xsl:with-param name="title"><include item="returnValueTitle" /></xsl:with-param>
- <xsl:with-param name="content">
- <xsl:apply-templates />
- </xsl:with-param>
- </xsl:call-template>
+ <xsl:choose>
+ <xsl:when test="(normalize-space(ddue:content)='') and ddue:sections/ddue:section[ddue:title='Property Value']">
+ <xsl:call-template name="section">
+ <xsl:with-param name="toggleSwitch" select="'returnValue'"/>
+ <xsl:with-param name="title">
+ <include item="propertyValueTitle" />
+ </xsl:with-param>
+ <xsl:with-param name="content">
+ <xsl:apply-templates select="ddue:sections/ddue:section[ddue:title='Property Value']/*" />
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="section">
+ <xsl:with-param name="toggleSwitch" select="'returnValue'"/>
+ <xsl:with-param name="title">
+ <include item="returnValueTitle" />
+ </xsl:with-param>
+ <xsl:with-param name="content">
+ <xsl:apply-templates />
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:if>
</xsl:template>
@@ -366,76 +256,20 @@
</xsl:if>
</xsl:template>
- <xsl:template match="ddue:relatedTopics">
+ <xsl:template match="ddue:relatedTopics">
<xsl:if test="$hasSeeAlsoSection">
- <xsl:call-template name="section">
+ <xsl:call-template name="section">
<xsl:with-param name="toggleSwitch" select="'seeAlso'"/>
- <xsl:with-param name="title"><include item="relatedTopicsTitle" /></xsl:with-param>
+ <xsl:with-param name="title">
+ <include item="relatedTopicsTitle" />
+ </xsl:with-param>
<xsl:with-param name="content">
-
- <!-- Concepts sub-section -->
- <xsl:if test="normalize-space(ddue:link) or normalize-space(ddue:dynamicLink[@type='inline'])">
- <xsl:call-template name="subSection">
- <xsl:with-param name="title">
- <include item="SeeAlsoConcepts"/>
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:for-each select="*">
- <xsl:if test="name() = 'link' or (name() = 'dynamicLink' and @type = 'inline') or (name() = 'legacyLink' and not(starts-with(@xlink:href,'frlrf')
- or starts-with(@xlink:href,'N:') or starts-with(@xlink:href,'T:') or starts-with(@xlink:href,'M:') or starts-with(@xlink:href,'P:')
- or starts-with(@xlink:href,'F:') or starts-with(@xlink:href,'E:') or starts-with(@xlink:href,'Overload:')))">
- <div class="seeAlsoStyle">
- <xsl:apply-templates select="."/>
- </div>
- </xsl:if>
- </xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
-
- <!-- Reference sub-section -->
- <xsl:if test="normalize-space(ddue:codeEntityReference)">
- <xsl:call-template name="subSection">
- <xsl:with-param name="title">
- <include item="SeeAlsoReference"/>
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:for-each select="*">
- <xsl:if test="name() = 'codeEntityReference' or (name() = 'legacyLink' and (starts-with(@xlink:href,'frlrf')
- or starts-with(@xlink:href,'N:') or starts-with(@xlink:href,'T:') or starts-with(@xlink:href,'M:') or starts-with(@xlink:href,'P:')
- or starts-with(@xlink:href,'F:') or starts-with(@xlink:href,'E:') or starts-with(@xlink:href,'Overload:')))">
- <div class="seeAlsoStyle">
- <xsl:apply-templates select="."/>
- </div>
- </xsl:if>
- </xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
-
- <!-- Other Resources sub-section -->
- <xsl:if test="ddue:externalLink">
- <xsl:call-template name="subSection">
- <xsl:with-param name="title">
- <include item="SeeAlsoOtherResources"/>
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:for-each select="*">
- <xsl:if test="name() = 'externalLink'">
- <div class="seeAlsoStyle">
- <xsl:apply-templates select="."/>
- </div>
- </xsl:if>
- </xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
-
- </xsl:with-param>
- </xsl:call-template>
+ <xsl:apply-templates select="/document/topic/*/ddue:relatedTopics" mode="seeAlso" />
+ </xsl:with-param>
+ </xsl:call-template>
</xsl:if>
- </xsl:template>
-
+ </xsl:template>
+
<xsl:template match="ddue:codeExample">
<!-- create Example section for the first codeExample node -->
<xsl:if test="not(preceding-sibling::ddue:codeExample) and ../ddue:codeExample[normalize-space(.)!='']">
@@ -475,6 +309,7 @@
<includeAttribute name="src" item="iconPath">
<parameter>footer.gif</parameter>
</includeAttribute>
+ <includeAttribute name="alt" item="footerImage" />
<includeAttribute name="title" item="footerImage" />
</img>
</div>
@@ -544,7 +379,7 @@
<xsl:if test="starts-with($outlineType,'toplevel') and //ddue:relatedTopics[normalize-space(.)!='']">
<li>
<A>
- <xsl:attribute name="HREF">#seeAlsoSection</xsl:attribute>
+ <xsl:attribute name="HREF">#seeAlsoToggle</xsl:attribute>
<include item="RelatedTopicsLinkText"/>
</A>
</li>
diff --git a/tools/Sandcastle/Presentation/vs2005/transforms/main_reference.xsl b/tools/Sandcastle/Presentation/vs2005/transforms/main_reference.xsl
index b2a3f63..970ac6d 100644
--- a/tools/Sandcastle/Presentation/vs2005/transforms/main_reference.xsl
+++ b/tools/Sandcastle/Presentation/vs2005/transforms/main_reference.xsl
@@ -7,11 +7,17 @@
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
>
- <!-- stuff specific to comments authored in DDUEXML -->
+ <xsl:param name="omitAptcaBoilerplate"/>
+ <xsl:param name="changeHistoryOptions" />
+ <xsl:param name="omitXmlnsBoilerplate" select="'false'" />
+ <xsl:param name="omitVersionInformation" select="'false'" />
+
+ <!-- stuff specific to comments authored in DDUEXML -->
<xsl:include href="utilities_reference.xsl" />
<xsl:include href="utilities_dduexml.xsl" />
<xsl:include href="htmlBody.xsl"/>
+ <xsl:include href="seeAlsoSection.xsl"/>
<xsl:variable name="summary" select="normalize-space(/document/comments/ddue:dduexml/ddue:summary)" />
@@ -26,18 +32,65 @@
(count(/document/comments/ddue:dduexml/ddue:relatedTopics/*) > 0) or
($group='type' or $group='member' or $group='list')
)"/>
- <xsl:variable name="examplesSection" select="boolean(string-length(/document/comments/ddue:dduexml/ddue:codeExamples[normalize-space(.)]) > 0)"/>
+ <xsl:variable name="examplesSection" select="boolean(string-length(/document/comments/ddue:dduexml/ddue:codeExamples[normalize-space(.)]) > 0) and not($securityCriticalSection)"/>
<xsl:variable name="languageFilterSection" select="boolean(string-length(/document/comments/ddue:dduexml/ddue:codeExamples[normalize-space(.)]) > 0)" />
+ <xsl:variable name="securityCriticalSection"
+ select="boolean(
+ (/document/reference/attributes/attribute/type[@api='T:System.Security.SecurityCriticalAttribute'] and
+ not(/document/reference/attributes/attribute/type[@api='T:System.Security.SecurityTreatAsSafeAttribute'])) or
+ (/document/reference/containers/type/attributes/attribute/type[@api='T:System.Security.SecurityCriticalAttribute'] and
+ not(/document/reference/containers/type/attributes/attribute/type[@api='T:System.Security.SecurityTreatAsSafeAttribute'])) or
+ ($api-subgroup='property' and
+ (((/document/reference/getter and (/document/reference/getter/attributes/attribute/type[@api='T:System.Security.SecurityCriticalAttribute'] and not(/document/reference/getter/attributes/attribute/type[@api='T:System.Security.SecurityTreatAsSafeAttribute']))) and
+ (/document/reference/setter and (/document/reference/setter/attributes/attribute/type[@api='T:System.Security.SecurityCriticalAttribute'] and not(/document/reference/setter/attributes/attribute/type[@api='T:System.Security.SecurityTreatAsSafeAttribute'])))) or
+ ((/document/reference/getter and (/document/reference/getter/attributes/attribute/type[@api='T:System.Security.SecurityCriticalAttribute'] and not(/document/reference/getter/attributes/attribute/type[@api='T:System.Security.SecurityTreatAsSafeAttribute']))) and not(/document/reference/setter)) or
+ (not(/document/reference/getter) and (/document/reference/setter and (/document/reference/setter/attributes/attribute/type[@api='T:System.Security.SecurityCriticalAttribute'] and not(/document/reference/setter/attributes/attribute/type[@api='T:System.Security.SecurityTreatAsSafeAttribute']))))
+ )) or
+ ($api-subgroup='event' and
+ (((/document/reference/adder and (/document/reference/adder/attributes/attribute/type[@api='T:System.Security.SecurityCriticalAttribute'] and not(/document/reference/adder/attributes/attribute/type[@api='T:System.Security.SecurityTreatAsSafeAttribute']))) and
+ (/document/reference/remover and (/document/reference/remover/attributes/attribute/type[@api='T:System.Security.SecurityCriticalAttribute'] and not(/document/reference/remover/attributes/attribute/type[@api='T:System.Security.SecurityTreatAsSafeAttribute'])))) or
+ ((/document/reference/adder and (/document/reference/adder/attributes/attribute/type[@api='T:System.Security.SecurityCriticalAttribute'] and not(/document/reference/adder/attributes/attribute/type[@api='T:System.Security.SecurityTreatAsSafeAttribute']))) and not(/document/reference/remover)) or
+ (not(/document/reference/adder) and (/document/reference/remover and (/document/reference/remover/attributes/attribute/type[@api='T:System.Security.SecurityCriticalAttribute'] and not(/document/reference/remover/attributes/attribute/type[@api='T:System.Security.SecurityTreatAsSafeAttribute']))))
+ ))
+ )" />
+
<xsl:template name="body">
+ <!-- freshness date -->
+ <xsl:call-template name="writeFreshnessDate">
+ <xsl:with-param name="ChangedHistoryDate" select="/document/comments/ddue:dduexml//ddue:section[ddue:title = 'Change History']/ddue:content/ddue:table/ddue:row[1]/ddue:entry[1] |
+ /document/comments/ddue:dduexml/ddue:changeHistory/ddue:content/ddue:table/ddue:row[1]/ddue:entry[1]"/>
+ </xsl:call-template>
<!--internalOnly boilerplate -->
+ <xsl:if test="not($securityCriticalSection)">
<xsl:call-template name="internalOnly"/>
+ </xsl:if>
<!-- obsolete boilerplate -->
<xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
<xsl:call-template name="obsoleteSection" />
</xsl:if>
+ <!-- SecurityCritical boilerplate -->
+ <xsl:if test="$securityCriticalSection">
+ <xsl:choose>
+ <xsl:when test="boolean($api-group='type')">
+ <include item="typeSecurityCriticalBoilerplate" />
+ </xsl:when>
+ <xsl:when test="boolean($api-group='member')">
+ <xsl:choose>
+ <xsl:when test="(/document/reference/containers/type/attributes/attribute/type[@api='T:System.Security.SecurityCriticalAttribute'] and
+ not(/document/reference/containers/type/attributes/attribute/type[@api='T:System.Security.SecurityTreatAsSafeAttribute']))">
+ <include item="typeSecurityCriticalBoilerplate" />
+ </xsl:when>
+ <xsl:otherwise>
+ <include item="memberSecurityCriticalBoilerplate" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:if>
+
<!-- summary -->
<!-- useBase boilerplate -->
<xsl:if test="/document/comments/ddue:dduexml/ddue:useBase and /document/reference/overrides/member">
@@ -49,7 +102,10 @@
</xsl:if>
<xsl:choose>
<xsl:when test="normalize-space(/document/comments/ddue:dduexml/ddue:summary[1]) != ''">
- <span data="authoredSummary">
+ <span sdata="authoredSummary">
+ <xsl:if test="$securityCriticalSection">
+ <p><include item="securityCritical" /></p>
+ </xsl:if>
<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:summary[1]" />
</span>
</xsl:when>
@@ -70,7 +126,7 @@
<xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.FlagsAttribute']">
<p>
<include item="flagsSummary">
- <parameter><referenceLink target="{/document/reference/attributes/attribute/type/@api}" /></parameter>
+ <parameter><referenceLink target="T:System.FlagsAttribute" /></parameter>
</include>
</p>
</xsl:if>
@@ -142,22 +198,30 @@
</xsl:when>
</xsl:choose>
<!-- exceptions -->
+ <xsl:if test="not($securityCriticalSection)">
<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:exceptions" />
+ </xsl:if>
<!-- remarks -->
- <xsl:if test="not($group='namespace')">
+ <xsl:if test="not($group='namespace') and not($securityCriticalSection)">
<xsl:choose>
- <xsl:when test="normalize-space(/document/comments/ddue:dduexml/ddue:remarks[1])">
- <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:remarks[1]" />
- </xsl:when>
- <xsl:when test="/document/reference/attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
- <xsl:call-template name="hostProtectionSection" />
+ <xsl:when test="/document/comments/ddue:dduexml/ddue:remarks">
+ <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:remarks" />
</xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="WriteRemarksSection">
+ <xsl:with-param name="node" select="document/comments/ddue:dduexml" />
+ </xsl:call-template>
+ </xsl:otherwise>
</xsl:choose>
</xsl:if>
<!-- example -->
+ <xsl:if test="not($securityCriticalSection)">
<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:codeExamples" />
+ </xsl:if>
<!-- permissions -->
+ <xsl:if test="not($securityCriticalSection)">
<xsl:call-template name="permissionsSection"/>
+ </xsl:if>
<!-- inheritance -->
<xsl:apply-templates select="/document/reference/family" />
<!-- other comment sections -->
@@ -173,6 +237,9 @@
<!-- see also -->
<xsl:call-template name="seeAlsoSection"/>
+ <!-- changed table section -->
+ <xsl:call-template name="writeChangeHistorySection" />
+
</xsl:template>
<xsl:template name="obsoleteSection">
@@ -204,7 +271,7 @@
<xsl:param name="name" />
<xsl:choose>
<xsl:when test="normalize-space(/document/comments/ddue:dduexml/ddue:parameters[1]/ddue:parameter) != ''">
- <span data="authoredParameterSummary">
+ <span sdata="authoredParameterSummary">
<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:parameters[1]/ddue:parameter[string(ddue:parameterReference)=$name]/ddue:content" />
</span>
</xsl:when>
@@ -217,7 +284,7 @@
<xsl:template name="getReturnsDescription">
<xsl:choose>
<xsl:when test="normalize-space(/document/comments/ddue:dduexml/ddue:returnValue[1]) != ''">
- <span data="authoredValueSummary">
+ <span sdata="authoredValueSummary">
<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:returnValue[1]" />
</span>
</xsl:when>
@@ -228,6 +295,9 @@
</xsl:template>
<xsl:template match="returns">
+ <xsl:choose>
+ <xsl:when test="$api-subgroup='field' and normalize-space(/document/comments/ddue:dduexml/ddue:returnValue[1]) = '' and normalize-space(/document/comments/ddue:dduexml/ddue:returnValue[2]) = ''"/>
+ <xsl:otherwise>
<div id="returns">
<xsl:call-template name="subSection">
<xsl:with-param name="title">
@@ -252,6 +322,8 @@
</xsl:with-param>
</xsl:call-template>
</div>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:template>
<xsl:template match="templates">
<div id="genericParameters">
@@ -260,12 +332,19 @@
<xsl:with-param name="content">
<xsl:for-each select="template">
<xsl:variable name="parameterName" select="@name" />
+ <xsl:variable name="contravariant">
+ <xsl:if test="variance/@contravariant='true'"><include item="inKeyword"/></xsl:if>
+ </xsl:variable>
+ <xsl:variable name="covariant">
+ <xsl:if test="variance/@covariant='true'"><include item="outKeyword" /></xsl:if>
+ </xsl:variable>
<dl paramName="{$parameterName}">
<dt>
- <span class="parameter"><xsl:value-of select="$parameterName"/></span>
+ <xsl:copy-of select="$contravariant"/><xsl:copy-of select="$covariant" /><span class="parameter"><xsl:value-of select="$parameterName"/></span>
</dt>
<dd>
<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:genericParameters/ddue:genericParameter[string(ddue:parameterReference)=$parameterName]/ddue:content" />
+ <xsl:if test="variance"><p><xsl:if test="variance/@contravariant='true'"><include item="contravariant" /></xsl:if><xsl:if test="variance/@covariant='true'"><include item="covariant" /></xsl:if><include item="variance" /></p></xsl:if>
</dd>
</dl>
</xsl:for-each>
@@ -277,7 +356,7 @@
<xsl:template name="getElementDescription">
<xsl:choose>
<xsl:when test="normalize-space(ddue:summary[1]) != ''">
- <span data="memberAuthoredSummary">
+ <span sdata="memberAuthoredSummary">
<xsl:apply-templates select="ddue:summary[1]/ddue:para/node()" />
</span>
</xsl:when>
@@ -326,6 +405,11 @@
<div id="syntaxCodeBlocks" class="code">
<xsl:call-template name="syntaxBlocks" />
</div>
+ <xsl:apply-templates select="/document/syntax/div[@codeLanguage=XAML]"/>
+
+ <!-- Show the authored XAML Values section, if any. -->
+ <xsl:call-template name="showXamlValuesSection"/>
+
<!-- parameters & return value -->
<xsl:apply-templates select="/document/reference/templates" />
<xsl:apply-templates select="/document/reference/parameters" />
@@ -392,7 +476,7 @@
<xsl:template name="permissionsSection">
<!-- the containers/library/noAptca is added to reflection data by the ApplyVsDocModel transform -->
- <xsl:variable name="showAptcaBoilerplate" select="boolean(/document/reference/containers/library/noAptca)"/>
+ <xsl:variable name="showAptcaBoilerplate" select="boolean(/document/reference/containers/library/noAptca and $omitAptcaBoilerplate!='true')"/>
<xsl:if test="/document/comments/ddue:dduexml/ddue:permissions[normalize-space(.)] or $showAptcaBoilerplate">
<xsl:call-template name="section">
<xsl:with-param name="toggleSwitch" select="'permissions'" />
@@ -434,56 +518,10 @@
<xsl:call-template name="memberIntroBoilerplate"/>
</xsl:template>
- <xsl:template name="mshelpCodelangAttributes">
-
- <xsl:for-each select="/document/comments/ddue:dduexml/ddue:codeExamples/ddue:codeExample/ddue:legacy/ddue:content/ddue:snippets/ddue:snippet">
-
- <xsl:if test="not(@language=preceding::*/@language)">
- <xsl:variable name="codeLang">
- <xsl:choose>
- <xsl:when test="@language = 'VBScript' or @language = 'vbs'">
- <xsl:text>VBScript</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'VisualBasic' or @language = 'vb' or @language = 'vb#' or @language = 'VB' or @language = 'kbLangVB'" >
- <xsl:text>kbLangVB</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'CSharp' or @language = 'c#' or @language = 'cs' or @language = 'C#'" >
- <xsl:text>CSharp</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'ManagedCPlusPlus' or @language = 'cpp' or @language = 'cpp#' or @language = 'c' or @language = 'c++' or @language = 'C++' or @language = 'kbLangCPP'" >
- <xsl:text>kbLangCPP</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'JSharp' or @language = 'j#' or @language = 'jsharp' or @language = 'VJ#'">
- <xsl:text>VJ#</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'JScript' or @language = 'js' or @language = 'jscript#' or @language = 'jscript' or @language = 'JScript' or @language = 'kbJScript'">
- <xsl:text>kbJScript</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'xml'">
- <xsl:text>xml</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'html'">
- <xsl:text>html</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'vb-c#'">
- <xsl:text>visualbasicANDcsharp</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>other</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="$codeLang='other'" />
- <xsl:otherwise>
- <xsl:call-template name="codeLang">
- <xsl:with-param name="codeLang" select="$codeLang" />
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
-
- </xsl:for-each>
+ <xsl:template name="codelangAttributes">
+ <xsl:call-template name="mshelpCodelangAttributes">
+ <xsl:with-param name="snippets" select="/document/comments/ddue:dduexml/ddue:codeExamples/ddue:codeExample/ddue:legacy/ddue:content/ddue:snippets/ddue:snippet" />
+ </xsl:call-template>
</xsl:template>
<xsl:template match="ddue:codeEntityReference" mode="abstract">
@@ -492,20 +530,6 @@
</xsl:call-template>
</xsl:template>
- <xsl:template name="hostProtectionSection">
- <xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'remarks'"/>
- <xsl:with-param name="title">
- <include item="remarksTitle" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:call-template name="hostProtectionContent" />
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
<!-- Footer stuff -->
<xsl:template name="foot">
@@ -515,6 +539,7 @@
<includeAttribute name="src" item="iconPath">
<parameter>footer.gif</parameter>
</includeAttribute>
+ <includeAttribute name="alt" item="footerImage" />
<includeAttribute name="title" item="footerImage" />
</img>
</div>
@@ -535,5 +560,37 @@
</include>
</div>
</xsl:template>
-
+
+ <xsl:template name="seeAlsoSection">
+
+ <xsl:if test="$hasSeeAlsoSection">
+ <xsl:call-template name="section">
+ <xsl:with-param name="toggleSwitch" select="'seeAlso'"/>
+ <xsl:with-param name="title">
+ <include item="relatedTitle" />
+ </xsl:with-param>
+ <xsl:with-param name="content">
+ <xsl:choose>
+ <xsl:when test="count(/document/comments/ddue:dduexml/ddue:relatedTopics/*) > 0">
+ <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:relatedTopics" mode="seeAlso">
+ <xsl:with-param name="autoGenerateLinks" select="'true'" />
+ </xsl:apply-templates>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="subSection">
+ <xsl:with-param name="title">
+ <include item="SeeAlsoReference"/>
+ </xsl:with-param>
+ <xsl:with-param name="content">
+ <xsl:call-template name="autogenSeeAlsoLinks"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:template>
+
</xsl:stylesheet>
diff --git a/tools/Sandcastle/Presentation/vs2005/transforms/main_sandcastle.xsl b/tools/Sandcastle/Presentation/vs2005/transforms/main_sandcastle.xsl
index 3b9b642..9954a00 100644
--- a/tools/Sandcastle/Presentation/vs2005/transforms/main_sandcastle.xsl
+++ b/tools/Sandcastle/Presentation/vs2005/transforms/main_sandcastle.xsl
@@ -1,25 +1,25 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1">
- <!-- stuff specified to comments authored in DDUEXML -->
+ <!-- stuff specified to comments authored in DDUEXML -->
+ <xsl:param name="omitXmlnsBoilerplate" select="'false'" />
-
- <xsl:include href="htmlBody.xsl"/>
+ <xsl:include href="htmlBody.xsl"/>
<xsl:include href="utilities_reference.xsl" />
- <xsl:variable name="summary" select="normalize-space(/document/comments/summary)" />
+ <xsl:variable name="summary" select="normalize-space(/document/comments/summary)" />
<xsl:variable name="abstractSummary" select="/document/comments/summary" />
- <xsl:variable name="hasSeeAlsoSection" select="boolean((count(/document/comments/seealso | /document/comments/summary/seealso) > 0) or
+ <xsl:variable name="hasSeeAlsoSection" select="boolean((count(/document/comments//seealso | /document/reference/elements/element/overloads//seealso) > 0) or
($group='type' or $group='member' or $group='list'))"/>
<xsl:variable name="examplesSection" select="boolean(string-length(/document/comments/example[normalize-space(.)]) > 0)"/>
<xsl:variable name="languageFilterSection" select="boolean(string-length(/document/comments/example[normalize-space(.)]) > 0)" />
-
+
<xsl:template name="body">
-
- <!-- auto-inserted info -->
- <!-- <xsl:apply-templates select="/document/reference/attributes" /> -->
+
+ <!-- auto-inserted info -->
+ <!-- <xsl:apply-templates select="/document/reference/attributes" /> -->
<xsl:apply-templates select="/document/comments/preliminary" />
- <xsl:apply-templates select="/document/comments/summary" />
+ <xsl:apply-templates select="/document/comments/summary" />
<xsl:if test="$subgroup='overload'">
<xsl:apply-templates select="/document/reference/elements" mode="overloadSummary" />
</xsl:if>
@@ -27,72 +27,74 @@
<xsl:if test="not($group='list' or $group='root' or $group='namespace')">
<xsl:call-template name="requirementsInfo"/>
</xsl:if>
- <!-- syntax -->
+ <!-- syntax -->
<xsl:if test="not($group='list' or $group='namespace')">
<xsl:apply-templates select="/document/syntax" />
</xsl:if>
- <!-- members -->
- <xsl:choose>
- <xsl:when test="$group='root'">
- <xsl:apply-templates select="/document/reference/elements" mode="root" />
- </xsl:when>
- <xsl:when test="$group='namespace'">
- <xsl:apply-templates select="/document/reference/elements" mode="namespace" />
- </xsl:when>
- <xsl:when test="$subgroup='enumeration'">
- <xsl:apply-templates select="/document/reference/elements" mode="enumeration" />
- </xsl:when>
- <xsl:when test="$group='type'">
- <xsl:apply-templates select="/document/reference/elements" mode="type" />
- </xsl:when>
- <xsl:when test="$group='list'">
- <xsl:choose>
- <xsl:when test="$subgroup='overload'">
- <xsl:apply-templates select="/document/reference/elements" mode="overload" />
- </xsl:when>
- <xsl:when test="$subgroup='DerivedTypeList'">
- <xsl:apply-templates select="/document/reference/elements" mode="derivedType" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates select="/document/reference/elements" mode="member" />
- </xsl:otherwise>
- </xsl:choose>
+ <!-- members -->
+ <xsl:choose>
+ <xsl:when test="$group='root'">
+ <xsl:apply-templates select="/document/reference/elements" mode="root" />
+ </xsl:when>
+ <xsl:when test="$group='namespace'">
+ <xsl:apply-templates select="/document/reference/elements" mode="namespace" />
+ </xsl:when>
+ <xsl:when test="$subgroup='enumeration'">
+ <xsl:apply-templates select="/document/reference/elements" mode="enumeration" />
+ </xsl:when>
+ <xsl:when test="$group='type'">
+ <xsl:apply-templates select="/document/reference/elements" mode="type" />
+ </xsl:when>
+ <xsl:when test="$group='list'">
+ <xsl:choose>
+ <xsl:when test="$subgroup='overload'">
+ <xsl:apply-templates select="/document/reference/elements" mode="overload" />
+ </xsl:when>
+ <xsl:when test="$subgroup='DerivedTypeList'">
+ <xsl:apply-templates select="/document/reference/elements" mode="derivedType" />
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="/document/reference/elements" mode="member" />
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:when>
- </xsl:choose>
- <!-- remarks -->
- <xsl:apply-templates select="/document/comments/remarks" />
- <!-- example -->
- <xsl:apply-templates select="/document/comments/example" />
- <!-- other comment sections -->
- <!-- permissions -->
+ </xsl:choose>
+ <!-- remarks -->
+ <xsl:apply-templates select="/document/comments/remarks" />
+ <!-- example -->
+ <xsl:apply-templates select="/document/comments/example" />
+ <!-- other comment sections -->
+ <!-- permissions -->
<xsl:call-template name="permissions" />
- <!-- exceptions -->
- <xsl:call-template name="exceptions" />
- <!-- inheritance -->
- <xsl:apply-templates select="/document/reference/family" />
+ <!-- exceptions -->
+ <xsl:call-template name="exceptions" />
+ <!-- contracts -->
+ <xsl:call-template name="contracts" />
+ <!-- inheritance -->
+ <xsl:apply-templates select="/document/reference/family" />
<xsl:apply-templates select="/document/comments/threadsafety" />
<!--versions-->
<xsl:if test="not($group='list' or $group='namespace' or $group='root' )">
<xsl:apply-templates select="/document/reference/versions" />
</xsl:if>
- <!-- see also -->
+ <!-- see also -->
<xsl:call-template name="seealso" />
- </xsl:template>
+ </xsl:template>
- <xsl:template name="getParameterDescription">
- <xsl:param name="name" />
- <xsl:apply-templates select="/document/comments/param[@name=$name]" />
- </xsl:template>
+ <xsl:template name="getParameterDescription">
+ <xsl:param name="name" />
+ <xsl:apply-templates select="/document/comments/param[@name=$name]" />
+ </xsl:template>
- <xsl:template name="getReturnsDescription">
- <xsl:param name="name" />
- <xsl:apply-templates select="/document/comments/param[@name=$name]" />
- </xsl:template>
+ <xsl:template name="getReturnsDescription">
+ <xsl:param name="name" />
+ <xsl:apply-templates select="/document/comments/param[@name=$name]" />
+ </xsl:template>
- <xsl:template name="getElementDescription">
- <xsl:apply-templates select="summary[1]" />
- </xsl:template>
+ <xsl:template name="getElementDescription">
+ <xsl:apply-templates select="summary[1]" />
+ </xsl:template>
<xsl:template name="getOverloadSummary">
<xsl:apply-templates select="overloads" mode="summary"/>
@@ -103,28 +105,28 @@
</xsl:template>
<xsl:template name="getInternalOnlyDescription">
-
+
</xsl:template>
<!-- block sections -->
- <xsl:template match="summary">
- <div class="summary">
- <xsl:apply-templates />
- </div>
- </xsl:template>
+ <xsl:template match="summary">
+ <div class="summary">
+ <xsl:apply-templates />
+ </div>
+ </xsl:template>
<xsl:template match="overloads" mode="summary">
<xsl:choose>
- <xsl:when test="count(summary) > 0">
- <xsl:apply-templates select="summary" />
- </xsl:when>
- <xsl:otherwise>
- <div class="summary">
- <xsl:apply-templates/>
- </div>
- </xsl:otherwise>
+ <xsl:when test="count(summary) > 0">
+ <xsl:apply-templates select="summary" />
+ </xsl:when>
+ <xsl:otherwise>
+ <div class="summary">
+ <xsl:apply-templates/>
+ </div>
+ </xsl:otherwise>
</xsl:choose>
</xsl:template>
@@ -133,7 +135,7 @@
<xsl:apply-templates select="example"/>
</xsl:template>
- <xsl:template match="value">
+ <xsl:template match="value">
<xsl:call-template name="subSection">
<xsl:with-param name="title">
<include item="fieldValueTitle" />
@@ -142,9 +144,9 @@
<xsl:apply-templates />
</xsl:with-param>
</xsl:call-template>
- </xsl:template>
+ </xsl:template>
- <xsl:template match="returns">
+ <xsl:template match="returns">
<xsl:call-template name="subSection">
<xsl:with-param name="title">
<include item="methodValueTitle" />
@@ -179,28 +181,38 @@
</xsl:call-template>
</xsl:template>
- <xsl:template match="remarks">
- <xsl:call-template name="section">
+ <xsl:template match="remarks">
+ <xsl:call-template name="section">
<xsl:with-param name="toggleSwitch" select="'remarks'"/>
- <xsl:with-param name="title"><include item="remarksTitle" /></xsl:with-param>
- <xsl:with-param name="content"><xsl:apply-templates /></xsl:with-param>
- </xsl:call-template>
- </xsl:template>
+ <xsl:with-param name="title">
+ <include item="remarksTitle" />
+ </xsl:with-param>
+ <xsl:with-param name="content">
+ <xsl:apply-templates />
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
- <xsl:template match="example">
- <xsl:call-template name="section">
+ <xsl:template match="example">
+ <xsl:call-template name="section">
<xsl:with-param name="toggleSwitch" select="'example'"/>
- <xsl:with-param name="title"><include item="examplesTitle" /></xsl:with-param>
- <xsl:with-param name="content"><xsl:apply-templates /></xsl:with-param>
- </xsl:call-template>
- </xsl:template>
+ <xsl:with-param name="title">
+ <include item="examplesTitle" />
+ </xsl:with-param>
+ <xsl:with-param name="content">
+ <xsl:apply-templates />
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
- <xsl:template match="para">
- <p><xsl:apply-templates /></p>
- </xsl:template>
+ <xsl:template match="para">
+ <p>
+ <xsl:apply-templates />
+ </p>
+ </xsl:template>
+
+ <xsl:template match="code">
- <xsl:template match="code">
-
<xsl:variable name="codeLang">
<xsl:choose>
<xsl:when test="@language = 'vbs'">
@@ -243,34 +255,253 @@
<xsl:with-param name="codeLang" select="$codeLang" />
</xsl:call-template>
- </xsl:template>
+ </xsl:template>
- <xsl:template name="exceptions">
- <xsl:if test="count(/document/comments/exception) &gt; 0">
- <xsl:call-template name="section">
+ <xsl:template name="exceptions">
+ <xsl:if test="count(/document/comments/exception) &gt; 0">
+ <xsl:call-template name="section">
<xsl:with-param name="toggleSwitch" select="'exceptions'"/>
- <xsl:with-param name="title"><include item="exceptionsTitle" /></xsl:with-param>
- <xsl:with-param name="content">
+ <xsl:with-param name="title">
+ <include item="exceptionsTitle" />
+ </xsl:with-param>
+ <xsl:with-param name="content">
<div class="tableSection">
<table width="100%" cellspacing="2" cellpadding="5" frame="lhs" >
- <tr>
- <th class="exceptionNameColumn"><include item="exceptionNameHeader" /></th>
- <th class="exceptionConditionColumn"><include item="exceptionConditionHeader" /></th>
- </tr>
- <xsl:for-each select="/document/comments/exception">
- <tr>
- <td><referenceLink target="{@cref}" qualified="true" /></td>
- <td>
- <xsl:apply-templates select="." />
- </td>
- </tr>
- </xsl:for-each>
- </table>
+ <tr>
+ <th class="exceptionNameColumn">
+ <include item="exceptionNameHeader" />
+ </th>
+ <th class="exceptionConditionColumn">
+ <include item="exceptionConditionHeader" />
+ </th>
+ </tr>
+ <xsl:for-each select="/document/comments/exception">
+ <tr>
+ <td>
+ <referenceLink target="{@cref}" qualified="true" />
+ </td>
+ <td>
+ <xsl:apply-templates select="." />
+ </td>
+ </tr>
+ </xsl:for-each>
+ </table>
+ </div>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template name="contracts">
+ <xsl:variable name="requires" select="/document/comments/requires" />
+ <xsl:variable name="ensures" select="/document/comments/ensures" />
+ <xsl:variable name="ensuresOnThrow" select="/document/comments/ensuresOnThrow" />
+ <xsl:variable name="invariants" select="/document/comments/invariant" />
+ <xsl:variable name="setter" select="/document/comments/setter" />
+ <xsl:variable name="getter" select="/document/comments/getter" />
+ <xsl:variable name="pure" select="/document/comments/pure" />
+ <xsl:if test="$requires or $ensures or $ensuresOnThrow or $invariants or $setter or $getter or $pure">
+ <xsl:call-template name="section">
+ <xsl:with-param name="toggleSwitch" select="'contracts'"/>
+ <xsl:with-param name="title">
+ <include item="contractsTitle" />
+ </xsl:with-param>
+ <xsl:with-param name="content">
+ <!--Purity-->
+ <xsl:if test="$pure">
+ <xsl:text>This method is pure.</xsl:text>
+ </xsl:if>
+ <!--Contracts-->
+ <div class="tableSection">
+ <xsl:if test="$getter">
+ <xsl:variable name="getterRequires" select="$getter/requires"/>
+ <xsl:variable name="getterEnsures" select="$getter/ensures"/>
+ <xsl:variable name="getterEnsuresOnThrow" select="$getter/ensuresOnThrow"/>
+ <xsl:call-template name="subSection">
+ <xsl:with-param name="title">
+ <include item="getterTitle" />
+ </xsl:with-param>
+ <xsl:with-param name="content">
+ <xsl:if test="$getterRequires">
+ <xsl:call-template name="contractsTable">
+ <xsl:with-param name="title">
+ <include item="requiresNameHeader"/>
+ </xsl:with-param>
+ <xsl:with-param name="contracts" select="$getterRequires"/>
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:if test="$getterEnsures">
+ <xsl:call-template name="contractsTable">
+ <xsl:with-param name="title">
+ <include item="ensuresNameHeader"/>
+ </xsl:with-param>
+ <xsl:with-param name="contracts" select="$getterEnsures"/>
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:if test="$getterEnsuresOnThrow">
+ <xsl:call-template name="contractsTable">
+ <xsl:with-param name="title">
+ <include item="ensuresOnThrowNameHeader"/>
+ </xsl:with-param>
+ <xsl:with-param name="contracts" select="$getterEnsuresOnThrow"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:if test="$setter">
+ <xsl:variable name="setterRequires" select="$setter/requires"/>
+ <xsl:variable name="setterEnsures" select="$setter/ensures"/>
+ <xsl:variable name="setterEnsuresOnThrow" select="$setter/ensuresOnThrow"/>
+ <xsl:call-template name="subSection">
+ <xsl:with-param name="title">
+ <include item="setterTitle" />
+ </xsl:with-param>
+ <xsl:with-param name="content">
+ <xsl:if test="$setterRequires">
+ <xsl:call-template name="contractsTable">
+ <xsl:with-param name="title">
+ <include item="requiresNameHeader"/>
+ </xsl:with-param>
+ <xsl:with-param name="contracts" select="$setterRequires"/>
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:if test="$setterEnsures">
+ <xsl:call-template name="contractsTable">
+ <xsl:with-param name="title">
+ <include item="ensuresNameHeader"/>
+ </xsl:with-param>
+ <xsl:with-param name="contracts" select="$setterEnsures"/>
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:if test="$setterEnsuresOnThrow">
+ <xsl:call-template name="contractsTable">
+ <xsl:with-param name="title">
+ <include item="ensuresOnThrowNameHeader"/>
+ </xsl:with-param>
+ <xsl:with-param name="contracts" select="$setterEnsuresOnThrow"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:if test="$requires">
+ <xsl:call-template name="contractsTable">
+ <xsl:with-param name="title">
+ <include item="requiresNameHeader"/>
+ </xsl:with-param>
+ <xsl:with-param name="contracts" select="$requires"/>
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:if test="$ensures">
+ <xsl:call-template name="contractsTable">
+ <xsl:with-param name="title">
+ <include item="ensuresNameHeader"/>
+ </xsl:with-param>
+ <xsl:with-param name="contracts" select="$ensures"/>
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:if test="$ensuresOnThrow">
+ <xsl:call-template name="contractsTable">
+ <xsl:with-param name="title">
+ <include item="ensuresOnThrowNameHeader"/>
+ </xsl:with-param>
+ <xsl:with-param name="contracts" select="$ensuresOnThrow"/>
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:if test="$invariants">
+ <xsl:call-template name="contractsTable">
+ <xsl:with-param name="title">
+ <include item="invariantsNameHeader"/>
+ </xsl:with-param>
+ <xsl:with-param name="contracts" select="$invariants"/>
+ </xsl:call-template>
+ </xsl:if>
+ </div>
+ <!--Contracts link-->
+ <div class="contractsLink">
+ <a>
+ <xsl:attribute name="target">
+ <xsl:text>_blank</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:text>http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx</xsl:text>
+ </xsl:attribute>
+ <xsl:text>Learn more about contracts</xsl:text>
+ </a>
</div>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template name="contractsTable">
+ <xsl:param name="title"/>
+ <xsl:param name="contracts"/>
+ <table width="100%" cellspacing="3" cellpadding="5" frame="lhs" >
+ <tr>
+ <th class="contractsNameColumn">
+ <xsl:copy-of select="$title"/>
+ </th>
+ </tr>
+ <xsl:for-each select="$contracts">
+ <tr>
+ <td>
+ <div class="code" style="margin-bottom: 0pt; white-space: pre-wrap;">
+ <pre style="margin-bottom: 0pt">
+ <xsl:value-of select="."/>
+ </pre>
+ </div>
+ <xsl:if test="@description or @inheritedFrom or @exception">
+ <div style="font-size:95%; margin-left: 10pt;
+ margin-bottom: 0pt">
+ <table
+ class="contractaux"
+ width="100%" frame="void" rules="none" border="0">
+ <colgroup>
+ <col width="10%"/>
+ <col width="90%"/>
+ </colgroup>
+ <xsl:if test="@description">
+ <tr style="border-bottom: 0px none;">
+ <td style="border-bottom: 0px none;">
+ <i><xsl:text>Description: </xsl:text></i>
+ </td>
+ <td style="border-bottom: 0px none;">
+ <xsl:value-of select="@description"/>
+ </td>
+ </tr>
+ </xsl:if>
+ <xsl:if test="@inheritedFrom">
+ <tr style="border-bottom: 0px none;">
+ <td style="border-bottom: 0px none;">
+ <i><xsl:text>Inherited From: </xsl:text></i>
+ </td>
+ <td style="border-bottom: 0px none;">
+ <referenceLink target="{@inheritedFrom}">
+ <xsl:value-of select="@inheritedFromTypeName"/>
+ </referenceLink>
+ </td>
+ </tr>
+ </xsl:if>
+ <xsl:if test="@exception">
+ <tr style="border-bottom: 0px none;">
+ <td style="border-bottom: 0px none;">
+ <i><xsl:text>Exception: </xsl:text></i>
+ </td>
+ <td style="border-bottom: 0px none;">
+ <referenceLink target="{@exception}" qualified="true" />
+ </td>
+ </tr>
+ </xsl:if>
+ </table>
+ </div>
+ </xsl:if>
+ </td>
+ </tr>
+ </xsl:for-each>
+ </table>
+ </xsl:template>
<xsl:template name="permissions">
<xsl:if test="count(/document/comments/permission) &gt; 0">
@@ -282,25 +513,25 @@
<xsl:with-param name="content">
<div class="tableSection">
<table width="100%" cellspacing="2" cellpadding="5" frame="lhs" >
- <tr>
- <th class="permissionNameColumn">
- <include item="permissionNameHeader" />
- </th>
- <th class="permissionDescriptionColumn">
- <include item="permissionDescriptionHeader" />
- </th>
- </tr>
- <xsl:for-each select="/document/comments/permission">
<tr>
- <td>
- <referenceLink target="{@cref}" qualified="true" />
- </td>
- <td>
- <xsl:apply-templates select="." />
- </td>
+ <th class="permissionNameColumn">
+ <include item="permissionNameHeader" />
+ </th>
+ <th class="permissionDescriptionColumn">
+ <include item="permissionDescriptionHeader" />
+ </th>
</tr>
- </xsl:for-each>
- </table>
+ <xsl:for-each select="/document/comments/permission">
+ <tr>
+ <td>
+ <referenceLink target="{@cref}" qualified="true" />
+ </td>
+ <td>
+ <xsl:apply-templates select="." />
+ </td>
+ </tr>
+ </xsl:for-each>
+ </table>
</div>
</xsl:with-param>
</xsl:call-template>
@@ -308,7 +539,7 @@
</xsl:template>
<xsl:template name="seealso">
- <xsl:if test="$hasSeeAlsoSection">
+ <xsl:if test="$hasSeeAlsoSection">
<xsl:call-template name="section">
<xsl:with-param name="toggleSwitch" select="'seeAlso'" />
<xsl:with-param name="title">
@@ -316,9 +547,11 @@
</xsl:with-param>
<xsl:with-param name="content">
<xsl:call-template name="autogenSeeAlsoLinks"/>
- <xsl:for-each select="/document/comments/seealso | /document/comments/summary/seealso">
+ <xsl:for-each select="/document/comments//seealso | /document/reference/elements/element/overloads//seealso">
<div class="seeAlsoStyle">
- <xsl:apply-templates select="." />
+ <xsl:apply-templates select=".">
+ <xsl:with-param name="displaySeeAlso" select="true()" />
+ </xsl:apply-templates>
</div>
</xsl:for-each>
</xsl:with-param>
@@ -326,46 +559,52 @@
</xsl:if>
</xsl:template>
- <xsl:template match="list[@type='bullet']">
- <ul>
- <xsl:for-each select="item">
- <li><xsl:apply-templates /></li>
- </xsl:for-each>
- </ul>
- </xsl:template>
+ <xsl:template match="list[@type='bullet']">
+ <ul>
+ <xsl:for-each select="item">
+ <li>
+ <xsl:apply-templates />
+ </li>
+ </xsl:for-each>
+ </ul>
+ </xsl:template>
- <xsl:template match="list[@type='number']">
- <ol>
- <xsl:for-each select="item">
- <li><xsl:apply-templates /></li>
- </xsl:for-each>
- </ol>
- </xsl:template>
+ <xsl:template match="list[@type='number']">
+ <ol>
+ <xsl:for-each select="item">
+ <li>
+ <xsl:apply-templates />
+ </li>
+ </xsl:for-each>
+ </ol>
+ </xsl:template>
- <xsl:template match="list[@type='table']">
+ <xsl:template match="list[@type='table']">
<div class="tableSection">
<table width="100%" cellspacing="2" cellpadding="5" frame="lhs" >
- <xsl:for-each select="listheader">
- <tr>
- <xsl:for-each select="*">
- <th><xsl:apply-templates /></th>
- </xsl:for-each>
- </tr>
- </xsl:for-each>
- <xsl:for-each select="item">
- <tr>
- <xsl:for-each select="*">
- <td>
- <xsl:apply-templates />
- </td>
- </xsl:for-each>
- </tr>
- </xsl:for-each>
- </table>
+ <xsl:for-each select="listheader">
+ <tr>
+ <xsl:for-each select="*">
+ <th>
+ <xsl:apply-templates />
+ </th>
+ </xsl:for-each>
+ </tr>
+ </xsl:for-each>
+ <xsl:for-each select="item">
+ <tr>
+ <xsl:for-each select="*">
+ <td>
+ <xsl:apply-templates />
+ </td>
+ </xsl:for-each>
+ </tr>
+ </xsl:for-each>
+ </table>
</div>
- </xsl:template>
+ </xsl:template>
- <!-- inline tags -->
+ <!-- inline tags -->
<xsl:template match="see[@cref]">
<xsl:choose>
@@ -380,59 +619,87 @@
</xsl:choose>
</xsl:template>
- <xsl:template match="seealso[@href]">
+ <xsl:template match="see[@href]">
<xsl:choose>
<xsl:when test="normalize-space(.)">
<a>
- <xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:value-of select="@href"/>
+ </xsl:attribute>
<xsl:value-of select="." />
</a>
</xsl:when>
<xsl:otherwise>
<a>
- <xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:value-of select="@href"/>
+ </xsl:attribute>
<xsl:value-of select="@href" />
</a>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
+ <xsl:template match="seealso[@href]">
+ <xsl:param name="displaySeeAlso" select="false()" />
+ <xsl:if test="$displaySeeAlso">
+ <xsl:choose>
+ <xsl:when test="normalize-space(.)">
+ <a>
+ <xsl:attribute name="href">
+ <xsl:value-of select="@href"/>
+ </xsl:attribute>
+ <xsl:value-of select="." />
+ </a>
+ </xsl:when>
+ <xsl:otherwise>
+ <a>
+ <xsl:attribute name="href">
+ <xsl:value-of select="@href"/>
+ </xsl:attribute>
+ <xsl:value-of select="@href" />
+ </a>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+ </xsl:template>
+
<xsl:template match="see[@langword]">
<span class="keyword">
<xsl:choose>
<xsl:when test="@langword='null' or @langword='Nothing' or @langword='nullptr'">
<span class="languageSpecificText">
- <span class="cs">null</span>
- <span class="vb">Nothing</span>
- <span class="cpp">nullptr</span>
+ <span class="cs">null</span>
+ <span class="vb">Nothing</span>
+ <span class="cpp">nullptr</span>
</span>
</xsl:when>
<xsl:when test="@langword='static' or @langword='Shared'">
<span class="languageSpecificText">
- <span class="cs">static</span>
- <span class="vb">Shared</span>
- <span class="cpp">static</span>
+ <span class="cs">static</span>
+ <span class="vb">Shared</span>
+ <span class="cpp">static</span>
</span>
</xsl:when>
<xsl:when test="@langword='virtual' or @langword='Overridable'">
<span class="languageSpecificText">
- <span class="cs">virtual</span>
- <span class="vb">Overridable</span>
- <span class="cpp">virtual</span>
+ <span class="cs">virtual</span>
+ <span class="vb">Overridable</span>
+ <span class="cpp">virtual</span>
</span>
</xsl:when>
<xsl:when test="@langword='true' or @langword='True'">
<span class="languageSpecificText">
- <span class="cs">true</span>
- <span class="vb">True</span>
- <span class="cpp">true</span>
+ <span class="cs">true</span>
+ <span class="vb">True</span>
+ <span class="cpp">true</span>
</span>
</xsl:when>
<xsl:when test="@langword='false' or @langword='False'">
<span class="languageSpecificText">
- <span class="cs">false</span>
- <span class="vb">False</span>
- <span class="cpp">false</span>
+ <span class="cs">false</span>
+ <span class="vb">False</span>
+ <span class="cpp">false</span>
</span>
</xsl:when>
<xsl:when test="@langword='abstract'">
@@ -449,43 +716,58 @@
</span>
<xsl:choose>
<xsl:when test="@langword='null' or @langword='Nothing' or @langword='nullptr'">
- <span class="nu"><include item="nullKeyword"/></span>
+ <span class="nu">
+ <include item="nullKeyword"/>
+ </span>
</xsl:when>
<xsl:when test="@langword='static' or @langword='Shared'">
- <span class="nu"><include item="staticKeyword"/></span>
+ <span class="nu">
+ <include item="staticKeyword"/>
+ </span>
</xsl:when>
<xsl:when test="@langword='virtual' or @langword='Overridable'">
- <span class="nu"><include item="virtualKeyword"/></span>
+ <span class="nu">
+ <include item="virtualKeyword"/>
+ </span>
</xsl:when>
<xsl:when test="@langword='true' or @langword='True'">
- <span class="nu"><include item="trueKeyword"/></span>
+ <span class="nu">
+ <include item="trueKeyword"/>
+ </span>
</xsl:when>
<xsl:when test="@langword='false' or @langword='False'">
- <span class="nu"><include item="falseKeyword"/></span>
+ <span class="nu">
+ <include item="falseKeyword"/>
+ </span>
</xsl:when>
<xsl:when test="@langword='abstract'">
- <span class="nu"><include item="abstractKeyword"/></span>
+ <span class="nu">
+ <include item="abstractKeyword"/>
+ </span>
</xsl:when>
</xsl:choose>
-
+
</xsl:template>
<xsl:template match="seealso">
- <xsl:choose>
- <xsl:when test="normalize-space(.)">
- <referenceLink target="{@cref}" qualified="true">
- <xsl:value-of select="." />
- </referenceLink>
- </xsl:when>
- <xsl:otherwise>
- <referenceLink target="{@cref}" qualified="true" />
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:param name="displaySeeAlso" select="false()" />
+ <xsl:if test="$displaySeeAlso">
+ <xsl:choose>
+ <xsl:when test="normalize-space(.)">
+ <referenceLink target="{@cref}" qualified="true">
+ <xsl:value-of select="." />
+ </referenceLink>
+ </xsl:when>
+ <xsl:otherwise>
+ <referenceLink target="{@cref}" qualified="true" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
</xsl:template>
<xsl:template match="c">
<span class="code">
- <xsl:value-of select="." />
+ <xsl:apply-templates/>
</span>
</xsl:template>
@@ -527,14 +809,14 @@
<include item="runningHeaderText" />
</xsl:template>
- <!-- pass through html tags -->
+ <!-- pass through html tags -->
- <xsl:template match="p|ol|ul|li|dl|dt|dd|table|tr|th|td|a|img|b|i|strong|em|del|sub|sup|br|hr|h1|h2|h3|h4|h5|h6|pre|div|span|blockquote|abbr|acronym|u|font">
- <xsl:copy>
- <xsl:copy-of select="@*" />
- <xsl:apply-templates />
- </xsl:copy>
- </xsl:template>
+ <xsl:template match="p|ol|ul|li|dl|dt|dd|table|tr|th|td|a|img|b|i|strong|em|del|sub|sup|br|hr|h1|h2|h3|h4|h5|h6|pre|div|span|blockquote|abbr|acronym|u|font|map|area">
+ <xsl:copy>
+ <xsl:copy-of select="@*" />
+ <xsl:apply-templates />
+ </xsl:copy>
+ </xsl:template>
<!-- extra tag support -->
@@ -574,6 +856,7 @@
<includeAttribute item="iconPath" name="src">
<parameter>alert_note.gif</parameter>
</includeAttribute>
+ <includeAttribute name="alt" item="noteAltText" />
<includeAttribute name="title" item="noteAltText" />
</img>
<xsl:text> </xsl:text>
@@ -588,40 +871,40 @@
</div>
</xsl:template>
- <!-- move these off into a shared file -->
+ <!-- move these off into a shared file -->
<xsl:template name="createReferenceLink">
<xsl:param name="id" />
<xsl:param name="qualified" select="false()" />
-
- <referenceLink target="{$id}" qualified="{$qualified}" />
-
+
+ <referenceLink target="{$id}" qualified="{$qualified}" />
+
</xsl:template>
-
- <xsl:template name="section">
+
+ <xsl:template name="section">
<xsl:param name="toggleSwitch" />
- <xsl:param name="title" />
- <xsl:param name="content" />
-
+ <xsl:param name="title" />
+ <xsl:param name="content" />
+
<xsl:variable name="toggleTitle" select="concat($toggleSwitch,'Toggle')" />
<xsl:variable name="toggleSection" select="concat($toggleSwitch,'Section')" />
-
- <h1 class="heading">
- <span onclick="ExpandCollapse({$toggleTitle})" style="cursor:default;" onkeypress="ExpandCollapse_CheckKey({$toggleTitle}, event)" tabindex="0">
- <img id="{$toggleTitle}" class="toggle" name="toggleSwitch">
- <includeAttribute name="src" item="iconPath">
- <parameter>collapse_all.gif</parameter>
- </includeAttribute>
- </img>
- <xsl:copy-of select="$title" />
- </span>
- </h1>
-
+
+ <h1 class="heading">
+ <span onclick="ExpandCollapse({$toggleTitle})" style="cursor:default;" onkeypress="ExpandCollapse_CheckKey({$toggleTitle}, event)" tabindex="0">
+ <img id="{$toggleTitle}" class="toggle" name="toggleSwitch">
+ <includeAttribute name="src" item="iconPath">
+ <parameter>collapse_all.gif</parameter>
+ </includeAttribute>
+ </img>
+ <xsl:copy-of select="$title" />
+ </span>
+ </h1>
+
<div id="{$toggleSection}" class="section" name="collapseableSection" style="">
<xsl:copy-of select="$content" />
</div>
-
- </xsl:template>
+
+ </xsl:template>
<xsl:template name="subSection">
<xsl:param name="title" />
@@ -631,7 +914,7 @@
<xsl:copy-of select="$title" />
</h4>
<xsl:copy-of select="$content" />
-
+
</xsl:template>
<xsl:template name="memberIntro">
@@ -643,55 +926,10 @@
<xsl:call-template name="memberIntroBoilerplate"/>
</xsl:template>
- <xsl:template name="mshelpCodelangAttributes">
- <xsl:for-each select="/document/comments/example/code">
-
- <xsl:if test="not(@language=preceding::*/@language)">
- <xsl:variable name="codeLang">
- <xsl:choose>
- <xsl:when test="@language = 'VBScript' or @language = 'vbs'">
- <xsl:text>VBScript</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'VisualBasic' or @language = 'vb' or @language = 'vb#' or @language = 'VB' or @language = 'kbLangVB'" >
- <xsl:text>kbLangVB</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'CSharp' or @language = 'c#' or @language = 'cs' or @language = 'C#'" >
- <xsl:text>CSharp</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'ManagedCPlusPlus' or @language = 'cpp' or @language = 'cpp#' or @language = 'c' or @language = 'c++' or @language = 'C++' or @language = 'kbLangCPP'" >
- <xsl:text>kbLangCPP</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'JSharp' or @language = 'j#' or @language = 'jsharp' or @language = 'VJ#'">
- <xsl:text>VJ#</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'JScript' or @language = 'js' or @language = 'jscript#' or @language = 'jscript' or @language = 'JScript' or @language = 'kbJScript'">
- <xsl:text>kbJScript</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'xml'">
- <xsl:text>xml</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'html'">
- <xsl:text>html</xsl:text>
- </xsl:when>
- <xsl:when test="@language = 'vb-c#'">
- <xsl:text>visualbasicANDcsharp</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>other</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="$codeLang='other'" />
- <xsl:otherwise>
- <xsl:call-template name="codeLang">
- <xsl:with-param name="codeLang" select="$codeLang" />
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
-
- </xsl:for-each>
+ <xsl:template name="codelangAttributes">
+ <xsl:call-template name="mshelpCodelangAttributes">
+ <xsl:with-param name="snippets" select="/document/comments/example/code" />
+ </xsl:call-template>
</xsl:template>
<!-- Footer stuff -->
@@ -704,10 +942,11 @@
<includeAttribute name="src" item="iconPath">
<parameter>footer.gif</parameter>
</includeAttribute>
+ <includeAttribute name="alt" item="footerImage" />
<includeAttribute name="title" item="footerImage" />
</img>
</div>
-
+
<include item="footer">
<parameter>
<xsl:value-of select="$key"/>
diff --git a/tools/Sandcastle/Presentation/vs2005/transforms/utilities_metadata.xsl b/tools/Sandcastle/Presentation/vs2005/transforms/metadataHelp20.xsl
index 8869703..59fe84a 100644
--- a/tools/Sandcastle/Presentation/vs2005/transforms/utilities_metadata.xsl
+++ b/tools/Sandcastle/Presentation/vs2005/transforms/metadataHelp20.xsl
@@ -44,7 +44,12 @@
</xsl:when>
</xsl:choose>
- <xsl:call-template name="mshelpCodelangAttributes" />
+ <!-- Assembly Version-->
+ <xsl:if test="$api-group != 'namespace'">
+ <MSHelp:Attr Name="AssemblyVersion" Value="{/document/reference/containers/library/assemblydata/@version}" />
+ </xsl:if>
+
+ <xsl:call-template name="codelangAttributes" />
<xsl:call-template name="versionMetadata" />
<xsl:call-template name="authoredMetadata" />
</xml>
@@ -217,7 +222,7 @@
<MSHelp:Attr Name="APIName" Value="{$apiTypeName}" />
<xsl:choose>
<xsl:when test="boolean($api-subgroup='delegate')">
- <MSHelp:Attr Name="APIName" Value="{concat($apiTypeName,'.ctor')}" />
+ <MSHelp:Attr Name="APIName" Value="{concat($apiTypeName,'..ctor')}" />
<MSHelp:Attr Name="APIName" Value="{concat($apiTypeName,'.','Invoke')}" />
<MSHelp:Attr Name="APIName" Value="{concat($apiTypeName,'.','BeginInvoke')}" />
<MSHelp:Attr Name="APIName" Value="{concat($apiTypeName,'.','EndInvoke')}" />
@@ -231,33 +236,38 @@
</xsl:choose>
</xsl:when>
<xsl:when test="$api-group='member'">
- <xsl:variable name="apiTypeName">
- <xsl:value-of select="concat(/document/reference/containers/namespace/apidata/@name,'.',/document/reference/containers/type/apidata/@name)" />
- <xsl:if test="count(/document/reference/templates/template) > 0">
- <xsl:value-of select="concat('`',count(/document/reference/templates/template))" />
- </xsl:if>
- </xsl:variable>
- <!-- Namespace + Type + Member -->
- <MSHelp:Attr Name="APIName" Value="{concat($apiTypeName,'.',/document/reference/apidata/@name)}" />
+ <xsl:variable name="namespace" select="/document/reference/containers/namespace/apidata/@name" />
+ <xsl:variable name="type">
+ <xsl:for-each select="/document/reference/containers/type[1]">
+ <xsl:call-template name="typeNameWithTicks" />
+ </xsl:for-each>
+ </xsl:variable>
+ <xsl:variable name="member" select="/document/reference/apidata/@name" />
+ <!-- Namespace + Type + Member -->
+ <MSHelp:Attr Name="APIName" Value="{concat($namespace, '.', $type, '.', $member)}" />
<xsl:choose>
<!-- for properties, add APIName attribute get/set accessor methods -->
<xsl:when test="boolean($api-subgroup='property')">
<xsl:if test="/document/reference/propertydata[@get='true']">
- <MSHelp:Attr Name="APIName" Value="{concat($apiTypeName,'.get_',/document/reference/apidata/@name)}" />
+ <MSHelp:Attr Name="APIName" Value="{concat($namespace, '.', $type, '.get_', $member)}" />
</xsl:if>
<xsl:if test="/document/reference/propertydata[@set='true']">
- <MSHelp:Attr Name="APIName" Value="{concat($apiTypeName,'.set_',/document/reference/apidata/@name)}" />
+ <MSHelp:Attr Name="APIName" Value="{concat($namespace, '.', $type, '.set_', $member)}" />
</xsl:if>
</xsl:when>
<!-- for events, add APIName attribute add/remove accessor methods -->
<xsl:when test="boolean($api-subgroup='event')">
<xsl:if test="/document/reference/eventdata[@add='true']">
- <MSHelp:Attr Name="APIName" Value="{concat($apiTypeName,'.add_',/document/reference/apidata/@name)}" />
+ <MSHelp:Attr Name="APIName" Value="{concat($namespace, '.', $type, '.add_', $member)}" />
</xsl:if>
<xsl:if test="/document/reference/eventdata[@remove='true']">
- <MSHelp:Attr Name="APIName" Value="{concat($apiTypeName,'.remove_',/document/reference/apidata/@name)}" />
+ <MSHelp:Attr Name="APIName" Value="{concat($namespace, '.', $type, '.remove_', $member)}" />
</xsl:if>
</xsl:when>
+ <!-- for operators, add APIName attribute op accessor methods -->
+ <xsl:when test="boolean($api-subsubgroup='operator')">
+ <MSHelp:Attr Name="APIName" Value="{concat($namespace, '.', $type, '.op_', $member)}" />
+ </xsl:when>
</xsl:choose>
</xsl:when>
</xsl:choose>
@@ -502,11 +512,6 @@
</xsl:choose>
</xsl:template>
- <xsl:template name="codeLang">
- <xsl:param name="codeLang" />
- <MSHelp:Attr Name="codelang" Value="{$codeLang}" />
- </xsl:template>
-
<!-- make a semicolon-separated list of the $languages-->
<xsl:template name="languagesList">
<xsl:for-each select="$languages/language">
@@ -531,6 +536,11 @@
</xsl:variable>
<xsl:choose>
<xsl:when test="normalize-space($devlang)=''"/>
+ <xsl:when test="$devlang = 'VJ#'">
+ <xsl:if test="boolean(/document/reference/versions/versions[@name='netfw']//version[not(@name='netfw35')])">
+ <MSHelp:Attr Name="DevLang" Value="{$devlang}" />
+ </xsl:if>
+ </xsl:when>
<xsl:otherwise>
<MSHelp:Attr Name="DevLang" Value="{$devlang}" />
</xsl:otherwise>
@@ -615,6 +625,9 @@
<xsl:when test="$devlang = 'JSharp' or $devlang = 'j#' or $devlang = 'jsharp' or $devlang = 'VJ#'">
<xsl:text>VJ#</xsl:text>
</xsl:when>
+ <xsl:when test="$devlang = 'FSharp' or $devlang = 'f#' or $devlang = 'fs' or $devlang = 'F#'" >
+ <xsl:text>FSharp</xsl:text>
+ </xsl:when>
<xsl:when test="$devlang = 'xaml' or $devlang = 'XAML'">
<xsl:text>XAML</xsl:text>
</xsl:when>
@@ -768,6 +781,41 @@
<xsl:call-template name="textNames" />
</xsl:for-each>
</xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$topic-subgroup='Operators'">
+ <xsl:variable name="operators" select="document/reference/elements/element[not(apidata[@name='Explicit' or @name='Implicit'])]"/>
+ <xsl:variable name="conversions" select="document/reference/elements/element[apidata[@name='Explicit' or @name='Implicit']]" />
+ <xsl:variable name="entryType">
+ <xsl:choose>
+ <!-- operators + type conversions -->
+ <xsl:when test="count($operators) &gt; 0 and count($conversions) &gt; 0">
+ <xsl:value-of select="'operatorsAndTypeConversions'" />
+ </xsl:when>
+ <!-- no operators + type conversions -->
+ <xsl:when test="not(count($operators) &gt; 0) and count($conversions) &gt; 0">
+ <xsl:value-of select="'typeConversions'" />
+ </xsl:when>
+ <!-- operators + no type conversions -->
+ <xsl:otherwise>
+ <xsl:value-of select="$topic-subgroup" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:for-each select="msxsl:node-set($names)/name">
+ <MSHelp:Keyword Index="K">
+ <includeAttribute name="Term" item="{$entryType}IndexEntry">
+ <parameter>
+ <include item="{$api-subgroup}IndexEntry">
+ <parameter>
+ <xsl:value-of select="." />
+ </parameter>
+ </include>
+ </parameter>
+ </includeAttribute>
+ </MSHelp:Keyword>
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
<xsl:for-each select="msxsl:node-set($names)/name">
<MSHelp:Keyword Index="K">
<includeAttribute name="Term" item="{$subgroup}IndexEntry">
@@ -781,9 +829,12 @@
</includeAttribute>
</MSHelp:Keyword>
</xsl:for-each>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:when>
<!-- constructor (or constructor overload) topics get unqualified sub-entries using the type names -->
<xsl:when test="($topic-group='api' and $api-subgroup='constructor' and not(/document/reference/memberdata/@overload)) or ($topic-subgroup='overload' and $api-subgroup = 'constructor')">
+ <xsl:variable name="typeSubgroup" select="/document/reference/containers/type/apidata/@subgroup" />
<xsl:variable name="names">
<xsl:for-each select="/document/reference/containers/type">
<xsl:call-template name="textNames" />
@@ -793,7 +844,7 @@
<MSHelp:Keyword Index="K">
<includeAttribute name="Term" item="constructorIndexEntry">
<parameter>
- <include item="{$api-subgroup}IndexEntry">
+ <include item="{$typeSubgroup}IndexEntry">
<parameter>
<xsl:value-of select="." />
</parameter>
@@ -817,10 +868,30 @@
</MSHelp:Keyword>
</xsl:for-each>
</xsl:when>
+ <!-- op_explicit and op_implicit members -->
+ <xsl:when test="$topic-group='api' and $api-subsubgroup='operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+ <xsl:variable name="names">
+ <xsl:for-each select="/document/reference">
+ <xsl:call-template name="operatorTextNames" />
+ </xsl:for-each>
+ </xsl:variable>
+ <xsl:for-each select="msxsl:node-set($names)/name">
+ <MSHelp:Keyword Index="K">
+ <includeAttribute name="Term" item="conversionOperatorIndexEntry">
+ <parameter>
+ <xsl:copy-of select="."/>
+ </parameter>
+ </includeAttribute>
+ </MSHelp:Keyword>
+ </xsl:for-each>
+ </xsl:when>
<!-- other member (or overload) topics get qualified and unqualified entries using the member names -->
<xsl:when test="($topic-group='api' and $api-group='member' and not(/document/reference/memberdata/@overload)) or $topic-subgroup='overload'">
<xsl:choose>
+ <!-- overload op_explicit and op_implicit topics -->
+ <xsl:when test="$api-subsubgroup='operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+ </xsl:when>
<!-- explicit interface implementation -->
<xsl:when test="/document/reference/proceduredata/@virtual='true' and /document/reference/memberdata/@visibility='private'">
<xsl:variable name="entryType">
@@ -877,6 +948,9 @@
</xsl:when>
<xsl:otherwise>
<xsl:choose>
+ <xsl:when test="$api-subsubgroup='operator'">
+ <xsl:value-of select="$api-subsubgroup"/>
+ </xsl:when>
<xsl:when test="$subgroup='overload'">
<xsl:value-of select="/document/reference/apidata/@subgroup"/>
</xsl:when>
diff --git a/tools/Sandcastle/Presentation/vs2005/transforms/metadataHelp30.xsl b/tools/Sandcastle/Presentation/vs2005/transforms/metadataHelp30.xsl
new file mode 100644
index 0000000..a5b7e77
--- /dev/null
+++ b/tools/Sandcastle/Presentation/vs2005/transforms/metadataHelp30.xsl
@@ -0,0 +1,589 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"
+ xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+ >
+
+ <!-- <xsl:import href="../../shared/transforms/utilities_metadata.xsl" /> -->
+
+ <xsl:template name="authoredMetadata30">
+
+ <xsl:for-each select="/document/metadata/keyword[@index='K']">
+ <meta name="System.Keywords">
+ <xsl:attribute name="content">
+ <xsl:value-of select="text()" />
+ <xsl:for-each select="keyword[@index='K']">
+ <xsl:text>, </xsl:text>
+ <xsl:value-of select="text()"/>
+ </xsl:for-each>
+ </xsl:attribute>
+ </meta>
+ </xsl:for-each>
+
+ <!-- authored F -->
+ <xsl:for-each select="/document/metadata/keyword[@index='F']">
+ <meta name="Microsoft.Help.F1">
+ <xsl:attribute name="content">
+ <xsl:value-of select="text()" />
+ <xsl:for-each select="keyword[@index='F']">
+ <xsl:text>, </xsl:text>
+ <xsl:value-of select="text()"/>
+ </xsl:for-each>
+ </xsl:attribute>
+ </meta>
+ </xsl:for-each>
+
+ <!-- authored B -->
+ <xsl:for-each select="/document/metadata/keyword[@index='B']">
+ <meta name="Microsoft.Help.F1">
+ <xsl:attribute name="content">
+ <xsl:value-of select="text()" />
+ <xsl:for-each select="keyword[@index='B']">
+ <xsl:text>, </xsl:text>
+ <xsl:value-of select="text()"/>
+ </xsl:for-each>
+ </xsl:attribute>
+ </meta>
+ </xsl:for-each>
+
+ </xsl:template>
+
+
+
+ <xsl:template name="helpMetadata30">
+ <!-- F keywords -->
+ <xsl:choose>
+
+ <!-- namespace pages get the namespace keyword, if it exists -->
+ <xsl:when test="$group='namespace'">
+ <xsl:variable name="namespace" select="/document/reference/apidata/@name" />
+ <xsl:if test="$namespace != ''">
+ <meta name="Microsoft.Help.F1" content="{$namespace}" />
+ </xsl:if>
+ </xsl:when>
+
+ <!-- type memberlist topics do NOT get F keywords -->
+ <xsl:when test="$group='list' and $subgroup='members'"/>
+
+ <!-- type overview pages get namespace.type keywords -->
+ <xsl:when test="$group='type'">
+ <xsl:variable name="namespace" select="/document/reference/containers/namespace/apidata/@name" />
+ <xsl:variable name="type">
+ <xsl:for-each select="/document/reference[1]">
+ <xsl:call-template name="typeNameWithTicks" />
+ </xsl:for-each>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$namespace=''">
+ <meta name="Microsoft.Help.F1" content="{$type}" />
+ </xsl:when>
+ <xsl:otherwise>
+ <meta name="Microsoft.Help.F1" content="{concat($namespace,'.',$type)}" />
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <!-- for enums, write F1 keywords for each enum member -->
+ <xsl:if test="$subgroup = 'enumeration'">
+ <xsl:for-each select="/document/reference/elements/element">
+ <xsl:choose>
+ <xsl:when test="$namespace=''">
+ <meta name="Microsoft.Help.F1" content="{concat($type, '.', apidata/@name)}" />
+ </xsl:when>
+ <xsl:otherwise>
+ <meta name="Microsoft.Help.F1" content="{concat($namespace,'.',$type, '.', apidata/@name)}" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:if>
+
+ <!-- Insert additional F1 keywords to support XAML for class, struct, and enum topics in a set of namespaces. -->
+ <xsl:call-template name="xamlMSHelpFKeywords30"/>
+ </xsl:when>
+
+ <!-- overload list pages get namespace.type.member keyword -->
+ <xsl:when test="$group='list' and $subgroup='overload'">
+ <xsl:variable name="containingTypeId" select="/document/reference/containers/type[1]/@api" />
+ <!-- do not write F1 keyword for overload list topics that contain only inherited members -->
+ <xsl:if test="/document/reference/elements//element/containers/type[1][@api=$containingTypeId]">
+ <xsl:call-template name="memberF1KeywordsHelp30"/>
+ </xsl:if>
+ </xsl:when>
+
+
+ <!-- member pages -->
+ <xsl:when test="$group='member'">
+ <xsl:choose>
+ <!-- no F1 help entries for overload signature topics -->
+ <xsl:when test="/document/reference/memberdata/@overload"/>
+
+ <!-- no F1 help entries for explicit interface implementation members -->
+ <xsl:when test="/document/reference[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]"/>
+
+ <!-- other member pages get namespace.type.member keywords -->
+ <xsl:otherwise>
+ <xsl:call-template name="memberF1KeywordsHelp30"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="memberF1KeywordsHelp30">
+ <xsl:variable name="namespace" select="/document/reference/containers/namespace/apidata/@name" />
+ <xsl:variable name="type">
+ <xsl:for-each select="/document/reference/containers/type[1]">
+ <xsl:call-template name="typeNameWithTicks" />
+ </xsl:for-each>
+ </xsl:variable>
+ <xsl:variable name="member">
+ <xsl:choose>
+ <!-- if the member is a constructor, use "#ctor" as the member name -->
+ <xsl:when test="/document/reference/apidata[@subgroup='constructor']">#ctor</xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="/document/reference/apidata/@name"/>
+ <!-- for generic members, include tick notation for number of generic template parameters. -->
+ <xsl:if test="/document/reference/templates/template">
+ <xsl:text>``</xsl:text>
+ <xsl:value-of select="count(/document/reference/templates/template)"/>
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$namespace=''">
+ <meta name="Microsoft.Help.F1" content="{concat($type, '.', $member)}" />
+ </xsl:when>
+ <xsl:otherwise>
+ <meta name="Microsoft.Help.F1" content="{concat($namespace, '.', $type, '.', $member)}" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!--
+ Insert additional F1 keywords for class, struct, and enum topics in a set of WPF namespaces.
+ The keyword prefixes and the WPF namespaces are hard-coded in variables.
+ -->
+<!-- <xsl:variable name="var_wpf_f1index_prefix_1">http://schemas.microsoft.com/winfx/2006/xaml/presentation#</xsl:variable>
+ <xsl:variable name="var_wpf_f1index_prefix_1_namespaces">N:System.Windows.Controls#N:System.Windows.Documents#N:System.Windows.Shapes#N:System.Windows.Navigation#N:System.Windows.Data#N:System.Windows#N:System.Windows.Controls.Primitives#N:System.Windows.Media.Animation#N:System.Windows.Annotations#N:System.Windows.Annotations.Anchoring#N:System.Windows.Annotations.Storage#N:System.Windows.Media#N:System.Windows.Media.Animation#N:System.Windows.Media.Media3D#N:</xsl:variable> -->
+
+ <xsl:template name="xamlMSHelpFKeywords30">
+ <xsl:if test="$subgroup='class' or $subgroup='enumeration' or $subgroup='structure'">
+ <xsl:if test="boolean(contains($var_wpf_f1index_prefix_1_namespaces, concat('#',/document/reference/containers/namespace/@api,'#'))
+ or starts-with($var_wpf_f1index_prefix_1_namespaces, concat(/document/reference/containers/namespace/@api,'#')))">
+ <meta name="Microsoft.Help.F1" content="{concat($var_wpf_f1index_prefix_1, /document/reference/apidata/@name)}"/>
+ </xsl:if>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- Index Logic -->
+
+ <xsl:template name="indexMetadata30">
+ <xsl:choose>
+ <!-- namespace topics get one unqualified index entry -->
+ <xsl:when test="$topic-group='api' and $api-group='namespace'">
+ <xsl:variable name="names">
+ <xsl:for-each select="/document/reference">
+ <xsl:call-template name="textNames" />
+ </xsl:for-each>
+ </xsl:variable>
+ <meta name="System.Keywords">
+ <includeAttribute name="content" item="namespaceIndexEntry">
+ <parameter>
+ <xsl:value-of select="msxsl:node-set($names)/name" />
+ </parameter>
+ </includeAttribute>
+ </meta>
+ </xsl:when>
+ <!-- type overview topics get qualified and unqualified index entries, and an about index entry -->
+ <xsl:when test="$topic-group='api' and $api-group='type'">
+ <xsl:variable name="names">
+ <xsl:for-each select="/document/reference">
+ <xsl:call-template name="textNames" />
+ </xsl:for-each>
+ </xsl:variable>
+ <xsl:variable name="namespace" select="/document/reference/containers/namespace/apidata/@name" />
+ <xsl:for-each select="msxsl:node-set($names)/name">
+ <meta name="System.Keywords">
+ <includeAttribute name="content" item="{$api-subgroup}IndexEntry">
+ <parameter>
+ <xsl:copy-of select="."/>
+ </parameter>
+ </includeAttribute>
+ </meta>
+ <xsl:if test="boolean($namespace != '')">
+ <meta name="System.Keywords">
+ <includeAttribute name="content" item="{$api-subgroup}IndexEntry">
+ <parameter>
+ <xsl:value-of select="$namespace"/>
+ <xsl:text>.</xsl:text>
+ <xsl:copy-of select="." />
+ </parameter>
+ </includeAttribute>
+ </meta>
+ </xsl:if>
+ <!-- multi-topic types (not delegates and enumerations) get about entries, too-->
+ <xsl:if test="$api-subgroup='class' or $api-subgroup='structure' or $api-subgroup='interface'">
+ <meta name="System.Keywords">
+ <includeAttribute name="content" item="aboutTypeIndexEntry">
+ <parameter>
+ <include item="{$api-subgroup}IndexEntry">
+ <parameter>
+ <xsl:copy-of select="."/>
+ </parameter>
+ </include>
+ </parameter>
+ </includeAttribute>
+ </meta>
+ </xsl:if>
+ </xsl:for-each>
+ <!-- enumerations get the index entries for their members -->
+ <xsl:if test="$api-subgroup='enumeration'">
+ <xsl:for-each select="/document/reference/elements/element">
+ <meta name="System.Keywords">
+ <includeAttribute name="content" item="{$api-subgroup}MemberIndexEntry">
+ <parameter>
+ <xsl:value-of select="apidata/@name" />
+ </parameter>
+ </includeAttribute>
+ </meta>
+ </xsl:for-each>
+ </xsl:if>
+ </xsl:when>
+ <!-- all member lists get unqualified entries, qualified entries, and unqualified sub-entries -->
+ <xsl:when test="$topic-group='list' and $topic-subgroup='members'">
+ <xsl:variable name="namespace" select="/document/reference/containers/namespace/apidata/@name" />
+ <xsl:variable name="names">
+ <xsl:for-each select="/document/reference">
+ <xsl:call-template name="textNames" />
+ </xsl:for-each>
+ </xsl:variable>
+ <xsl:for-each select="msxsl:node-set($names)/name">
+ <meta name="System.Keywords">
+ <includeAttribute name="content" item="{$api-subgroup}IndexEntry">
+ <parameter>
+ <xsl:value-of select="." />
+ </parameter>
+ </includeAttribute>
+ </meta>
+ <meta name="System.Keywords">
+ <includeAttribute name="content" item="membersIndexEntry">
+ <parameter>
+ <include item="{$api-subgroup}IndexEntry">
+ <parameter>
+ <xsl:value-of select="." />
+ </parameter>
+ </include>
+ </parameter>
+ </includeAttribute>
+ </meta>
+ </xsl:for-each>
+ <xsl:variable name="qnames">
+ <xsl:for-each select="/document/reference">
+ <xsl:call-template name="qualifiedTextNames" />
+ </xsl:for-each>
+ </xsl:variable>
+ <xsl:if test="boolean($namespace != '')">
+ <xsl:for-each select="msxsl:node-set($qnames)/name">
+ <meta name="System.Keywords">
+ <includeAttribute name="content" item="{$api-subgroup}IndexEntry">
+ <parameter>
+ <xsl:value-of select="." />
+ </parameter>
+ </includeAttribute>
+ </meta>
+ </xsl:for-each>
+ </xsl:if>
+ </xsl:when>
+ <!-- other member list pages get unqualified sub-entries -->
+ <xsl:when test="$topic-group='list' and not($topic-subgroup = 'overload')">
+ <xsl:variable name="names">
+ <xsl:for-each select="/document/reference">
+ <xsl:call-template name="textNames" />
+ </xsl:for-each>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$topic-subgroup='Operators'">
+ <xsl:variable name="operators" select="document/reference/elements/element[not(apidata[@name='Explicit' or @name='Implicit'])]"/>
+ <xsl:variable name="conversions" select="document/reference/elements/element[apidata[@name='Explicit' or @name='Implicit']]" />
+ <xsl:variable name="entryType">
+ <xsl:choose>
+ <!-- operators + type conversions -->
+ <xsl:when test="count($operators) &gt; 0 and count($conversions) &gt; 0">
+ <xsl:value-of select="'operatorsAndTypeConversions'" />
+ </xsl:when>
+ <!-- no operators + type conversions -->
+ <xsl:when test="not(count($operators) &gt; 0) and count($conversions) &gt; 0">
+ <xsl:value-of select="'typeConversions'" />
+ </xsl:when>
+ <!-- operators + no type conversions -->
+ <xsl:otherwise>
+ <xsl:value-of select="$topic-subgroup" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:for-each select="msxsl:node-set($names)/name">
+ <meta name="System.Keywords">
+ <includeAttribute name="content" item="{$entryType}IndexEntry">
+ <parameter>
+ <include item="{$api-subgroup}IndexEntry">
+ <parameter>
+ <xsl:value-of select="." />
+ </parameter>
+ </include>
+ </parameter>
+ </includeAttribute>
+ </meta>
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:for-each select="msxsl:node-set($names)/name">
+ <meta name="System.Keywords">
+ <includeAttribute name="content" item="{$subgroup}IndexEntry">
+ <parameter>
+ <include item="{$api-subgroup}IndexEntry">
+ <parameter>
+ <xsl:value-of select="." />
+ </parameter>
+ </include>
+ </parameter>
+ </includeAttribute>
+ </meta>
+ </xsl:for-each>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <!-- constructor (or constructor overload) topics get unqualified sub-entries using the type names -->
+ <xsl:when test="($topic-group='api' and $api-subgroup='constructor' and not(/document/reference/memberdata/@overload)) or ($topic-subgroup='overload' and $api-subgroup = 'constructor')">
+ <xsl:variable name="typeSubgroup" select="/document/reference/containers/type/apidata/@subgroup" />
+ <xsl:variable name="names">
+ <xsl:for-each select="/document/reference/containers/type">
+ <xsl:call-template name="textNames" />
+ </xsl:for-each>
+ </xsl:variable>
+ <xsl:for-each select="msxsl:node-set($names)/name">
+ <meta name="System.Keywords">
+ <includeAttribute name="content" item="constructorIndexEntry">
+ <parameter>
+ <include item="{$typeSubgroup}IndexEntry">
+ <parameter>
+ <xsl:value-of select="." />
+ </parameter>
+ </include>
+ </parameter>
+ </includeAttribute>
+ </meta>
+ </xsl:for-each>
+ <xsl:variable name="qnames">
+ <xsl:for-each select="/document/reference">
+ <xsl:call-template name="qualifiedTextNames" />
+ </xsl:for-each>
+ </xsl:variable>
+ <xsl:for-each select="msxsl:node-set($qnames)/name">
+ <meta name="System.Keywords">
+ <includeAttribute name="content" item="constructorTypeIndexEntry">
+ <parameter>
+ <xsl:value-of select="." />
+ </parameter>
+ </includeAttribute>
+ </meta>
+ </xsl:for-each>
+ </xsl:when>
+ <!-- op_explicit and op_implicit members -->
+ <xsl:when test="$topic-group='api' and $api-subsubgroup='operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+ <xsl:variable name="names">
+ <xsl:for-each select="/document/reference">
+ <xsl:call-template name="operatorTextNames" />
+ </xsl:for-each>
+ </xsl:variable>
+ <xsl:for-each select="msxsl:node-set($names)/name">
+ <meta name="System.Keywords">
+ <includeAttribute name="content" item="conversionOperatorIndexEntry">
+ <parameter>
+ <xsl:copy-of select="."/>
+ </parameter>
+ </includeAttribute>
+ </meta>
+ </xsl:for-each>
+ </xsl:when>
+ <!-- other member (or overload) topics get qualified and unqualified entries using the member names -->
+ <xsl:when test="($topic-group='api' and $api-group='member' and not(/document/reference/memberdata/@overload)) or $topic-subgroup='overload'">
+
+ <xsl:choose>
+ <!-- overload op_explicit and op_implicit topics -->
+ <xsl:when test="$api-subsubgroup='operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+ </xsl:when>
+ <!-- explicit interface implementation -->
+ <xsl:when test="/document/reference/proceduredata/@virtual='true' and /document/reference/memberdata/@visibility='private'">
+ <xsl:variable name="entryType">
+ <xsl:choose>
+ <xsl:when test="string($subsubgroup)">
+ <xsl:value-of select="$subsubgroup" />
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="$subgroup='overload'">
+ <xsl:value-of select="/document/reference/apidata/@subgroup"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$subgroup" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="names">
+ <xsl:for-each select="/document/reference/implements/member">
+ <xsl:call-template name="textNames" />
+ </xsl:for-each>
+ </xsl:variable>
+ <xsl:for-each select="msxsl:node-set($names)/name">
+ <meta name="System.Keywords">
+ <includeAttribute name="content" item="{$entryType}ExplicitIndexEntry">
+ <parameter>
+ <xsl:copy-of select="."/>
+ </parameter>
+ </includeAttribute>
+ </meta>
+ </xsl:for-each>
+ <xsl:variable name="qnames">
+ <xsl:for-each select="/document/reference">
+ <xsl:call-template name="qualifiedTextNames" />
+ </xsl:for-each>
+ </xsl:variable>
+ <xsl:for-each select="msxsl:node-set($qnames)/name">
+ <meta name="System.Keywords">
+ <includeAttribute name="content" item="{$entryType}ExplicitIndexEntry">
+ <parameter>
+ <xsl:copy-of select="."/>
+ </parameter>
+ </includeAttribute>
+ </meta>
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="entryType">
+ <xsl:choose>
+ <xsl:when test="string($subsubgroup)">
+ <xsl:value-of select="$subsubgroup" />
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="$api-subsubgroup='operator'">
+ <xsl:value-of select="$api-subsubgroup"/>
+ </xsl:when>
+ <xsl:when test="$subgroup='overload'">
+ <xsl:value-of select="/document/reference/apidata/@subgroup"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$subgroup" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="names">
+ <xsl:for-each select="/document/reference">
+ <xsl:call-template name="textNames" />
+ </xsl:for-each>
+ </xsl:variable>
+ <xsl:for-each select="msxsl:node-set($names)/name">
+ <meta name="System.Keywords">
+ <includeAttribute name="content" item="{$entryType}IndexEntry">
+ <parameter>
+ <xsl:copy-of select="."/>
+ </parameter>
+ </includeAttribute>
+ </meta>
+ </xsl:for-each>
+ <xsl:variable name="qnames">
+ <xsl:for-each select="/document/reference">
+ <xsl:call-template name="qualifiedTextNames" />
+ </xsl:for-each>
+ </xsl:variable>
+ <xsl:for-each select="msxsl:node-set($qnames)/name">
+ <meta name="System.Keywords">
+ <includeAttribute name="content" item="{$entryType}IndexEntry">
+ <parameter>
+ <xsl:copy-of select="."/>
+ </parameter>
+ </includeAttribute>
+ </meta>
+ </xsl:for-each>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </xsl:when>
+ <!-- derived type lists get unqualified sub-entries -->
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="insert30Metadata">
+
+ <!-- System.Language -->
+ <meta name="Language">
+ <includeAttribute name="content" item="locale" />
+ </meta>
+
+ <!-- System.Title -->
+ <!-- <title> is set elsewhere (eg, main_conceptual.xsl, utilities_reference.xsl) -->
+
+ <!-- System.Keywords -->
+ <!-- Microsoft.Help.F1 -->
+ <xsl:call-template name="indexMetadata30" />
+ <xsl:call-template name="helpMetadata30" />
+ <xsl:call-template name="authoredMetadata30" />
+
+ <!-- Microsoft.Help.Id -->
+ <meta name="Microsoft.Help.Id" content="{$key}" />
+
+ <!-- Microsoft.Help.Description -->
+ <xsl:if test="$abstractSummary">
+ <meta name="Description">
+ <xsl:attribute name="content">
+ <xsl:call-template name="trimAtPeriod">
+ <xsl:with-param name="string" select="$abstractSummary" />
+ </xsl:call-template>
+ </xsl:attribute>
+ </meta>
+ </xsl:if>
+
+ <!-- Microsoft.Help.TocParent -->
+ <xsl:for-each select="/document/metadata/attribute[@name='TOCParent']">
+ <meta name="Microsoft.Help.TocParent" content="{.}" />
+ <meta name="Microsoft.Help.TocOrder" content="0" />
+ </xsl:for-each>
+
+ <!-- Microsoft.Help.Product -->
+ <!-- Added by MTPS -->
+
+ <!-- Microsoft.Help.ProductVersion -->
+ <!-- Added by MTPS -->
+
+ <!-- Microsoft.Help.Category -->
+ <xsl:for-each select="/document/metadata/attribute[@name='Category']">
+ <meta name="Microsoft.Help.Category" content="{.}" />
+ </xsl:for-each>
+
+ <!-- Microsoft.Help.ContentFilter -->
+ <xsl:for-each select="/document/metadata/attribute[@name='ContentFilter']">
+ <meta name="Microsoft.Help.ContentFilter" content="{.}" />
+ </xsl:for-each>
+
+ <!-- Microsoft.Help.ContentType -->
+ <meta name="Microsoft.Help.ContentType" content="Reference" />
+
+ <!-- Microsoft.Package.Book -->
+ <xsl:variable name="Book" select="/document/metadata/attribute[@name='Book']/text()" />
+ <xsl:if test="$Book">
+ <meta name="Microsoft.Package.Book" content="{$Book}" />
+ </xsl:if>
+
+
+
+ </xsl:template>
+
+
+
+</xsl:stylesheet>
diff --git a/tools/Sandcastle/Presentation/vs2005/transforms/seeAlsoSection.xsl b/tools/Sandcastle/Presentation/vs2005/transforms/seeAlsoSection.xsl
new file mode 100644
index 0000000..f9a234f
--- /dev/null
+++ b/tools/Sandcastle/Presentation/vs2005/transforms/seeAlsoSection.xsl
@@ -0,0 +1,168 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"
+ xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
+ xmlns:mshelp="http://msdn.microsoft.com/mshelp"
+ xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+ >
+
+ <msxsl:script language="C#" implements-prefix="ddue">
+ <msxsl:using namespace="System" />
+ <msxsl:using namespace="System.Globalization"/>
+ <msxsl:using namespace="System.Text.RegularExpressions" />
+ <![CDATA[
+ public static string ToUpper(string id) {
+ return id.Trim().ToUpper(System.Globalization.CultureInfo.InvariantCulture);
+ }
+ //Regular expression to check that a string is in a valid Guid representation.
+ private static Regex guidChecker = new Regex("[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}", RegexOptions.None);
+
+ public static string GuidChecker(string id) {
+ return guidChecker.IsMatch(id).ToString();
+ }
+
+ public static string CompareDate(string RTMReleaseDate, string changedHistoryDate) {
+
+ CultureInfo culture = CultureInfo.InvariantCulture;
+ DateTime dt1 = DateTime.MinValue;
+ DateTime dt2 = DateTime.MinValue;
+
+ try {
+ dt1 = DateTime.Parse(RTMReleaseDate, culture);
+ }
+ catch (FormatException) {
+ Console.WriteLine(string.Format("Error: CompareDate: Unable to convert '{0}' for culture {1}.", RTMReleaseDate, culture.Name));
+ return "notValidDate";
+ }
+
+ try {
+ dt2 = DateTime.Parse(changedHistoryDate,culture);
+ }
+ catch (FormatException) {
+ Console.WriteLine(string.Format("Error: CompareDate: Unable to convert '{0}' for culture {1}.", changedHistoryDate, culture.Name));
+ return "notValidDate";
+ }
+
+ if (DateTime.Compare(dt2, dt1) > 0) return changedHistoryDate;
+ else return RTMReleaseDate;
+ }
+
+ public static string IsValidDate(string dateString) {
+
+ CultureInfo culture = CultureInfo.InvariantCulture;
+ DateTime dt = DateTime.MinValue;
+
+ try {
+ dt = DateTime.Parse(dateString, culture);
+ }
+ catch (FormatException) {
+ Console.WriteLine(string.Format("Error: IsValidDate: Unable to convert '{0}' for culture {1}.", dateString, culture.Name));
+ return "false";
+ }
+
+ return "true";
+ }
+
+ ]]>
+ </msxsl:script>
+
+ <!-- Tasks -->
+ <xsl:variable name="HowTo" select="'DAC3A6A0-C863-4E5B-8F65-79EFC6A4BA09'" />
+ <xsl:variable name="Walkthrough" select="'4779DD54-5D0C-4CC3-9DB3-BF1C90B721B3'" />
+ <xsl:variable name="Sample" select="'069EFD88-412D-4E2F-8848-2D5C3AD56BDE'" />
+ <xsl:variable name="Troubleshooting" select="'38C8E0D1-D601-4DBA-AE1B-5BEC16CD9B01'" />
+
+ <!-- Reference -->
+ <xsl:variable name="ReferenceWithoutSyntax" select="'F9205737-4DEC-4A58-AA69-0E621B1236BD'" />
+ <xsl:variable name="ReferenceWithSyntax" select="'95DADC4C-A2A6-447A-AA36-B6BE3A4F8DEC'" />
+ <xsl:variable name="XMLReference" select="'3272D745-2FFC-48C4-9E9D-CF2B2B784D5F'" />
+ <xsl:variable name="ErrorMessage" select="'A635375F-98C2-4241-94E7-E427B47C20B6'" />
+ <xsl:variable name="UIReference" select="'B8ED9F21-39A4-4967-928D-160CD2ED9DCE'" />
+
+ <!-- Concepts -->
+ <xsl:variable name="Conceptual" select="'1FE70836-AA7D-4515-B54B-E10C4B516E50'" />
+ <xsl:variable name="SDKTechnologyOverviewArchitecture" select="'68F07632-C4C5-4645-8DFA-AC87DCB4BD54'" />
+ <xsl:variable name="SDKTechnologyOverviewCodeDirectory" select="'4BBAAF90-0E5F-4C86-9D31-A5CAEE35A416'" />
+ <xsl:variable name="SDKTechnologyOverviewScenarios" select="'356C57C4-384D-4AF2-A637-FDD6F088A033'" />
+ <xsl:variable name="SDKTechnologyOverviewTechnologySummary" select="'19F1BB0E-F32A-4D5F-80A9-211D92A8A715'" />
+
+ <!-- Other Resources -->
+ <xsl:variable name="Orientation" select="'B137C930-7BF7-48A2-A329-3ADCAEF8868E'" />
+ <xsl:variable name="WhitePaper" select="'56DB00EC-28BA-4C0D-8694-28E8B244E236'" />
+ <xsl:variable name="CodeEntity" select="'4A273212-0AC8-4D72-8349-EC11CD2FF8CD'" />
+ <xsl:variable name="Glossary" select="'A689E19C-2687-4881-8CE1-652FF60CF46C'" />
+ <xsl:variable name="SDKTechnologyOverviewOrientation" select="'CDB8C120-888F-447B-8AF8-F9540562E7CA'" />
+
+ <xsl:template match="ddue:relatedTopics" mode="seeAlso">
+ <xsl:param name="autoGenerateLinks" select="'false'" />
+
+ <!-- Tasks -->
+ <xsl:if test="(ddue:link | ddue:legacyLink)[(ddue:ToUpper(@topicType_id) = $HowTo or ddue:ToUpper(@topicType_id) = $Walkthrough or ddue:ToUpper(@topicType_id) = $Sample or ddue:ToUpper(@topicType_id) = $Troubleshooting) and ddue:GuidChecker(@xlink:href) = 'True']" >
+ <xsl:call-template name="seeAlsoSubSection">
+ <xsl:with-param name="headerGroup" select="'SeeAlsoTasks'" />
+ <xsl:with-param name="members" select="(ddue:link | ddue:legacyLink)[(ddue:ToUpper(@topicType_id) = $HowTo or ddue:ToUpper(@topicType_id) = $Walkthrough or ddue:ToUpper(@topicType_id) = $Sample or ddue:ToUpper(@topicType_id) = $Troubleshooting) and ddue:GuidChecker(@xlink:href) = 'True']" />
+ <xsl:with-param name="autoGenerateLinks" select="'false'" />
+ </xsl:call-template>
+ </xsl:if>
+
+ <!-- Reference -->
+ <xsl:if test="(ddue:link | ddue:legacyLink)[((ddue:ToUpper(@topicType_id) = $ReferenceWithoutSyntax or ddue:ToUpper(@topicType_id) = $ReferenceWithSyntax or ddue:ToUpper(@topicType_id) = $XMLReference or ddue:ToUpper(@topicType_id) = $ErrorMessage or ddue:ToUpper(@topicType_id) = $UIReference) and ddue:GuidChecker(@xlink:href) = 'True') or ddue:GuidChecker(@xlink:href) = 'False'] |
+ ddue:codeEntityReference or
+ $autoGenerateLinks = 'true'">
+ <xsl:call-template name="seeAlsoSubSection">
+ <xsl:with-param name="headerGroup" select="'SeeAlsoReference'" />
+ <xsl:with-param name="members" select="(ddue:link | ddue:legacyLink)[((ddue:ToUpper(@topicType_id) = $ReferenceWithoutSyntax or ddue:ToUpper(@topicType_id) = $ReferenceWithSyntax or ddue:ToUpper(@topicType_id) = $XMLReference or ddue:ToUpper(@topicType_id) = $ErrorMessage or ddue:ToUpper(@topicType_id) = $UIReference) and ddue:GuidChecker(@xlink:href) = 'True') or ddue:GuidChecker(@xlink:href) = 'False'] |
+ ddue:codeEntityReference" />
+ <xsl:with-param name="autoGenerateLinks" select="$autoGenerateLinks" />
+ </xsl:call-template>
+ </xsl:if>
+
+ <!-- Concepts -->
+ <xsl:if test="(ddue:link | ddue:legacyLink)[(ddue:ToUpper(@topicType_id) = $Conceptual or ddue:ToUpper(@topicType_id) = $SDKTechnologyOverviewArchitecture or ddue:ToUpper(@topicType_id) = $SDKTechnologyOverviewCodeDirectory or ddue:ToUpper(@topicType_id) = $SDKTechnologyOverviewScenarios or ddue:ToUpper(@topicType_id) = $SDKTechnologyOverviewTechnologySummary) and ddue:GuidChecker(@xlink:href) = 'True']">
+ <xsl:call-template name="seeAlsoSubSection">
+ <xsl:with-param name="headerGroup" select="'SeeAlsoConcepts'" />
+ <xsl:with-param name="members" select="(ddue:link | ddue:legacyLink)[(ddue:ToUpper(@topicType_id) = $Conceptual or ddue:ToUpper(@topicType_id) = $SDKTechnologyOverviewArchitecture or ddue:ToUpper(@topicType_id) = $SDKTechnologyOverviewCodeDirectory or ddue:ToUpper(@topicType_id) = $SDKTechnologyOverviewScenarios or ddue:ToUpper(@topicType_id) = $SDKTechnologyOverviewTechnologySummary) and ddue:GuidChecker(@xlink:href) = 'True']" />
+ <xsl:with-param name="autoGenerateLinks" select="'false'" />
+ </xsl:call-template>
+ </xsl:if>
+
+ <!-- Other Resources -->
+ <xsl:if test="(ddue:link | ddue:legacyLink)[(ddue:ToUpper(@topicType_id) != $HowTo and ddue:ToUpper(@topicType_id) != $Walkthrough and ddue:ToUpper(@topicType_id) != $Sample and ddue:ToUpper(@topicType_id) != $Troubleshooting and ddue:ToUpper(@topicType_id) != $Conceptual and ddue:ToUpper(@topicType_id) != $SDKTechnologyOverviewArchitecture and ddue:ToUpper(@topicType_id) != $SDKTechnologyOverviewCodeDirectory and
+ ddue:ToUpper(@topicType_id) != $SDKTechnologyOverviewScenarios and ddue:ToUpper(@topicType_id) != $SDKTechnologyOverviewTechnologySummary and ddue:ToUpper(@topicType_id) != $ReferenceWithoutSyntax and ddue:ToUpper(@topicType_id) != $ReferenceWithSyntax and ddue:ToUpper(@topicType_id) != $XMLReference and ddue:ToUpper(@topicType_id) != $ErrorMessage and ddue:ToUpper(@topicType_id) != $UIReference and
+ ddue:GuidChecker(@xlink:href) = 'True') or (not(@topicType_id) and ddue:GuidChecker(@xlink:href) = 'True')] or
+ ddue:dynamicLink[@type = 'inline'] or
+ ddue:externalLink" >
+ <xsl:call-template name="seeAlsoSubSection">
+ <xsl:with-param name="headerGroup" select="'SeeAlsoOtherResources'" />
+ <xsl:with-param name="members" select="(ddue:link | ddue:legacyLink)[(ddue:ToUpper(@topicType_id) != $HowTo and ddue:ToUpper(@topicType_id) != $Walkthrough and ddue:ToUpper(@topicType_id) != $Sample and ddue:ToUpper(@topicType_id) != $Troubleshooting and ddue:ToUpper(@topicType_id) != $Conceptual and ddue:ToUpper(@topicType_id) != $SDKTechnologyOverviewArchitecture and ddue:ToUpper(@topicType_id) != $SDKTechnologyOverviewCodeDirectory and
+ ddue:ToUpper(@topicType_id) != $SDKTechnologyOverviewScenarios and ddue:ToUpper(@topicType_id) != $SDKTechnologyOverviewTechnologySummary and ddue:ToUpper(@topicType_id) != $ReferenceWithoutSyntax and ddue:ToUpper(@topicType_id) != $ReferenceWithSyntax and ddue:ToUpper(@topicType_id) != $XMLReference and ddue:ToUpper(@topicType_id) != $ErrorMessage and ddue:ToUpper(@topicType_id) != $UIReference and
+ ddue:GuidChecker(@xlink:href) = 'True') or (not(@topicType_id) and ddue:GuidChecker(@xlink:href) = 'True')] |
+ ddue:dynamicLink[@type = 'inline'] |
+ ddue:externalLink" />
+ <xsl:with-param name="autoGenerateLinks" select="'false'" />
+ </xsl:call-template>
+ </xsl:if>
+
+ </xsl:template>
+
+ <xsl:template name="seeAlsoSubSection">
+ <xsl:param name="headerGroup" />
+ <xsl:param name="members" />
+ <xsl:param name="autoGenerateLinks" />
+ <xsl:call-template name="subSection">
+ <xsl:with-param name="title">
+ <include item="{$headerGroup}"/>
+ </xsl:with-param>
+ <xsl:with-param name="content">
+ <xsl:if test="$autoGenerateLinks='true'">
+ <xsl:call-template name="autogenSeeAlsoLinks"/>
+ </xsl:if>
+ <xsl:for-each select="$members">
+ <div class="seeAlsoStyle">
+ <xsl:apply-templates select="." />
+ </div>
+ </xsl:for-each>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
+</xsl:stylesheet> \ No newline at end of file
diff --git a/tools/Sandcastle/Presentation/vs2005/transforms/utilities_dduexml.xsl b/tools/Sandcastle/Presentation/vs2005/transforms/utilities_dduexml.xsl
index 24b78ca..40d4cbe 100644
--- a/tools/Sandcastle/Presentation/vs2005/transforms/utilities_dduexml.xsl
+++ b/tools/Sandcastle/Presentation/vs2005/transforms/utilities_dduexml.xsl
@@ -13,14 +13,16 @@
<!-- the Remarks section includes content from these nodes, excluding the xaml sections are captured in the xaml syntax processing -->
<xsl:template name="HasRemarksContent">
+ <xsl:param name="node" />
+
<xsl:choose>
<xsl:when test="/document/reference/attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">true</xsl:when>
- <xsl:when test="normalize-space(ddue:content)">true</xsl:when>
- <xsl:when test="normalize-space(../ddue:notesForImplementers)">true</xsl:when>
- <xsl:when test="normalize-space(../ddue:notesForCallers)">true</xsl:when>
- <xsl:when test="normalize-space(../ddue:notesForInheritors)">true</xsl:when>
- <xsl:when test="normalize-space(../ddue:platformNotes)">true</xsl:when>
- <xsl:when test="normalize-space(ddue:sections/ddue:section[not(
+ <xsl:when test="normalize-space($node/ddue:remarks/ddue:content)">true</xsl:when>
+ <xsl:when test="normalize-space($node/ddue:notesForImplementers)">true</xsl:when>
+ <xsl:when test="normalize-space($node/ddue:notesForCallers)">true</xsl:when>
+ <xsl:when test="normalize-space($node/ddue:notesForInheritors)">true</xsl:when>
+ <xsl:when test="normalize-space($node/ddue:platformNotes)">true</xsl:when>
+ <xsl:when test="normalize-space($node/ddue:remarks/ddue:sections/ddue:section[not(
starts-with(@address,'xamlValues') or
starts-with(@address,'xamlTextUsage') or
starts-with(@address,'xamlAttributeUsage') or
@@ -34,40 +36,10 @@
</xsl:template>
<xsl:template match="ddue:remarks">
- <xsl:variable name="hasRemarks">
- <xsl:call-template name="HasRemarksContent"/>
- </xsl:variable>
- <xsl:if test="$hasRemarks='true'">
- <xsl:choose>
- <xsl:when test="not($group = 'namespace')">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'remarks'"/>
- <xsl:with-param name="title"><include item="remarksTitle" /></xsl:with-param>
- <xsl:with-param name="content">
- <!-- HostProtectionAttribute -->
- <xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
- <xsl:call-template name="hostProtectionContent" />
- </xsl:if>
- <xsl:apply-templates />
- <xsl:apply-templates select="../ddue:notesForImplementers"/>
- <xsl:apply-templates select="../ddue:notesForCallers"/>
- <xsl:apply-templates select="../ddue:notesForInheritors"/>
- <xsl:apply-templates select="../ddue:platformNotes"/>
- <include item="mshelpKTable">
- <parameter>
- <xsl:text>tt_</xsl:text>
- <xsl:value-of select="$key"/>
- </parameter>
- </include>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:template>
+ <xsl:call-template name="WriteRemarksSection">
+ <xsl:with-param name="node" select=".." />
+ </xsl:call-template>
+ </xsl:template>
<xsl:template match="ddue:codeExamples">
<xsl:if test="normalize-space(.)">
@@ -204,6 +176,10 @@
</xsl:for-each>
</xsl:template>
+ <xsl:template match="ddue:platformNotes/ddue:platformNote/ddue:content/ddue:para">
+ <xsl:apply-templates />
+ </xsl:template>
+
<xsl:template match="ddue:schemaHierarchy">
<xsl:for-each select="ddue:link">
<xsl:call-template name="indent">
@@ -238,6 +214,9 @@
<xsl:when test="@language = 'js' or @language = 'jscript#' or @language = 'jscript' or @language = 'JScript'">
<xsl:text>JScript</xsl:text>
</xsl:when>
+ <xsl:when test="@language = 'f#' or @language = 'fs' or @language = 'F#'" >
+ <xsl:text>FSharp</xsl:text>
+ </xsl:when>
<xsl:when test="@language = 'xml'">
<xsl:text>xmlLang</xsl:text>
</xsl:when>
@@ -278,79 +257,6 @@
</div>
</xsl:template>
- <xsl:template name="seeAlsoSection">
-
- <xsl:if test="$hasSeeAlsoSection">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'seeAlso'"/>
- <xsl:with-param name="title"><include item="relatedTitle" /></xsl:with-param>
- <xsl:with-param name="content">
-
- <!-- Concepts sub-section -->
- <xsl:if test="normalize-space(/document/comments/ddue:dduexml/ddue:relatedTopics/ddue:link) or normalize-space(/document/comments/ddue:dduexml/ddue:relatedTopics/ddue:dynamicLink[@type='inline'])">
- <xsl:call-template name="subSection">
- <xsl:with-param name="title">
- <include item="SeeAlsoConcepts"/>
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:for-each select="/document/comments/ddue:dduexml/ddue:relatedTopics/*">
- <xsl:if test="name() = 'link' or (name() = 'dynamicLink' and @type = 'inline') or (name() = 'legacyLink' and not(starts-with(@xlink:href,'frlrf')
- or starts-with(@xlink:href,'N:') or starts-with(@xlink:href,'T:') or starts-with(@xlink:href,'M:') or starts-with(@xlink:href,'P:')
- or starts-with(@xlink:href,'F:') or starts-with(@xlink:href,'E:') or starts-with(@xlink:href,'Overload:')))">
- <div class="seeAlsoStyle">
- <xsl:apply-templates select="."/>
- </div>
- </xsl:if>
- </xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
-
- <!-- Reference sub-section (always one of these in an API topic) -->
- <xsl:if test="(normalize-space(/document/comments/ddue:dduexml/ddue:relatedTopics/ddue:codeEntityReference) or normalize-space(/document/comments/ddue:dduexml/ddue:relatedTopics/ddue:legacyLink)) or not(/document/reference/apidata/@group = 'namespace')">
- <xsl:call-template name="subSection">
- <xsl:with-param name="title">
- <include item="SeeAlsoReference"/>
- </xsl:with-param>
-
- <xsl:with-param name="content">
- <xsl:call-template name="autogenSeeAlsoLinks"/>
- <xsl:for-each select="/document/comments/ddue:dduexml/ddue:relatedTopics/*">
- <xsl:if test="name() = 'codeEntityReference' or (name() = 'legacyLink' and (starts-with(@xlink:href,'frlrf')
- or starts-with(@xlink:href,'N:') or starts-with(@xlink:href,'T:') or starts-with(@xlink:href,'M:') or starts-with(@xlink:href,'P:')
- or starts-with(@xlink:href,'F:') or starts-with(@xlink:href,'E:') or starts-with(@xlink:href,'Overload:')))">
- <div class="seeAlsoStyle">
- <xsl:apply-templates select="."/>
- </div>
- </xsl:if>
- </xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
-
- <!-- Other Resources sub-section -->
- <xsl:if test="/document/comments/ddue:dduexml/ddue:relatedTopics/ddue:externalLink">
- <xsl:call-template name="subSection">
- <xsl:with-param name="title">
- <include item="SeeAlsoOtherResources"/>
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:for-each select="/document/comments/ddue:dduexml/ddue:relatedTopics/*">
- <xsl:if test="name() = 'externalLink'">
- <div class="seeAlsoStyle">
- <xsl:apply-templates select="."/>
- </div>
- </xsl:if>
- </xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
-
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
<!-- just skip over these -->
<xsl:template match="ddue:content | ddue:legacy">
<xsl:apply-templates />
@@ -428,6 +334,9 @@
<xsl:when test="@language = 'js' or @language = 'jscript#' or @language = 'jscript' or @language = 'JScript'">
<xsl:text>JScript</xsl:text>
</xsl:when>
+ <xsl:when test="@language = 'f#' or @language = 'fs' or @language = 'F#'">
+ <xsl:text>FSharp</xsl:text>
+ </xsl:when>
<xsl:when test="@language = 'xml'">
<xsl:text>xmlLang</xsl:text>
</xsl:when>
@@ -440,6 +349,9 @@
<xsl:when test="@language = 'xaml' or @language = 'XAML'">
<xsl:text>XAML</xsl:text>
</xsl:when>
+ <xsl:when test="@language = 'javascript' or @language = 'JavaScript'">
+ <xsl:text>JavaScript</xsl:text>
+ </xsl:when>
<xsl:otherwise>
<xsl:text>other</xsl:text>
</xsl:otherwise>
@@ -500,6 +412,7 @@
<xsl:choose>
<xsl:when test="@class='tip'">
<img class="note">
+ <includeAttribute name="alt" item="tipAltText" />
<includeAttribute name="title" item="tipAltText" />
<includeAttribute item="iconPath" name="src">
<parameter>alert_note.gif</parameter>
@@ -509,6 +422,7 @@
</xsl:when>
<xsl:when test="@class='caution' or @class='warning'">
<img class="note">
+ <includeAttribute name="alt" item="cautionAltText" />
<includeAttribute name="title" item="cautionAltText" />
<includeAttribute item="iconPath" name="src">
<parameter>alert_caution.gif</parameter>
@@ -518,6 +432,7 @@
</xsl:when>
<xsl:when test="@class='security note'">
<img class="note">
+ <includeAttribute name="alt" item="securityAltText" />
<includeAttribute name="title" item="securityAltText" />
<includeAttribute item="iconPath" name="src">
<parameter>alert_security.gif</parameter>
@@ -527,6 +442,7 @@
</xsl:when>
<xsl:when test="@class='important'">
<img class="note">
+ <includeAttribute name="alt" item="importantAltText" />
<includeAttribute name="title" item="importantAltText" />
<includeAttribute item="iconPath" name="src">
<parameter>alert_caution.gif</parameter>
@@ -536,6 +452,7 @@
</xsl:when>
<xsl:when test="@class='visual basic note'">
<img class="note">
+ <includeAttribute name="alt" item="visualBasicAltText" />
<includeAttribute name="title" item="visualBasicAltText" />
<includeAttribute item="iconPath" name="src">
<parameter>alert_note.gif</parameter>
@@ -545,6 +462,7 @@
</xsl:when>
<xsl:when test="@class='visual c# note'">
<img class="note">
+ <includeAttribute name="alt" item="visualC#AltText" />
<includeAttribute name="title" item="visualC#AltText" />
<includeAttribute item="iconPath" name="src">
<parameter>alert_note.gif</parameter>
@@ -554,6 +472,7 @@
</xsl:when>
<xsl:when test="@class='visual c++ note'">
<img class="note">
+ <includeAttribute name="alt" item="visualC++AltText" />
<includeAttribute name="title" item="visualC++AltText" />
<includeAttribute item="iconPath" name="src">
<parameter>alert_note.gif</parameter>
@@ -563,6 +482,7 @@
</xsl:when>
<xsl:when test="@class='visual j# note'">
<img class="note">
+ <includeAttribute name="alt" item="visualJ#AltText" />
<includeAttribute name="title" item="visualJ#AltText" />
<includeAttribute item="iconPath" name="src">
<parameter>alert_note.gif</parameter>
@@ -572,6 +492,7 @@
</xsl:when>
<xsl:when test="@class='note'">
<img class="note">
+ <includeAttribute name="alt" item="noteAltText" />
<includeAttribute name="title" item="noteAltText" />
<includeAttribute item="iconPath" name="src">
<parameter>alert_note.gif</parameter>
@@ -581,6 +502,7 @@
</xsl:when>
<xsl:otherwise>
<img class="note">
+ <includeAttribute name="alt" item="noteAltText" />
<includeAttribute name="title" item="noteAltText" />
<includeAttribute item="iconPath" name="src">
<parameter>alert_note.gif</parameter>
@@ -605,7 +527,8 @@
</xsl:template>
<xsl:template match="ddue:section">
- <xsl:if test="descendant::ddue:content[normalize-space(.)]">
+ <!-- display the section only if it has content (text or media)-->
+ <xsl:if test="descendant::ddue:content[normalize-space(.)] or descendant::ddue:mediaLink">
<xsl:apply-templates select="@address" />
<!-- Count all the possible ancestor root nodes -->
@@ -630,6 +553,9 @@
<xsl:variable name="a19" select="count(ancestor::ddue:section)" />
<xsl:variable name="total" select="$a1+$a2+$a3+$a4+$a5+$a6+$a7+$a8+$a9+$a10+$a11+$a12+$a13+$a14+$a15+$a16+$a17+$a18+$a19" />
<xsl:choose>
+ <!-- Don't render the 'Change History' section here; it's handled in the writeChangeHistorySection template. -->
+ <xsl:when test="ddue:title = 'Change History'" />
+
<xsl:when test="$total = 0">
<xsl:variable name="sectionCount">
<xsl:value-of select="count(preceding-sibling::ddue:section)"/>
@@ -686,15 +612,13 @@
</xsl:template>
-->
<xsl:template match="ddue:mediaLink|ddue:mediaLinkInline">
- <span class="media">
- <xsl:if test="ddue:caption">
- <div class="caption">
- <xsl:apply-templates select="ddue:caption" />
- </div>
- <br />
- </xsl:if>
- <artLink target="{ddue:image/@xlink:href}" />
- </span>
+ <xsl:if test="ddue:caption">
+ <div class="caption">
+ <xsl:apply-templates select="ddue:caption" />
+ </div>
+ <br />
+ </xsl:if>
+ <artLink target="{ddue:image/@xlink:href}" />
</xsl:template>
<xsl:template match="ddue:procedure">
@@ -791,7 +715,7 @@
<xsl:template match="ddue:languageKeyword">
<xsl:variable name="word" select="." />
- <span data="langKeyword" value="{$word}">
+ <span sdata="langKeyword" value="{$word}">
<xsl:choose>
<!-- mref topics get special handling for keywords like null, etc. -->
<xsl:when test="/document/reference/apidata">
@@ -802,12 +726,16 @@
<span class="cs">null</span>
<span class="vb">Nothing</span>
<span class="cpp">nullptr</span>
+ <span class="fs">unit</span>
</span>
</xsl:when>
<!-- need to comment out special handling for static, virtual, true, and false
until UE teams review authored content to make sure the auto-text works with the authored text.
For example, auto-text with authored content like the following will result in bad customer experience.
- <languageKeyword>static</languageKeyword> (<languageKeyword>Shared</languageKeyword> in Visual Basic) -->
+ <languageKeyword>static</languageKeyword> (<languageKeyword>Shared</languageKeyword> in Visual Basic)
+
+ This also needs to have F# added should it be uncommented.
+ -->
<!--
<xsl:when test="$word='static' or $word='Shared'">
<span class="cs">static</span>
@@ -1327,6 +1255,7 @@
<tr>
<th align="left">
<img class="note">
+ <includeAttribute name="alt" item="noteAltText" />
<includeAttribute name="title" item="noteAltText" />
<includeAttribute item="iconPath" name="src">
<parameter>alert_note.gif</parameter>
@@ -1360,4 +1289,138 @@
</div>
</xsl:template>
+ <!-- Display a date to show when the topic was last updated. -->
+ <xsl:template name="writeFreshnessDate">
+ <!-- The $ChangedHistoryDate param is from the authored changeHistory table, if any. -->
+ <xsl:param name="ChangedHistoryDate" />
+ <!-- Determine whether the authored date is a valid date string. -->
+ <xsl:variable name="validChangeHistoryDate">
+ <xsl:choose>
+ <xsl:when test="normalize-space($ChangedHistoryDate)=''"/>
+ <xsl:when test="ddue:IsValidDate(normalize-space($ChangedHistoryDate)) = 'true'">
+ <xsl:value-of select="normalize-space($ChangedHistoryDate)"/>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:choose>
+ <!-- display nothing if the 'changeHistoryOptions' argument is set to 'omit' -->
+ <xsl:when test="$changeHistoryOptions = 'omit'"/>
+
+ <!-- if it's a valid date, display the freshness line. -->
+ <xsl:when test="normalize-space($validChangeHistoryDate)">
+ <p>
+ <include item="UpdateTitle">
+ <parameter>
+ <xsl:value-of select="normalize-space($validChangeHistoryDate)"/>
+ </parameter>
+ </include>
+ </p>
+ </xsl:when>
+
+ <!-- use a default date if no ChangedHistoryDate and the 'changeHistoryOptions' argument is set to 'showDefaultFreshnessDate' -->
+ <xsl:when test="$changeHistoryOptions = 'showDefaultFreshnessDate'">
+ <p>
+ <include item="UpdateTitle">
+ <parameter>
+ <include item="defaultFreshnessDate"/>
+ </parameter>
+ </include>
+ </p>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="writeChangeHistorySection">
+ <xsl:if test="$changeHistoryOptions!='omit'">
+ <!-- conceptual authored content is in /document/topic/*; mref content is in /document/comments/ddue:dduexml. -->
+ <xsl:for-each select="/document/comments/ddue:dduexml | /document/topic/*">
+ <!-- Get the change history section content, which can be in changeHistory or a section with title='Change History'. -->
+ <xsl:variable name="changeHistoryContent">
+ <xsl:choose>
+ <xsl:when test="ddue:changeHistory/ddue:content/ddue:table/ddue:row/ddue:entry[normalize-space(.)]">
+ <xsl:apply-templates select="ddue:changeHistory/ddue:content"/>
+ </xsl:when>
+ <xsl:when test=".//ddue:section[ddue:title = 'Change History']/ddue:content/ddue:table/ddue:row/ddue:entry[normalize-space(.)]">
+ <xsl:apply-templates select=".//ddue:section[ddue:title = 'Change History']/ddue:content"/>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:if test="normalize-space($changeHistoryContent)">
+ <xsl:call-template name="section">
+ <xsl:with-param name="toggleSwitch" select="'changeHistory'"/>
+ <xsl:with-param name="title">
+ <include item="changeHistory" />
+ </xsl:with-param>
+ <xsl:with-param name="content">
+ <xsl:copy-of select="$changeHistoryContent" />
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="ddue:span">
+ <xsl:choose>
+ <!-- Process the markup added by MTMarkup tool -->
+ <xsl:when test="@class='tgtSentence' or @class='srcSentence'">
+ <span>
+ <xsl:copy-of select="@*" />
+ <xsl:apply-templates />
+ </span>
+ </xsl:when>
+ <!-- fix bug 361746 - use copy-of, so that span class="keyword", "literal" and "comment"
+ nodes are copied to preserve code colorization in snippets -->
+ <xsl:when test="@class='keyword' or @class='literal' or @class='comment'">
+ <xsl:copy-of select="."/>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Don't render the changeHistory section here; it's handled in the writeChangeHistorySection template. -->
+ <xsl:template match="ddue:changeHistory"/>
+
+ <xsl:template name="WriteRemarksSection">
+ <xsl:param name="node" />
+
+ <xsl:variable name="hasRemarks">
+ <xsl:call-template name="HasRemarksContent">
+ <xsl:with-param name="node" select="$node" />
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:if test="$hasRemarks='true'">
+ <xsl:choose>
+ <xsl:when test="not($group = 'namespace')">
+ <xsl:call-template name="section">
+ <xsl:with-param name="toggleSwitch" select="'remarks'"/>
+ <xsl:with-param name="title">
+ <include item="remarksTitle" />
+ </xsl:with-param>
+ <xsl:with-param name="content">
+ <!-- HostProtectionAttribute -->
+ <xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
+ <xsl:call-template name="hostProtectionContent" />
+ </xsl:if>
+ <xsl:apply-templates select="$node/ddue:remarks/*" />
+ <xsl:apply-templates select="$node/ddue:notesForImplementers"/>
+ <xsl:apply-templates select="$node/ddue:notesForCallers"/>
+ <xsl:apply-templates select="$node/ddue:notesForInheritors"/>
+ <xsl:apply-templates select="$node/ddue:platformNotes"/>
+ <include item="mshelpKTable">
+ <parameter>
+ <xsl:text>tt_</xsl:text>
+ <xsl:value-of select="$key"/>
+ </parameter>
+ </include>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="$node/ddue:remarks/*" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+ </xsl:template>
+
</xsl:stylesheet>
diff --git a/tools/Sandcastle/Presentation/vs2005/transforms/utilities_reference.xsl b/tools/Sandcastle/Presentation/vs2005/transforms/utilities_reference.xsl
index 2137e5f..8edafbc 100644
--- a/tools/Sandcastle/Presentation/vs2005/transforms/utilities_reference.xsl
+++ b/tools/Sandcastle/Presentation/vs2005/transforms/utilities_reference.xsl
@@ -16,8 +16,10 @@
<xsl:param name="key" />
<xsl:param name="metadata" value="false" />
<xsl:param name="languages">false</xsl:param>
+ <xsl:param name="componentizeBy">namespace</xsl:param>
- <xsl:include href="utilities_metadata.xsl" />
+ <xsl:include href="metadataHelp30.xsl" />
+ <xsl:include href="metadataHelp20.xsl"/>
<xsl:include href="xamlSyntax.xsl"/>
<xsl:template match="/">
@@ -25,7 +27,9 @@
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"/>
<META NAME="save" CONTENT="history"/>
+ <xsl:call-template name="insertNoIndexNoFollow" />
<title><xsl:call-template name="topicTitlePlain"/></title>
+ <xsl:call-template name="insert30Metadata" />
<xsl:call-template name="insertStylesheets" />
<xsl:call-template name="insertScripts" />
<xsl:call-template name="insertFilename" />
@@ -80,6 +84,12 @@
<!-- document head -->
+ <xsl:template name="insertNoIndexNoFollow">
+ <xsl:if test="/document/metadata/attribute[@name='NoSearch']">
+ <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW" />
+ </xsl:if>
+ </xsl:template>
+
<xsl:template name="insertStylesheets">
<link rel="stylesheet" type="text/css" href="../styles/presentation.css" />
<!-- make mshelp links work -->
@@ -240,6 +250,7 @@
<includeAttribute name="src" item="iconPath">
<parameter>CFW.gif</parameter>
</includeAttribute>
+ <includeAttribute name="alt" item="CompactFrameworkAltText" />
<includeAttribute name="title" item="CompactFrameworkAltText" />
</img>
</xsl:if>
@@ -249,6 +260,7 @@
<includeAttribute name="src" item="iconPath">
<parameter>xna.gif</parameter>
</includeAttribute>
+ <includeAttribute name="alt" item="XNAFrameworkAltText" />
<includeAttribute name="title" item="XNAFrameworkAltText" />
</img>
</xsl:if>
@@ -262,11 +274,28 @@
<xsl:text> </xsl:text>
<include item="obsoleteRed" />
</xsl:if>
- <xsl:call-template name="getElementDescription" />
+ <xsl:call-template name="getEnumMemberDescription" />
</td>
</tr>
</xsl:template>
+ <xsl:template name="getEnumMemberDescription">
+ <xsl:choose>
+ <xsl:when test="normalize-space(ddue:summary[1]) != ''">
+ <span sdata="memberAuthoredSummary">
+ <xsl:apply-templates select="ddue:summary[1]/ddue:para/node()" />
+ </span>
+ </xsl:when>
+ <xsl:otherwise>
+ <span sdata="memberAuthoredSummary">
+ <xsl:apply-templates select="ddue:summary[2]/ddue:para/node()" />
+ </span>
+ </xsl:otherwise>
+ </xsl:choose>
+ <!-- enum members may have additional authored content in the remarks node -->
+ <xsl:apply-templates select="ddue:remarks/ddue:content" />
+ </xsl:template>
+
<xsl:template match="element" mode="derivedType">
<tr>
<td>
@@ -291,141 +320,52 @@
</tr>
</xsl:template>
- <xsl:template match="element" mode="overload">
- <xsl:variable name="supportedOnXna">
- <xsl:call-template name="IsMemberSupportedOnXna"/>
- </xsl:variable>
- <xsl:variable name="supportedOnCf">
- <xsl:call-template name="IsMemberSupportedOnCf"/>
- </xsl:variable>
- <xsl:variable name="staticMember">
- <xsl:call-template name="IsMemberStatic"/>
- </xsl:variable>
- <xsl:variable name="inheritedMember">
- <xsl:call-template name="IsMemberInherited"/>
- </xsl:variable>
- <xsl:variable name="protectedMember">
- <xsl:call-template name="IsMemberProtected"/>
- </xsl:variable>
- <xsl:variable name="privateMember">
- <xsl:call-template name="IsMemberPrivate"/>
+ <xsl:template name="extensionMethodDisplayLink">
+ <xsl:variable name="showParameters">
+ <xsl:choose>
+ <xsl:when test="@overload='true'">true</xsl:when>
+ <xsl:otherwise>false</xsl:otherwise>
+ </xsl:choose>
</xsl:variable>
-
- <tr>
- <xsl:if test="normalize-space($inheritedMember)!=''">
- <xsl:attribute name="name">inheritedMember</xsl:attribute>
- </xsl:if>
- <xsl:if test="normalize-space($protectedMember)!=''">
- <xsl:attribute name="protected">true</xsl:attribute>
- </xsl:if>
- <xsl:if test="normalize-space($supportedOnXna)=''">
- <xsl:attribute name="notSupportedOnXna">true</xsl:attribute>
- </xsl:if>
- <xsl:if test="normalize-space($supportedOnCf)=''">
- <xsl:attribute name="notSupportedOn">netcf</xsl:attribute>
- </xsl:if>
-
- <xsl:attribute name="data">
- <xsl:value-of select="apidata/@subgroup" />
- <xsl:choose>
- <xsl:when test="memberdata/@visibility='public'">
- <xsl:text>; public</xsl:text>
- </xsl:when>
- <xsl:when test="memberdata[@visibility='family' or @visibility='family or assembly' or @visibility='assembly']">
- <xsl:text>; protected</xsl:text>
- </xsl:when>
- <xsl:when test="memberdata/@visibility='private' and not(proceduredata[@virtual = 'true'])">
- <xsl:text>; private</xsl:text>
- </xsl:when>
- <!-- NOTE: EII members (private-virtual) fall through to this xsl:otherwise block -->
- <xsl:otherwise>
- <xsl:text>; public</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:choose>
- <xsl:when test="memberdata/@static = 'true'">
- <xsl:text>; static</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>; instance</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:choose>
- <xsl:when test="normalize-space($inheritedMember)=''">
- <xsl:text>; declared</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>; inherited</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
-
- <td>
- <!-- item icons -->
- <xsl:call-template name="memberIcons">
- <xsl:with-param name="memberVisibility">
- <xsl:choose>
- <xsl:when test="memberdata/@visibility='family' or memberdata/@visibility='family or assembly' or memberdata/@visibility='assembly'">prot</xsl:when>
- <xsl:when test="memberdata/@visibility='private'">priv</xsl:when>
- <xsl:otherwise>pub</xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="staticMember" select="normalize-space($staticMember)" />
- <xsl:with-param name="supportedOnXna" select="normalize-space($supportedOnXna)"/>
- <xsl:with-param name="supportedOnCf" select="normalize-space($supportedOnCf)"/>
- </xsl:call-template>
- </td>
- <td>
- <!-- item name -->
- <xsl:choose>
- <xsl:when test="@display-api">
- <referenceLink target="{@api}" display-target="{@display-api}" />
- </xsl:when>
- <xsl:otherwise>
- <referenceLink target="{@api}" />
- </xsl:otherwise>
- </xsl:choose>
- </td>
- <td>
- <!-- item description -->
- <xsl:call-template name="getInternalOnlyDescription" />
- <xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
- <xsl:text> </xsl:text>
- <include item="obsoleteRed" />
- </xsl:if>
- <xsl:call-template name="getElementDescription" />
- <xsl:choose>
- <xsl:when test="normalize-space($inheritedMember)!=''">
- <xsl:text> </xsl:text>
- <include item="inheritedFrom">
- <parameter>
- <xsl:apply-templates select="containers/type" mode="link" />
- </parameter>
- </include>
- </xsl:when>
- <xsl:when test="overrides">
- <xsl:text> </xsl:text>
- <include item="overridesMember">
- <parameter>
- <xsl:apply-templates select="overrides/member" mode="link" />
- </parameter>
- </include>
- </xsl:when>
- </xsl:choose>
-
- </td>
- </tr>
+ <referenceLink target="{@api}" display-target="extension" show-parameters="{$showParameters}">
+ <extensionMethod>
+ <xsl:copy-of select="@*"/>
+ <xsl:copy-of select="apidata|templates|parameters|containers"/>
+ </extensionMethod>
+ </referenceLink>
</xsl:template>
-
+
<xsl:template name="insertFilename">
<meta name="container">
<xsl:attribute name="content">
<xsl:choose>
- <xsl:when test="normalize-space(/document/reference/containers/library/@assembly)">
- <xsl:value-of select="normalize-space(/document/reference/containers/library/@assembly)"/>
+ <xsl:when test="$componentizeBy='assembly'">
+ <xsl:choose>
+ <xsl:when test="normalize-space(/document/reference/containers/library/@assembly)">
+ <xsl:value-of select="normalize-space(/document/reference/containers/library/@assembly)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>Namespaces</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:when>
+ <!-- the default is to componentize by namespace. For non-componentized builds, the <meta name="container"> value is ignored. -->
<xsl:otherwise>
- <xsl:text>Namespaces</xsl:text>
+ <xsl:choose>
+ <!-- get the namespace name from containers/namespace/@api for most members -->
+ <xsl:when test="normalize-space(substring-after(/document/reference/containers/namespace/@api,':'))">
+ <xsl:value-of select="normalize-space(substring-after(/document/reference/containers/namespace/@api,':'))"/>
+ </xsl:when>
+ <!-- use 'default_namespace' for members in the default namespace (where namespace/@api == 'N:') -->
+ <xsl:when test="normalize-space(/document/reference/containers/namespace/@api)"><xsl:text>default_namespace</xsl:text></xsl:when>
+ <!-- for the default namespace topic, use 'default_namespace' -->
+ <xsl:when test="/document/reference/apidata[@group='namespace' and @name='']"><xsl:text>default_namespace</xsl:text></xsl:when>
+ <!-- for other namespace topics, get the name from apidata/@name -->
+ <xsl:when test="/document/reference/apidata/@group='namespace'">
+ <xsl:value-of select="normalize-space(/document/reference/apidata/@name)"/>
+ </xsl:when>
+ <xsl:otherwise><xsl:text>unknown</xsl:text></xsl:otherwise>
+ </xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
@@ -518,7 +458,15 @@
<!-- the subsubgroup, subgroup, or group determines the title -->
<xsl:choose>
<xsl:when test="string($api-subsubgroup)">
- <xsl:value-of select="$api-subsubgroup" />
+ <xsl:choose>
+ <!-- topic title for op_explicit and op_implicit members -->
+ <xsl:when test="$api-subsubgroup='operator' and (document/reference/apidata/@name = 'Explicit' or document/reference/apidata/@name = 'Implicit')">
+ <xsl:value-of select="'typeConversion'"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$api-subsubgroup" />
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:when>
<xsl:when test="string($api-subgroup)">
<xsl:value-of select="$api-subgroup"/>
@@ -531,13 +479,51 @@
<!-- overload topic titles -->
<xsl:when test="$topic-subgroup='overload'">
<!-- the api subgroup (e.g. "property") determines the title; do we want to use the subsubgoup name when it is available? -->
- <xsl:value-of select="$api-subgroup"/>
+ <xsl:choose>
+ <!-- topic title for overload op_explicit and op_implicit members -->
+ <xsl:when test="$api-subsubgroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name = 'Implicit')">
+ <xsl:value-of select="'conversionOperator'"/>
+ </xsl:when>
+ <!-- topic title for overload operator members -->
+ <xsl:when test="$api-subsubgroup='operator'">
+ <xsl:value-of select="$api-subsubgroup" />
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$api-subgroup"/>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:when>
<!-- list topic titles -->
<xsl:when test="$topic-group='list'">
<!-- the topic subgroup (e.g. "methods") determines the title -->
- <xsl:value-of select="$topic-subgroup" />
+ <xsl:choose>
+ <xsl:when test="$topic-subgroup='Operators'">
+ <xsl:variable name="operators" select="document/reference/elements/element[not(apidata[@name='Explicit' or @name='Implicit'])]"/>
+ <xsl:variable name="conversions" select="document/reference/elements/element[apidata[@name='Explicit' or @name='Implicit']]" />
+ <xsl:choose>
+ <!-- operators + type conversions -->
+ <xsl:when test="count($operators) &gt; 0 and count($conversions) &gt; 0">
+ <xsl:value-of select="'OperatorsAndTypeConversions'" />
+ </xsl:when>
+ <!-- no operators + type conversions -->
+ <xsl:when test="not(count($operators) &gt; 0) and count($conversions) &gt; 0">
+ <xsl:value-of select="'TypeConversions'" />
+ </xsl:when>
+ <!-- operators + no type conversions -->
+ <xsl:otherwise>
+ <xsl:value-of select="$topic-subgroup" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$topic-subgroup" />
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:when>
+ <!-- overload root titles -->
+ <xsl:when test="$topic-group='root'">
+ <xsl:value-of select="$topic-group" />
+ </xsl:when>
</xsl:choose>
<xsl:text>TopicTitle</xsl:text>
</xsl:attribute>
@@ -548,10 +534,19 @@
</parameter>
<parameter>
<!-- show parameters only for overloaded members -->
- <xsl:if test="document/reference/memberdata/@overload" >
- <xsl:for-each select="/document/reference">
- <xsl:call-template name="parameterTypesPlain" />
- </xsl:for-each>
+ <xsl:if test="document/reference/memberdata/@overload or ($api-subsubgroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit'))">
+ <xsl:choose>
+ <xsl:when test="$api-subsubgroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+ <xsl:for-each select="/document/reference">
+ <xsl:call-template name="operatorTypesPlain" />
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:for-each select="/document/reference">
+ <xsl:call-template name="parameterTypesPlain" />
+ </xsl:for-each>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:if>
</parameter>
</include>
@@ -580,7 +575,15 @@
<xsl:when test="$topic-group='api'">
<xsl:choose>
<xsl:when test="string($api-subsubgroup)">
- <xsl:value-of select="$api-subsubgroup" />
+ <xsl:choose>
+ <!-- topic tilte for op_explicit and op_implicit members -->
+ <xsl:when test="$api-subsubgroup='operator' and (document/reference/apidata/@name = 'Explicit' or document/reference/apidata/@name = 'Implicit')">
+ <xsl:value-of select="'typeConversion'"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$api-subsubgroup" />
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:when>
<xsl:when test="string($api-subgroup)">
<xsl:value-of select="$api-subgroup" />
@@ -593,13 +596,51 @@
<!-- overload topic titles -->
<xsl:when test="$topic-subgroup='overload'">
<!-- the api subgroup (e.g. "property") determines the title; do we want to use the subsubgoup name when it is available? -->
- <xsl:value-of select="$api-subgroup"/>
+ <xsl:choose>
+ <!-- topic title for overload op_explicit and op_implicit members -->
+ <xsl:when test="$api-subsubgroup = 'operator' and (document/reference/apidata/@name= 'Explicit' or document/reference/apidata/@name= 'Implicit')">
+ <xsl:value-of select="'conversionOperator'"/>
+ </xsl:when>
+ <!-- topic title for overload operator members -->
+ <xsl:when test="$api-subsubgroup='operator'">
+ <xsl:value-of select="$api-subsubgroup" />
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$api-subgroup"/>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:when>
<!-- list topic titles -->
<xsl:when test="$topic-group='list'">
<!-- the topic subgroup (e.g. "methods") determines the title -->
- <xsl:value-of select="$topic-subgroup" />
+ <xsl:choose>
+ <xsl:when test="$topic-subgroup='Operators'">
+ <xsl:variable name="operators" select="document/reference/elements/element[not(apidata[@name='Explicit' or @name='Implicit'])]"/>
+ <xsl:variable name="conversions" select="document/reference/elements/element[apidata[@name='Explicit' or @name='Implicit']]" />
+ <xsl:choose>
+ <!-- operators + type conversions -->
+ <xsl:when test="count($operators) &gt; 0 and count($conversions) &gt; 0">
+ <xsl:value-of select="'OperatorsAndTypeConversions'" />
+ </xsl:when>
+ <!-- no operators + type conversions -->
+ <xsl:when test="not(count($operators) &gt; 0) and count($conversions) &gt; 0">
+ <xsl:value-of select="'TypeConversions'" />
+ </xsl:when>
+ <!-- operators + no type conversions -->
+ <xsl:otherwise>
+ <xsl:value-of select="$topic-subgroup" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$topic-subgroup" />
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:when>
+ <!-- overload root titles -->
+ <xsl:when test="$topic-group='root'">
+ <xsl:value-of select="$topic-group" />
+ </xsl:when>
</xsl:choose>
<xsl:text>TopicTitle</xsl:text>
<!--</xsl:otherwise>
@@ -610,10 +651,19 @@
</parameter>
<parameter>
<!-- show parameters only from overloaded members -->
- <xsl:if test="document/reference/memberdata/@overload" >
- <xsl:for-each select="/document/reference">
- <xsl:call-template name="parameterTypesDecorated" />
- </xsl:for-each>
+ <xsl:if test="document/reference/memberdata/@overload or ($api-subsubgroup= 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit'))">
+ <xsl:choose>
+ <xsl:when test="$api-subsubgroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+ <xsl:for-each select="/document/reference">
+ <xsl:call-template name="operatorTypesDecorated" />
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:for-each select="/document/reference">
+ <xsl:call-template name="parameterTypesDecorated" />
+ </xsl:for-each>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:if>
</parameter>
</include>
@@ -630,11 +680,11 @@
<div id="mainSection">
<div id="mainBody">
- <div id="allHistory" class="saveHistory" onsave="saveAll()" onload="loadAll()">
- <include item="header" />
- </div>
-
- <!--<xsl:call-template name="head" />-->
+ <div id="allHistory" class="saveHistory" onsave="saveAll()" onload="loadAll()"/>
+
+ <!-- 'header' shared content item is used to show optional boilerplate at the top of the topic's scrolling region, e.g. pre-release boilerplate -->
+ <include item="header" />
+
<xsl:call-template name="body" />
</div>
<xsl:call-template name="foot" />
@@ -642,10 +692,6 @@
</xsl:template>
- <!--<xsl:template name="head">
- <include item="header" />
- </xsl:template>-->
-
<xsl:template name="syntaxBlocks">
<xsl:for-each select="/document/syntax/div[@codeLanguage]">
@@ -852,7 +898,7 @@
<xsl:call-template name="memberIntro" />
- <xsl:if test="element/apidata[@subgroup='constructor']">
+ <xsl:if test="element[apidata[@subgroup='constructor']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]">
<xsl:call-template name="memberlistSection">
<xsl:with-param name="headerGroup" select="'constructor'" />
<xsl:with-param name="members" select="element[apidata[@subgroup='constructor']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]" />
@@ -860,7 +906,7 @@
</xsl:if>
<!-- method table -->
- <xsl:if test="element/apidata[@subgroup='method' and not(@subsubgroup)]">
+ <xsl:if test="element[apidata[@subgroup='method' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]">
<xsl:call-template name="memberlistSection">
<xsl:with-param name="headerGroup">method</xsl:with-param>
<xsl:with-param name="members" select="element[apidata[@subgroup='method' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]" />
@@ -868,7 +914,7 @@
</xsl:if>
<!-- operator table -->
- <xsl:if test="element/apidata[@subsubgroup='operator']">
+ <xsl:if test="element[apidata[@subsubgroup='operator']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]">
<xsl:call-template name="memberlistSection">
<xsl:with-param name="headerGroup">operator</xsl:with-param>
<xsl:with-param name="members" select="element[apidata[@subsubgroup='operator']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]" />
@@ -884,7 +930,7 @@
</xsl:if>
<!-- field table -->
- <xsl:if test="element/apidata[@subgroup='field']">
+ <xsl:if test="element[apidata[@subgroup='field']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]">
<xsl:call-template name="memberlistSection">
<xsl:with-param name="headerGroup">field</xsl:with-param>
<xsl:with-param name="members" select="element[apidata[@subgroup='field']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]" />
@@ -892,7 +938,7 @@
</xsl:if>
<!-- property table -->
- <xsl:if test="element/apidata[@subgroup='property' and not(@subsubgroup)]">
+ <xsl:if test="element[apidata[@subgroup='property' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]">
<xsl:call-template name="memberlistSection">
<xsl:with-param name="headerGroup">property</xsl:with-param>
<xsl:with-param name="members" select="element[apidata[@subgroup='property' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]" />
@@ -908,7 +954,7 @@
</xsl:if>
<!-- event table -->
- <xsl:if test="element/apidata[@subgroup='event' and not(@subsubgroup)]">
+ <xsl:if test="element[apidata[@subgroup='event' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]">
<xsl:call-template name="memberlistSection">
<xsl:with-param name="headerGroup">event</xsl:with-param>
<xsl:with-param name="members" select="element[apidata[@subgroup='event' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]" />
@@ -927,7 +973,7 @@
<xsl:if test="element[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]">
<xsl:call-template name="memberlistSection">
<xsl:with-param name="headerGroup">ExplicitInterfaceImplementation</xsl:with-param>
- <xsl:with-param name="members" select="element[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]" />
+ <xsl:with-param name="members" select="element[.//memberdata[@visibility='private'] and .//proceduredata[@virtual = 'true']]" />
</xsl:call-template>
</xsl:if>
@@ -937,7 +983,7 @@
<xsl:param name="members"/>
<xsl:param name="headerGroup" />
<xsl:param name="showParameters" select="'false'" />
-
+
<xsl:variable name="header">
<xsl:value-of select="concat($headerGroup, 'Table')"/>
</xsl:variable>
@@ -966,7 +1012,8 @@
<!-- add a row for each member of the current subgroup-visibility -->
<xsl:apply-templates select="$members" mode="memberlistRow">
<xsl:with-param name="showParameters" select="$showParameters" />
- <xsl:sort select="apidata/@name" />
+ <xsl:sort select="topicdata/@eiiName | apidata/@name" />
+ <xsl:sort select="count(templates/*)" />
</xsl:apply-templates>
</table>
</xsl:with-param>
@@ -1111,6 +1158,36 @@
</xsl:choose>
</xsl:template>
+ <xsl:template name="IsMemberExplicit">
+ <xsl:choose>
+ <xsl:when test="element">
+ <xsl:for-each select="element">
+ <xsl:call-template name="IsMemberExplicit"/>
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="memberdata[@visibility='private'] and proceduredata[@virtual = 'true']">
+ <xsl:text>yes</xsl:text>
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="IsConversionOperator">
+ <xsl:choose>
+ <xsl:when test="element">
+ <xsl:for-each select="element">
+ <xsl:call-template name="IsConversionOperator"/>
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="apidata/@subsubgroup='operator' and (apidata/@name='Explicit' or apidata/@name='Implicit') and not(memberdata/@overload)">
+ <xsl:text>yes</xsl:text>
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
<xsl:template match="element" mode="memberlistRow">
<xsl:param name="showParameters" select="'false'" />
<xsl:variable name="notsupportedOnNetfw">
@@ -1140,6 +1217,12 @@
<xsl:variable name="privateMember">
<xsl:call-template name="IsMemberPrivate"/>
</xsl:variable>
+ <xsl:variable name="explicitMember">
+ <xsl:call-template name="IsMemberExplicit" />
+ </xsl:variable>
+ <xsl:variable name="conversionOperator">
+ <xsl:call-template name="IsConversionOperator" />
+ </xsl:variable>
<!-- do not show non-static members of static types -->
<xsl:if test=".//memberdata/@static='true' or not(/document/reference/typedata[@abstract='true' and @sealed='true'])">
<tr>
@@ -1154,7 +1237,7 @@
<xsl:if test="normalize-space($privateMember)!=''">
<xsl:text>private;</xsl:text>
</xsl:if>
- <xsl:if test="memberdata[@visibility='private'] and proceduredata[@virtual = 'true']">
+ <xsl:if test="normalize-space($explicitMember) != ''">
<xsl:text>explicit;</xsl:text>
</xsl:if>
<xsl:if test="normalize-space($staticMember)!=''">
@@ -1210,6 +1293,12 @@
</td>
<td>
<xsl:choose>
+ <xsl:when test="normalize-space($conversionOperator)!=''">
+ <referenceLink target="{@api}" show-parameters="true" />
+ </xsl:when>
+ <xsl:when test="@source='extension'">
+ <xsl:call-template name="extensionMethodDisplayLink"/>
+ </xsl:when>
<xsl:when test="@display-api">
<referenceLink target="{@api}" display-target="{@display-api}" show-parameters="{$showParameters}" />
</xsl:when>
@@ -1224,7 +1313,7 @@
<xsl:text> </xsl:text>
<include item="obsoleteRed" />
</xsl:if>
- <xsl:if test="topicdata[@subgroup='overload']">
+ <xsl:if test="topicdata[@subgroup='overload'] or @overload='true'">
<include item="Overloaded"/>
<xsl:text> </xsl:text>
</xsl:if>
@@ -1397,6 +1486,7 @@
<xsl:value-of select="concat($typeVisibility,$typeSubgroup,'.gif')" />
</parameter>
</includeAttribute>
+ <includeAttribute name="alt" item="{concat($typeVisibility,$typeSubgroup,'AltText')}" />
<includeAttribute name="title" item="{concat($typeVisibility,$typeSubgroup,'AltText')}" />
</img>
@@ -1438,6 +1528,7 @@
<includeAttribute name="src" item="iconPath">
<parameter>pubinterface.gif</parameter>
</includeAttribute>
+ <includeAttribute name="alt" item="ExplicitInterfaceAltText" />
<includeAttribute name="title" item="ExplicitInterfaceAltText" />
</img>
</xsl:if>
@@ -1450,9 +1541,11 @@
</includeAttribute>
<xsl:choose>
<xsl:when test="apidata/@subsubgroup">
+ <includeAttribute name="alt" item="{concat($memberVisibility,apidata/@subsubgroup,'AltText')}" />
<includeAttribute name="title" item="{concat($memberVisibility,apidata/@subsubgroup,'AltText')}" />
</xsl:when>
<xsl:otherwise>
+ <includeAttribute name="alt" item="{concat($memberVisibility,$memberSubgroup,'AltText')}" />
<includeAttribute name="title" item="{concat($memberVisibility,$memberSubgroup,'AltText')}" />
</xsl:otherwise>
</xsl:choose>
@@ -1463,6 +1556,7 @@
<includeAttribute name="src" item="iconPath">
<parameter>static.gif</parameter>
</includeAttribute>
+ <includeAttribute name="alt" item="staticAltText" />
<includeAttribute name="title" item="staticAltText" />
</img>
</xsl:if>
@@ -1472,6 +1566,7 @@
<includeAttribute name="src" item="iconPath">
<parameter>CFW.gif</parameter>
</includeAttribute>
+ <includeAttribute name="alt" item="CompactFrameworkAltText" />
<includeAttribute name="title" item="CompactFrameworkAltText" />
</img>
</xsl:if>
@@ -1481,6 +1576,7 @@
<includeAttribute name="src" item="iconPath">
<parameter>xna.gif</parameter>
</includeAttribute>
+ <includeAttribute name="alt" item="XNAFrameworkAltText" />
<includeAttribute name="title" item="XNAFrameworkAltText" />
</img>
</xsl:if>
@@ -1497,14 +1593,16 @@
<xsl:call-template name="assembliesInfo"/>
<!-- some apis display a XAML xmlns uri -->
- <xsl:call-template name="xamlXmlnsInfo"/>
+ <xsl:if test="$omitXmlnsBoilerplate != 'true'">
+ <xsl:call-template name="xamlXmlnsInfo"/>
+ </xsl:if>
</xsl:template>
<xsl:template name="assemblyNameAndModule">
<xsl:param name="library" select="/document/reference/containers/library"/>
<include item="assemblyNameAndModule">
<parameter>
- <span data="assembly">
+ <span sdata="assembly">
<xsl:value-of select="$library/@assembly"/>
</span>
</parameter>
@@ -1546,23 +1644,32 @@
<!-- Platform information -->
- <xsl:template match="platforms">
+ <xsl:template match="platforms[platform]">
<xsl:call-template name="section">
<xsl:with-param name="toggleSwitch" select="'platformsTitle'"/>
<xsl:with-param name="title">
<include item="platformsTitle" />
</xsl:with-param>
<xsl:with-param name="content">
- <p>
- <xsl:for-each select="platform">
- <include item="{.}" /><xsl:if test="position()!=last()"><xsl:text>, </xsl:text></xsl:if>
- </xsl:for-each>
- </p>
- <xsl:if test="/document/reference/versions/versions[@name='netfw' or @name='netcfw']//version">
- <p>
- <include item="SystemRequirementsLinkBoilerplate"/>
- </p>
- </xsl:if>
+ <xsl:choose>
+ <xsl:when test="/document/reference/versions/versions[@name='silverlight']//version">
+ <p>
+ <include item="silverlightplatforms"/>
+ </p>
+ </xsl:when>
+ <xsl:otherwise>
+ <p>
+ <xsl:for-each select="platform">
+ <include item="{.}" /><xsl:if test="position()!=last()"><xsl:text>, </xsl:text></xsl:if>
+ </xsl:for-each>
+ </p>
+ <xsl:if test="/document/reference/versions/versions[@name='netfw' or @name='netcfw']//version">
+ <p>
+ <include item="SystemRequirementsLinkBoilerplate"/>
+ </p>
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
@@ -1570,15 +1677,17 @@
<!-- Version information -->
<xsl:template match="versions">
- <xsl:call-template name="section">
- <xsl:with-param name="toggleSwitch" select="'versionsTitle'"/>
- <xsl:with-param name="title">
- <include item="versionsTitle" />
- </xsl:with-param>
- <xsl:with-param name="content">
- <xsl:call-template name="processVersions" />
- </xsl:with-param>
- </xsl:call-template>
+ <xsl:if test="$omitVersionInformation != 'true'">
+ <xsl:call-template name="section">
+ <xsl:with-param name="toggleSwitch" select="'versionsTitle'"/>
+ <xsl:with-param name="title">
+ <include item="versionsTitle" />
+ </xsl:with-param>
+ <xsl:with-param name="content">
+ <xsl:call-template name="processVersions" />
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
</xsl:template>
<xsl:template name="processVersions">
@@ -1664,6 +1773,7 @@
<xsl:for-each select="ancestors/type">
<xsl:sort select="position()" data-type="number" order="descending" />
+ <!-- <xsl:sort select="@api"/> -->
<xsl:call-template name="indent">
<xsl:with-param name="count" select="position()" />
@@ -1696,6 +1806,9 @@
<xsl:otherwise>
<xsl:for-each select="descendents/type">
+ <xsl:sort select="@api" />
+
+ <xsl:if test="not(self::type/@api=preceding-sibling::*/self::type/@api)">
<xsl:call-template name="indent">
<xsl:with-param name="count" select="$ancestorCount + 2" />
</xsl:call-template>
@@ -1705,6 +1818,7 @@
</xsl:apply-templates>
<br/>
+ </xsl:if>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
@@ -1761,6 +1875,7 @@
<span class="vb">.</span>
<span class="cpp">::</span>
<span class="nu">.</span>
+ <span class="fs">.</span>
</span>
<xsl:for-each select="/document/reference/implements/member">
<xsl:for-each select="type">
@@ -1771,6 +1886,7 @@
<span class="vb">.</span>
<span class="cpp">::</span>
<span class="nu">.</span>
+ <span class="fs">.</span>
</span>
<xsl:value-of select="apidata/@name" />
<xsl:apply-templates select="templates" mode="decorated" />
@@ -1781,14 +1897,37 @@
<xsl:for-each select="/document/reference/containers/type[1]">
<xsl:call-template name="typeNameDecorated" />
</xsl:for-each>
- <span class="languageSpecificText">
- <span class="cs">.</span>
- <span class="vb">.</span>
- <span class="cpp">::</span>
- <span class="nu">.</span>
- </span>
+ <xsl:if test="not($api-subsubgroup='operator'and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit'))">
+ <span class="languageSpecificText">
+ <span class="cs">.</span>
+ <span class="vb">.</span>
+ <span class="cpp">::</span>
+ <span class="nu">.</span>
+ <span class="fs">.</span>
+ </span>
+ </xsl:if>
<xsl:for-each select="/document/reference[1]">
- <xsl:value-of select="apidata/@name" />
+ <xsl:choose>
+ <xsl:when test="$api-subsubgroup='operator' and (apidata/@name='Explicit' or apidata/@name='Implicit')">
+ <xsl:text>&#xa0;</xsl:text>
+ <span class="languageSpecificText">
+ <span class="cs"><xsl:value-of select="apidata/@name" /></span>
+ <span class="vb">
+ <xsl:choose>
+ <xsl:when test="apidata/@name='Explicit'"><xsl:text>Narrowing</xsl:text></xsl:when>
+ <xsl:when test="apidata/@name='Implicit'"><xsl:text>Widening</xsl:text></xsl:when>
+ <xsl:otherwise><xsl:value-of select="apidata/@name" /></xsl:otherwise>
+ </xsl:choose>
+ </span>
+ <span class="cpp"><xsl:value-of select="apidata/@name" /></span>
+ <span class="nu"><xsl:value-of select="apidata/@name" /></span>
+ <span class="fs"><xsl:value-of select="apidata/@name" /></span>
+ </span>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="apidata/@name" />
+ </xsl:otherwise>
+ </xsl:choose>
<xsl:apply-templates select="templates" mode="decorated" />
</xsl:for-each>
</xsl:when>
@@ -1826,7 +1965,14 @@
<xsl:for-each select="/document/reference/containers/type[1]">
<xsl:call-template name="typeNamePlain" />
</xsl:for-each>
- <xsl:text>.</xsl:text>
+ <xsl:choose>
+ <xsl:when test="$api-subsubgroup='operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+ <xsl:text>&#xa0;</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>.</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:if>
<xsl:choose>
<!-- EII names are interfaceName.interfaceMemberName, not memberName -->
diff --git a/tools/Sandcastle/Presentation/vs2005/transforms/xamlSyntax.xsl b/tools/Sandcastle/Presentation/vs2005/transforms/xamlSyntax.xsl
index 1fc6e45..0fe5223 100644
--- a/tools/Sandcastle/Presentation/vs2005/transforms/xamlSyntax.xsl
+++ b/tools/Sandcastle/Presentation/vs2005/transforms/xamlSyntax.xsl
@@ -109,8 +109,6 @@
</xsl:with-param>
</xsl:call-template>
</xsl:if>
- <!-- Show the authored XAML Values section, if any. -->
- <xsl:call-template name="showXamlValuesSection"/>
</xsl:template>
<!-- XAML syntax for ENUMERATION topics. This is the logic:
@@ -151,8 +149,6 @@
</span>
</xsl:when>
</xsl:choose>
- <!-- Show the authored XAML Values section, if any. -->
- <xsl:call-template name="showXamlValuesSection"/>
</xsl:template>
<!-- XAML syntax for PROPERTY topics. This is the logic:
@@ -222,8 +218,6 @@
</xsl:with-param>
</xsl:call-template>
</xsl:if>
- <!-- Show the authored XAML Values section, if any. -->
- <xsl:call-template name="showXamlValuesSection"/>
</xsl:template>
<!-- XAML syntax for EVENT topics. This is the logic:
@@ -259,8 +253,6 @@
</xsl:with-param>
</xsl:call-template>
</xsl:if>
- <!-- Show the authored XAML Values section, if any. -->
- <xsl:call-template name="showXamlValuesSection"/>
</xsl:template>
<!-- XAML syntax for members that cannot be used in XAML: interface, delegate, method, field, constructor.
@@ -283,19 +275,19 @@
<!-- Displays one of the standard XAML boilerplate strings. -->
<xsl:template name="ShowXamlSyntaxBoilerplate">
<xsl:param name="param0"/>
+ <!-- TFS bug 303004: DO NOT SHOW ANY xaml syntax boilerplate strings. -->
+ <xsl:variable name="boilerplateId"/>
+
+ <!-- If future requirements call for showing one or more boilerplate strings for xaml,
+ use the commented out code to specify the ids of the shared content items to include.
+ NOTE: the markup like div/@class[.='interfaceOverviewXamlSyntax' is added by XamlUsageSyntax.cs in BuildAssembler. -->
+ <!--
<xsl:variable name="boilerplateId">
- <xsl:choose>
- <!-- don't show boilerplate for apis that are not in xaml assemblies -->
- <xsl:when test="$showNonXamlAssemblyBoilerplate='false' and div[@class='nonXamlAssemblyBoilerplate']"/>
- <xsl:otherwise>
- <xsl:value-of select="div/@class[not(.='xamlAttributeUsageHeading' or
- .='xamlObjectElementUsageHeading' or
- .='xamlContentElementUsageHeading' or
- .='xamlPropertyElementUsageHeading' or
- .='xamlXmlnsUri')]"/>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:value-of select="div/@class[.='interfaceOverviewXamlSyntax' or
+ .='propertyXamlSyntax_abstractType' or
+ .='classXamlSyntax_abstract']"/>
</xsl:variable>
+ -->
<xsl:if test="$boilerplateId!=''">
<span codeLanguage="XAML">
@@ -402,7 +394,7 @@
<!-- Display the XAML Values section. -->
<xsl:template name="showXamlValuesSection">
<xsl:for-each select="//ddue:section[starts-with(@address,'xamlValues')]">
- <span codeLanguage="XAML">
+ <div id="xamlValues">
<p/>
<xsl:call-template name="subSection">
<xsl:with-param name="title">
@@ -412,7 +404,7 @@
<xsl:apply-templates select="ddue:content"/>
</xsl:with-param>
</xsl:call-template>
- </span>
+ </div>
</xsl:for-each>
</xsl:template>