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  
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

   
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.