Re: [xml] xmlIO extensions
- From: Daniel Veillard <veillard redhat com>
- To: Bruce Miller <bruce miller nist gov>
- Cc: xml gnome org
- Subject: Re: [xml] xmlIO extensions
- Date: Thu, 30 Oct 2003 09:32:35 -0500
On Thu, Oct 30, 2003 at 09:15:38AM -0500, Bruce Miller wrote:
Christian Engwer wrote:
If you open
zip:/dir/archive.zip!/content.xml
and content.xml referes to an external entity "content.dtd"
libxml will realise that this is a relative request and will build a
new path as followed:
oldpath: zip:/dir/archive.zip!/content.xml
->basepath: zip:/dir/archive.zip!/
->newpath: zip:/dir/archive.zip!/content.dtd
I've been watching from the sidelines, and may be missing something
significant, but why do you need the marker (!) at all?
to disambiguate
zip:///dir/archive!/subdir/content.xml
from
zip:///dir/archive/subdir!/content.xml
and not rely on a .zip suffix either (open office files do not have a
.zip suffix !), you could avoid taht by walking he full set of possible
paths to check if they are zip can be a bit expensive.
_If_ you're willing to make the module act a bit like a `zip server'
(analogous to http server), and have it traverse the directory components
from the top: when it encounters a zip file instead of a directory,
then it knows (analogous to finding a cgi somewhere within the url).
Hum, the problem is that the ! marker allows to know precisely what
resource to look for and then pass it to the zip layer. You're right
to some extend, but I think having the exclamation mark makes things
simpler, and more general.
OTOH, this would _not_ extend well to the case of getting the zip from
http, ftp, whatever! So forget this suggestion if you're going that
direction!! :>
yes keeping that feature is nice, and wouldn't be too hard from
a libxml2 standpoint since there is already the code needed for http and
ftp.
Daniel
--
Daniel Veillard | Red Hat Network https://rhn.redhat.com/
veillard redhat com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]