Hello,
It has been quite some time since I have done any .xml/.xsl work
My current site displays the contents of the category (only) when clicked. What I need it to do is display a Long list of all content from all categories seperated by Category heading. Also when a specific category is clicked it will need jump down the page to the proper heading.
This is read from the master .xml or as stated below vol_issue
Code for vol_issue file.
<?xml version="1.0" encoding="utf-8"?>
<vol_issue vol_issue_id="200803">
<description>month here</description>
<language>en</language>
<type>print</type>
<xmlfilename>en_print_200803.xml</xmlfilename>
<cdfilename>cd_en_print_200803.xml</cdfilename>
<category category_id="54">
<sort_order>1</sort_order>
<article article_id="#####"/>
<article article_id="#####"/>
<article article_id="#####"/>
<article article_id="#####"/>
<article article_id="#####"/>
</category>
<category category_id="2">
<sort_order>2</sort_order>
<article article_id="#####"/>
<article article_id="#####"/>
<article article_id="#####"/>
<article article_id="#####"/>
<article article_id="#####"/>
</category>
</vol_issue>
Code for article listing .XSL
<?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&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,'&lang=',$lang,'&vol=',$vol,'&cat=',$cat,'&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&content=getcontent</xsl:text></xsl:variable>
<xsl:variable name="downloadpagename"><xsl:text>default.asp?pagename=media&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> </xsl:text><a href="{$strBaseURL}&vol={/vol_issue/@vol_issue_id}&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}&type={../../type}&lang={../../language}&vol={../../@vol_issue_id}&cat={../@category_id}&articleID={@article_id}&mode=view&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}&type={../../type}&lang={../../language}&vol={../../@vol_issue_id}&cat={../@category_id}&articleID={@article_id}&mode=view&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'">
<a class="m-blink" href="{$downloadpagename}&type={../../type}&lang={../../language}&vol={../../@vol_issue_id}&cat={../@category_id}&articleID={@article_id}&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>
Thanks in advance for all help and or ideas.
Gt