On Sat, 28 Oct 2000, Pavel Hlavnicka wrote:
> Internally Sablotron supports just two schemes: arg and file.
> URIs from the arg schemes point to buffers passed into sablotron calling
> Process etc., files are files :)
>
> If you want to use another scheme, you have to register scheme handler.
> See documentaion (perldoc XML::Sablotron) and the test script (test.pl)
> for more details.
>
> In the case you'll find it to complicated, feel free ask more specific
> questions.
Okay, I think I've got it to recognise the external file using the file:/
URI e.g.
$sab->RunProcessor("arg:/template", "file://$data", "arg:/result", undef,
["template", $template] );
Where $template contains an XSL stylesheet and $data is a system path to
an XML file.
But I'm now having other problems, I'm getting the error:
Error [code:2] [URI:arg:/template] [line:1]
XML parser error 17: xml processing instruction not at start of external
entity
Is there a way of looking up what the error codes mean?
Does Sablotron expand external entities, e.g. if I have a
"master" xml document which acts as a container for external xml files,
will it find the contents of file1.xml etc.? e.g.
<?xml version="1.0"?>
<!DOCTYPE all SYSTEM "all.dtd"
[
<!ENTITY % ISOlat1 PUBLIC "ISO 8879-1986//ENTITIES Added Latin1//EN" "ISOlat1.e
nt">
%ISOlat1;
<!ENTITY % Modlang SYSTEM "Modlang.ent">
%Modlang;
<!ENTITY file1 SYSTEM "file1.xml">
<!ENTITY file2 SYSTEM "file2.xml">
]>
<all>
&file1;
&file2;
</all>
cheers
Paul
>
> Pavel
>
> Paul Groves wrote:
>
> > I'm not sure if this is a stupid question or not (I'm a bit of newbie to
> > Sablotron), but is http supported as an (input) URI scheme for
> > XML::Sablotron? If not, is it possible to reference local files using the
> > Perl API? If so, what's the syntax? i.e. what do you use instead
> > of: "arg:/data"?
> >
> > Basically, I want to supply an XSL stylesheet created dynamically by Perl
> > as the template argument (this seems to work) and an XML file (held on the
> > same server) as the data argument. I've tried supplying a reference to the
> > latter as an http URL, but I get the following error (in the Apache log)
> >
> > Error [code:237]
> > unsupported URI scheme 'http'
> >
> > and I'm not sure of the syntax for just referencing local files.
> >
> > thnaks
> >
> > Paul
> >
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > Paul Groves Email: [EMAIL PROTECTED]
> > HCDT Project Officer Tel: +44 (0)1865 273 290
> > Humanities Computing Development Team
> > Humanities Computing Unit
> > Oxford University Computing Services
> > 13 Banbury Road
> > Oxford, England. OX2 6NN
> >
> > Web: http://www.oucs.ox.ac.uk/hcdt/staff.html#paul
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>
> --
> Pavel Hlavnicka
> Ginger Alliance Ltd.
> Prague; Czech Republic
>
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Paul Groves Email: [EMAIL PROTECTED]
HCDT Project Officer Tel: +44 (0)1865 273 290
Humanities Computing Development Team
Humanities Computing Unit
Oxford University Computing Services
13 Banbury Road
Oxford, England. OX2 6NN
Web: http://www.oucs.ox.ac.uk/hcdt/staff.html#paul
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~