[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: XSL-T should naturally loop? not grabbing all the

Subject: RE: XSL-T should naturally loop? not grabbing all the children node-sets..
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 22 Apr 2008 15:30:34 +0100
RE:  XSL-T should naturally loop? not grabbing all the
<xsl:template match="category">
  <xsl:if test="(@name=$paraCatagory)">

This means that if you find a category whose @name is not equal to
$paraCatagory, the stylesheet does nothing with that element - in particular
it does not process the children of that category.

What's more,

<xsl:for-each select=".">

is a no-op.

I've no idea what you really want to do, but I suspect that if you encounter
a category with the wrong name, you want to recursively process it's
children. Say

<xsl:template match="category">
  <xsl:choose>
  <xsl:when test="(@name=$paraCatagory)">
    ...
  </xsl:when>
  <xsl:otherwise>
    <xsl:apply-templates/>
  </xsl:otherwise>
</xsl:template>

Michael Kay
http://www.saxonica.com/
 

> -----Original Message-----
> From: Dan Acuff [mailto:dacuff@xxxxxxxxxxxxxx] 
> Sent: 22 April 2008 15:20
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject:  XSL-T should naturally loop? not grabbing all 
> the children node-sets..
> 
> 
> I do not know what to do next and I need help.
> 
> I have developed and Idea that I could loop through all the 
> category pages make div boxes of the different categories and 
> show and image and link.
> 
> No matter what I try it stops at the first child node-set and 
> does not do all 2 or 3 or even the sub-sub-categories. Before 
> I kill 2 more days on this can I get some help.
> 
> Here is what I have so far for the XSL followed by the XML. 
> Help appreciated.
> 
> <?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.0">
>  <xsl:output encoding="iso-8859-1" method="html"/>  
> <xsl:param name="paraCatagory"/>
> 
>  <xsl:template match="menu">
>   <xsl:apply-templates/>
>  </xsl:template>
> 
>  <xsl:template match="category">
>   <xsl:if test="(@name=$paraCatagory)">
>    <xsl:for-each select=".">
>    <xsl:element name="div">
>     <xsl:attribute name="class">cat_block</xsl:attribute>
>     <xsl:element name="div">
>      <xsl:attribute name="class">cat_module</xsl:attribute>
> 
>      <xsl:value-of select="category/@display_name"/>
>      <br/>
>      <xsl:element name="a">
>       <xsl:attribute name="href">
>        <xsl:value-of select="category/info/link"/>
>       </xsl:attribute>
>       <xsl:element name="img">
>        <xsl:attribute name="src">
>         <xsl:value-of select="category/info/images/image"/>
>        </xsl:attribute>
>       </xsl:element>
>      </xsl:element>
>     </xsl:element>
>    </xsl:element>
>    </xsl:for-each>
>   </xsl:if>
>  </xsl:template>
> </xsl:stylesheet>
> 
> 
> <?xml version="1.0" encoding="iso-8859-1"?> <menu 
> id="menuData">  <!--&#8482; trademark-->  <!--&#174;  registered-->
> 	<category name="c1_products" display_name="Category One">
> 		<info>
> 			<keyword>C1</keyword>
> 			<link>/category/c1_products</link>
> 			<titletag>C1 Products from our store - 
> 9 Words for best SEO</titletag>
> 			<images>
> 				<image/>
> 			</images>
> 		</info>
> 		<category name="c1_sub1_products"
> display_name="sub-Category c1_sub1">
> 			<info>
> 				<keyword>C1SUB1</keyword>
> 	
> <link>/products/c1_products/c1_sub1_products</link>
> 				<titletag>C1SUB1 Products from our store
> - 9 Words for best SEO</titletag>
> 				<images>
> 	
> <image>/imagesEdp/default_sm.jpg</image>
> 				</images>
> 			</info>
> 		</category>
> 	</category>
> 	<category name="c2_products" display_name="Category Two">
> 		<info>
> 			<keyword>C2</keyword>
> 			<link>/category/c2_products</link>
> 			<titletag>C2 Products from our store - 
> 9 Words for best SEO</titletag>
> 			<images>
> 				<image/>
> 			</images>
> 		</info>
> 		<category name="c2_sub1_products"
> display_name="sub-Category c2_sub1">
> 			<info>
> 				<keyword>C2SUB1</keyword>
> 	
> <link>/products/c2_products/c2_sub1_products</link>
> 				<titletag>C2SUB1 Products from our store
> - 9 Words for best SEO</titletag>
> 				<images>
> 	
> <image>/imagesEdp/default_sm.jpg</image>
> 				</images>
> 			</info>
> 		</category>
> 		<category name="c2_sub2_products"
> display_name="sub-Category c2_sub2">
> 			<info>
> 				<keyword>C2SUB2</keyword>
> 	
> <link>/products/c2_products/c2_sub2_products</link>
> 				<titletag>C2SUB2 Products from our store
> - 9 Words for best SEO</titletag>
> 				<images>
> 	
> <image>/imagesEdp/default_sm.jpg</image>
> 				</images>
> 			</info>
> 		</category>
> 		<category name="c2_sub3_products"
> display_name="sub-Category c2_sub3">
> 			<info>
> 				<keyword>C2SUB3</keyword>
> 	
> <link>/category/c2_products/c2_sub3_products</link>
> 				<titletag>C2SUB3 Products from our store
> - 9 Words for best SEO</titletag>
> 				<images>
> 	
> <image>/imagesEdp/default_sm.jpg</image>
> 				</images>
> 			</info>
> 			<category name="c2_sub_sub1_products"
> display_name="sub-sub-Category c2_sub_sub1">
> 				<info>
> 					<keyword>C2SUBSUB1</keyword>
> 	
> <link>/products/c2_products/c2_sub3_products/c2_sub_sub1_produ
> cts</link>
> 					<titletag>C2SUBSUB1 Products
> from our store - 9 Words for best SEO</titletag>
> 					<images>
> 	
> <image>/imagesEdp/default_sm.jpg</image>
> 					</images>
> 				</info>
> 			</category>
> 			<category name="c2_sub_sub2_products"
> display_name="sub-sub-Category c2_sub_sub2">
> 				<info>
> 					<keyword>C2SUBSUB2</keyword>
> 	
> <link>/products/c2_products/c2_sub3_products/c2_sub_sub2_produ
> cts</link>
> 					<titletag>C2SUBSUB2 Products
> from our store - 9 Words for best SEO</titletag>
> 					<images>
> 	
> <image>/imagesEdp/default_sm.jpg</image>
> 					</images>
> 				</info>
> 			</category>
> 		</category>
> 	</category>
> 	<category name="c3_products" display_name="Category Three">
> 		<info>
> 			<keyword>C3</keyword>
> 			<link>/products/c3_products</link>
> 			<titletag>C3 Products from our store - 
> 9 Words for best SEO</titletag>
> 			<images>
> 				<image/>
> 			</images>
> 		</info>
> 	</category>
> 	<category name="c4_products" display_name="Category Four">
> 		<info>
> 			<keyword>C4</keyword>
> 			<link>/products/c4_products</link>
> 			<titletag>C4 Products from our store - 
> 9 Words for best SEO</titletag>
> 			<images>
> 				<image/>
> 			</images>
> 		</info>
> 	</category>
> 	<category name="c5_products" display_name="Category Five">
> 		<info>
> 			<keyword>C5</keyword>
> 			<link>/products/c5_products</link>
> 			<titletag>C5 Products from our store - 
> 9 Words for best SEO</titletag>
> 			<images>
> 				<image/>
> 			</images>
> 		</info>
> 	</category>
> 	<category name="c6_products" display_name="Category Six"
> display="no">
> 		<info>
> 			<keyword>C6</keyword>
> 			<link>/products/c6_products</link>
> 			<titletag>C6 Products from our store - 
> 9 Words for best SEO</titletag>
> 			<images>
> 				<image/>
> 			</images>
> 		</info>
> 	</category>
> </menu>
> 
> 
> 
> 
> ~~~~~~~~~~~~~~~~~~
> Dan Acuff
> Developer
> SureSource, Inc.
> 203.922.7546
> dacuff@xxxxxxxxxxxxxx
> ~~~~~~~~~~~~~~~~~~

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.