On Tue, Jul 31, 2007 at 10:26:01AM +1000, Nathan Day wrote:
> 
>    I have a lot of XML documents that are generated using the tree API or
>    the  XSLT  API  and  I  want  to be able to refer to them in other XML
>    document  within  LIBXML2  through  URL's  (xincludes,  xslt  imports,
>    includes, document(), etc.). Looking at the
>    documentation xmlSetExternalEntityLoader  is  what I want but I am not
>    sure  what  I  am supposed to do next. I guess I am supposed to create
>    a xmlParserInputPtr  but  how  do I create one for an XML document, is
>    that  what xmlNewEntityInputStream  is  for,  in  which  case how do I
>    create a xmlEntity.

  Use the source ! Sorry, this is kind of a lame answer but it's the best
I can really provide without spending a lot of time. See 
    xmlDefaultExternalEntityLoader()
in xmlIO.c and how it uses xmlNewInputFromFile()

>    I have some XSL transformations that take a long time, up to 6 seconds
>    in some cases, fortunately large parts of
>    these transformations produce the same result. So what I want to do is
>    create    a    mechanism    so   that   when   a   XML   document   is
>    being serialised into  a  string  I can have my own call back function
>    called    at    particular    points    so    that    I   can   insert
>    previously serialised text.  I  suppose I could just insert a big text
>    element  into the xml document another possibility is to serialise the
>    document  my  self,  this  is  for  generating  HTML,  would  this  be
>    difficult.

  There is no mechanism for callback in the serializer, I don't see how
this could easilly be added. I also don't fully underdstand how this
relates to XSLT and transformation time. But for the serializer this
is synchronous. Also you can't just plug XML in the document as text and 
expect that to work as you seems to think because all the <, > and &
in said text will be properly escaped to &lt; &gt; and &amp; as expected
from a serializer. In a nutshell you can't mix semantic layers like this.

Daniel

-- 
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
[EMAIL PROTECTED]  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/
_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml

Reply via email to