Click here to Skip to main content
Click here to Skip to main content
Add your own
alternative version
Go to top

Authoring Documentation with DocProject and Sandcastle

, 13 Apr 2012
Some of the features of DocProject and the offerings of MAML, the mark-up language used for writing conceptual documentation.
docdemo.zip
DocDemo
DemoHelp
Help
Art
Comments
DemoHelp.hhc
DemoHelp.hhk
DemoHelp.hhp
html
Icons
adm.gif
adm_arch.gif
adm_dev.gif
adm_dev_arch.gif
alert_caution.gif
alert_note.gif
alert_security.gif
arch.gif
big_adm.gif
big_arch.gif
big_dev.gif
big_kw.gif
box.gif
Caution.gif
CFW.gif
collall.gif
collapse.gif
collapse_all.gif
copycode.gif
copycodeHighlight.gif
dev.gif
dev_arch.gif
dropdown.gif
dropdownHover.gif
drpdown.gif
drpdown_orange.gif
drpdown_orange_up.gif
drpup.gif
exp.gif
expall.gif
expand_all.gif
filter1a.gif
filter1c.gif
footer.gif
gradient.gif
greencheck.gif
greychck.gif
header_prev_next.jpg
header_sql_tutorial_blank.jpg
header_sql_tutorial_logo.GIF
kw.gif
kw_adm.gif
kw_adm_arch.gif
kw_adm_dev.gif
kw_adm_dev_arch.gif
kw_arch.gif
kw_dev.gif
kw_dev_arch.gif
LastChild.gif
load.gif
load_hover.gif
note.gif
pencil.GIF
privclass.gif
privdelegate.gif
privenum.gif
privenumeration.gif
privevent.gif
privextension.gif
privfield.gif
privinterface.gif
privmethod.gif
privproperty.gif
privstructure.gif
protclass.gif
protdelegate.gif
protenum.gif
protenumeration.gif
protevent.gif
protextension.gif
protfield.gif
protinterface.gif
protmethod.gif
protoperator.gif
protproperty.gif
protstructure.gif
pubclass.gif
pubdelegate.gif
pubenum.gif
pubenumeration.gif
pubevent.gif
pubextension.gif
pubfield.gif
pubinterface.gif
pubmethod.gif
puboperator.gif
pubproperty.gif
pubstructure.gif
requirements1a.gif
requirements1c.gif
save.gif
save_hover.gif
security.gif
seealso1a.gif
seealso1c.gif
static.gif
xna.gif
Presentation
Shared
configuration
content
HxsTemplate
template.HxF
template_A.HxK
template_B.HxK
template_F.HxK
template_K.HxK
template_N.HxK
template_S.HxK
scripts
SharedDocModel.ps1
transforms
utilities_dduexml.xsl
utilities_metadata.xsl
utilities_reference.xsl
Style
Configuration
Content
Transforms
globalTemplates.xsl
htmlBody.xsl
main_conceptual.xsl
main_reference.xsl
main_sandcastle.xsl
seeAlsoSection.xsl
utilities_dduexml.xsl
utilities_metadata.xsl
utilities_reference.xsl
web_reference.xsl
xamlSyntax.xsl
Scripts
Settings
Projects
Styles
Whidbey
Topics
API Reference.aml
API Reference.cmp
Conceptual.aml
Conceptual.cmp
Glossary.aml
Glossary.cmp
How To.aml
How To.cmp
Walkthrough.aml
Walkthrough.cmp
Properties
DemoLibrary
Properties
<html xmlns:xlink="http://www.w3.org/1999/xlink" 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">
  <head>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" />
    <META NAME="save" CONTENT="history" />
    <title>How To</title>
    <link rel="stylesheet" type="text/css" href="../styles/presentation.css" />
    <link rel="stylesheet" type="text/css" href="ms-help://Hx/HxRuntime/HxLink.css" />
    <script type="text/javascript" src="../scripts/EventUtilities.js"> </script>
    <script type="text/javascript" src="../scripts/SplitScreen.js"> </script>
    <script type="text/javascript" src="../scripts/Dropdown.js"> </script>
    <script type="text/javascript" src="../scripts/script_manifold.js"> </script>
    <script type="text/javascript" src="../scripts/script_feedBack.js"> </script>
    <script type="text/javascript" src="../scripts/CheckboxMenu.js"> </script>
    <script type="text/javascript" src="../scripts/CommonUtilities.js"> </script>
    
  </head>
  <body>
    <input type="hidden" id="userDataCache" class="userDataStyle" />
    <input type="hidden" id="hiddenScrollOffset" />
    <img id="collapseImage" style="display:none; height:0; width:0;" src="../icons/collapse_all.gif" title="Collapse image" />
    <img id="expandImage" style="display:none; height:0; width:0;" src="../icons/expand_all.gif" title="Expand Image" />
    <img id="collapseAllImage" style="display:none; height:0; width:0;" src="../icons/collapse_all.gif" />
    <img id="expandAllImage" style="display:none; height:0; width:0;" src="../icons/expand_all.gif" />
    <img id="dropDownImage" style="display:none; height:0; width:0;" src="../icons/dropdown.gif" />
    <img id="dropDownHoverImage" style="display:none; height:0; width:0;" src="../icons/dropdownHover.gif" />
    <img id="copyImage" style="display:none; height:0; width:0;" src="../icons/copycode.gif" title="Copy image" />
    <img id="copyHoverImage" style="display:none; height:0; width:0;" src="../icons/copycodeHighlight.gif" title="CopyHover image" />
    <div id="header">
      <table id="topTable" 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" src="../icons/collapse_all.gif" /> <label id="collapseAllLabel" for="toggleAllImage" style="display: none;">Collapse All</label><label id="expandAllLabel" for="toggleAllImage" style="display: none;">Expand All</label> </span>
            <span>    </span>
            <span id="devlangsDropdown" class="filter" tabindex="0">
              <img id="devlangsDropdownImage" src="../icons/dropdown.gif" /> <label id="devlangsMenuAllLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: All </nobr></label><label id="devlangsMenuMultipleLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: Multiple </nobr></label><label id="devlangsMenuVisualBasicLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: Visual Basic </nobr></label><label id="devlangsMenuCSharpLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: C# </nobr></label><label id="devlangsMenuManagedCPlusPlusLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: Visual C++ </nobr></label><label id="devlangsMenuJSharpLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: J# </nobr></label><label id="devlangsMenuJScriptLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: JScript </nobr></label></span>
          </td>
        </tr>
      </table>
      <div id="devlangsMenu">
        <input id="VisualBasicCheckbox" type="checkbox" data="VisualBasic,vb,'persist'" value="on" onClick="SetLanguage(this)" />
        <label class="checkboxLabel" for="VisualBasicCheckbox">Visual Basic</label>
        <br />
        <input id="CSharpCheckbox" type="checkbox" data="CSharp,cs,'persist'" value="on" onClick="SetLanguage(this)" />
        <label class="checkboxLabel" for="CSharpCheckbox">C#</label>
        <br />
        <input id="ManagedCPlusPlusCheckbox" type="checkbox" data="ManagedCPlusPlus,cpp,'persist'" value="on" onClick="SetLanguage(this)" />
        <label class="checkboxLabel" for="ManagedCPlusPlusCheckbox">Visual C++</label>
        <br />
        <input id="JSharpCheckbox" type="checkbox" data="JSharp,cs,'persist'" value="on" onClick="SetLanguage(this)" />
        <label class="checkboxLabel" for="JSharpCheckbox">J#</label>
        <br />
        <input id="JScriptCheckbox" type="checkbox" data="JScript,cs,'persist'" value="on" onClick="SetLanguage(this)" />
        <label class="checkboxLabel" for="JScriptCheckbox">JScript</label>
        <br />
      </div>
      <table id="bottomTable" cellpadding="0" cellspacing="0">
        <tr id="headerTableRow1">
          <td align="left">
            <span id="runningHeaderText" />
          </td>
        </tr>
        <tr id="headerTableRow2">
          <td align="left">
            <span id="nsrTitle">How To</span>
          </td>
        </tr>
        <tr id="headerTableRow3">
          <td align="left">
  <span id="headfeedbackarea" class="feedbackhead">
      <a href="javascript:SubmitFeedback('DevDocs@Microsoft.com','','','','','%0\dThank%20you%20for%20your%20feedback.%20The%20developer%20writing%20teams%20use%20your%20feedback%20to%20improve%20documentation.%20While%20we%20are%20reviewing%20your%20feedback,%20we%20may%20send%20you%20e-mail%20to%20ask%20for%20clarification%20or%20feedback%20on%20a%20solution.%20We%20do%20not%20use%20your%20e-mail%20address%20for%20any%20other%20purpose%20and%20we%20delete%20it%20after%20we%20finish%20our%20review.%0\AFor%20further%20information%20about%20the%20privacy%20policies%20of%20Microsoft,%20please%20see%20http://privacy.microsoft.com/en-us/default.aspx.%0\A%0\d','Customer%20Feedback');">
        
        Send Feedback
      </a>
	</span>
</td>
        </tr>
      </table>
      <table id="gradientTable">
        <tr>
          <td class="nsrBottom" background="../icons/gradient.gif" />
        </tr>
      </table>
    </div>
    <div id="mainSection">
      <div id="mainBody">
        <div id="allHistory" class="saveHistory" onsave="saveAll()" onload="loadAll()" />
        <font color="DarkGray"></font>
        <p /> 
  
    <div class="summary">
      <p>This is the summary of this how to.</p>
    </div>

    <div class="introduction">
      <p>This is a simplified version of the How to template. It only contains a procedure.</p>
    </div>

    <h3 class="procedureSubHeading">How to write a procedure</h3><div class="subSection"><ol><li>
          
            <p>add a new topic from a "how to" template</p>
                    
        </li><li>
          
            <p>remove the unnecessary elements from the template</p>
          
        </li><li>
          
            <p>document the steps of the procedure</p>
          
        </li></ol></div>

    
    
  
</div>
      <div id="footer">
        <div class="footerLine">
          <img width="100%" height="3px" src="../icons/footer.gif" title="Footer image" />
        </div>
<span id="feedbackarea">
			Send
		<a href="javascript:SubmitFeedback('DevDocs@Microsoft.com','','','','','%0\dThank%20you%20for%20your%20feedback.%20The%20developer%20writing%20teams%20use%20your%20feedback%20to%20improve%20documentation.%20While%20we%20are%20reviewing%20your%20feedback,%20we%20may%20send%20you%20e-mail%20to%20ask%20for%20clarification%20or%20feedback%20on%20a%20solution.%20We%20do%20not%20use%20your%20e-mail%20address%20for%20any%20other%20purpose%20and%20we%20delete%20it%20after%20we%20finish%20our%20review.%0\AFor%20further%20information%20about%20the%20privacy%20policies%20of%20Microsoft,%20please%20see%20http://privacy.microsoft.com/en-us/default.aspx.%0\A%0\d','Customer%20Feedback');">
			
      feedback
		</a>
			on this topic to Microsoft.
		</span>
</div>
    </div>
  </body>
</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Marius Bancila
Software Developer (Senior) Visma Software
Romania Romania
Marius Bancila is a Microsoft MVP for VC++. He works as a software developer for Visma, a Norwegian-based company. He is mainly focused on building desktop applications with VC++ and VC#. He keeps a blog at http://www.mariusbancila.ro/blog, focused on Windows programming. He is the co-founder of codexpert.ro, a community for Romanian C++ programmers.
Follow on   Twitter

| Advertise | Privacy | Mobile
Web04 | 2.8.140916.1 | Last Updated 13 Apr 2012
Article Copyright 2012 by Marius Bancila
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid