
Hello, Now I think I understand. You want to apply an XSLT stylesheet to a stream of XML events generated by a custom parser from a binary file. You call the custom parser from a custom URI resolver that resolves the URL of the input XML file. You set the -u parameter for passing the URL of the input XML file through the custom URI resolver. This cannot be done in the current version of Oxygen because Oxygen passes the URL of the input XML file only through a built-in resolver that tries to resolve the URL of the input XML file with the XML catalogs set in the user preferences. The Saxon custom URI resolver is used by Saxon internally only for URIs from the XSLT stylesheet because the stream of XML events from the input XML file is provided by Oxygen. A future version of Oxygen will pass the URL of the input file also through the Saxon custom URI resolver as if the -u parameter is always set when Saxon is used in Oxygen. There is a very simple workaround: load the input file through your custom URI resolver directly from the XSLT stylesheet with the document() function, something like: <xsl:template match="/"> <xsl:apply-templates select="document('URI-of-binary-file-resolved-by-custom-UR-resolver')"/> </xsl:template> Of course you have to set the class name of your custom URI resolver in Options -> Preferences -- XML -- XSLT/FO/XQuery -- XSLT -- Saxon -- Saxon 9 -- Advanced -- URI Resolver class name. Regards, Sorin Peter Rushforth wrote:
I believe I've set the extension classes correctly. An odd thing is that when I try to run the same thing from the command line, when I *don't* use the -u option I get the same message regarding content not allowed in prolog.
Where I look at the saxon command line documentation, I see that the -u option is used to tell saxon that the files are "urls", unless they begin with http: or file:, in which case they are taken as urls as is.
But I don't see anywhere in oxygen I can set the -u parameter.