Oleg
See responses below
Thanks,
Bill
"Oleg Tkachenko [MVP]" <oleg@NO!SPAM!PLEASEtkachenko.com> wrote in message
news:uAWLq6nXEHA.1652@TK2MSFTNGP09.phx.gbl...[color=blue]
> Bill Cohagan wrote:
>[color=green]
> > Thanks for the response. I don't know why you consider it a "bad[/color][/color]
pattern"[color=blue][color=green]
> > as that's what XSL is all about. The XSLT processing model doesn't
> > discourage nontrivial match patterns although it's certainly possible[/color][/color]
that[color=blue][color=green]
> > the MS implementation does.[/color]
>
> Well, it doesn't say it directly, but from the decription of the
> processing model "A node is processed by finding all the template rules
> with patterns that match the node, and choosing the best amongst them"
> it's easy to see that having complex patterns is the way to slow down
> the transformation. That's pretty valid pattern though, but quite
> ineffective. Why not apply templates to only nodes you are interested to
> process?
>[/color]
[Bill] I *am* applying templates to the nodes I want to process. Please
clarify what you mean by this.
[color=blue][color=green]
> > Certainly it's a nontrivial pattern as are many
> > others in my application; however it is the only one that causes the[/color][/color]
..Net[color=blue][color=green]
> > MSXML to hang/nonterminate.[/color]
>
> .NET or MSXML? That's definitely a bug anyway, provide a repro please.[/color]
[Bill] I'm using the .Net Framework 1.1, so whatever the XML/XSL engine is
in that release. I say "hang" because it's never finished, although
certainly it might if I give it a few days (or weeks or ...). I can email
you a repro if you'd like. What email address should I use?
[color=blue]
>[color=green]
> > As a sanity check I ran this particular template against Instant Saxon[/color][/color]
and[color=blue][color=green]
> > it completes in less than a minute -- so clearly it's not a limitation[/color][/color]
of[color=blue][color=green]
> > the language, but of the implementation.[/color]
>
> Which version of .NET you are using? Try the latest one - there were
> solid improvements in the resent release.
>[color=green]
> > I also moved the predicates into
> > the template as you suggested and it still hangs in .Net.[/color]
>
> So that's not the reason. It should be something else.[/color]
[Bill] Perhaps it is. As time allows I'll try to isolate the problem by
trimming the input. Perhapse it's another bug rather than just a performance
issue.[color=blue]
>[color=green]
> > If you'd like
> > I'll let you know when it gets posted.[/color]
>
> Yeah, that would be interesting.[/color]
[Bill] Will do. Meanwhile if you google Cohagan XSL Key (looking at groups)
you should see some of the past issues I've encountered.[color=blue]
>
> --
> Oleg Tkachenko [XML MVP]
>
http://blog.tkachenko.com[/color]