xsl-list
[Top] [All Lists]

Re: [xsl] issue with cross referencing

2006-10-13 08:34:42
Hello George!

This worked! I actually passed the format type to the
'step' varibale and it worked like magic! Thanks so
much!

Here is the corrected code:

<xsl:template match="xref">
                <xsl:variable name="step"
select="key('steps',@xrefid)"/>


         <xsl:for-each select="$step">
                <xsl:if test="name($step)='step1'">
                         <xsl:number format="1"/>
                </xsl:if>
                
        <xsl:if test="name($step)='step2'">
                         <xsl:number format="A"/>
                </xsl:if>
                        <xsl:if test="name($step)='step3'">
                         <xsl:number format="1"/>
                </xsl:if>
                        <xsl:if test="name($step)='step4'">
                         <xsl:number format="a"/>
                </xsl:if>
                        <xsl:if test="name($step)='step5'">
                         <xsl:number format="1"/>
                </xsl:if>
                        <xsl:if test="name($step)='step6'">
                         <xsl:number format="a"/>
                </xsl:if>
         </xsl:for-each>

        </xsl:template>

--- George Cristian Bina <george(_at_)oxygenxml(_dot_)com> wrote:

Hi,

A stylesheet like the one below

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
version="1.0">
     <xsl:key name="steps" match="*[(_at_)id]"
use="@id"/>

     <xsl:template match="xref">
         <xsl:variable name="step"
select="key('steps',@xrefid)"/>
         <xsl:value-of
select="substring-after(name($step), 'step')"/>
         <xsl:for-each select="$step">
             <xsl:number format="A"/>
         </xsl:for-each>
     </xsl:template>
</xsl:stylesheet>

will give you as output

First line here
Second line
Third line Cross ref thru 1A 1B

Best Regards,
George

---------------------------------------------------------------------
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT
Editor/Debugger
http://www.oxygenxml.com

meenakshi n wrote:
Hi all:

Have an issue with cross referencing.

I have some text:

1. First line
   A. second line
   B. thrisd line
2. Cross ref to 1 A.

The xml would be

<step1 id="s1">
   <text>First line here</text>

<step2 id="s2">
   <text>Second line</text>
  <step3 id="s3">
    <text>Third line</text>
  </step3>
</step2>

</step1>
<step1 id="s4">
<text>Cross ref thru <xref xrefid="s1"/> <xref
xrefid="s2"/><xref

Now, on my style sheet I have used keys to resolve
it
like this:

<xsl:key name="steps" match="*[(_at_)id]" use="@id"/>

<xsl:template match="xref">
    <xsl:for-each select="key('steps',@xrefid)">
        <xsl:number count="step1" format="1"/>
       </xsl:for-each>
</xsl:template>

While I would expect Cross ref to 1 A, I am
getting 
Cross ref to 1 1

How do I make the number formatting to point to
and
say A, B or whtever the level is? 

Thank you in advance for all your help. 




__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam
protection around 
http://mail.yahoo.com 



--~------------------------------------------------------------------
XSL-List info and archive: 
http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to:
http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive: 
http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to:
http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--