Donate Share

Saxon XSLT and XQuery Processor

Tracker: Bugs

5 AElfred relative URI in entity decl - ID: 445881
Last Update: Comment added ( mhkay )

The AElfred parser uses the wrong base URI when
resolving a relative URI in an external entity
declaration. Specifically, it uses the base URI of the
resource containing the entity reference, not that of
the resource containing the entity declaration.

This error is present in the version of the AElfred
parser included in Saxon 6.4.3, and is also present in
all previous versions.

David Brownell says he is working on a fix, and I will
incorporate this in Saxon when it becomes available.

MK


Michael Kay ( mhkay ) - 2001-07-30 08:38

5

Closed

Fixed

Michael Kay

AElfred parser

v6.5

Public


Comments ( 9 )

Date: 2002-04-30 16:34
Sender: mhkayProject Admin

Logged In: YES
user_id=251681

Also cleared in 7.1


Date: 2002-04-12 17:29
Sender: mhkayProject Admin

Logged In: YES
user_id=251681

Fixed in 6.5.2


Date: 2002-02-10 15:06
Sender: kosekProject Donor

Logged In: YES
user_id=189932

Problem still persist. I tryed to debug AElfred code and recognized that
if EntityResolver returns InputSource with opened stream, AElfred
gets this stream but not correct SystemID of this resource. Only
workaround which I found was to modify EntityResolver in a such way that
it doesn't open stream in returned InputSource it just sets systemId to
new resolved one.

This doesn't solve problem as a whole but it helped
me to solve my particular problem. ;(


Date: 2002-02-08 11:26
Sender: mhkayProject Admin

Logged In: YES
user_id=251681

I haven't actually managed to reproduce the problem, but I
have established that when Saxon calls the EntityResolver
for the external DTD subset, it supplies a relative URL
rather than an absolute URL, and I suspect this might be
the cause of the problem. I've changed it so an absolute
URL is now supplied both for external entities and for the
DTD.

Source code fixed in both branches.

Mike Kay


Date: 2001-11-30 10:36
Sender: mhkayProject Admin

Logged In: YES
user_id=251681

Thanks for the information: I have re-opened the bug. It
seems from your evidence that AElfred now (i.e. at 6.5)
gets the base URI correct when it resolves the URI itself,
but still gets it wrong when calling an external
EntityResolver.

Mike Kay


Date: 2001-11-29 20:02
Sender: kosekProject Donor

Logged In: YES
user_id=189932

I recognized this bug when trying to get older version of
Saxon and AElfred to work with catalog classes from Norm --
both ArborText and new from Sun.

Saxon 6.5 works OK when it is used standalone. But when I
plug catalog support into it, relative URIs of entities
defined in external DTD are still resolved wrongly relative
to document URI not to DTD URI.

I'm not so familiar with AElfred code to point you what's
wrong, but I think that this bug is not solved completely.
When I use catalog classes with other parsers - Crimson or
Xerces - resolution of relative URIs works correctly. Maybe
Norm could you tell more.


Date: 2001-11-15 14:56
Sender: mhkayProject Admin

Logged In: YES
user_id=251681

Fixed in 6.5


Date: 2001-11-14 10:38
Sender: mhkayProject Admin

Logged In: YES
user_id=251681

Source code now fixed. (Independantly of David Brownell's
version)


Date: 2001-09-18 13:33
Sender: mhkayProject Admin

Logged In: YES
user_id=251681

Note, this bug is not cleared in Saxon 6.4.4


Attached File

No Files Currently Attached

Changes ( 7 )

Field Old Value Date By
status_id Open 2002-04-30 16:34 mhkay
close_date 2001-11-15 14:56 2002-04-30 16:34 mhkay
status_id Closed 2001-11-30 10:36 mhkay
artifact_group_id v6.4 2001-11-30 10:36 mhkay
resolution_id None 2001-11-15 14:56 mhkay
close_date - 2001-11-15 14:56 mhkay
status_id Open 2001-11-15 14:56 mhkay