RE: [xsl]Problem with Position()?

Subject: RE: [xsl]Problem with Position()?
From: Alice Ju-Hsuan Wei <ajwei@xxxxxxxxxxx>
Date: Sat, 13 Oct 2007 17:15:30 -0400
Dear Michael and all:

Thanks, and when I "commented" out that line, it works. But, how am supposed to generate something like <p class="(some attribute"> followed by the text to format the content if I cannot use <xsl:call-template> here? The template portion is at the bottom.

Thanks again.


Alice


<xsl:template match="collection">
  <div><p/>
           <span class="character">
              <xsl:apply-templates select="id(@recorder)"/>
</span>
</div>
</xsl:template>

<xsl:template match="book">
<div>
 <xsl:apply-templates select="./@author"/>,
 <i><xsl:apply-templates select="./@title"/></i>.
  (<xsl:apply-templates select="./@topic"/>)
  [  <xsl:apply-templates/>]
          </div>
 </xsl:template>

<xsl:template match="p">
      <xsl:choose>

<xsl:when test="count(preceding-sibling::p) != 1">

              <xsl:call-template name="rend"/>
              <xsl:apply-templates/>

          </xsl:when>
          <xsl:otherwise>

              <p>
                  <xsl:call-template name="rend"/>
                  <xsl:apply-templates/>
              </p>

          </xsl:otherwise>
      </xsl:choose>
  </xsl:template>

<xsl:template name="rend">
       <xsl:attribute name="class">
           <xsl:value-of select="./@rend"/>
       </xsl:attribute>
   </xsl:template>



Quoting Michael Kay <mike@xxxxxxxxxxxx>:

   I have commented everything in my document except for
these sections,

That can't be true. At the very least there must be a named template called "rend", or it wouldn't run at all. I think Ken is almost certainly right, that it's your processing of the @topic attribute that's at fault.

Michael Kay
http://www.saxonica.com/

Current Thread