RE: [xsl] What is wrong with this xsl ?

Subject: RE: [xsl] What is wrong with this xsl ?
From: "Latha V. M." <latha_vm@xxxxxxxxx>
Date: Mon, 20 Jan 2003 19:26:52 -0800 (PST)
Thanks
The output is a file which looks like:
<survey>
  <surveyInfo> </surveyInfo>
  <intro/>
  <section href="section1"/>
  <section href="section2"/>
</survey>

When I am using the following call-template it works,
but apply-templates does not.
*****************
<xsl:template match = "/" >
        <xsl:call-template name = "survey"/>
</xsl:template>

<xsl:template name="survey" match = "survey">
        <survey>
                <xsl:copy-of select = "@ID"/>
                <xsl:call-template name = "section"/>
        </survey>
</xsl:template>

<xsl:template match = "/survey/section" name =
"section" >
        <xsl:variable name = "file" select = "@ID"/>
        <section sname = "{$file}" number =
"{position()}" href = "{$file}" />
        <xsl:document href = "{$file}" >
                <xsl:copy-of select =
"/survey/section" />
        </xsl:document>
</xsl:template>

<xsl:template match = "*" >
</xsl:template>

If I replace call-template with 
<xsl:apply-templates/>
nothing happens


--- Edward.Middleton@xxxxxxxxxxx wrote:
> Please explain what your desired output is.  It is
> not clear from you xslt file.  I think you might be
> confusing the match and name in the xsl:template and
> not understanding namespaces.   You have defined the
> xsl as the namespace for the xsl language 
> 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
> 
> Unless you source document is in xsl (it isn't) you
> should not place this namespace marker before
> elements that you wish to match that are not xsl.
> 
> match = "xsl:survey"
> 
> The only template you have supplied that can match
> the survey element is
> 
> <xsl:template match="*"/>
> 
> which will just remove it as you have seen.
> 
> match = "/xsl:survey/xsl:section"
> match = "xsl:survey"
> 
> won't.
> 
> Edward Middleton
> 
> -----Original Message-----
> From: Latha V. M. [mailto:latha_vm@xxxxxxxxx]
> Sent: Tuesday, January 21, 2003 11:37 AM
> To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] What is wrong with this xsl ?
> 
> 
> Hi,
> I have the following xsl code:
> <?xml version="1.0" encoding="UTF-8"?>
> 
> [lsunkara@ateserver ateserver2003]$ cat
> XSLSource/SectionForm/split.xsl 
> <xsl:stylesheet version="1.1"
>        
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>        
>
xmlns:xhtml="http://www.w3.org/1999/TR/xhtml1/strict";>
> <xsl:output method="xml" version="4.0"
> encoding="UTF-8" indent="yes"/>
> 
> <xsl:template match = "/" >
>         <xsl:apply-templates select = "survey" />
> </xsl:template>
> 
> <xsl:template name="survey" match = "xsl:survey" >
>         <survey>
>                 <xsl:copy-of select =
> "/survey/surveyInfo"/>
>                 <xsl:call-template name =
> "section"/>
>         </survey>
> </xsl:template>
> 
> <xsl:template match = "/xsl:survey/xsl:section" name
> =
> "section" >
>         <xsl:variable name = "file" select = "@id"
> />
>         <section sname = "{$file}" number =
> "{position()}" href = "{$file}" />
>         <xsl:document href = "{$file}" >
>                 <xsl:copy-of select =
> "/survey/section" />
>         </xsl:document>
> </xsl:template>
> 
> <xsl:template match = "*" >
> </xsl:template>
> 
> </xsl:stylesheet> 
> When I run this code as under it does not execute
> the
> template for survey, it only executes the "/"
> template.
> #!/usr/bin/ksh
> #This script uses the Xalan tool to translate a
> survey
> section
>
#----------------------------------------------------------------------------------------
>
#LOCALCLASSPATH=/home/lsunkara/xmlold/xalan-j_1_2_2/xalan.jar:/home/lsunkara/xmlold/xalan-j_1_2_2/xerces.jar
>
LOCALCLASSPATH=/usr/java/xalan-j_2_4_0/bin/xalan.jar:/usr/java/xalan-j_2_4_0/bin/xercesImpl.jar:/usr/java/xalan-j_2_4_0/bin/xml-apis.jar
>
#----------------------------------------------------------------------------------------
> XSL=XSLSource/SectionForm/split.xsl
> 
> INPUT=XMLSource/demo-survey.xml
> OUTPUT=split1.xml
> 
> java -classpath $LOCALCLASSPATH
> org.apache.xalan.xslt.Process -IN $INPUT -OUT
> $OUTPUT
> -XSL $XSL -INDENT 2 -TT 
> 
> The xml looks like:
> <survey>
> <surveyInfo>
> </surveyInfo>
> <intro>
> </intro>
> <section id="test">
> <question></question>
> </section>
> </survey>
> 
> =====
> "Great minds have purposes, others have wishes."
> 
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Mail Plus - Powerful. Affordable. Sign up
> now.
> http://mailplus.yahoo.com
> 
>  XSL-List info and archive: 
> http://www.mulberrytech.com/xsl/xsl-list
> 
> 
>  XSL-List info and archive: 
> http://www.mulberrytech.com/xsl/xsl-list
> 


=====
"Great minds have purposes, others have wishes."

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread