Subject: Selecting node sets for page by page output - without using for-each or mutiple ifs From: Aaron Miller <amiller@xxxxxxxxx> Date: Tue, 29 Aug 2000 12:09:28 -0700 |
Hello all, I am stumped on this one. I have an XML Doc like this: <?xml version="1.0" ?> <root> <user> <user_name>username</user_name> <greet_name>username</greet_name> <station id="1"> <pseudonym>pseudonym</pseudonym> <id>5</id> </station> </user> <params> </params> <clickCastProgram> <topicStoryContainerList> <topicStoryContainer> <topic> <name>Top Stories</name> <id>6</id> </topic> <storyList> <story> <id>999</id> <name>story 999 name</name> <description>story 999 description</description> <activation_date>08/10/2000</activation_date> <video> <activation_date>08/10/2000</activation_date> <graphic name="small"> <external_reference>http://www.zatso.com/image_url.gif</external_reference> </graphic> <length>100</length> <station> <pseudonym>Pseudonym</pseudonym> </station> </video> <enhancementList></enhancementList> </story> <story> <id>998</id> <name>story 998 name</name> <description>story 998 description</description> <activation_date>08/10/2000</activation_date> <video> <activation_date>08/10/2000</activation_date> <graphic name="small"> <external_reference>http://www.zatso.com/image_url.gif</external_reference> </graphic> <length>100</length> <station> <pseudonym>Pseudonym</pseudonym> </station> </video> <enhancementList></enhancementList> </story> <story> <id>997</id> <name>story 997 name</name> <description>story 997 description</description> <activation_date>08/10/2000</activation_date> <video> <activation_date>08/10/2000</activation_date> <graphic name="small"> <external_reference>http://www.zatso.com/image_url.gif</external_reference> </graphic> <length>100</length> <station> <pseudonym>Pseudonym</pseudonym> </station> </video> <enhancementList></enhancementList> </story> <story> <id>996</id> <name>story 996 name</name> <description>story 996 description</description> <activation_date>08/10/2000</activation_date> <video> <activation_date>08/10/2000</activation_date> <graphic name="small"> <external_reference>http://www.zatso.com/image_url.gif</external_reference> </graphic> <length>100</length> <station> <pseudonym>Pseudonym</pseudonym> </station> </video> <enhancementList></enhancementList> </story> </storyList> </topicStoryContainer> <topicStoryContainer> <topic> <name>topic name 2</name> <id>7</id> </topic> <storyList> <story> <id>889</id> <name>story 889 name</name> <description>story 889 description</description> <activation_date>08/10/2000</activation_date> <video> <activation_date>08/10/2000</activation_date> <graphic name="small"> <external_reference>http://www.zatso.com/image_url.gif</external_reference> </graphic> <length>100</length> <station> <pseudonym>Pseudonym</pseudonym> </station> </video> <enhancementList></enhancementList> </story> <story> <id>888</id> <name>story 888 name</name> <description>story 888 description</description> <activation_date>08/10/2000</activation_date> <video> <activation_date>08/10/2000</activation_date> <graphic name="small"> <external_reference>http://www.zatso.com/image_url.gif</external_reference> </graphic> <length>100</length> <station> <pseudonym>Pseudonym</pseudonym> </station> </video> <enhancementList></enhancementList> </story> <story> <id>887</id> <name>story 887 name</name> <description>story 887 description</description> <activation_date>08/10/2000</activation_date> <video> <activation_date>08/10/2000</activation_date> <graphic name="small"> <external_reference>http://www.zatso.com/image_url.gif</external_reference> </graphic> <length>100</length> <station> <pseudonym>Pseudonym</pseudonym> </station> </video> <enhancementList></enhancementList> </story> <story> <id>886</id> <name>story 886 name</name> <description>story 886 description</description> <activation_date>08/10/2000</activation_date> <video> <activation_date>08/10/2000</activation_date> <graphic name="small"> <external_reference>http://www.zatso.com/image_url.gif</external_reference> </graphic> <length>100</length> <station> <pseudonym>Pseudonym</pseudonym> </station> </video> <enhancementList></enhancementList> </story> </storyList> </topicStoryContainer> </topicStoryContainerList> </clickCastProgram> </root> As you can see, each topicStoryContainer has a topic and a storyList, and all the topicStoryContainers make up a topicStoryContainerList. I want to write an XSLT that grabs five nodes per page, based on startRange and endRange parameters, and creates appropriate navigation for previous and next pages. **So my question is this**: how do I grab five <story>s per page, in sequence, with topic headings inserted in the appropriate places, _without_ using <xsl:for-each> or <xsl:if>? I've tried using the position() function to determine ranges of things, but since this is contextual, the topic elements seem to reset it for each storyList. Is this even possible? I am curious since I have been told it's much more efficient and desirable to use <xsl:apply-templates> and "modes" rather than using a lot of explicit logical branching for this sort of thing. Thanks, aaron XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
IBM XSL :whither supports scripting, Balaji S | Thread | Re: Selecting node sets for page by, Aaron Miller |
RE: Conditional selection of Templa, ciaran byrne | Date | Re: Requirements for XSLT 1.1 (rtf/, Gary L Peskin |
Month |