home *** CD-ROM | disk | FTP | other *** search
/ ftp.tcs3.com / ftp.tcs3.com.tar / ftp.tcs3.com / DRIVERS / Audio / Office2010 / InfoPath.en-us / InfLR.cab / IPDSINTL.DLL_1033 / HTML / INSPECTOR.XSL < prev    next >
Extensible Markup Language  |  2010-03-29  |  40KB  |  793 lines

  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <!-- _lcid="1033" _version="" -->
  3. <!-- _LocalBinding -->
  4.  
  5. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:my="http://schemas.microsoft.com/office/infopath/2006/inspec" version="1.0">
  6.     <xsl:param name="node">0</xsl:param>
  7.     <xsl:output encoding="UTF-8" method="xml"/>
  8.     <xsl:template match="/">
  9.         <table style="table-layout:fixed;width:100%;height:100%"><tr><td>
  10.             <div style="word-wrap:break-word">
  11.                 <xsl:if test="count(my:Inspector/my:Field[@ID=$node]) != 0">
  12.                     <xsl:choose>
  13.                         <xsl:when test ="my:Inspector/my:Field[@ID=$node]/@DOM != ''">
  14.                             <div class="fieldFrameShortFieldName">
  15.                                 <xsl:value-of select="my:Inspector/my:Field[@ID=$node]/@ShortName" />
  16.                             </div>
  17.                             <div class="fieldFrameFullFieldName" style="display:inline; font-weight:bold">
  18.                                 <xsl:value-of select="my:Inspector/my:Field[@ID=$node]/@DOM" />
  19.                             </div>
  20.                             <div class="fieldFrameFullFieldName" style="display:inline">
  21.                                 <xsl:text> </xsl:text>
  22.                                 <xsl:value-of select="my:Inspector/my:Field[@ID=$node]/@Name" />
  23.                             </div>
  24.                             <br/>
  25.                         </xsl:when>
  26.                         <xsl:otherwise>
  27.                             <div class="fieldFrameShortFieldName"><xsl:value-of select="my:Inspector/my:Field[@ID=$node]/@ShortName" /></div>
  28.                             <div class="fieldFrameFullFieldName"><xsl:value-of select="my:Inspector/my:Field[@ID=$node]/@Name" /></div>
  29.                         </xsl:otherwise>
  30.                     </xsl:choose>
  31.                 </xsl:if>
  32.                 <xsl:if test="count(my:Inspector/my:Button[@ID=$node]) != 0">
  33.                     <div class="fieldFrameShortFieldName"><xsl:value-of select="my:Inspector/my:Button[@ID=$node]/@ID" /></div>
  34.                     <div class="fieldFrameFullFieldName">Button</div>
  35.                 </xsl:if>
  36.                 <xsl:if test="count(my:Inspector/my:XDocument[@ID=$node]) != 0">
  37.                     <div class="fieldFrameShortFieldName">Document</div>
  38.                 </xsl:if>
  39.                 <br/>
  40.             </div></td></tr>
  41.             <tr><td style="width:100%;height:100%">
  42.                 <div style="width:100%;height:100%;overflow:auto">
  43.                         <xsl:call-template name="PrintMainInfo"/>
  44.                     </div>
  45.                 </td></tr></table>
  46.     </xsl:template>
  47.  
  48.     <xsl:template name="ReplacePlaceHoldersWithSubstitutes">
  49.         <xsl:param name="StringWithPlaceHolders"/>
  50.         <!--This contains placeholders for the various strings - %n, where n goes from 1-9. Each placeholder should only be used once.-->
  51.         <xsl:param name="Substitutes"/>
  52.         <!--This is a comma separated list of the things we want to inject into the string. Extras will be ignored.-->
  53.         <!--So ReplacePlaceHoldersWithSubstitutes("a %1 %1 b %3 c %2 %4", "foo,bar,foo") would give "a foo %1 b foo c bar %4".-->
  54.         <xsl:param name="StartingNumber" select="1"/>
  55.         <!--This parameter should not be passed in. It's an internal-use only param, that indicates the starting number.-->
  56.  
  57.         <xsl:variable name="PlaceHolder">
  58.             <xsl:value-of select="concat('%', $StartingNumber)"/>
  59.         </xsl:variable>
  60.         <xsl:choose>
  61.             <xsl:when test="contains($Substitutes, ',')">
  62.                 <xsl:variable name="First">
  63.                     <xsl:value-of select="substring-before($Substitutes, ',')"/>
  64.                 </xsl:variable>
  65.                 <xsl:call-template name="ReplacePlaceHoldersWithSubstitutes">
  66.                     <xsl:with-param name="StringWithPlaceHolders" select="concat(substring-before($StringWithPlaceHolders, $PlaceHolder), $First, substring-after($StringWithPlaceHolders, $PlaceHolder))"/>
  67.                     <xsl:with-param name="Substitutes" select="substring-after($Substitutes, ',')"/>
  68.                     <xsl:with-param name="StartingNumber" select="$StartingNumber + 1"/>
  69.                 </xsl:call-template>
  70.             </xsl:when>
  71.             <xsl:otherwise>
  72.                 <xsl:variable name="First">
  73.                     <xsl:value-of select="$Substitutes"/>
  74.                 </xsl:variable>
  75.                 <xsl:value-of select="concat(substring-before($StringWithPlaceHolders, $PlaceHolder), $First, substring-after($StringWithPlaceHolders, $PlaceHolder))"/>
  76.             </xsl:otherwise>
  77.         </xsl:choose>
  78.     </xsl:template>
  79.  
  80.     <xsl:template name="Test_ReplacePlaceHoldersWithSubstitutes">
  81.         <xsl:call-template name="ReplacePlaceHoldersWithSubstitutes">
  82.             <xsl:with-param name="StringWithPlaceHolders">
  83.                 a %1 %1 b %3 c %2 %4
  84.             </xsl:with-param>
  85.             <xsl:with-param name="Substitutes">
  86.                 foo,bar,foo
  87.             </xsl:with-param>
  88.         </xsl:call-template>
  89.     </xsl:template>
  90.  
  91.     <xsl:template name="EscapeWhiteSpace">
  92.         <xsl:param name="TextWithWhiteSpace"></xsl:param>
  93.         <xsl:choose>
  94.             <!-- we're checking for double space as well as tab-->
  95.             <xsl:when test="contains($TextWithWhiteSpace, '  ') or contains($TextWithWhiteSpace, '    ')">
  96.                 <xsl:variable name="thisValue" select="translate($TextWithWhiteSpace, ' ', ' ')" />
  97.                 <xsl:value-of select="translate($thisValue, '    ', ' ')" />
  98.             </xsl:when>
  99.             <xsl:otherwise>
  100.                 <xsl:value-of select="$TextWithWhiteSpace" />
  101.             </xsl:otherwise>
  102.         </xsl:choose>
  103.     </xsl:template>
  104.  
  105.     <xsl:template name="PrintFieldLink">
  106.         <xsl:param name="Primary"/>
  107.         <xsl:param name="ComplexID"></xsl:param>
  108.         <xsl:param name="Filtered" select="'false'"/>
  109.         <xsl:variable name="linkClass">
  110.             <xsl:choose>
  111.                 <xsl:when test="$Primary = 'true'">linkPrimary</xsl:when>
  112.                 <xsl:otherwise>linkSecondary</xsl:otherwise>
  113.             </xsl:choose>
  114.         </xsl:variable>
  115.         <xsl:variable name="ComplexFullName" select="/my:Inspector/my:Field[@ID=$ComplexID]/@Name"/>
  116.         <span class="$linkClass">
  117.             <xsl:choose>
  118.                 <xsl:when test="$ComplexID='0'">
  119.                     <xsl:call-template name="UnknownField"/>
  120.                 </xsl:when>
  121.                 <xsl:otherwise>
  122.                     <a href="#" onClick="ShowField('{$ComplexID}', event)" title="{$ComplexFullName}"><xsl:value-of select="/my:Inspector/my:Field[@ID=$ComplexID]/@ShortName"/></a>
  123.                     <xsl:if test="$Filtered='true'">
  124.                         <xsl:call-template name="Filtered"/>
  125.                     </xsl:if>
  126.                 </xsl:otherwise>
  127.             </xsl:choose>
  128.         </span>
  129.     </xsl:template>
  130.  
  131.     <xsl:template name="UnknownField">
  132.         <span class="normalText" title="This field cannot be identified by the Rule Inspector. Certain XPath expressions cause this error, although they might work when filling out the form. Preview the form to verify that the rule works as expected."><!-- _locID@title="InspectorUnknownFieldTitle"  _locComment="{StringCategory=TXT}This field could not be determined by the Rule Inspector when designing the form template. When designing, certain XPaths cannot be resolved although they may work when filling out the form. Preview the form to verify that the field works as expected." --><!-- _locID_text="InspectorUnknownField" _locComment="{StringCategory=TXT}We couldn't find the node that this maps to." -->[Not Found]</span>
  133.     </xsl:template>
  134.  
  135.     <xsl:template name="Filtered">
  136.         <span class="normalText"><!-- _locID_text="InspectorFieldFiltered" _locComment="{StringCategory=TXT}There is a filter applied on this node." -->[Filtered]</span>
  137.     </xsl:template>
  138.  
  139.     <xsl:template name="PrintFieldLinkOfSourceID">
  140.         <xsl:param name="SourceID"></xsl:param>
  141.         <xsl:param name="Filtered" select="'false'"/>
  142.         <xsl:call-template name="PrintFieldLink">
  143.             <xsl:with-param name="Primary">
  144.                 <xsl:value-of select="'true'"/>
  145.             </xsl:with-param>
  146.             <xsl:with-param name="ComplexID"><xsl:value-of select="/my:Inspector/my:Field[my:Source/*=$SourceID]/@ID"/></xsl:with-param>
  147.             <xsl:with-param name="Filtered">
  148.                 <xsl:value-of select="$Filtered"/>
  149.             </xsl:with-param>
  150.         </xsl:call-template>
  151.     </xsl:template>
  152.  
  153.     <xsl:template name="PrintButtonLinkPrimary">
  154.         <xsl:param name="ComplexID"></xsl:param>
  155.         <xsl:variable name="ComplexFullName" select="/my:Inspector/my:Button[@ID=$ComplexID]/@ID"/>
  156.         <span class="linkPrimary">
  157.             <xsl:if test="$ComplexFullName">
  158.                 <a href="#" onClick="ShowField('{$ComplexID}', event)" title="{$ComplexFullName}"><!-- _locID_text="InspectorFieldButtonLinkPrimary" _locComment="{StringCategory=TXT}A button on the form" -->Button <xsl:value-of select="/my:Inspector/my:Button[@ID=$ComplexID]/@ID"/></a>
  159.             </xsl:if>
  160.         </span>
  161.     </xsl:template>
  162.  
  163.     <xsl:template name="PrintButtonLinkOfSourceID">
  164.         <xsl:param name="SourceID"></xsl:param>
  165.         <xsl:call-template name="PrintButtonLinkPrimary">
  166.             <xsl:with-param name="ComplexID"><xsl:value-of select="/my:Inspector/my:Button[my:Source/*=$SourceID]/@ID"/></xsl:with-param>
  167.         </xsl:call-template>
  168.     </xsl:template>
  169.  
  170.     <xsl:template name="PrintDocumentLink">
  171.         <xsl:param name="SourceID"></xsl:param>
  172.         <xsl:if test="count(/my:Inspector/my:XDocument[my:Source/*=$SourceID]) != 0">
  173.             <span class="linkPrimary">
  174.                 <a href="#" onClick="ShowField('XDocument', event)" title="Document">
  175.                     <!-- _locID_text="InspectorFieldDocumentLinkPrimary" _locComment="{StringCategory=TXT}" -->Document<xsl:if test="@DocumentRuleType='1'">
  176.                         <xsl:text> </xsl:text><!-- _locID_text="InspectorFieldDocumentLinkPrimaryOnLoad" _locComment="{StringCategory=TXT}The rule will be executed when the document loads" -->On Load</xsl:if><xsl:if test="@DocumentRuleType='2'">
  177.                         <xsl:text> </xsl:text><!-- _locID_text="InspectorFieldDocumentLinkPrimaryOnSubmit" _locComment="{StringCategory=TXT}The rule will be executed when the document loads" -->On Submit</xsl:if></a>
  178.             </span>
  179.         </xsl:if>
  180.     </xsl:template>
  181.  
  182.     <xsl:template name="PrintFieldLinkOfTargetID">
  183.         <xsl:param name="SourceID"></xsl:param>
  184.         <xsl:call-template name="PrintFieldLink">
  185.             <xsl:with-param name="Primary">
  186.                 <xsl:value-of select="'true'"/>
  187.             </xsl:with-param>
  188.             <xsl:with-param name="ComplexID"><xsl:value-of select="/my:Inspector/my:Field[my:Target/*=$SourceID]/@ID"/></xsl:with-param>
  189.         </xsl:call-template>
  190.     </xsl:template>
  191.  
  192.     <xsl:template name="OutputPlusMinus">
  193.         <xsl:param name="label"></xsl:param>
  194.         <span class="expandCollapse"><a href="#" onClick="HideShow('{$label}', event)"><img border="0" id="{$label}Minus" src="InspectorMinus.PNG"/><img border="0" id="{$label}Plus" onLoad='Hide("{$label}Plus")' src="InspectorPlus.PNG"/></a></span>
  195.     </xsl:template>
  196.  
  197.     <xsl:template match="my:InvalidField" mode="ComplexExpression">
  198.         <span class="actionError"><!-- _locID_text="InspectorOverallInvalidField" _locComment="{StringCategory=TXT}The field is invalid." -->Invalid Field</span>
  199.     </xsl:template>
  200.  
  201.     <xsl:template match="my:ID" mode="ComplexExpression">
  202.         <xsl:call-template name="PrintFieldLink">
  203.             <xsl:with-param name="Primary">
  204.                 <xsl:value-of select="'false'"/>
  205.             </xsl:with-param>
  206.             <xsl:with-param name="ComplexID">
  207.                 <xsl:value-of select="."/>
  208.             </xsl:with-param>
  209.             <xsl:with-param name="Filtered">
  210.                 <xsl:value-of select="@Filtered"/>
  211.             </xsl:with-param>
  212.         </xsl:call-template>
  213.     </xsl:template>
  214.  
  215.     <xsl:template match="my:Expression" mode="ComplexExpression">
  216.         <span class="normalText">
  217.             <xsl:call-template name="EscapeWhiteSpace">
  218.                 <xsl:with-param name="TextWithWhiteSpace" select="."/>
  219.             </xsl:call-template>
  220.         </span>
  221.     </xsl:template>
  222.  
  223.     <xsl:template name="PrintComplexExpression">
  224.         <xsl:apply-templates select="*" mode="ComplexExpression"/>
  225.     </xsl:template>
  226.     
  227.     <xsl:template name="PrintMainInfo">
  228.         <xsl:variable name="NumberOfFields" select="count(my:Inspector/my:Field[@ID=$node])" />
  229.  
  230.         <xsl:if test="not($NumberOfFields=0)">
  231.             <div class="fieldFrameHeading">
  232.                 <table><tr><td width="18px" valign="top" style="padding-top:3px">
  233.                     <xsl:call-template name="OutputPlusMinus">
  234.                         <xsl:with-param name="label">Conditional</xsl:with-param>
  235.                     </xsl:call-template>
  236.                 </td>
  237.                 <td valign="top">
  238.                     <span class="fieldFramePrimaryTitle">
  239.                     <!-- _locID_text="InspectorConditionalField" _locComment="{StringCategory=TXT}Rules that depend on this field or group" -->Rules that depend on this field or group</span>
  240.                 </td></tr></table>
  241.             </div>
  242.             <div></div>
  243.             <div class="noindent" id="Conditional">
  244.                 <table width="100%">
  245.                     <tr>
  246.                         <td class="fieldFrameIndentBar" />
  247.                         <td class="fieldFrameBar"/>
  248.                         <td class="fieldFrameBackground">
  249.                             <table><tr><td width="18px" valign="top" style="padding-top:3px">
  250.                                 <xsl:call-template name="OutputPlusMinus">
  251.                                     <xsl:with-param name="label">validationCond</xsl:with-param>
  252.                                 </xsl:call-template>
  253.                             </td>
  254.                             <td valign="top">
  255.                                 <span class="fieldFrameSecondaryTitle"><!-- _locID_text="InspectorConditionalValidation" _locComment="{StringCategory=TXT}The rule on this field that ensures that the entered data is valid" -->Validation</span>
  256.                             </td></tr></table>
  257.                             <div></div>
  258.                             <div class="indent" id="validationCond">
  259.                                 <xsl:if test="count(my:Inspector/*[@ID=$node]/my:Conditional/my:DataValidationID)=0">
  260.                                     <span class="none"><!-- _locID_text="InspectorFieldNone1" _locComment="{StringCategory=TXT}There is no rule associated with this node." -->None</span>
  261.                                 </xsl:if>
  262.                                 <xsl:apply-templates select="my:Inspector/*[@ID=$node]/my:Conditional/my:DataValidationID">
  263.                                     <xsl:sort select="/my:Inspector/my:Field[my:Source/*=current()]/@ShortName"/>
  264.                                     <xsl:with-param name="type">Conditional</xsl:with-param>
  265.                                 </xsl:apply-templates>
  266.                             </div>
  267.                         </td>
  268.                     </tr>
  269.  
  270.  
  271.                     <tr>
  272.                         <td class="fieldFrameIndentBar" />
  273.                         <td class="fieldFrameBar">
  274.                         </td>
  275.                         <td class="fieldFrameBackground">
  276.                             <table><tr><td width="18px" valign="top" style="padding-top:3px">
  277.                                 <xsl:call-template name="OutputPlusMinus">
  278.                                     <xsl:with-param name="label">CalcsCond</xsl:with-param>
  279.                                 </xsl:call-template>
  280.                             </td>
  281.                             <td valign="top">
  282.                                 <span class="fieldFrameSecondaryTitle"><!-- _locID_text="InspectorConditionalDefault" _locComment="{StringCategory=TXT}The default value for the field" -->Calculated Default Values</span>
  283.                             </td></tr></table>
  284.                             <div></div>
  285.                             <div class="indent" id="CalcsCond">
  286.                                 <xsl:if test="count(my:Inspector/*[@ID=$node]/my:Conditional/my:CalculationID)=0">
  287.                                     <span class="none"><!-- _locID_text="InspectorFieldNone2" _locComment="{StringCategory=TXT}There is no rule associated with this node." -->None</span>
  288.                                 </xsl:if>
  289.                                 <xsl:apply-templates select="my:Inspector/*[@ID=$node]/my:Conditional/my:CalculationID">
  290.                                     <xsl:sort select="/my:Inspector/my:Field[my:Target/*=current()]/@ShortName"/>
  291.                                     <xsl:with-param name="type">Conditional</xsl:with-param>
  292.                                 </xsl:apply-templates>
  293.                             </div>
  294.                         </td>
  295.                     </tr>
  296.                     <tr>
  297.                         <td class="fieldFrameIndentBar" />
  298.                         <td class="fieldFrameBar">
  299.                         </td>
  300.                         <td class="fieldFrameBackground">
  301.                             <table><tr><td width="18px" valign="top" style="padding-top:3px">
  302.                                 <xsl:call-template name="OutputPlusMinus">
  303.                                     <xsl:with-param name="label">rulesCond</xsl:with-param>
  304.                                 </xsl:call-template>
  305.                             </td>
  306.                             <td valign="top">
  307.                                 <span class="fieldFrameSecondaryTitle"><!-- _locID_text="InspectorConditionalRules" _locComment="{StringCategory=TXT}Rules that are triggered on this field (eg. sets a field value, displays a message, etc)" -->Actions</span>
  308.                             </td></tr></table>
  309.                             <div></div>
  310.                             <div class="indent" id="rulesCond">
  311.                                 <xsl:if test="count(my:Inspector/*[@ID=$node]/my:Conditional/my:RuleID)=0">
  312.                                     <span class="none"><!-- _locID_text="InspectorFieldNone3" _locComment="{StringCategory=TXT}There is no rule associated with this node." -->None</span>
  313.                                 </xsl:if>
  314.                                 <xsl:apply-templates select="my:Inspector/*[@ID=$node]/my:Conditional/my:RuleID">
  315.                                     <xsl:sort select="/my:Inspector/my:Field[my:Source/*=current()]/@ShortName"/>
  316.                                     <xsl:with-param name="type">Conditional</xsl:with-param>
  317.                                 </xsl:apply-templates>
  318.                             </div>
  319.                         </td>
  320.                     </tr>
  321.                 </table>
  322.             </div>
  323.         </xsl:if>
  324.  
  325.         <div class="fieldFrameHeading">
  326.             <table><tr><td width="18px" valign="top" style="padding-top:3px">
  327.                 <xsl:call-template name="OutputPlusMinus">
  328.                     <xsl:with-param name="label">Source</xsl:with-param>
  329.                 </xsl:call-template>
  330.             </td>
  331.             <td valign="top">
  332.                 <span class="fieldFramePrimaryTitle">
  333.                     <xsl:call-template name="ReplacePlaceHoldersWithSubstitutes">
  334.                         <xsl:with-param name="StringWithPlaceHolders">
  335.                             <!-- _locID_text="InspectorRelatedFieldSourceField" _locComment="{StringCategory=TXT}rules that are triggered by a change in this %1" -->Rules that are triggered by a change in this %1
  336.                         </xsl:with-param>
  337.                         <xsl:with-param name="Substitutes">
  338.                             <xsl:choose>
  339.                                     <xsl:when test="count(my:Inspector/my:XDocument[@ID=$node]) != 0"><!-- _locID_text="InspectorRelatedFieldSourceFieldDocument" _locComment="{StringCategory=TXT}document" -->document</xsl:when>
  340.                                     <xsl:when test="count(my:Inspector/my:Button[@ID=$node]) != 0"><!-- _locID_text="InspectorRelatedFieldSourceFieldButton" _locComment="{StringCategory=TXT}button" -->button</xsl:when>
  341.                                     <xsl:otherwise><!-- _locID_text="InspectorRelatedFieldSourceFieldNode" _locComment="{StringCategory=TXT}field or group" -->field or group</xsl:otherwise>
  342.                             </xsl:choose>
  343.                         </xsl:with-param>
  344.                     </xsl:call-template>
  345.                 </span>
  346.             </td></tr></table>
  347.         </div>
  348.         <div></div>
  349.         <div class="noindent" id="Source">
  350.             <table width="100%">
  351.                 <xsl:if test="not($NumberOfFields=0)">
  352.                     <tr>
  353.                         <td class="fieldFrameIndentBar" />
  354.                         <td class="fieldFrameBar">
  355.                         </td>
  356.                         <td class="fieldFrameBackground">
  357.                             <table><tr><td width="18px" valign="top" style="padding-top:3px">
  358.                                 <xsl:call-template name="OutputPlusMinus">
  359.                                     <xsl:with-param name="label">validationSrc</xsl:with-param>
  360.                                 </xsl:call-template>
  361.                             </td>
  362.                             <td valign="top">
  363.                                 <span class="fieldFrameSecondaryTitle"><!-- _locID_text="InspectorSourceValidation" _locComment="{StringCategory=TXT}The Rule on this field that ensures that the entered data is valid" -->Validation</span>
  364.                             </td></tr></table>
  365.                             <div></div>
  366.                             <div class="indent" id="validationSrc">
  367.                                 <xsl:if test="count(my:Inspector/*[@ID=$node]/my:Source/my:DataValidationID)=0">
  368.                                     <span class="none"><!-- _locID_text="InspectorFieldNone4" _locComment="{StringCategory=TXT}There is no Rule associated with this node." -->None</span>
  369.                                 </xsl:if>
  370.                                 <xsl:apply-templates select="my:Inspector/*[@ID=$node]/my:Source/my:DataValidationID">
  371.                                     <xsl:sort select="/my:Inspector/my:Field[my:Source/*=current()]/@ShortName"/>
  372.                                     <xsl:with-param name="type">Source</xsl:with-param>
  373.                                 </xsl:apply-templates>
  374.                             </div>
  375.                         </td>
  376.                     </tr>
  377.                     <tr>
  378.                         <td class="fieldFrameIndentBar" />
  379.                         <td class="fieldFrameBar">
  380.                         </td>
  381.                         <td class="fieldFrameBackground">
  382.                             <table><tr><td width="18px" valign="top" style="padding-top:3px">
  383.                                 <xsl:call-template name="OutputPlusMinus">
  384.                                     <xsl:with-param name="label">CalcsSrc</xsl:with-param>
  385.                                 </xsl:call-template>
  386.                             </td>
  387.                             <td valign="top">
  388.                                 <span class="fieldFrameSecondaryTitle"><!-- _locID_text="InspectorSourceDefault" _locComment="{StringCategory=TXT}The default value for the field" -->Calculated Default Values</span>
  389.                             </td></tr></table>
  390.                             <div></div>
  391.                             <div class="indent" id="CalcsSrc">
  392.                                 <xsl:if test="count(my:Inspector/*[@ID=$node]/my:Source/my:CalculationID)=0">
  393.                                     <span class="none"><!-- _locID_text="InspectorFieldNone5" _locComment="{StringCategory=TXT}There is no Rule associated with this node." -->None</span>
  394.                                 </xsl:if>
  395.                                 <xsl:apply-templates select="my:Inspector/*[@ID=$node]/my:Source/my:CalculationID">
  396.                                     <xsl:sort select="/my:Inspector/my:Field[my:Target/*=current()]/@ShortName"/>
  397.                                     <xsl:with-param name="type">Source</xsl:with-param>
  398.                                 </xsl:apply-templates>
  399.                             </div>
  400.                         </td>
  401.                     </tr>
  402.                 </xsl:if>
  403.                 <tr>
  404.                     <td class="fieldFrameIndentBar" />
  405.                     <td class="fieldFrameBar">
  406.                     </td>
  407.                     <td class="fieldFrameBackground">
  408.                         <table><tr><td width="18px" valign="top" style="padding-top:3px">
  409.                             <xsl:call-template name="OutputPlusMinus">
  410.                                 <xsl:with-param name="label">rulesSrc</xsl:with-param>
  411.                             </xsl:call-template>
  412.                         </td>
  413.                         <td valign="top">
  414.                             <span class="fieldFrameSecondaryTitle"><!-- _locID_text="InspectorSourceRules" _locComment="{StringCategory=TXT}Rules that are triggered on this field (eg. sets a field value, displays a message, etc)" -->Actions</span>
  415.                         </td></tr></table>
  416.                         <div></div>
  417.                         <div class="indent" id="rulesSrc">
  418.                             <xsl:if test="count(my:Inspector/*[@ID=$node]/my:Source/my:RuleID)=0">
  419.                                 <span class="none"><!-- _locID_text="InspectorFieldNone6" _locComment="{StringCategory=TXT}There is no Rule associated with this node." -->None</span>
  420.                             </xsl:if>
  421.                             <xsl:apply-templates select="my:Inspector/*[@ID=$node]/my:Source/my:RuleID">
  422.                                 <xsl:sort select="/my:Inspector/my:Field[my:Source/*=current()]/@ShortName"/>
  423.                                 <xsl:with-param name="type">Source</xsl:with-param>
  424.                             </xsl:apply-templates>
  425.                         </div>
  426.                     </td>
  427.                 </tr>
  428.                 <tr>
  429.                     <td class="fieldFrameIndentBar" />
  430.                     <td class="fieldFrameBar">
  431.                     </td>
  432.                     <td class="fieldFrameBackground">
  433.                         <table><tr><td width="18px" valign="top" style="padding-top:3px">
  434.                             <xsl:call-template name="OutputPlusMinus">
  435.                                 <xsl:with-param name="label">businessSrc</xsl:with-param>
  436.                             </xsl:call-template>
  437.                         </td>
  438.                         <td valign="top">
  439.                             <span class="fieldFrameSecondaryTitle"><!-- _locID_text="InspectorSourceLogic" _locComment="{StringCategory=TXT}The user-written functionality (C# / VB / Jscript)" -->Programming</span>
  440.                         </td></tr></table>
  441.                         <div></div>
  442.                         <div class="indent" id="businessSrc">
  443.                             <xsl:if test="count(my:Inspector/*[@ID=$node]/my:Source/my:BusinessLogicID)=0">
  444.                                 <span class="none"><!-- _locID_text="InspectorFieldNone7" _locComment="{StringCategory=TXT}There is no Rule associated with this node." -->None</span>
  445.                             </xsl:if>
  446.                             <xsl:apply-templates select="my:Inspector/*[@ID=$node]/my:Source/my:BusinessLogicID">
  447.                                 <xsl:sort select="/my:Inspector/my:Field[my:Source/*=current()]/@ShortName"/>
  448.                                 <xsl:with-param name="type">Source</xsl:with-param>
  449.                             </xsl:apply-templates>
  450.                         </div>
  451.                     </td>
  452.                 </tr>
  453.             </table>
  454.         </div>
  455.  
  456.         <xsl:if test="not($NumberOfFields=0)">
  457.             <div class="fieldFrameHeading">
  458.                 <table><tr><td width="18px" valign="top" style="padding-top:3px">
  459.                     <xsl:call-template name="OutputPlusMinus">
  460.                         <xsl:with-param name="label">Target</xsl:with-param>
  461.                     </xsl:call-template>
  462.                 </td>
  463.                 <td valign="top">
  464.                     <span class="fieldFramePrimaryTitle"><!-- _locID_text="InspectorRelatedFieldTargetField" _locComment="{StringCategory=TXT}Rules that may change this field or group" -->Rules that may change this field or group</span>
  465.                 </td></tr></table>
  466.             </div>
  467.             <div></div>
  468.             <div class="noindent" id="Target">
  469.                 <table width="100%">
  470.                     <tr>
  471.                         <td class="fieldFrameIndentBar" />
  472.                         <td class="fieldFrameBar">
  473.                         </td>
  474.                         <td class="fieldFrameBackground">
  475.                             <table><tr><td width="18px" valign="top" style="padding-top:3px">
  476.                                 <xsl:call-template name="OutputPlusMinus">
  477.                                     <xsl:with-param name="label">CalcsTgt</xsl:with-param>
  478.                                 </xsl:call-template>
  479.                             </td>
  480.                             <td valign="top">
  481.                                 <span class="fieldFrameSecondaryTitle"><!-- _locID_text="InspectorTargetDefault" _locComment="{StringCategory=TXT}The default value for the field" -->Calculated Default Values</span>
  482.                             </td></tr></table>
  483.                             <div></div>
  484.                             <div class="indent" id="CalcsTgt">
  485.                                 <xsl:if test="count(my:Inspector/*[@ID=$node]/my:Target/my:CalculationID)=0">
  486.                                     <span class="none"><!-- _locID_text="InspectorFieldNone9" _locComment="{StringCategory=TXT}There is no Rule associated with this node." -->None</span>
  487.                                 </xsl:if>
  488.                                 <xsl:apply-templates select="my:Inspector/*[@ID=$node]/my:Target/my:CalculationID">
  489.                                     <xsl:sort select="/my:Inspector/my:Field[my:Target/*=current()]/@ShortName"/>
  490.                                     <xsl:with-param name="type">Target</xsl:with-param>
  491.                                 </xsl:apply-templates>
  492.                             </div>
  493.                         </td>
  494.                     </tr>
  495.                     <tr>
  496.                         <td class="fieldFrameIndentBar" />
  497.                         <td class="fieldFrameBar">
  498.                         </td>
  499.                         <td class="fieldFrameBackground">
  500.                             <table><tr><td width="18px" valign="top" style="padding-top:3px">
  501.                                 <xsl:call-template name="OutputPlusMinus">
  502.                                     <xsl:with-param name="label">rulesTgt</xsl:with-param>
  503.                                 </xsl:call-template>
  504.                             </td>
  505.                             <td valign="top">
  506.                                 <span class="fieldFrameSecondaryTitle"><!-- _locID_text="InspectorTargetRules" _locComment="{StringCategory=TXT}Rules that are triggered on this field (eg. sets a field value, displays a message, etc)" -->Actions</span>
  507.                             </td></tr></table>
  508.                             <div></div>
  509.                             <div class="indent" id="rulesTgt">
  510.                                 <xsl:if test="count(my:Inspector/*[@ID=$node]/my:Target/my:RuleID)=0">
  511.                                     <span class="none"><!-- _locID_text="InspectorFieldNone10" _locComment="{StringCategory=TXT}There is no Rule associated with this node." -->None</span>
  512.                                 </xsl:if>
  513.                                 <xsl:apply-templates select="my:Inspector/*[@ID=$node]/my:Target/my:RuleID">
  514.                                     <xsl:sort select="/my:Inspector/my:Field[my:Source/*=current()]/@ShortName"/>
  515.                                     <xsl:with-param name="type">Target</xsl:with-param>
  516.                                 </xsl:apply-templates>
  517.                             </div>
  518.                         </td>
  519.                     </tr>
  520.                 </table>
  521.             </div>
  522.         </xsl:if>
  523.     </xsl:template>
  524.  
  525.     <xsl:template match="my:RuleID">
  526.         <xsl:param name="type"></xsl:param>
  527.         <xsl:variable name="RuleVar" select="."/>
  528.         <xsl:apply-templates select="/my:Inspector/my:Rule[@ID=$RuleVar]"><xsl:with-param name="type" select="$type"/></xsl:apply-templates>
  529.     </xsl:template>
  530.     <xsl:template match="my:CalculationID">
  531.         <xsl:param name="type"></xsl:param>
  532.         <xsl:variable name="CalculationVar" select="."/>
  533.         <xsl:apply-templates select="/my:Inspector/my:Calculation[@ID=$CalculationVar]"><xsl:with-param name="type" select="$type"/></xsl:apply-templates>
  534.     </xsl:template>
  535.     <xsl:template match="my:DataValidationID">
  536.         <xsl:param name="type"></xsl:param>
  537.         <xsl:variable name="DataValidationVar" select="."/>
  538.         <xsl:apply-templates select="/my:Inspector/my:DataValidation[@ID=$DataValidationVar]"><xsl:with-param name="type" select="$type"/></xsl:apply-templates>
  539.     </xsl:template>
  540.     <xsl:template match="my:BusinessLogicID">
  541.         <xsl:param name="type"></xsl:param>
  542.         <xsl:variable name="BusinessLogicVar" select="."/>
  543.         <xsl:apply-templates select="/my:Inspector/my:BusinessLogic[@ID=$BusinessLogicVar]"><xsl:with-param name="type" select="$type"/></xsl:apply-templates>
  544.     </xsl:template>
  545.  
  546.     <xsl:template name="PrintConditionsRules">
  547.         <xsl:variable name="NumConditions" select="count(my:RuleCondition)"/>
  548.             <xsl:if test="not($NumConditions=0)">
  549.                 <xsl:apply-templates select="my:RuleCondition/*" mode="ProcessCondition"/><br/>
  550.             </xsl:if>
  551.             <xsl:if test="$NumConditions=0">
  552.                 <span class="none"><!-- _locID_text="InspectorRuleNoCondition" _locComment="{StringCategory=TXT}There are no conditions on this rule" -->None</span>
  553.             </xsl:if>
  554.     </xsl:template>
  555.  
  556.     <xsl:template name="PrintActionsRules">
  557.         <xsl:variable name="NumActions" select="count(my:RuleAction)"/>
  558.             <xsl:if test="not($NumActions=0)">
  559.                 <xsl:apply-templates select="my:RuleAction"/>
  560.             </xsl:if>
  561.             <xsl:if test="$NumActions=0">
  562.                 <span class="none"><!-- _locID_text="InspectorRuleNoAction" _locComment="{StringCategory=TXT}There are no Actions on this rule" -->None</span>
  563.             </xsl:if>
  564.     </xsl:template>
  565.  
  566.     <xsl:template match="my:Rule">
  567.         <xsl:param name="type"></xsl:param>
  568.         <xsl:variable name="RuleID" select="@ID"/>
  569.         <xsl:variable name="NumButtonsReferencingRule" select="count(/my:Inspector/my:Button/my:Source[my:RuleID=$RuleID])"/>
  570.         <table><tr><td width="18px" valign="top" style="padding-top:3px">
  571.             <xsl:call-template name="OutputPlusMinus">
  572.                 <xsl:with-param name="label"><xsl:value-of select="@ID"/><xsl:value-of select="$type"/></xsl:with-param>
  573.             </xsl:call-template> 
  574.         </td>
  575.         <td valign="top">
  576.             <xsl:call-template name="PrintDocumentLink">
  577.                 <xsl:with-param name="SourceID"><xsl:value-of select="@ID"/></xsl:with-param>
  578.             </xsl:call-template>
  579.             <xsl:call-template name="PrintButtonLinkOfSourceID">
  580.                 <xsl:with-param name="SourceID"><xsl:value-of select="@ID"/></xsl:with-param>
  581.             </xsl:call-template>
  582.             <xsl:call-template name="PrintFieldLinkOfSourceID">
  583.                 <xsl:with-param name="SourceID"><xsl:value-of select="@ID"/></xsl:with-param>
  584.             </xsl:call-template><span class="normalText">: </span>
  585.             <span class="ruleName">
  586.                 <xsl:call-template name="EscapeWhiteSpace">
  587.                     <xsl:with-param name="TextWithWhiteSpace" select="@Name"/>
  588.                 </xsl:call-template>
  589.             </span>
  590.             <xsl:if test="count(my:RuleCondition)=0">
  591.                 <span class="normalText"><xsl:text>  </xsl:text> <!-- _locID_text="InspectorRuleAlwaysExecutes" _locComment="{StringCategory=TXT}States that the rule always executes" -->- Always Executes</span>
  592.                 <xsl:if test="@RuleEnabled='false'">
  593.                     <span class="normalText"><xsl:text><!-- _locID_text="InspectorRuleComma" _locComment="{StringCategory=TXT}Separator" -->, </xsl:text></span>
  594.                 </xsl:if>
  595.             </xsl:if>
  596.             <xsl:if test="@RuleEnabled='false'">
  597.                 <span class="ruleDisabled"><xsl:text>  </xsl:text> <!-- _locID_text="InspectorRuleDisabled" _locComment="{StringCategory=TXT}States that the rule is disabled and not used" -->DISABLED </span>
  598.             </xsl:if>
  599.         </td></tr></table>
  600.         <div></div>
  601.         <div class="indent" id="{$RuleID}{$type}">
  602.             <span class="fieldFrameTertiaryTitle"> <!-- _locID_text="InspectorRuleConditions" _locComment="{StringCategory=TXT}The tests on the rule (for ex. if (. < 5)) for this rule to execute" -->Conditions</span>
  603.             <div class="indent">
  604.                 <xsl:call-template name="PrintConditionsRules"/>
  605.             </div>
  606.             <span class="fieldFrameTertiaryTitle"> <!-- _locID_text="InspectorRuleActions" _locComment="{StringCategory=TXT}The resulting actions of this rule (set a value, display a message, etc)" -->Actions</span>
  607.             <div class="indent">
  608.                 <xsl:call-template name="PrintActionsRules"/>
  609.             </div>
  610.         </div>
  611.  
  612.     </xsl:template>
  613.     
  614.     <xsl:template match="my:Condition" mode="ProcessCondition">
  615.         <xsl:call-template name="PrintComplexExpression"/>
  616.     </xsl:template>
  617.     <xsl:template match="my:and" mode="ProcessCondition">
  618.         <span class="connectorText"><xsl:text> </xsl:text><!-- _locID_text="InspectorFieldConditionAnd" _locComment="{StringCategory=TXT}Logical connector" -->and<xsl:text> </xsl:text></span><br/>
  619.     </xsl:template>
  620.     <xsl:template match="my:or" mode="ProcessCondition">
  621.         <span class="connectorText"><xsl:text> </xsl:text><!-- _locID_text="InspectorFieldConditionOr" _locComment="{StringCategory=TXT}Logical connector" -->or<xsl:text> </xsl:text></span><br/>
  622.     </xsl:template>
  623.     
  624.     <xsl:template match="my:RuleAction">
  625.         <xsl:choose>
  626.             <xsl:when test="@RuleActionType='1'">
  627.                 <span class="actionType"><!-- _locID_text="InspectorRuleAction1" _locComment="{StringCategory=TXT}" -->Show a dialog box message: </span>
  628.                 <span class="normalText">
  629.                     <xsl:call-template name="EscapeWhiteSpace">
  630.                         <xsl:with-param name="TextWithWhiteSpace" select="@RuleActionString"/>
  631.                     </xsl:call-template>
  632.                 </span><br/>
  633.             </xsl:when>
  634.             <xsl:when test="@RuleActionType='2'">
  635.                 <span class="actionType"><!-- _locID_text="InspectorRuleAction2" _locComment="{StringCategory=TXT}Display a dialog box which is based on a calculated expression" -->Show a dialog box expression: </span><span class="normalText"><xsl:call-template name="PrintComplexExpression"/></span><br/>
  636.             </xsl:when>
  637.             <xsl:when test="@RuleActionType='3'">
  638.                 <span class="actionType"><!-- _locID_text="InspectorRuleAction3" _locComment="{StringCategory=TXT}Change the current view of InfoPath" -->Switch views: </span><span class="normalText"><xsl:value-of select="@RuleActionString"/></span><br/>
  639.             </xsl:when>
  640.             <xsl:when test="@RuleActionType='4'">
  641.                 <span class="actionType"><!-- _locID_text="InspectorRuleAction4" _locComment="{StringCategory=TXT}" -->Set a field's value: </span>
  642.                 <xsl:if test="@RuleActionTarget">
  643.                     <xsl:call-template name="PrintFieldLink">
  644.                         <xsl:with-param name="Primary">
  645.                             <xsl:value-of select="'false'"/>
  646.                         </xsl:with-param>
  647.                         <xsl:with-param name="ComplexID">
  648.                             <xsl:value-of select="@RuleActionTarget"/>
  649.                         </xsl:with-param>
  650.                     </xsl:call-template>
  651.                 </xsl:if>
  652.                 <xsl:if test="@RuleActionTargetShortName">
  653.                     <span class="normal" style="color:#FF6600; font-weight:bold;" title="No details for this field or group. See Help for more information."><!-- _locID@title="InspectorFieldAmbiguous"  _locComment="{StringCategory=TXT}We're not sure which node this field maps to." -->
  654.                         <xsl:value-of select="@RuleActionTargetShortName" />
  655.                     </span>
  656.                 </xsl:if>
  657.                 <span class="normalText">
  658.                  = </span>
  659.                 <xsl:call-template name="PrintComplexExpression"/><br/>
  660.             </xsl:when>
  661.             <xsl:when test="@RuleActionType='5'">
  662.                 <span class="actionType"><!-- _locID_text="InspectorRuleAction5" _locComment="{StringCategory=TXT}" -->Query using a data connection: </span><span class="normalText"><xsl:value-of select="@RuleActionString"/></span><br/>
  663.             </xsl:when>
  664.             <xsl:when test="@RuleActionType='6'">
  665.                 <span class="actionType"><!-- _locID_text="InspectorRuleAction6" _locComment="{StringCategory=TXT}" -->Submit using a data connection: </span><span class="normalText"><xsl:value-of select="@RuleActionString"/></span><br/>
  666.             </xsl:when>
  667.             <xsl:when test="@RuleActionType='7'">
  668.                 <span class="actionType"><!-- _locID_text="InspectorRuleAction7" _locComment="{StringCategory=TXT}" -->Open a new form to fill out: </span><span class="normalText"><xsl:value-of select="@RuleActionString"/></span><br/>
  669.             </xsl:when>
  670.             <xsl:when test="@RuleActionType='8'">
  671.                 <span class="actionType"><!-- _locID_text="InspectorRuleAction8" _locComment="{StringCategory=TXT}" -->Close the form</span><br/>
  672.             </xsl:when>
  673.             <xsl:when test="@RuleActionType='9'">
  674.                 <span class="actionType"><!-- _locID_text="InspectorOverallRuleAction9" _locComment="{StringCategory=TXT}" -->Send data to Web Part</span><br/>
  675.             </xsl:when>
  676.             <xsl:when test="@RuleActionType='10'">
  677.                 <span class="actionType"><!-- _locID_text="InspectorOverallRuleAction10" _locComment="{StringCategory=TXT}" -->Change REST URL: </span><span class="normalText"><xsl:value-of select="@RuleActionString"/></span><br/>
  678.             </xsl:when>
  679.             <xsl:when test="@RuleActionType='11'">
  680.                 <span class="actionType"><!-- _locID_text="InspectorRuleAction11" _locComment="{StringCategory=TXT}" -->Sign a signature line:</span>
  681.                 <xsl:if test="@RuleActionTarget">
  682.                     <xsl:call-template name="PrintFieldLink">
  683.                         <xsl:with-param name="Primary">
  684.                             <xsl:value-of select="'false'"/>
  685.                         </xsl:with-param>
  686.                         <xsl:with-param name="ComplexID">
  687.                             <xsl:value-of select="@RuleActionTarget"/>
  688.                         </xsl:with-param>
  689.                     </xsl:call-template>
  690.                 </xsl:if>
  691.                 <xsl:if test="@RuleActionTargetShortName">
  692.                     <span class="normal" style="color:#FF6600; font-weight:bold;" title="The type of data to match the signature control.">
  693.                         <!-- _locID@title="InspectorFieldSignerMatchType"  _locComment="{StringCategory=TXT}It is one of the types - Name / Email / Unique ID." -->
  694.                         <xsl:value-of select="@RuleActionTargetShortName" />
  695.                     </span>
  696.                 </xsl:if>
  697.                 <span class="normalText">
  698.                     =
  699.                 </span>
  700.                 <xsl:call-template name="PrintComplexExpression"/>
  701.                 <br/>
  702.             </xsl:when>
  703.             <xsl:otherwise>
  704.                 <span class="actionError"><!-- _locID_text="InspectorRuleActionError" _locComment="{StringCategory=TXT}" -->Internal error.</span><br/>
  705.             </xsl:otherwise>    
  706.         </xsl:choose>
  707.     </xsl:template>
  708.  
  709.     <xsl:template match="my:Calculation">
  710.         <xsl:param name="type"></xsl:param>
  711.         <xsl:variable name="CalcID" select="@ID"/>
  712.         <table><tr><td width="18px" valign="top" style="padding-top:3px"/>
  713.         <td valign="top">
  714.             <xsl:call-template name="PrintFieldLink">
  715.                 <xsl:with-param name="Primary">
  716.                     <xsl:value-of select="'true'"/>
  717.                 </xsl:with-param>
  718.                 <xsl:with-param name="ComplexID">
  719.                     <xsl:value-of select="@Target"/>
  720.                 </xsl:with-param>
  721.             </xsl:call-template><span class="normalText">: <xsl:call-template name="PrintComplexExpression"/></span><br/>
  722.         </td></tr></table>
  723.     </xsl:template>
  724.  
  725.     <xsl:template match="my:DataValidation">
  726.         <xsl:param name="type"></xsl:param>
  727.         <xsl:variable name="DataValID" select="@ID"/>
  728.         <table><tr><td width="18px" valign="top" style="padding-top:3px">
  729.             <xsl:call-template name="OutputPlusMinus">
  730.                 <xsl:with-param name="label"><xsl:value-of select="@ID"/><xsl:value-of select="$type"/></xsl:with-param>
  731.             </xsl:call-template>
  732.         </td>
  733.         <td valign="top">
  734.             <xsl:call-template name="PrintFieldLinkOfSourceID">
  735.                 <xsl:with-param name="SourceID"><xsl:value-of select="@ID"/></xsl:with-param>
  736.             </xsl:call-template>
  737.             <span class="normalText">
  738.                 : "<xsl:call-template name="EscapeWhiteSpace">
  739.                     <xsl:with-param name="TextWithWhiteSpace" select="@Caption"/>
  740.                 </xsl:call-template>"
  741.                 <xsl:if test="@ErrorType='modal'">
  742.                     <xsl:text>  </xsl:text><!-- _locID_text="InspectorFieldDataValidationDialog" _locComment="{StringCategory=TXT}This indicates that a message box / dialog will pop up" -->(Show Dialog)
  743.                 </xsl:if>
  744.             </span>
  745.         </td></tr></table>
  746.         <div></div>
  747.         <div class="indent" id="{$DataValID}{$type}">
  748.             <span class="fieldFrameTertiaryTitle"> <!-- _locID_text="InspectorFieldDataValidationConditions" _locComment="{StringCategory=TXT}The conditions that are met for the data to be invalid (. > 5 or . < 0)" -->Conditions</span>
  749.             <div class="indent">
  750.                 <xsl:apply-templates select="*" mode="ProcessCondition"/><br/>
  751.             </div>
  752.             <span class="fieldFrameTertiaryTitle"> <!-- _locID_text="InspectorFieldDataValidationActions" _locComment="{StringCategory=TXT}The actions performed if the conditions are met" -->Actions</span>
  753.             <div class="indent">
  754.                 <span class="normalText">
  755.                     <xsl:if test="not(@ScreenTip='')">
  756.                         <!-- _locID_text="InspectorFieldDataValidationScreenTip" _locComment="{StringCategory=TXT}This is the screen tip that appears when hovering the mouse over a field" -->ScreenTip: 
  757.                         "<xsl:call-template name="EscapeWhiteSpace">
  758.                             <xsl:with-param name="TextWithWhiteSpace" select="@ScreenTip"/>
  759.                         </xsl:call-template>"<br/>
  760.                     </xsl:if>
  761.                     <xsl:if test="not(@Message='')">
  762.                         <!-- _locID_text="InspectorFieldDataValidationMessage" _locComment="{StringCategory=TXT}This is the message that pops up in a dialog box" -->Message: 
  763.                         "<xsl:call-template name="EscapeWhiteSpace">
  764.                             <xsl:with-param name="TextWithWhiteSpace" select="@Message"/>
  765.                         </xsl:call-template>"<br/>
  766.                     </xsl:if>
  767.                 </span>
  768.             </div>
  769.         </div>
  770.     </xsl:template>
  771.  
  772.     <xsl:template match="my:BusinessLogic">
  773.         <xsl:param name="type"></xsl:param>
  774.         <xsl:call-template name="PrintDocumentLink">
  775.             <xsl:with-param name="SourceID"><xsl:value-of select="@ID"/></xsl:with-param>
  776.         </xsl:call-template>
  777.         <xsl:call-template name="PrintButtonLinkOfSourceID">
  778.             <xsl:with-param name="SourceID"><xsl:value-of select="@ID"/></xsl:with-param>
  779.         </xsl:call-template>
  780.         <xsl:call-template name="PrintFieldLinkOfSourceID">
  781.             <xsl:with-param name="SourceID"><xsl:value-of select="@ID"/></xsl:with-param>
  782.             <xsl:with-param name="Filtered"><xsl:value-of select="@Filtered"/></xsl:with-param>
  783.         </xsl:call-template><span class="normalText">: 
  784.         <xsl:if test="@LogicType=''">
  785.             <!-- _locID_text="InspectorFieldScripting" _locComment="{StringCategory=TXT}This indicates that there is a script." -->Scripting
  786.         </xsl:if>
  787.         <xsl:if test="not(@LogicType='')">
  788.             <xsl:value-of select="@LogicType"/>
  789.         </xsl:if>
  790.         - <xsl:value-of select="@LogicFunction"/></span><br/>
  791.     </xsl:template>
  792.  
  793. </xsl:stylesheet>