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)
-> + External Cascading Style Sheet... (2)
-> + Need help with XML mapping - P... (2)
-> + Convert image to base64 in xsl... (2)
-> + Automation (2)
-> - Changing Default Property valu... (1)
-> + Help in reading cdata using xs... (4)
-> + Ok, I can programatically conv... (2)
-> + How do I prevent the previewer... (2)
-> + Can I programatically convert ... (2)
-> + XML To Flat File - Reverse Eng... (3)
-> + Check for valid attribute valu... (3)
-> + Java.lang.OutOfMemory - when I... (3)
-> + How to convert text in EBCDIC ... (8)
-> + First steps in XSLT mapping (4)
-> + Option to build XSL-FO is not ... (3)
-> + using Adaptor convert XML to e... (2)
-> + Using XML Converter on a Compl... (2)
-> + Java built-in processor needed... (3)
-> + XSL to draw a table (2)
-> - Stylus Studio in c# solutions (1)
-> + entities within schemaLocation... (4)
-> + java runtime error during xslt... (2)
-> + Conversion of XML Doc for RSS ... (2)
-> + Does anyone know how to upgrad... (2)
-> + XML editor corrupts my file (5)
-> + Stylus Studio & Berkeley DB XM... (4)
-> + XSLT for page breakout (2)
-> + How to avoid creating empty el... (2)
-> + Error in converting 945 EDI us... (4)
-> + XML to X12 (invoice 810 edi) (2)
-> - Stylus Studio 2009 Enterprise ... (1)
-> + Stylus Studio 2007 - license d... (2)
-> + XML to X12 conversion error (6)
-> + How to reset JVM (to another j... (2)
-> + How to generate XML sample dat... (2)
-> + Document Path reference after ... (4)
-> + concatenate with xquery (6)
-> + i want to capture the xml tag ... (3)
-> + "View Sample XML" in schema an... (2)
-> + Can't get to Toolbar settings ... (2)
-> + SOAPException (3)
-> + how to patch xml files with wr... (2)
-> + wysiwug xslt editor (2)
-> + XML to Google Charts (10)
-> + XML to HL7 (2)
-> - Outputting this XML (1)
-> + Interpreting XSD Error Message... (2)
-> + converter EDI --> typ = no (8)
-> + License issue (7)
-> + One of the simplest questions ... (3)
-> + xQuery transformation encounte... (2)
-> + Schema Evolution (2)
-> + Preview in Browser button gray... (4)
-> + converter:EDI:val=no AND chr=.... (4)
-> + [XQuery][DB2 JDBC Driver]Unsu... (2)
-> + Need Help Create XML file thro... (4)
-> + Flat file to XML conversion in... (5)
-> + How to set delimiters if it's ... (4)
-> + XSD Validation failing (4)
-> + XSD Validation failing (2)
-> + Web Service Call cannot retrie... (7)
-> + Flat file conversion to XML (2)
-> + Stylus Studio crash (5)
-> + Stylus Studio No Longer loads (2)
-> + How do I print in color? (2)
-> + Integrating Documentum WebPubl... (2)
-> + Stylus Studio crashes on openi... (4)
-> + Change format of XML output fo... (3)
-> + XSLT mapper / Source file not ... (7)
-> + Stylus Studio crashes on start... (3)
-> + Loading GML3.1 (3)
-> + NullPointerException when runn... (5)
-> + Can not open Stylus Studio (3)
-> + macros for custom validation e... (6)
-> + Does Stylus Studio generate XM... (4)
-> + another csv conversion (7)
-> + ADD CVS to Source Control drop... (2)
-> + Automate xquery (6)
-> + Correcting multiple XML docume... (2)
-> + Unable to locate Components\Da... (5)
-> + Runtime Error, Struzzo.exe, Ab... (11)
-> + Convert XML to EDIfact (3)
-> + I don't have the Mapper tab (6)
-> + CSV conversion with null field (3)
-> + Converting a Complex Flat File... (2)
-> - installion in batch mode (1)
-> + Complete Custom Validation Lis... (2)
-> + creating xml from csv flat fil... (9)
-> - need Help Regarding XBRL (1)
-> + Exception FODC0004: file or di... (2)
-> + Activation (2)
-> + java runtime error (2)
-> + connection problem with AS 400... (4)
-> + XML to 837I EDI -- multiple NM... (3)
-> + WYSIWYG in SSv7 (2)
-> - Write into < head /> tags us... (1)
-> + Maximum recursion depth exceed... (2)
-> - Code coverage testing (1)
-> - Passing JavaScript with multip... (1)
-> + preserving white space in XML ... (8)
-- Previous [721-740] [741-760] [761-780] Next
+ Website Feedback (249)
+ XSLT Help and Discussion (7625)
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Dhivya JSubject: count the number of 1 appearing in all the nodes.
Author: Dhivya J
Date: 17 Dec 2008 08:23 AM
Hi All,

I am having an XML mentioned below :
<Test>
<a>N11</a>
<a>N1N</a>
<a>N1N</a>
<a>N1N</a>
<a>N1N</a>
</Test>

I need to count the number of 1 appearing in all the nodes.
Literally am expecting an output of 6(as there are 6 1's)

It would be really great If any one could help me on how to get this in XSL....

Postnext
(Deleted User) Subject: count the number of 1 appearing in all the nodes.
Author: (Deleted User)
Date: 17 Dec 2008 08:43 AM
Hi Dhivya,
you can try running string-length(translate(text(), "1 abcd...ABCD...234...", "1")); maybe not an elegant solution, but it should do what you need.

Alberto

Postnext
Dhivya JSubject: count the number of 1 appearing in all the nodes.
Author: Dhivya J
Date: 17 Dec 2008 08:52 AM
Hi alberto,
since i have the logic buit inside for each , i guess the string length function will return 2 for the first time 1 for the next time and so on...
will that return an over all count of 6...

Correct me if i am wrong

Thanks,
Dhivya

Postnext
(Deleted User) Subject: count the number of 1 appearing in all the nodes.
Author: (Deleted User)
Date: 17 Dec 2008 09:10 AM
It's up to you to merge the results of the single steps, depending on how you want to aggregate them. If you are interested in just a global count, using a temp variable should work:

<xsl:variable name="v">
<xsl:for-each select="Test/a">
<xsl:value-of select="translate(text(), '1 abcdnABCDN234', '1')"/>
</xsl:for-each>
</xsl:variable>
<xsl:value-of select="string-length($v)"/>

Alberto

Postnext
Dhivya JSubject: count the number of 1 appearing in all the nodes.
Author: Dhivya J
Date: 17 Dec 2008 11:04 PM
Originally Posted: 17 Dec 2008 10:53 PM
Hi Alberto,

Thanks for your reply.
Can you pls explain what this translate function will do?
I am not sure of wat this will do.
<xsl:variable name="v">
<xsl:for-each select="Test/a">
<xsl:value-of select="translate(text(), '1 abcdnABCDN234', '1')"/>
</xsl:for-each>
</xsl:variable>
<xsl:value-of select="string-length($v)"/>

Also below is my xsl..
<xsl:for-each select="/informe/tarjetaCredito">
<xsl:variable name="te" select='substring(@comportamiento,0,4)'/>
<xsl:value-of select="$te"/>
</xsl:for-each>

$te will give me N1NN1N
And now I should count the no of 1 on $te such that it should return 2 as the count

How should I go with?
Can you please help me ..?




Regards,
Dhivya

Postnext
(Deleted User) Subject: count the number of 1 appearing in all the nodes.
Author: (Deleted User)
Date: 18 Dec 2008 05:53 AM
For the official description of translate(), look in the official spec:
http://www.w3.org/TR/xpath#function-translate
For your code, just use your $ve variable where I used text()

Alberto

Postnext
Dhivya JSubject: count the number of 1 appearing in all the nodes.
Author: Dhivya J
Date: 18 Dec 2008 06:52 AM
Thanks.
Wether that should be <xsl:value-of select="translate($te, '1 abcdnABCDN234', '1')"/>
wat abt this '1 abcdnABCDN234...???

Postnext
(Deleted User) Subject: count the number of 1 appearing in all the nodes.
Author: (Deleted User)
Date: 18 Dec 2008 08:58 AM
The description for the function at the address I provided seems pretty clear to me. What part isn't clear enough?

Alberto

-------------------
Function: string translate(string, string, string)

The translate function returns the first argument string with occurrences of characters in the second argument string replaced by the character at the corresponding position in the third argument string. For example, translate("bar","abc","ABC") returns the string BAr. If there is a character in the second argument string with no character at a corresponding position in the third argument string (because the second argument string is longer than the third argument string), then occurrences of that character in the first argument string are removed. For example, translate("--aaa--","abc-","ABC") returns "AAA". If a character occurs more than once in the second argument string, then the first occurrence determines the replacement character. If the third argument string is longer than the second argument string, then excess characters are ignored.

Postnext
Dhivya JSubject: count the number of 1 appearing in all the nodes.
Author: Dhivya J
Date: 18 Dec 2008 11:56 PM
Hi,

Thanks,the solution which you have provided works.
Also i understood the functionality of translate() too............

Thanks a lot

Regards,
Dhivya

Posttop
Dhivya JSubject: count the number of 1 appearing in all the nodes.
Author: Dhivya J
Date: 29 Dec 2008 03:39 AM
Originally Posted: 29 Dec 2008 03:38 AM
Hi,
Below will give me the count of no of 1's in first two positions
<Test>
<xsl:variable name="a">
<xsl:value-of select = "count(/informe/tarjetaCredito[substring(@comportamiento,1,1)='1'])" />
</xsl:variable>
<xsl:variable name="b">
<xsl:value-of select = "count(/informe/tarjetaCredito[substring(@comportamiento,2,1)='1'])" />
</xsl:variable>
<xsl:value-of select="$a + $b />
</Test>

Supposing if i need to count the no of 1's in first 24 characters then the I need to use 24 varaiables and then need to perform the count operation

Is there any other way to acheieve this functionality ?
Thanks ,
Dhivya.J

   
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.