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
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
+ Stylus Studio Technical Forum (14621)
+ Website Feedback (249)
- XSLT Help and Discussion (7625)
-> + Use of before and after string (3) Sticky Topic
-> - How do I substitute element ty... (1)
-> + How does one add working days ... (4)
-> - Help, I have existing XLT and... (1)
-> + Need help on XSLT issue - (2)
-> + EDI to XML Conversion (7)
-> - XML To JSON Conversion using X... (1)
-> + Formatting Paragraphs to same ... (2)
-> - Grouping of records (1)
-> + Problems with xsd 1.1 (4)
-> + XML to HL7 mapping (3)
-> + XSLT 3 and Iterate (2)
-> + XSL-FO to PDF preview (3)
-> + java.lang.RuntimeException: Er... (2)
-> + Create Acroforms with Stylus X... (2)
-> + How to change XSLT parameter s... (3)
-> + how to change format of the da... (2)
-> + Search "Next 8 Results " doesn... (2)
-> - Support for Git (1)
-> + newbee (8)
-- [1-20] [21-40] [41-60] Next
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Posttop
ShaiVamp ShaiVampSubject: Help needed!
Author: ShaiVamp ShaiVamp
Date: 20 Mar 2008 01:28 PM
On my current site, I can click on a category and the view the content of that category. This is fine, but now I want to beable to view the contents of *ALL* the categories in one continous scroll seperated by category title. But I'm not quite sure how to go about it.

My current code:

[code=XML]<?xml version='1.0' encoding='utf-8' ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="ISO-8859-1" omit-xml-declaration="yes"/>

<xsl:param name="pagename">default.asp?pagename=media&amp;content=getcontent</xsl:param>
<xsl:param name="lang">en</xsl:param>
<xsl:param name="type">print</xsl:param>
<xsl:param name="vol">200304</xsl:param>
<xsl:param name="cat">2</xsl:param>
<xsl:param name="articleid">12345</xsl:param>
<xsl:param name="mode">preview</xsl:param>
<xsl:param name="target">email</xsl:param>
<xsl:param name="selectedcat"></xsl:param>

<xsl:variable name="strBaseURL"><xsl:value-of select="concat('type=',$type,'&amp;lang=',$lang,'&amp;vol=',$vol,'&amp;cat=',$cat,'&amp;articleid=',$articleid)"></xsl:value-of></xsl:variable>

<xsl:variable name="default" select="document('../xml/default.xml')/main/site[@language=$lang]"/>

<xsl:variable name="website_IP"><xsl:value-of select="$default/website_IP"/></xsl:variable>

<xsl:variable name="twidth">
<xsl:choose>
<xsl:when test="$target='web'"><xsl:text>100%</xsl:text></xsl:when>
<xsl:otherwise><xsl:text>750</xsl:text></xsl:otherwise>
</xsl:choose>
</xsl:variable>

<xsl:variable name="image_dir">
<xsl:choose>
<xsl:when test="$target='web'"><xsl:value-of select="$default/web_article_images_url"/></xsl:when>
<xsl:when test="$target='email' or $target='index'"><xsl:value-of select="$website_IP"/><xsl:value-of select="$default/web_article_images_url"/></xsl:when>
<xsl:when test="$target='cd'"><xsl:value-of select="$default/cd_article_images_url"/></xsl:when>
</xsl:choose>
</xsl:variable>



<xsl:variable name="viewpagename"><xsl:text>default.asp?pagename=media&amp;content=getcontent</xsl:text></xsl:variable>
<xsl:variable name="downloadpagename"><xsl:text>default.asp?pagename=media&amp;content=getcontent</xsl:text></xsl:variable>

<xsl:template match="vol_issue">
<xsl:variable name="view_text">
<xsl:choose>
<xsl:when test="type = 'print' or type = 'web'">
<xsl:choose>
<xsl:when test="language='en'">View this article</xsl:when>
<xsl:otherwise>Visualiser cet article</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="type = 'digital'">
<xsl:choose>
<xsl:when test="language='en'">Watch this video</xsl:when>
<xsl:otherwise>Regarder ce vidéo</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="type = 'pr'">
<xsl:choose>
<xsl:when test="language='en'">View this release</xsl:when>
<xsl:otherwise>Visualiser ce communiqué</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="language='en'">View this script</xsl:when>
<xsl:otherwise>Visualiser ce script</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>

<xsl:variable name="email_text">
<xsl:choose>
<xsl:when test="type ='print' or type='web'">
<xsl:choose>
<xsl:when test="language='en'">E-mail me this article</xsl:when>
<xsl:otherwise>Veuillez me transmettre cet article par courriel</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="type ='pr'">
<xsl:choose>
<xsl:when test="language='en'">E-mail me this release</xsl:when>
<xsl:otherwise>Envoyer ce communiqué par courriel</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="type ='digital'">
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="language='en'">E-mail me this script</xsl:when>
<xsl:otherwise>Veuillez me transmettre ce script par courriel</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>

<xsl:variable name="cat_description" select="document('../articles/categories.xml')/main/category[@category_id = $cat]/description"/>
<xsl:variable name="category_lookup" select="document('../articles/categories.xml')"/>

<xsl:choose>
<xsl:when test="$target = 'web'">
<div class="ln-text">
<xsl:for-each select="category">
<xsl:sort select="sort_order" data-type="number" order="ascending" />
<xsl:variable name="catid" select="@category_id"/>
<xsl:variable name="classname">
<xsl:choose>
<xsl:when test="$catid = $selectedcat"><xsl:text>ln-slink</xsl:text></xsl:when>
<xsl:otherwise><xsl:text>ln-alink</xsl:text></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:text>&#160;</xsl:text><a href="{$strBaseURL}&amp;vol={/vol_issue/@vol_issue_id}&amp;cat={$catid}" id="{$catid}" class="{$classname}"><xsl:value-of select="$category_lookup/main/category[@category_id = $catid]/description"/>:<xsl:value-of select="count(article)"/>

</a><br/>
</xsl:for-each>
</div>
</xsl:when>
</xsl:choose>

<div class="m-bcategory"><h1><xsl:value-of select="$cat_description"/></h1></div>

<xsl:for-each select="category[@category_id = $cat]/article">
<xsl:variable name="article" select="document(concat('../articles/', @article_id, '.xml'))"/>
<div class="m-blurbwrapper">
<div class="m-bheadline"><a class="m-bheadline" href="{$viewpagename}&amp;type={../../type}&amp;lang={../../language}&amp;vol={../../@vol_issue_id}&amp;cat={../@category_id}&amp;articleID={@article_id}&amp;mode=view&amp;id={$article/article/video/file/file_name}"><xsl:value-of select="$article/article/headline"/></a></div>

<div class="m-awordcount">
<xsl:value-of select="$article/article/body_text/wordcount"/>
</div>
<xsl:if test="../../type='print' or ../../type='web'">
<div class="m-thumbnail">

<img height="50" width="70">
<xsl:attribute name="src">
<xsl:value-of select="$image_dir"/>
<xsl:value-of select="$article/article/images/image/source"/>
<!--<xsl:if test="$article/article/images/image/source = '' ">noimage.jpg</xsl:if>-->
<xsl:choose>
<xsl:when test="$article/article/images/image/source = '' and $lang='en' ">noimage.jpg</xsl:when>
<xsl:when test="$article/article/images/image/source = '' and $lang='fr' ">noimagefre.jpg</xsl:when>
</xsl:choose>
</xsl:attribute>
</img>

</div>
</xsl:if>





<div class="m-bblurb"><xsl:value-of select="$article/article/blurb"/></div>



<div class="m-blink">
<a class="m-blink" href="{$viewpagename}&amp;type={../../type}&amp;lang={../../language}&amp;vol={../../@vol_issue_id}&amp;cat={../@category_id}&amp;articleID={@article_id}&amp;mode=view&amp;id={$article/article/video/file/file_name}">
<xsl:value-of select="$view_text"/>
</a>
<xsl:if test="../../type='print' or ../../type='web' or ../../type='pr' or ../../type='digital'">
&#160;&#160;&#160;<a class="m-blink" href="{$downloadpagename}&amp;type={../../type}&amp;lang={../../language}&amp;vol={../../@vol_issue_id}&amp;cat={../@category_id}&amp;articleID={@article_id}&amp;mode=email">
<xsl:value-of select="$email_text"/> <!-- <input type="checkbox" value="{@category_id}" name="category_id"><xsl:value-of select="description"/></input> -->
</a>
</xsl:if>
</div>
</div>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>[code]

Thanks for the help,

SV.

   
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.