Hi,
Thanks for the tips. I've implemented your code snippet for returning the local DTD
file as an input source and unfortunately my entity resolver still doesn't seem to
make a difference. My parser->parse() function still errors out. The local DTD file
exists and has the correct grammar but I am unsure of what is wrong still.
Any help would be greatly appreciated...
Thanks,
--Hieu
--
--------- Original Message ---------
DATE: Mon, 22 Sep 2003 23:25:44
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Cc:
>
>
>
>
>You cannot just cast a const char* to a DOMInputSource. Do yourself a
>favor, and never use another C-style cast again -- it will make your life
>easier.
>
>Try:
>
> XMLCh buffer[1024];
> XMLString::transcode("c:\\temp\\Catalog.dtd", buffer, sizeof(buffer)
>- 1);
> return new Wrapper4InputSource( new LocalFileInputSource(buffer));
>
>Note also your calls to XMLString::transcode() are leaking memory. You
>should read the documentation for APIs so you understand how to use them.
>
>Dave
>
>
>
>|---------+--------------------------->
>| | "Hieu Bui" |
>| | <[EMAIL PROTECTED]|
>| | il.com> |
>| | |
>| | 09/22/2003 07:41|
>| | PM |
>| | Please respond |
>| | to xerces-c-dev |
>|---------+--------------------------->
>
> >-------------------------------------------------------------------------------------------------------------------------------------|
> |
> |
> | To: [EMAIL PROTECTED], [EMAIL PROTECTED]
> |
> | cc: (bcc: David N Bertoni/Cambridge/IBM)
> |
> | Subject: Re: FW: FW: Validation against XML schema without internet
> connection |
>
> >-------------------------------------------------------------------------------------------------------------------------------------|
>
>
>
>Hi Anand,
>
>Thanks for the response and the URL for more info. I actually have hooked
>up my local entity resolver and the parser is calling the function.
>However, my one last problem is that I cannot seem to point it correctly to
>my local DTD file. I am finding the systemID and comparing it correctly,
>I'm just not returning the correct DOMInputSource pointer. Any help would
>be greatly appreciated!
>
>TIA,
>
>--Hieu
>
>
>DOMInputSource * LocalDTDResolver::resolveEntity (const XMLCh *const
>publicId, const XMLCh *const systemId, const XMLCh *const baseURI)
>{
> char tempString[1024];
>
> sprintf(tempString, "PublicID: %s", XMLString::transcode(publicId));
> AppendToLogFile(tempString);
> sprintf(tempString, "SystemID: %s", XMLString::transcode(systemId));
> AppendToLogFile(tempString);
>
> try
> {
> if (strcmp(XMLString::transcode(systemId),"
>http://mydomain.com/lib/Catalog.dtd")==0)
> {
> AppendToLogFile("Found external DTD and resolving to local
>DTD");
> // Return local copy of the dtd file but this is failing
> return (DOMInputSource *)("c:\\temp\\Catalog.dtd");
>
> }
>
> }
>
> catch (...)
> {
> return NULL;
> }
>
> // If no match, returning null makes process continue normally
> return NULL;
>}
>
>
>
>
>--
>
>--------- Original Message ---------
>
>DATE: Mon, 22 Sep 2003 14:49:01
>From: "Tarkus, Anand (LNG-DAY)" <[EMAIL PROTECTED]>
>To: Hieu Bui <[EMAIL PROTECTED]>
>Cc:
>
>>Hi Hieu,
>>You might want to take a look at this page:
>>http://www-106.ibm.com/developerworks/xml/library/x-tipent.html
>>Thanks,
>>Anand.
>>
>>-----Original Message-----
>>From: Hieu Bui [mailto:[EMAIL PROTECTED]
>>Sent: Monday, September 22, 2003 12:17 PM
>>To: [EMAIL PROTECTED]
>>Subject: Re: FW: Validation against XML schema without internet
>>connection
>>
>>Hi,
>>
>>I've tried looking at the documentation for DOMEntityResolver and have not
>>had much luck implementing what I need. Does anyone have any sample code
>to
>>use a local version of the DTD (DTD file stored locally) for parsing
>instead
>>of the externally referenced DTD?
>>TIA,
>>* Hieu
>>
>>
>>--
>>
>>--------- Original Message ---------
>>DATE: Mon, 22 Sep 2003 09:45:32
>>From: Gareth Reakes <[EMAIL PROTECTED]>
>>To: "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>,
>>"[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
>>Cc:
>>
>>>Hi,
>>> there is not an example of this in the samples (if you want to
>
>>>write one then that would be great). Take a look at DOMEntityResolver.
>>>Make your own one of these and the setEntityResolver on your parser. To
>>>start with you could just print out what the parameters are. Then you
>will
>>>need to translate them into where you want to look for the entity.
>>>
>>>Gareth
>>>
>>>
>>>On Sun, 21 Sep 2003, Hieu Bui wrote:
>>>
>>>> Could you please point me to this example code for the version 2.3.0
>>distribution? I want to use a local DTD file for parsing even though the
>XML
>>refers to a URL for the DTD.
>>>>
>>>> Regards,
>>>>
>>>> --Hieu
>>>>
>>>>
>>>> --
>>>>
>>>> --------- Original Message ---------
>>>>
>>>> DATE: Thu, 18 Sep 2003 12:00:58
>>>> From: "Erik Rydgren" <[EMAIL PROTECTED]>
>>>> To: <[EMAIL PROTECTED]>
>>>> Cc:
>>>>
>>>> >No, all requests for external entities are routed through your entity
>>>> >resolver. Just have the resolver return an inputstream pointing to a
>>>> >local file representing the URL. The parser will only try to open the
>>>> >URL if the entityresolver doesn't provide an inputsource.
>>>> >
>>>> >/ Erik
>>>> >
>>>> >> -----Original Message-----
>>>> >> From: Ilan Nehama [mailto:[EMAIL PROTECTED]
>>>> >> Sent: den 18 september 2003 10:49
>>>> >> To: [EMAIL PROTECTED]
>>>> >> Subject: RE: Validation against XML schema without internet
>>connection
>>>> >>
>>>> >> Thanks for the quick response
>>>> >>
>>>> >> After writing the EntityResolver that finds the XSD file and attach
>it
>>>> >the
>>>> >> DOMParser, I'll still have http links in my XML and XSD files.
>>>> >> In the XSD:
>>>> >> !DOCTYPE xs:schema SYSTEM "
>http://www.w3.org/2001/XMLSchema.dtd"
>>>> >[
>>>> >> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>>>> >> elementFormDefault="unqualified">
>>>> >> In the XML:
>>>> >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>> >>
>>>> >> Should I delete those?
>>>> >> Aren't them the cause to my problem?
>>>> >>
>>>> >> Thanks
>>>> >> Ilan
>>>> >>
>>>> >
>>>> >
>>>> >
>>>> >---------------------------------------------------------------------
>>>> >To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> >For additional commands, e-mail: [EMAIL PROTECTED]
>>>> >
>>>> >
>>>>
>>>>
>>>>
>>>> Need a new email address that people can remember
>>>> Check out the new EudoraMail at
>>>> http://www.eudoramail.com
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>>
>>>
>>>--
>>>Gareth Reakes, Head of Product Development +44-1865-203192
>>>DecisionSoft Limited http://www.decisionsoft.com
>>>XML Development and Services
>>>
>>>
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>
>>
>>
>>Need a new email address that people can remember
>>Check out the new EudoraMail at
>>http://www.eudoramail.com
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>For additional commands, e-mail: [EMAIL PROTECTED]
>>
>
>
>
>Need a new email address that people can remember
>Check out the new EudoraMail at
>http://www.eudoramail.com
>
>---------------------------------------------------------------------
>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]
>
>
Need a new email address that people can remember
Check out the new EudoraMail at
http://www.eudoramail.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]