RE: [xsl] Numbered Elements

Subject: RE: [xsl] Numbered Elements
From: "Jack Cane" <jwcane@xxxxxxxxxxx>
Date: Sat, 3 May 2003 21:22:23 -0400
Charles,

I may be missing something important here. Let me try again.

First, the schema declaration:

<xs:complexType name="xRefType">
<xs:element name="RefElemID" type="xs:IDREF"/>
</xs:complexType>

Next, the invocation in xml source:

as shown in Equation <xRef>
<RefElemID> FirstSum </RefElemID>
</xRef>,

Finally, what I think is the xRef template. In the meantime, I added the
"key" definition suggested by Michael Kay in his reply in this thread:

	<xsl:key name="kEqn" match="Equation" use="Target" />
	<xsl:template match="etd:xRef">
		<xsl:apply-templates select="key('kEqn', etd:RefElemID)"/>
	</xsl:template>

This is still not working correctly. I do not see the equation number, using
this template.

in place of (my earlier template for xRef)

<xsl:template match="etd:xRef">
     <xsl:apply-templates select="number[@Target='etd:RefElemID']" />
</xsl:template>]

tks,

jwc


-----Original Message-----
From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
[mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of cknell@xxxxxxxxxx
Sent: Saturday, May 03, 2003 9:13 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: RE: [xsl] Numbered Elements

Sorry, Jack. I see two templates here, but not an actual example of an
"etd:xRef" element.

--
Charles Knell
cknell@xxxxxxxxxx - email



-----Original Message-----
From:     "Jack Cane" <jwcane@xxxxxxxxxxx>
Sent:     Sat, 3 May 2003 12:01:27 -0400
To:       <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Subject:  RE: [xsl] Numbered Elements

See >>> below.

-----Original Message-----
From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
[mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of
cknell@xxxxxxxxxx
Sent: Saturday, May 03, 2003 10:43 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] Numbered Elements



> -----Original Message-----
> From:     "Jack Cane" <jwcane@xxxxxxxxxxx>
>
> Now I need to refer to an element by number.
>
> The Transform template of xRef is
>  <xsl:template match="etd:xRef">
>     <xsl:apply-templates select="number[@Target='etd:RefElemID']" />
>  </xsl:template>
>

>Please show us the namespace declarations from your stylesheet and provide
an example of an "etd:xRef" element.

>>>Stylesheet namespace declarations are:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:etd="http://enw-ltd.com/namespace";
xmlns:xi="http://www.w3.org/2001/xinclude";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>

>It appears from your template for this element that you are trying to
select those "number" elements (which doesn't appear to be in the "etd"
namespace),

>>> Auto-numbering is applied to the Equation template:

<xsl:template match="etd:Equation">
        <p>
        <table>
           <tr>
                <td width="557">
                        <xsl:apply-templates select="etd:Expression" />
                </td>
                <td width="63" align="right">
                        (<xsl:number level="any" format="1" />
                        <xsl:apply-templates select="xsl:Number" />)
                </td>
         </tr>
        </table>
        </p>
        <p></p>
</xsl:template>

I added the xsl: prefix to the Number reference in the template for xRef,
thus:

        <xsl:template match="etd:xRef">
                <xsl:apply-templates
select="xsl:Number[@Target='etd:RefElemID']" />
        </xsl:template>

but it does not return the number.


>which have a "Target" attribute whose value is the string 'etd:RefElemID'.
Is this correct?

>>> Yes, correct. "Target" is of type ID, and RefElemID is of type IDREF.

--
Charles Knell
cknell@xxxxxxxxxx - email


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

tks,

jwc



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list




 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread