I completely understand the rational on not calling the EntityResolver Interface implementation when an external-schemaLocation is set.
What worries me is that then we are inconsistent with the usage of the EntityResolver Interface.
EntityResolver class allows applications to resolve external entities, by providing an
external-schemaLocation we just gave another way to locate a Schema which is an
external entity (another way than the xsi:schemalocation tags right?).
My question then is when is the external-schemaLocation used, when is the Schema
resolved? I would argue that at this point we should allow an EntityResolver implementation to be called. If there are no implementation of the interface then there is not too much of a price to pay.
Somebody would say next, if a programmer knows and sets the external-schemaLocation then it may be wasteful to call the EntityResolver, but what if I want to wait until EntityResolve time to access a Database in a server and return to the parser an InputSource, which has a local controlled version of the
Schema or even a special case where I override witch an empty MemoryInputSource?
Regards,
Jeffrey Rodriguez SVL
From: "Neil Graham" <[EMAIL PROTECTED]> Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Re: how to use external schema? Date: Fri, 5 Sep 2003 11:59:29 -0400
Hi Jeff,
For clarity, if the application sets the external-schemaLocation or external-noNamespaceSchemaLocation properties on one of the parsers, no callback to the EntityResolver will be made when items with namespaces (or lack thereof) that correspond to those in the properties are encountered in the instance document. The rationale for this is that, since it's the application that specified the value of the property, there isn't very much point in calling back to the application's EntityResolver; if an application wanted its EntityResolver to be called for a given namespace, then it wouldn't seem to make sense for it to have set the corresponding property.
Cheers! Neil Neil Graham XML Parser Development IBM Toronto Lab Phone: 905-413-3519, T/L 969-3519 E-mail: [EMAIL PROTECTED]
"Jeffrey
Rodriguez" To: [EMAIL PROTECTED]
<[EMAIL PROTECTED] cc:
ail.com> Subject: Re: how to use external schema?
09/05/2003 11:50 AM Please respond to xerces-c-dev
Hi Agrawal,
How did you associate your Schema with the instance document. Did you use a xsi:noNamesSpaceLocation or xsi:schemaLocation?
If you did so I would have expected the parser ( indeed it used to do tha before....) to call the entity resolver.
Furthermore, I would expect that setting also the setExternalSchemaLocation instead of the xsi instructions to also call the entityResolver.
Otherwise I think that this is an inconsistency.
So first let us know an answer to my first question.
Regards,
Jeffrey Rodriguez Silicon Valley
>From: "Agrawal, Vikas (ELS)" <[EMAIL PROTECTED]>
>Reply-To: [EMAIL PROTECTED]
>To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
>Subject: how to use external schema?
>Date: Fri, 5 Sep 2003 10:26:52 +0100
>
>Hi All,
>
>I am trying to parse my file against a schema. Before I was parsing it
>against a external DTD and it was working fine going through my entity
>resolver. As soon as I try to use schema it stops going into entity
>resolver.
>I know I can set the schema location into the parser using
>setExternalSchemaLocation() function but to do that I will have to extract
>this info from xml file manually. I do not want to do that. I want
>something
>like entity resolver for schema.
>Thanks & Regards
>Vikas
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>
_________________________________________________________________ Send and receive larger attachments with Hotmail Extra Storage. http://join.msn.com/?PAGE=features/es
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
_________________________________________________________________
Fast, faster, fastest: Upgrade to Cable or DSL today! https://broadband.msn.com
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]