Subjects
Home
Xalan extension functions
Fomatting question serializing DOM with pretty print
xalan with pull parser
Cannot find the declaration
Apache Xalan drop support to run on JRE 1 1 x
Why does Doctype change processing of a document
Node set to XML string via Java extensions in Xalan J: possible?
Templates/Transformers + thread safety???
Problem evaluating xpath with muliple prefix with different namespace
remove an arbitrary attribute from xsl output
Xalan3 XSLT 2 0 XPath 2 0 support?
Problem using compiled translets with Xalan !!
Xalan and jstl 1 1 problem with transform tag
NullPointer in DOM2DTM getLocalName
URIResolvers base parameter with xsltc and cascaded imports
Performance problem for Xalan J on intel dual core
Standard libraries in JAXP?
Serializing a DOM tree to XML file, customize entities replacement
Library Conflict Involving BCEL Library
A question on how users are using <xsl:message >
Kevin Cormier as a new Apache Xalan J committer
Struggling to iterate over tokenized string
Xalan count() trouble
Problem with recursive xpath
Error when switching to java 1 5
document( ' ')
Problem with Xalan2 7 0 transformation
cr/lf options
entity encoded XML
can xalan transform 2 xml using one xslt?
Xalan J JIRA defect review Monday October 16, 2006 from 2:00 to 3:30 pm ED
xsl transform with cdata section elements
xslt parameters not expanded
Weird behavior of XPath evaluate()
How to avoid <xsl:message > instruction prints stylesheet file informations ?
Cannot find SimpleTransform subdirectory after installing Xalan J
recover from document not found exceptions
jdk1 5 and Xalan jar differences?
Performance Issue
Error/Bug adding floating point numbers
XPathAPI: eval exp using nodes with default namespace
modifying xalan to output invalid XML
NullPointerException
mege two separate xml nodes into one
Is this a XALAN document identification bug?
is StylesheetRoot really java io Serializable ?
transform() fails for DOMSource but succeeds for StreamSource
Thoughts on Transformer parameter passing
HELP, Xalan and jstl 1 1 problem with transformer
Problem with XPath namespace axis?
string utils:replace deleting search string if replacement string is an HTML
help with enumeration values pls
xalan 2 5 1 vs 2 7 performance question
How to insert/update in XML document
HTML Serialization and Handling of Ampersands in HREF Attributes
XHTML link tag stripping
SystemId Unknown; Line #24; Column #49; java lang NullPointerException
xpath text() help
Apostrophe problem with xalan 2 7 0
How to set variables in XML document?
Links
Home
Oracle database error code ...
 
Search:  
Power your search with and, or, +, -, or "some phrase" operators.
AW: Tables Generation

AW: Tables Generation

2003-03-26       - By Stefan.Kaesberg@(protected)

Hi Vincent & Kevin,

it works as Kevin suggested with this stylesheet:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output
indent="yes"
omit-xml-declaration="no"
doctype-public="-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
doctype-system="http://www.wapforum.org/DTD/xhtml-mobile10.dtd"/>
<xsl:template match="/parent">
<xsl:variable name="somechildren" select="*[@(protected) != '2' and @(protected) != '3']" />
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<body>
<table border="1">
   <xsl:call-template name="rows">
 <xsl:with-param name="children" select="$somechildren"/>
 </xsl:call-template>
</table>
</body>
</html>
</xsl:template>
<xsl:template name="rows">
<xsl:param name="children"/>
<xsl:for-each select="$children" >
<xsl:variable name="current_position" select="position()"/>
<xsl:choose>
<xsl:when test="position() mod 2 =1">
 <tr>
  <!--<td>position     :<xsl:value-of select="$current_position"/></td>-->
  <td><xsl:value-of select="@(protected)"/></td>
  <td><xsl:value-of select="$children[position()=($current_position+1)]/@(protected)"/>
</td>
 </tr>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

In Vincents stylesheet the last template matches to "site" and not to */child,
furher more it goes through
all selected nodes twice. You may replace the two templates by this:

<xsl:template mode="details" match="*">
<xsl:choose>
<xsl:when test="position() mod 2 = 1">
 <tr>
    <xsl:apply-templates mode="col" select="."/>
  <xsl:apply-templates mode="col" select="following-sibling::child[position()
=1]"/>
  </tr>
</xsl:when>
</xsl:choose>
</xsl:template>
<xsl:template match="*" mode="col">
<td align="center">
child id <xsl:value-of select="@(protected)"/>
</td>
</xsl:template>

But here the "following-sibling" refers to the source tree and looses the
information of cutting out
element 2 and 3 - therefore you'll get :
1 2
5 6
istead of
1 4
5 6

I think you have to create the new nodeset with the filtered nodes to renumber
the positions.

Hope that helps,
Stefan

  -----Urspr�ngliche Nachricht-----
  Von: klmccarthy@(protected) [mailto:klmccarthy@(protected)]
  Gesendet: Mi 26.03.2003 02:11
  An: xalan-j-users@(protected)
  Cc:
  Betreff: Re: Tables Generation
 
 

  Vincent,
 
  I think you have two options. You could create a node set in a variable which
  contains the desired child nodes. This would look something like this
 
  <xsl:variable name="somechildren" select=""*[@(protected) != '2' and @(protected) != '3']"/>
 
  Then you could pass this to the template by using call-template and a
parameter.
  I think this would work, but is the wrong way to think about it.
 
  I think maybe there is something wrong with your apply-templates in the
template
  where you process the child nodes. Some experiments there are in order. I'm not
  sure what to suggest off-hand.
 
  Kevin