XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
hung LySubject: Href and display linked number.
Author: hung Ly
Date: 30 Oct 2006 04:31 PM
Hi,
I got the link to work, but can not display the step number the link
is going to. I would like to display Step "2" as Step "4", because that's where the link is going to. I am trying to display the step number to which i am linking to. I hope my wording is not too confusion. Thanks!!


XML FILE:

<mainfunc>
step1><para>First step</para></step1>
<step1><para>Second step
<xref target="step 1" xidtype="step" xrefid="12345"></xref></para>
</step1>
<step1><para>Third step</para></step1>
<step1 id="lm-12345"><para>Fourth step</para>
</step1>
<step1><para>Fifth step</para>
</step1>
<step1><para>Sixth step</para>
</mainfunc>
-----------------------------------------

Incomplete XSL FILE:

<xsl:template name="stepNum"> <!-- format <step1> into numerical oder>
<xsl:number level="single" format="1. " from="mainfunc"
count="step1"/>
</xsl:template>

<xsl:template match="mainfunc/step1">
<p>
<xsl:call-template name="stepNum"/>
<xsl:apply-templates/>
</p>
</xsl:template>


<xsl:template match="//xref">
<a><xsl:attribute name="href">#<xsl:value-of select="@xrefid"/>
</xsl:attribute>Step. </a>
</xsl:template>
-----------------------------------------

Result:

1. First step.
2. Second step Step 2.
3. Third step.
4. Forth step.
5. Fifth step.
------------------------

Postnext
Ivan PedruzziSubject: Href and display linked number.
Author: Ivan Pedruzzi
Date: 30 Oct 2006 05:59 PM

It is pretty hard to answer without seeing the entire XSLT

Start replacing this

<xsl:template match="//xref">
<a><xsl:attribute name="href">#<xsl:value-of select="@xrefid"/>
</xsl:attribute>Step. </a>
</xsl:template>

with

<xsl:template match="xref">
<a href="#{@xrefid}"><xsl:value-of select="@target"/></a>
</xsl:template>


Hope this helps
Ivan Pedruzzi
Stylus Studio Team

Postnext
hung LySubject: Href and display linked number.
Author: hung Ly
Date: 30 Oct 2006 06:37 PM
Ivan,
I am using Stylus Studio by the way, and have test the code, is working.
The link works, but I would like to display "Step X" on the hyperlink text. X should be step number that is linked to. In this example it is "4". Thanks


<?xml version="1.0"?>

<mainfunc>
<step1><para>First step</para></step1>
<step1><para>Second step <xref target="step 4" xidtype="step" xrefid="12345"></xref></para></step1>
<step1><para>Third step</para></step1>
<step1 id="12345"><para>Fourth step</para></step1>
<step1><para>Fifth step</para></step1>
</mainfunc>


------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" exclude-result-prefixes="xlink">

<xsl:template match="/">
<html>
<head>
<title>Help!!</title>
</head>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>

<xsl:template match="xref">
<xsl:variable name="xrefid" select="@xrefid"/>
<a>
<xsl:attribute name="href">#<xsl:value-of select="@xrefid"/></xsl:attribute>
<xsl:choose>
<xsl:when test="@xidtype = 'para'">
<xsl:value-of select="//para0[@id=$xrefid]/title|//subpara1[@id=$xrefid]/title| //subpara2[@id=$xrefid]/title|//subpara3[@id=$xrefid]/title| //subpara4[@id=$xrefid]/title"/>
</xsl:when>

<xsl:when test="@xidtype='step'">
<xsl:variable name="stepClean">
<xsl:call-template name="stepNum"/>
</xsl:variable>
<xsl:variable name="stepClean2">
<xsl:value-of select="translate($stepClean, '.', '')"/>
</xsl:variable>
<xsl:text>Step </xsl:text>
<xsl:value-of select="$stepClean2"/>
<xsl:text>.</xsl:text>
</xsl:when>
</xsl:choose>
</a>
</xsl:template>

<xsl:template name="stepNum">
<xsl:number level="single" format="1. " from="mainfunc" count="step1"/>
</xsl:template>


<xsl:template match="//step1">
<p>
<xsl:call-template name="stepNum"/>
<xsl:apply-templates/>
</p>
</xsl:template>
</xsl:stylesheet>

Postnext
Ivan PedruzziSubject: Href and display linked number.
Author: Ivan Pedruzzi
Date: 30 Oct 2006 10:29 PM


Please have a look to the attached solution.

To create a hyperlink to a section inside the same document you need to create an element "a" with a specific name that acts as a bookmark.

Hope this helps
Ivan Pedruzzi
Stylus Studio Team


Unknownsteps.xsl

Postnext
hung LySubject: Href and display linked number.
Author: hung Ly
Date: 31 Oct 2006 09:55 AM
Thanks for adding additional tests against subpara!

I tested the code, but hyperlink text is still not displaying the correct number. It should display "Step 4" it's where the link will jump to. Also,
the index() will works fine if all steps have a unique name. I used ID, because only some of the steps are linked and whom ever author the xml will put the unique ID, so the ID attribute in <step1> will have to be process if it's there. Please review my orignal XML codes. Thanks!!

Postnext
Ivan PedruzziSubject: Href and display linked number.
Author: Ivan Pedruzzi
Date: 31 Oct 2006 06:33 PM

I am sure you have now enough information to accomplish your task.

Ivan Pedruzzi
Stylus Studio Team

Posttop
hung LySubject: Href and display linked number.
Author: hung Ly
Date: 01 Nov 2006 10:07 AM
I had to do some reading on Axis, I got it figure out. Thank you very much!!

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.