Re: Selecting distinct values from different node in XPATH 1.0
Christoffer Dam Bruun <[email protected]>
| Newsgroups | gmane.text.xml.xalan.java.user |
|---|---|
| Message-ID | <[email protected]> |
The code works for me (after fixing a syntax error so the scriptreport was valid xml). Output produced: <html> <head> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title> Demo Application </title> <body> <table width="100%" cellpadding="5" cellspacing="1" border="1"> <tr> <td> Test </td><td>login</td> </tr> </table> </body> </head> </html> It seems there is something wrong with your setup - not your code Best regards, Christoffer Dam Bruun enpysoft skrev: > Hi Chris, > I here with attaching a sample XML file and the XSLT file which > is same like what i am using. Hope this could help to debug the issue. If i > am wrong please correct me. > > http://www.nabble.com/file/p24721882/report.xml report.xml > http://www.nabble.com/file/p24721882/scriptreport.xsl scriptreport.xsl > > Thanks in Advance, > npselvan. > > > > Christoffer Dam Bruun wrote: > >> That kind of errors are never nice.... >> >> If the problem is that set:distinct is returning a resulttree-fragment >> then >> it might help wrapping the variable in common:node-set() before using >> it e.g.; >> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >> version="1.0" >> xmlns:common="http://exslt.org/common" >> ... > >> ... >> <xsl:for-each >> select="common:node-set($var-returned-by-distinct-function)"> >> .... >> <xsl:for-each> >> >> >> >> Best regards >> Christoffer Dam Bruun >> >> enpysoft skrev: >> >>> Hi Chris, >>> I am new to XSLT programming. Thanks for your reference. I >>> did >>> as like you said. But i get some exception like this >>> java.lang.reflect.InvocationTargetException when i traverse loop the >>> variable i stored the distinct values. So can you suggest me if i did >>> anything wrong. But when i created the variable and not referred anywhere >>> the variable it is not causing the problem. This exception is thrown when >>> i >>> am using the variable to loop through using xsl:for-each. Can you help me >>> how to resolve this kind of issue. >>> >>> Thanks in Advance, >>> npselvan >>> >>> >>> Christoffer Dam Bruun wrote: >>> >>> >>>> Hi Npselval, >>>> >>>> Is it impossible for you to use the exslt.org extensions (they are part >>>> of xalan you should just declare the namespace). >>>> They contain an implementation of the distinct function. Example: >>>> >>>> <?xml version="1.0" encoding="UTF-8"?> >>>> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >>>> version="1.0" >>>> xmlns:set="http://exslt.org/sets"> >>>> >>>> <xsl:variable name="uniquevalues" >>>> select="set:distinct(/validation/report/script/case/@name)" >>>> /> >>>> >>>> ... >>>> >>>> >>>> Best regards >>>> Christoffer Dam Bruun >>>> >>>> enpysoft skrev: >>>> >>>> >>>>> Hi Experts, >>>>> I have to get the list of the distinct attribute values >>>>> across >>>>> different node level. To help you understand my requirement, i am >>>>> herewith >>>>> listed with a sample XML file >>>>> >>>>> My XML file looks like this >>>>> >>>>> <validation> >>>>> <report> >>>>> <script city="NY"> >>>>> <case name="ramesh" status="BE"/> >>>>> <case name="rajesh" status="B.Com" /> >>>>> </script> >>>>> <script city="AL"> >>>>> <case name="ramesh" status="Law" /> >>>>> </script> >>>>> </report> >>>>> </validation> >>>>> >>>>> Now i have to get only the values as ramesh and rajesh and i should not >>>>> get >>>>> ramesh two times. As i use only XPATH 1.0 and XSLT 1.0 i cannot use >>>>> distinct-values function. I earlier tried using to fetch distinct >>>>> values >>>>> to >>>>> a variable using the below script in xslt and it is not working. >>>>> >>>>> <xsl:variable name="uniquevalues" >>>>> select="/validation/report/script/case[not(@name=predicate-sibling::validation/report/script/case/@name)]/@name" >>>>> /> >>>>> >>>>> The above code snippet is not working. Kindly let me know what has to >>>>> be >>>>> done to get my expected output. >>>>> >>>>> >>>>> thanks in advance, >>>>> npselvan >>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> >> > >