[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
RE: Re: [xsl] XPath syntax error problem
Subject: RE: Re: [xsl] XPath syntax error problem From: cknell@xxxxxxxxxx Date: Sat, 22 Jan 2005 15:09:33 -0500 |
> " What am I doing wrong?" The processor has told you what you are doing wrong. You just don't see it. This is line 24 in your XSL file. <xsl:if test="count(//*[substring-after(@ref,':') = $elementName] = 0"> How do I know this without seeing the whole file? The error message told me so. The error message says that you have failed to include a closing parenthesis for the count() function. Change the line to read like this and that message will go away. <xsl:if test="count(//*[substring-after(@ref,':') = $elementName] = 0)"> Note the right parenthesis between the '0' and the closing quotation mark. It isn't in your code and that's why the processor is complaining. -- Charles Knell cknell@xxxxxxxxxx - email -----Original Message----- From: Joe Fawcett <joefawcett@xxxxxxxxxxx> Sent: Sat, 22 Jan 2005 17:29:15 -0000 To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Subject: Re: [xsl] XPath syntax error problem ----- Original Message ----- From: "Kenneth Stephen" <marvin.the.cynical.robot@xxxxxxxxx> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Sent: Saturday, January 22, 2005 1:32 AM Subject: [xsl] XPath syntax error problem > Hi, > > I have the following template in my XSL : > > <xsl:template match="xsd:element"> > <xsl:variable name="elementName" select="@name" /> > <xsl:if test="count(//*[substring-after(@ref,':') = $elementName] = 0"> > <xsl:if test="count(@name) = 1"> > <xsl:if test="/xsd:schema/@elementFormDefault = 'qualified'"> > <xsl:value-of select="concat($prefix,':')" /> > </xsl:if> > <xsl:value-of select="@name" /> > </xsl:if> > </xsl:if> > <xsl:text>&eol;</xsl:text> > </xsl:template> > > On execution, Saxon (and Xalan too) complain about a syntax error > on the outermost "xsl:if" . The Saxon error is shown below : > > bash-2.05b$ java net.sf.saxon.Transform ../data/Metadata_0101.xsd > analyze-schema.xsl > Error at xsl:if on line 24 of > file:/C:/cygwin/home/zaphod/code/analyze-schema.xsl: > XPath syntax error in {...(@ref,':') = $elementName] ...}: > expected ")", found "<eof>" > Transformation failed: Failed to compile stylesheet. 1 error detected. > > > What am I doing wrong? What I want to do is find out if the value > of the "name" attribute on an xsd:element in the input occurs within a > "ref" attribute elsewhere in my XML Schema file. > > Thanks, > Kenneth > > You are missing a closing parenthesis: test="count(//*[substring-after(@ref,':') = $elementName] = 0" => test="count(//*[substring-after(@ref,':') = $elementName]) = 0" -- Joe
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XPath syntax error proble, Joe Fawcett | Thread | FW: RE: Re: [xsl] XPath syntax erro, cknell |
RE: [xsl] preceding A or B which co, Michael Kay | Date | Re: [xsl] case-sensitivity in xml, David Carlisle |
Month |
Keywords