Not all constructs supported my MSXSL is supported by InfoPath. And upgrade.xsl is even more picky. You have to put things just the way it likes them and expects them to be or it just won't work.

Signature
Greg Collins [InfoPath MVP]
Visit http://www.InfoPathDev.com
I have a valid XSL document that works just fine if I run it through
the MSXSL command-line parser, and gives me the exact result that I am
expecting.
The form being used has the upgrade behavior set to Automatic, and the
version information in manifest.xml has 0.0.0.0 as the minimum and the
max # is greater than the version fo the document to be upgraded.
However, when I place the contents of this XSL into the upgrade.XSL and
rebuild the XSN, then open the document, the transformation does not
appear to occur.
Any ideas?
Thanks,
Sam.
Sam Bogart - 13 Jan 2006 00:57 GMT
Is there any documentation anywhere that specifies any/all restrictions
on XSL for upgrades? Without any kind of debug environment in InfoPath
to step through the transformation it's extremely difficult (if not
impossible) to know what portion of the XSL is causing the problem.
> Not all constructs supported my MSXSL is supported by InfoPath. And upgrade.xsl is even more picky. You have to put things just the way it likes them and expects them to be or it just won't work.
>
[quoted text clipped - 18 lines]
> Thanks,
> Sam.
Greg Collins [InfoPath MVP] - 13 Jan 2006 13:27 GMT
I hear what you are saying. Debugging is not the easiest thing with many parts of InfoPath.
The only thing I can offer at this point is to become very familiar with the constructs that InfoPath uses when it generates its own upgrade.xsl file. With the little bits that I've modified that file, I've found it to be very picky about the constructs... even a small deviation from what it is expecting to find makes the file fail to load.

Signature
Greg Collins [InfoPath MVP]
Visit http://www.InfoPathDev.com
Is there any documentation anywhere that specifies any/all restrictions
on XSL for upgrades? Without any kind of debug environment in InfoPath
to step through the transformation it's extremely difficult (if not
impossible) to know what portion of the XSL is causing the problem.
Greg Collins [InfoPath MVP] wrote:
> Not all constructs supported my MSXSL is supported by InfoPath. And upgrade.xsl is even more picky. You have to put things just the way it likes them and expects them to be or it just won't work.
>
[quoted text clipped - 19 lines]
> Thanks,
> Sam.
Sam Bogart - 13 Jan 2006 19:28 GMT
Well I've gone through the constructs that are in the
InfoPath-generated XSL and there's nothing particularly special or
different between this and any other XSL I've seen.
I've gone through and compared the XSL constructs in my file to the
InfoPath created one. The only two things that jump out at me (besides
the overall logic-flow differences) are that I have some for-each loops
and some node() references. Do you know if either of these causes
problems?
Could you provide any examples of changes that you made that caused
failure?
Also, is there a way to get InfoPath to put up any kind of notification
of a problem loading or transforming?
Greg Collins [InfoPath MVP] - 17 Jan 2006 00:37 GMT
It is very possible that both of those are the problem. My guess, however, is that the for-each is the issue.
I don't recall now what I did... but when I just started copying their basic constructs and changing field names to my own, then things worked fine. If I did anything that didn't look like what was already there, it seems I had problems.

Signature
Greg Collins [InfoPath MVP]
Visit http://www.InfoPathDev.com
Well I've gone through the constructs that are in the
InfoPath-generated XSL and there's nothing particularly special or
different between this and any other XSL I've seen.
I've gone through and compared the XSL constructs in my file to the
InfoPath created one. The only two things that jump out at me (besides
the overall logic-flow differences) are that I have some for-each loops
and some node() references. Do you know if either of these causes
problems?
Could you provide any examples of changes that you made that caused
failure?
Also, is there a way to get InfoPath to put up any kind of notification
of a problem loading or transforming?