> 
> I have to leave now but I think this should do the job? Attached is the
> template and a test file that I used. Note it doesn't munge the text in
> <see> correctly; there are string routines but I don't have time to look
> them up.
> 

        Perhaps the next example could be useful.
<?xml version="1.0"?>
<document>
 <para>The format specification in <paramref name="format" /> is invalid.</para>
          <para>-or-</para>
          <para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the number of provided objects to be formatted (3).</para>
        <remarks>
          <para>This version of <see cref="M:System.IO.TextWriter.WriteLine" /> is equivalent to <see cref="M:System.IO.TextWriter.WriteLine" qualify="true" />(<see cref="M:System.String.Format(System.String,System.Object)" qualify="true" /> (<paramref name="format" />,
<paramref name="arg0" />, <paramref name="arg1" />, <paramref name="arg2" />)).</para>
          <block subset="none" type="note">
            <para>If the specified object is not referenced in the format string, it is
      ignored.</para>
            <para>This method does not search the specified <see cref="T:System.String" /> for individual newline characters
   (hexadecimal 0x000a) and replace them with <see cref="P:System.IO.TextWriter.NewLine" />.</para>
          </block>
          <para>
            <block subset="none" type="behaviors">As
   described above.</block>
          </para>
		  </remarks>
</document>
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
        
        <xsl:template name="string-replace" >
          <xsl:param name="string"/>
          <xsl:param name="from"/>
          <xsl:choose>
                  <xsl:when test="contains($string,'(')">
                  <xsl:call-template name="string-replace">
                  <xsl:with-param name="string" 
select="substring-before($string,'(')"/>
                  <xsl:with-param name="from" select="$from"/>
                  </xsl:call-template>
                </xsl:when>
                <xsl:when test="contains($string,$from)">
                  <xsl:call-template name="string-replace">
                  <xsl:with-param name="string" 
select="substring-after($string,$from)"/>
                  <xsl:with-param name="from" select="$from"/>
                  </xsl:call-template>
                </xsl:when>
                <xsl:otherwise>
                  <xsl:value-of select="$string"/>
                </xsl:otherwise>
          </xsl:choose>
        </xsl:template> 

        <xsl:template name="string-addsignature">
          <xsl:param name="string"/>
          <xsl:choose>
                  <xsl:when test="contains($string,'(')">
                                (<xsl:value-of select="substring-after($string,'(')"/>
                        </xsl:when>
          </xsl:choose>
        </xsl:template> 
        
        
        <xsl:template match="document">
                <html>
                        <head><title>Prueba de mono</title></head>
                <xsl:apply-templates/>
                </html>
        </xsl:template>

        <xsl:template match="para">
                <p>
                        <xsl:apply-templates/>
                </p>
        </xsl:template>

        <xsl:template match="paramref">
                <i><xsl:value-of select="@name"/>
                                <xsl:apply-templates/>
                </i>
        </xsl:template>
        
        <xsl:template match="see">
                <a href="{@cref}">

                        <xsl:call-template name="string-replace">
                          <xsl:with-param name="string" select="@cref"/>
                          <xsl:with-param name="from">.</xsl:with-param>
                  </xsl:call-template>
                  
                  <xsl:call-template name="string-addsignature">
                          <xsl:with-param name="string" select="@cref"/>
                  </xsl:call-template>
                  

                                <xsl:apply-templates/>
                </a>
        </xsl:template>
        

        
</xsl:stylesheet>

Reply via email to