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
Kaan OSubject: Word count
Author: Kaan O
Date: 16 Feb 2006 07:26 AM
Hello, I am trying to use a word count script so when I display my news items it only displays the first 5 words.

I've found an example to try and modify to work with mine but I'm really stuck. Haven't got a clue where to start. If someone could give me some detailed help it would be really appreciated :D

/////////////////////////////////////////////////////////////
This is my orginal code so far -

<?xml version="1.0" encoding="iso-8859-1"?><!-- DWXMLSource="http://feeds.directnews.org.uk/?e56bf4a0-bf37-4b2e-9dc3-45f400c4cbeb" -->
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp "&#160;">
<!ENTITY copy "&#169;">
<!ENTITY reg "&#174;">
<!ENTITY trade "&#8482;">
<!ENTITY mdash "&#8212;">
<!ENTITY ldquo "&#8220;">
<!ENTITY rdquo "&#8221;">
<!ENTITY pound "&#163;">
<!ENTITY yen "&#165;">
<!ENTITY euro "&#8364;">
]>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="iso-8859-1"/>
<xsl:param name="ItemsPerPage" select="2" />
<xsl:template match="/"><link href="../scripts/article10.css" rel="stylesheet" type="text/css" /><style type="text/css">
<xsl:comment>
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
.style1 {font-size: 11px; color: #333333; font-family: Arial, Helvetica, sans-serif;}
</xsl:comment>
</style>


<p>

<table width="100%" border="0" cellpadding="0" cellspacing="0" id="contents">
<tr>
<td width="50%" align="left" valign="top">

<xsl:for-each select="InfoStreamResults/Article[position() &lt;= $ItemsPerPage]">
<xsl:sort select="Heading" order="ascending"/>

<table width="280" class="tableStandard">
<tr>
<td colspan="2" bgcolor="#DBE1F2" class="newsHeadLine"><xsl:value-of select="Heading"/><br /> <xsl:value-of select="Date"/> </td>
</tr>
<tr class="bodycopy">

<td width="83%"><xsl:value-of select="substring-before(Contents, ',')" disable-output-escaping="yes"/> ....</td>
</tr>
<tr class="bodycopy">
<td><a class="welcomebodycopy">
<xsl:attribute name="href"> <xsl:text>fullStory.asp?varID=</xsl:text> <xsl:value-of select="@ID" /> <xsl:text>&amp;varRelated=</xsl:text> <xsl:value-of select="Categories/Category/@ID" /></xsl:attribute>
Read full story </a> <br />
<xsl:value-of select="translate(Heading, 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/></td>
</tr>
</table>
<br />
</xsl:for-each> </td>
</tr>
<br />
</table>

</p>

</xsl:template>
</xsl:stylesheet>

/////////////////////////////////////////////////////////////

This is the example i've got off the net -

?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" indent="yes" />

<xsl:template match="/">
<html>
<head>
<title>Example</title>
</head>
<body>
<h1>Headlines</h1>
<xsl:apply-templates select="headlines/headline" />
</body>
</html>
</xsl:template>

<xsl:template match="headline">
<h2>
<xsl:call-template name="get-words">
<xsl:with-param name="text" select="." />
<xsl:with-param name="number-of-words" select="3" />
</xsl:call-template>
</h2>
</xsl:template>

<xsl:template name="get-words">
<xsl:param name="text" />
<xsl:param name="number-of-words" />
<xsl:param name="processed-words" select="''" />
<xsl:choose>
<xsl:when test="$number-of-words = 0">
<xsl:value-of select="$processed-words" />
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="get-words">
<xsl:with-param name="text"
select="substring-after($text, ' ')" />
<xsl:with-param name="number-of-words"
select="$number-of-words - 1" />
<xsl:with-param name="processed-words"
select="concat($processed-words, ' ', substring-before($text, ' '))" />
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

</xsl:stylesheet>

Example input

<headlines>
<headline>Kibology for all. All for Kibology.</headline>
</headlines>

would be transformed as

<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Example</title>
</head>
<body>
<h1>Headlines</h1>
<h2> Kibology for all.</h2>
</body>
</html>



Thanks Kaan.

Posttop
(Deleted User) Subject: Word count
Author: (Deleted User)
Date: 16 Feb 2006 10:19 AM
Hi, Kaan. This is a technical forum for questions about Stylus Studio. You might try searching the XSL-LIST mailing list archives to see if this topic has already been covered. The XSL-LIST is sponsored by Mulberry Technologies. You can find the archives here:

http://www.stylusstudio.com/xsllist/

David Foster
Stylus Studio Team

 
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.