Re: [xsl] bad match expression

Subject: Re: [xsl] bad match expression
From: Terence Kearns <terence.kearns@xxxxxxxxxxxxxxx>
Date: Thu, 2 Feb 2006 20:25:44 +1100
Thanks for the help.  Everytime I go away from using XSLT for a while
I forget the basics. Your explanations (Alexander and Antonio) were
very helpful indeed and very timely. I have about 12 hours before this
application is due :)



On 02/02/06, Antsnio Mota <amsmota@xxxxxxxxx> wrote:
> Oops, wrong copy&paste, should be
>
> (...) so what you4re sayimg really with
>
> "FormElement[@type='text'][@type='password'][
>
> is
>
> give me all FormElement filtered by type='text' (thus you get only
> type='text') and from the resulting set give me all the FormElements
> filtered by type='password'
>
> (...)
>
>
> On 02/02/06, Antsnio Mota <amsmota@xxxxxxxxx> wrote:
> > If i understand correctly, you are saying
> >
> > type='text' and type='password'
> >
> > and you want
> >
> > type='text' or type='password'
> >
> > so it should be something like
> >
> > FormElement[@type='text' or @type='password']
> >
> > or
> >
> > FormElement[@type='text' | @type='password']
> >
> > They mean diferent things but the resulkt is the same, i think.
> >
> > Also, the expression you used is not exactly
> >
> > type='text' and type='password'
> >
> > i think these i calles "steps", so what you4re sayimg really with
> >
> > FormElement[@type='text' | @type='password']
> >
> > is
> >
> > give me all FormElement filtered by type='text' (thus you get only
> > type='text') and from the resulting set give me all the FormElements
> > filtered by type='password'
> >
> > That will give you nothing, ofcourse...
> >
> > On 02/02/06, Terence Kearns <terence.kearns@xxxxxxxxxxxxxxx> wrote:
> > > I don't know why but the following template match expression never
> > > gets matched :(
> > >
> > > <xsl:template
> > >
match="FormElement[@type='text'][@type='password'][@type='submit'][@type='res
et']">
> > > ...
> > > </xsl:template>
> > >
> > > The calling directive is simply  <xsl:apply-templates
select="FormElement" />
> > >
> > > And the source is
> > >
> > > <XaoForm id="Category_Add" action="category.php?cat_id=4"
> > > method="post" caption="Add a new Category">
> > >    <FormElement type="text" name="CatName" caption="New Category"
> > > css="width: 100%">
> > >      <FormElement type="hidden" name="VLD_NotNull_CatName">
> > >        <Default>You must enter the category's name'</Default>
> > >      </FormElement>
> > >    </FormElement>
> > >    <FormElement type="submit" name="Add">
> > >      <Default>Save Changes</Default>
> > >    </FormElement>
> > >    <FormElement type="reset" name="Add">
> > >      <Default>Reset Form</Default>
> > >    </FormElement>
> > >  </XaoForm>
> > >
> > > If I remove all the contions or just leave one condition, then it
> > > matches. As soon as I put the rest of them back in, it stops matching.
> > > I also had to suppress the text() node using
> > > <xsl:template match="text()" /> even though I never used the generic
> > > <xsl:apply-templates /> anywhere

Current Thread