xsl-list
[Top] [All Lists]

RE: What is wrong with this xsl ?

2003-01-20 20:26:52
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(_dot_)Middleton(_at_)nikonoa(_dot_)net 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(_at_)yahoo(_dot_)com]
Sent: Tuesday, January 21, 2003 11:37 AM
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] What is wrong with this xsl ?


Hi,
I have the following xsl code:
<?xml version="1.0" encoding="UTF-8"?>

[lsunkara(_at_)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



<Prev in Thread] Current Thread [Next in Thread>