Click here to Skip to main content
15,896,154 members
Articles / Desktop Programming / ATL

Discover ISAPI. XML Way

Rate me:
Please Sign up or sign in to vote.
4.00/5 (6 votes)
9 Sep 20028 min read 63.8K   566   34  
A good approach to build an ISAPI web application using XML and XSL
<p> <b>DOM Document IDs</b> </p>
<table style="WIDTH: 670px; HEIGHT: 149" cellSpacing="0" cellPadding="3" width="670" bgColor="#336699" border="1">
  <tr>
    <td vAlign="top" bgColor="#99ccff" colSpan="3" >MSXML 2.0</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#99ccff" >Description</td>
    <td vAlign="top" bgColor="#99ccff" >Rentalthreaded</td>
    <td vAlign="top" bgColor="#99ccff" >Freethreaded</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" >PROGIDs</td>
    <td vAlign="top" bgColor="#ffffff" >Microsoft.XMLDOM<br>
    Microsoft.XMLDOM.1.0<br>
    MSXML.DOMDocument</td>
    <td vAlign="top" bgColor="#ffffff" >Microsoft.FreeThreadedXMLDOM<br>
    Microsoft.FreeThreadedXMLDOM.1.0<br>
    MSXML.FreeThreadedDOMDocument </td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" >Visual Basic</td>
    <td vAlign="top" bgColor="#D2E9FF" >DOMDocument</td>
    <td vAlign="top" bgColor="#D2E9FF" >DOMFreeThreadedDocument</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="10">Class Name</td>
    <td vAlign="top" bgColor="#ffffff" height="10">&nbsp;</td>
    <td vAlign="top" bgColor="#ffffff" height="10">&nbsp;</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#99ccff" colSpan="3" height="4">MSXML 3.0</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#99ccff" height="9">Description</td>
    <td vAlign="top" bgColor="#99ccff" height="9">Rentalthreaded</td>
    <td vAlign="top" bgColor="#99ccff" height="9">Freethreaded</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="8">PROGIDs</td>
    <td vAlign="top" bgColor="#ffffff" height="8">MSXML2.DOMDocument<br>
    MSXML2.DOMDocument.3.0</td>
    <td vAlign="top" bgColor="#ffffff" height="8">MSXML2.FreeThreadedDOMDocument<br>
    MSXML2.FreeThreadedDOMDocument.3.0</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="1">Visual Basic </td>
    <td vAlign="top" bgColor="#D2E9FF" height="1">DOMDocument</td>
    <td vAlign="top" bgColor="#D2E9FF" height="1">FreeThreadedDOMDocument</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="5">Class Name</td>
    <td vAlign="top" bgColor="#ffffff" height="5">DOMDocument30</td>
    <td vAlign="top" bgColor="#ffffff" height="5">FreeThreadedDOMDocument30</td>
  </tr>
</table>
<hr align="left" width="500" color="#000080">
<p><b>IXMLDOMDocument2 Interface Members</b> </p>
<table style="WIDTH: 667px; HEIGHT: 58" cellSpacing="0" cellPadding="3" width="667" bgColor="#336699" border="1">
  <tr>
    <td vAlign="top" bgColor="#99ccff" height="18">Member</td>
    <td vAlign="top" bgColor="#99ccff" height="18">Description</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="3">getProperty</td>
    <td vAlign="top" bgColor="#ffffff" height="3">Gets the default values or values set by 
    setProperty</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="15">namespaces</td>
    <td vAlign="top" bgColor="#D2E9FF" height="15">Returns the list of namespaces used in 
    the document as an XMLDOMSchemaCollection object</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="3">schemas</td>
    <td vAlign="top" bgColor="#ffffff" height="3">Identifies the XMLDOMSchemaCollection 
    object to use during load</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="1">setProperty</td>
    <td vAlign="top" bgColor="#D2E9FF" height="1">Generic mechanism for setting properties</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="2">validate</td>
    <td vAlign="top" bgColor="#ffffff" height="2">Performs runtime validation on the 
    currently loaded XML document</td>
  </tr>
</table>
<hr align="left" width="500" color="#000080">
<p><b>IXMLDOMSelection Interface Members</b> </p>
<table style="WIDTH: 664px; HEIGHT: 76" cellSpacing="0" cellPadding="3" width="664" bgColor="#336699" border="1">
  <tr>
    <td vAlign="top" bgColor="#99ccff" height="1">Member</td>
    <td vAlign="top" bgColor="#99ccff" height="1">Description</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="7">clone</td>
    <td vAlign="top" bgColor="#ffffff" height="7">Produces an exact copy of the current 
    XMLDOMSelection object</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="1">matches</td>
    <td vAlign="top" bgColor="#D2E9FF" height="1">Checks whether the passed-in node is 
    contained in the current collection</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="1">context</td>
    <td vAlign="top" bgColor="#ffffff" height="1">Specifies the node (subtree) to apply a 
    selection</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="1">expr</td>
    <td vAlign="top" bgColor="#D2E9FF" height="1">Gets or Puts the XPath or XSLPattern 
    expression string</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="6">getProperty</td>
    <td vAlign="top" bgColor="#ffffff" height="6">Looks up a property by name</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="14">peekNode</td>
    <td vAlign="top" bgColor="#D2E9FF" height="14">Gets the next node that nextNode will 
    return without advancing the line position</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="11">removeAll</td>
    <td vAlign="top" bgColor="#ffffff" height="11">Removes all the nodes from the current 
    context that match the query</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="7">removeNext</td>
    <td vAlign="top" bgColor="#D2E9FF" height="7">Removes the next node that would be 
    returned by peekNode or nextNode</td>
  </tr>
</table>
<hr align="left" width="500" color="#000080">
<p><b>XSL Patterns / XPath 1.0 Syntax Key</b> </p>
<table style="WIDTH: 494px; HEIGHT: 1" cellSpacing="0" cellPadding="3" width="494" bgColor="#336699" border="1">
  <tr>
    <td vAlign="top" bgColor="#99ccff" colSpan="2" height="1">Expressions and Special 
    Characters</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#99ccff" height="1">XSL Patterns</td>
    <td vAlign="top" bgColor="#99ccff" height="1">XPath 1.0</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="4">/name</td>
    <td vAlign="top" bgColor="#ffffff" height="4">/child::name or /name/</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="3">/name</td>
    <td vAlign="top" bgColor="#D2E9FF" height="3">/descendant-or-self::node()/child::name 
    or <br>
    // name</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="1">.</td>
    <td vAlign="top" bgColor="#ffffff" height="1">self::node() or .</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="5">*</td>
    <td vAlign="top" bgColor="#D2E9FF" height="5">child::* or *</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="14">@*</td>
    <td vAlign="top" bgColor="#ffffff" height="14">attribute::* or @*</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#99ccff" colSpan="2" height="2">Function Libraries</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#99ccff" height="5">XSL Patterns</td>
    <td vAlign="top" bgColor="#99ccff" height="5">XPath 1.0</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="1">attribute(name)</td>
    <td vAlign="top" bgColor="#ffffff" height="1">attribute::name or @name</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="1">cdata()</td>
    <td vAlign="top" bgColor="#D2E9FF" height="1">text()</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="1">comment()</td>
    <td vAlign="top" bgColor="#ffffff" height="1">comment()</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="1">element(name)</td>
    <td vAlign="top" bgColor="#D2E9FF" height="1">child::name or name</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="1">node(</td>
    <td vAlign="top" bgColor="#ffffff" height="1">node()</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="1">pi(name)</td>
    <td vAlign="top" bgColor="#D2E9FF" height="1">processing-instruction(name)</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="1">text()</td>
    <td vAlign="top" bgColor="#ffffff" height="1">text()</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="1">textnode()</td>
    <td vAlign="top" bgColor="#D2E9FF" height="1">text()</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="1">date()</td>
    <td vAlign="top" bgColor="#ffffff" height="1">N/A</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="1">end()</td>
    <td vAlign="top" bgColor="#D2E9FF" height="1">position() = last()</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="1">index()</td>
    <td vAlign="top" bgColor="#ffffff" height="1">position()</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="1">nodeName()</td>
    <td vAlign="top" bgColor="#D2E9FF" height="1">name()</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="1">nodeType()</td>
    <td vAlign="top" bgColor="#ffffff" height="1">N/A</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="1">Number()</td>
    <td vAlign="top" bgColor="#D2E9FF" height="1">number()</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="1">value()</td>
    <td vAlign="top" bgColor="#ffffff" height="1">N/A</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#99ccff" colSpan="2" height="39">Operators</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#99ccff" height="1">XSL Patterns</td>
    <td vAlign="top" bgColor="#99ccff" height="1">XPath 1.0</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="1">and, $and$, &amp;&amp;</td>
    <td vAlign="top" bgColor="#ffffff" height="1">and</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="1">or, $or$, ||</td>
    <td vAlign="top" bgColor="#D2E9FF" height="1">or</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="1">not(), $not$</td>
    <td vAlign="top" bgColor="#ffffff" height="1">not()</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="1">=, $eq$</td>
    <td vAlign="top" bgColor="#D2E9FF" height="1">=</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="1">$ieq$</td>
    <td vAlign="top" bgColor="#ffffff" height="1">N/A</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="1">!=, $ne$<br>
    $ine$</td>
    <td vAlign="top" bgColor="#D2E9FF" height="1">!=</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="1">&lt;, $lt$<br>
    $ilt$</td>
    <td vAlign="top" bgColor="#ffffff" height="1">&lt;</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="1">&lt;=, $le$<br>
    $ile$</td>
    <td vAlign="top" bgColor="#D2E9FF" height="1">&lt;=</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="1">&gt;, $gt$<br>
    $igt$</td>
    <td vAlign="top" bgColor="#ffffff" height="1">&gt;</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="1">&gt;=, $ge$<br>
    $ige$<br>
    $all$</td>
    <td vAlign="top" bgColor="#D2E9FF" height="1">&gt;=</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="1">$any$<br>
    |</td>
    <td vAlign="top" bgColor="#ffffff" height="1">|</td>
  </tr>
</table>
<hr align="left" width="500" color="#000080">
<p>&nbsp;<b>IXSLTemplate Interface MembersXSLTemplate</b> </p>
<table style="width: 563px; height: 69" cellSpacing="0" cellPadding="3" width="563" bgColor="#336699" border="1">
  <tr>
    <td vAlign="top" bgColor="#99ccff" height="8">Member</td>
    <td vAlign="top" bgColor="#99ccff" height="8">Description</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="21">createProcessor</td>
    <td vAlign="top" bgColor="#ffffff" height="21">Creates a rental-model 
    IXSLProcessor that will use this template</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="16">Stylesheet</td>
    <td vAlign="top" bgColor="#ffffff" height="16">Provides the XSL style sheet 
    to compile into an XSL template</td>
  </tr>
</table>
<hr align="left" width="500" color="#000080">
<p>&nbsp;<b>IXSLProcessor Interface MembersXSLProcessor</b> </p>
<table style="width: 632px; height: 319" cellSpacing="0" cellPadding="3" width="632" bgColor="#336699" border="1">
  <tr>
    <td vAlign="top" bgColor="#99ccff" height="1"><b>Member</b></td>
    <td vAlign="top" bgColor="#99ccff" height="1">Description</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="15"><b>addObject</b></td>
    <td vAlign="top" bgColor="#ffffff" height="15">Allows you to pass objects to 
    a stylesheet</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#CCFFFF" height="20"><b>addParameter</b></td>
    <td vAlign="top" bgColor="#CCFFFF" height="20">Allows you to pass variables 
    to a stylesheet</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="18"><b>input</b></td>
    <td vAlign="top" bgColor="#ffffff" height="18">Specifies which XML input 
    tree to transform</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#CCFFFF" height="22"><b>output</b></td>
    <td vAlign="top" bgColor="#CCFFFF" height="22">Used to provide a custom 
    output object to write the result of a transformation to</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="30"><b>readyState</b></td>
    <td vAlign="top" bgColor="#ffffff" height="30">Returns the current state of 
    the processor</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#CCFFFF" height="21"><b>reset</b></td>
    <td vAlign="top" bgColor="#CCFFFF" height="21">Resets the processor state to 
    what it was before calling transform</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="21"><b>setStartMode</b></td>
    <td vAlign="top" bgColor="#ffffff" height="21">Allows you to perform subsets 
    of a larger XSL transformation</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#CCFFFF" height="28"><b>startMode</b></td>
    <td vAlign="top" bgColor="#CCFFFF" height="28">Returns the base name part of 
    the start mode (a qualified name)</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="16"><b>startModeURI</b></td>
    <td vAlign="top" bgColor="#ffffff" height="16">Returns the namespace URI of 
    the start mode (a qualified name)</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#CCFFFF" height="31"><b>stylesheet</b></td>
    <td vAlign="top" bgColor="#CCFFFF" height="31">Returns the style sheet that 
    was defined on the IXSLTemplate at the time this processor object was 
    created</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="18"><b>ownerTemplate</b></td>
    <td vAlign="top" bgColor="#ffffff" height="18">Returns the stylesheet 
    template used to create the XSL processor object</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#CCFFFF" height="36"><b>transform</b></td>
    <td vAlign="top" bgColor="#CCFFFF" height="36">Starts the transformation 
    process or resumes a transform that previously returned VARIANT_FALSE</td>
  </tr>
</table>
<hr align="left" width="500" color="#000080">
<p>&nbsp;<b>IXMLDOMSchemaCollection</b> </p>
<table style="width: 635px; height: 102" cellSpacing="0" cellPadding="3" width="635" bgColor="#336699" border="1">
  <tr>
    <td vAlign="top" bgColor="#99ccff" height="1">Member<br>
&nbsp;</td>
    <td vAlign="top" bgColor="#99ccff" height="1">Description<br>
&nbsp;</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="24">add</td>
    <td vAlign="top" bgColor="#ffffff" height="24">Adds a new item to a schema 
    collection</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="26">addCollection</td>
    <td vAlign="top" bgColor="#D2E9FF" height="26">Adds all the schemas from 
    another collection into the current collection</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="15">get</td>
    <td vAlign="top" bgColor="#ffffff" height="15">Returns a read-only DOM node 
    containing the &lt;Schema&gt; element</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="22">length</td>
    <td vAlign="top" bgColor="#D2E9FF" height="22">Returns the number of 
    namespaces currently in a collection</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#ffffff" height="20">namespaceURI</td>
    <td vAlign="top" bgColor="#ffffff" height="20">Returns the namespace at the 
    specified index</td>
  </tr>
  <tr>
    <td vAlign="top" bgColor="#D2E9FF" height="2">remove</td>
    <td vAlign="top" bgColor="#D2E9FF" height="2">Removes the specified 
    namespaces from a collection</td>
  </tr>
</table>
<hr align="left" width="500" color="#000080">

<B>XSLT Instructions</B> 
<TABLE cellSpacing=0 cellPadding=3 width=992 bgColor=#336699 border=1 height="1">
  
  <TR>
    <TD vAlign=top bgColor=#99ccff width="117" height="15">Instruction</TD>
    <TD vAlign=top bgColor=#99ccff width="392" height="15">Syntax</TD>
    <TD vAlign=top bgColor=#99ccff width="457" height="15">Description</TD></TR>
  <TR>
    <TD vAlign=top bgColor=#ffffff width="117" height="1">xsl:copy-of</TD>
    <TD vAlign=top bgColor=#ffffff width="392" height="1"><PRE><CODE>&lt;xsl:copy-of
 select = expression /&gt;</CODE></PRE></FONT></TD>
    <TD vAlign=top bgColor=#ffffff width="457" height="1">Emits the node-set corresponding to the 
      select expression.</TD></TR>
  <TR>
    <TD vAlign=top bgColor=#D2E9FF width="117" height="1">xsl:value-of</TD>
    <TD vAlign=top bgColor=#D2E9FF width="392" height="1"><PRE><CODE>&lt;xsl:value-of
 select = string-expression
 disable-output-escaping = "yes"
 | "no" /&gt;</CODE></PRE></FONT></TD>
    <TD vAlign=top bgColor=#D2E9FF width="457" height="1">Emits the string corresponding to the 
      select expression.</TD></TR>
  <TR>
    <TD vAlign=top bgColor=#ffffff width="117" height="1">xsl:if</TD>
    <TD vAlign=top bgColor=#ffffff width="392" height="1"><PRE><CODE>&lt;xsl:if
 test = boolean-expression&gt;
 &lt;!- - Content: template - -&gt;
&lt;/xsl:if&gt;</CODE></PRE></FONT></TD>
    <TD vAlign=top bgColor=#ffffff width="457" height="1">Evaluates the template if and only if the 
      test expression evaluates to true.</TD></TR>
  <TR>
    <TD vAlign=top bgColor=#D2E9FF width="117" height="1">xsl:choose</TD>
    <TD vAlign=top bgColor=#D2E9FF width="392" height="1"><PRE><CODE>&lt;xsl:choose&gt;
 &lt;!- - Content: (xsl:when+, xsl:otherwise?) - -&gt;
&lt;/xsl:choose&gt;</CODE></PRE></FONT></TD>
    <TD vAlign=top bgColor=#D2E9FF width="457" height="1">Evaluates the template from the first 
      xsl:when clause whose test expression evaluates to true. If none of the 
      test expressions evaluate to true, then the template contained in the 
      xsl:otherwise clause is evaluated.</TD></TR>
  <TR>
    <TD vAlign=top bgColor=#ffffff width="117" height="1">xsl:for-each</TD>
    <TD vAlign=top bgColor=#ffffff width="392" height="1"><PRE><CODE>&lt;xsl:for-each
 select = node-set-expression&gt;
 &lt;!- - Content: (xsl:sort*, template) - -&gt;
&lt;/xsl:for-each&gt;</CODE></PRE></FONT></TD>
    <TD vAlign=top bgColor=#ffffff width="457" height="1">Evaluates the template against each node in 
      node-set returned by the select expression. The order of evaluation can be 
      influenced using one or more xsl:sorts.</TD></TR>
  <TR>
    <TD vAlign=top bgColor=#D2E9FF width="117" height="1">xsl:call-template</TD>
    <TD vAlign=top bgColor=#D2E9FF width="392" height="1"><PRE><CODE>&lt;xsl:call-template
 name = qname&gt;
 &lt;!- - Content: xsl:with-param* - -&gt;
&lt;/xsl:call-template&gt;</CODE></PRE></FONT></TD>
    <TD vAlign=top bgColor=#D2E9FF width="457" height="1">Invokes the template rule named by 
      name.</TD></TR>
  <TR>
    <TD vAlign=top bgColor=#ffffff width="117" height="41">xsl:variable</TD>
    <TD vAlign=top bgColor=#ffffff width="392" height="41"><PRE><CODE>&lt;xsl:variable
 name = qname 
 select = expression&gt;
 &lt;!- - Content: template - -&gt;
&lt;/xsl:variable&gt;</CODE></PRE></FONT></TD>
    <TD vAlign=top bgColor=#ffffff width="457" height="41">Declares a variable named name and 
      initializes it using the select expression or template.</TD></TR>
  <TR>
    <TD vAlign=top bgColor=#D2E9FF width="117" height="25">xsl:text</TD>
    <TD vAlign=top bgColor=#D2E9FF width="392" height="25"><PRE><CODE>&lt;xsl:text
 disable-output-escaping = "yes" | "no"&gt;
 &lt;!- - Content: #PCDATA - -&gt;
&lt;/xsl:text&gt;</CODE></PRE></FONT></TD>
    <TD vAlign=top bgColor=#D2E9FF width="457" height="25">Emits the text found in #PCDATA. Escaping 
      of the five built-in entities is controlled using 
      disable-output-escaping.</TD></TR>
  <TR>
    <TD vAlign=top bgColor=#ffffff width="117" height="61">xsl:number</TD>
    <TD vAlign=top bgColor=#ffffff width="392" height="61"><PRE><CODE>&lt;xsl:number
 level = "single" | "multiple" | "any"
 count = pattern 
 from = pattern 
 value = number-expression 
 format = { string }
 lang = { nmtoken }
 letter-value = { "alphabetic" | "traditional" }
 grouping-separator = { char }
 grouping-size = { number } /&gt;</CODE></PRE></FONT></TD>
    <TD vAlign=top bgColor=#ffffff width="457" height="61">Emits a number based on the XPath number 
      expression found in value.</TD></TR>
  <TR>
    <TD vAlign=top bgColor=#D2E9FF width="117" height="1">xsl:copy</TD>
    <TD vAlign=top bgColor=#D2E9FF width="392" height="1"><PRE><CODE>&lt;xsl:copy
 use-attribute-sets = qnames&gt;
 &lt;!- - Content: template - -&gt;
&lt;/xsl:copy&gt;</CODE></PRE></FONT></TD>
    <TD vAlign=top bgColor=#D2E9FF width="457" height="1">Copies the current context node (and 
      associated namespace nodes) to the result tree fragment.</TD></TR>
  <TR>
    <TD vAlign=top bgColor=#ffffff width="117" height="1">xsl:apply-templates</TD>
    <TD vAlign=top bgColor=#ffffff width="392" height="1"><PRE><CODE>&lt;xsl:apply-templates
 select = node-set-expression 
 mode = qname&gt;
 &lt;!- - Content: (xsl:sort | xsl:with-param)* - -&gt;
&lt;/xsl:apply-templates&gt;</CODE></PRE></FONT></TD>
    <TD vAlign=top bgColor=#ffffff width="457" height="1">Invokes the best-match template rules 
      against the node-set returned by the select expression.</TD></TR>
  <TR>
    <TD vAlign=top bgColor=#D2E9FF width="117" height="1">xsl:apply-imports</TD>
    <TD vAlign=top bgColor=#D2E9FF width="392" height="1">&lt;xsl:apply-imports /&gt;</TD>
    <TD vAlign=top bgColor=#D2E9FF width="457" height="1">Promotes the current stylesheet in import 
      precedence.</TD></TR>
  <TR>
    <TD vAlign=top bgColor=#ffffff width="117" height="1">xsl:message</TD>
    <TD vAlign=top bgColor=#ffffff width="392" height="1"><PRE><CODE>&lt;xsl:message
 terminate = "yes" | "no"&gt;
 &lt;!- - Content: template - -&gt;
&lt;/xsl:message&gt;</CODE></PRE></FONT></TD>
    <TD vAlign=top bgColor=#ffffff width="457" height="1">Emits a message in a processor-dependent 
      manner.</TD></TR>
  <TR>
    <TD vAlign=top bgColor=#D2E9FF width="117" height="1">xsl:fallback</TD>
    <TD vAlign=top bgColor=#D2E9FF width="392" height="1"><PRE><CODE>&lt;xsl:fallback&gt;
 &lt;!- - Content: template - -&gt;
&lt;/xsl:fallback&gt;</CODE></PRE></FONT></TD>
    <TD vAlign=top bgColor=#D2E9FF width="457" height="1">Evaluates the template when the parent 
      instruction/directive is not supported by the current 
    processor.</TD></TR>
  <TR>
    <TD vAlign=top bgColor=#ffffff width="117" height="1">xsl:comment</TD>
    <TD vAlign=top bgColor=#ffffff width="392" height="1"><PRE><CODE>&lt;xsl:comment&gt;
 &lt;!- - Content: template - -&gt;
&lt;/xsl:comment&gt;</CODE></PRE></FONT></TD>
    <TD vAlign=top bgColor=#ffffff width="457" height="1">Emits an XML comment containing the 
      template as its character data.</TD></TR>
  <TR>
    <TD vAlign=top bgColor=#D2E9FF width="117" height="1">xsl:processing-instruction</TD>
    <TD vAlign=top bgColor=#D2E9FF width="392" height="1"><PRE><CODE>&lt;xsl:processing-instruction
 name = { ncname }&gt;
 &lt;!- - Content: template - -&gt;
&lt;/xsl:processing-instruction&gt;</CODE></PRE></FONT></TD>
    <TD vAlign=top bgColor=#D2E9FF width="457" height="1">Emits an XML processing instruction whose 
      [target] is name and whose [children] are based on 
  template.</TD></TR>
  <TR>
    <TD vAlign=top bgColor=#ffffff width="117" height="1">xsl:element</TD>
    <TD vAlign=top bgColor=#ffffff width="392" height="1"><PRE><CODE>&lt;xsl:element
 name = { qname }
 namespace = { uri-reference }
 use-attribute-sets = qnames&gt;
 &lt;!- - Content: template - -&gt;
&lt;/xsl:element&gt;</CODE></PRE></FONT></TD>
    <TD vAlign=top bgColor=#ffffff width="457" height="1">Emits an XML element whose [local name] is 
      name, whose [namespace URI] is namespace, and whose [children] are based 
      on template.</TD></TR>
  <TR>
    <TD vAlign=top bgColor=#D2E9FF width="117" height="44">xsl:attribute</TD>
    <TD vAlign=top bgColor=#D2E9FF width="392" height="44"><PRE><CODE>&lt;xsl:attribute
 name = { qname }
 namespace = { uri-reference }&gt;
 &lt;!- - Content: template - -&gt;
&lt;/xsl:attribute&gt;</CODE></PRE></FONT></TD>
    <TD vAlign=top bgColor=#D2E9FF width="457" height="44">Emits an XML attribute whose [local name] 
      is name, whose [namespace URI] is namespace, and whose [children] are 
      based on template.</TD></TR></TABLE>
<HR align=left width=500 color=#000080>

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.


Written By
Web Developer
Romania Romania
I make programming for over 4 years and extensive experience in C++, ASP, Pascal, MFC, COM+, ATL, TCP/IP, HTTP protocols, XML, XSL, SOAP and SQL.
For the last 2 years i working extensively at the background of financial sites (databases, n tier architecture).

I’m available for contracts and/or outsourcing (<Adrian Bacaianu>adrian_bacaianu@yahoo.com).

Comments and Discussions