[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Fwd: Re: [xml] xml help



Is there any way of checking that the dtd that is referenced in the xml file
exists and if so, can we check that the dtd is valid.

Thanks

Mike
--
Michael Picheca, pichecma mcmaster ca on 12/13/2001


--- Original Message ---
From: "Daniel Veillard" <veillard redhat com>
To: Michael Picheca <pichecma mcmaster ca>
Cc: <xml gnome org>
Sent: Mon, 10 Dec 2001 11:35:12 -0500
Subject: Re: [xml] xml help

>On Mon, Dec 10, 2001 at 11:26:34AM -0800, Michael Picheca wrote:
>> I tried using the xmlDoValidityCheckingDefaultValue =1 that you
>>suggested and
>> I
>> need to be able to halt the program after the validation with the
>>dtd listed
>> within the xml file fails. How do I do that? Is there a return
>>value or
>> something that I can use to invoke a halt? WHen I was using
>>xmlValidateDtd it
>> would return 0 if it failed and I would halt the program at this
>>point.
>>
>
> The problem is taht interfaces like xmlParseFile don't allow you
>to do this !
> You need to use more advanced interfaces like the ones used in
>xmllint.c
>where you create your own parser context:
> Look at xmllint.c code, somethings like the following should work:
>
>  xmlParserCtxtPtr ctxt;
>
>  xmlDoValidityCheckingDefaultValue =1;
>  ctxt = xmlCreateFileParserCtxt(filename);
>
>  xmlParseDocument(ctxt);
>  ret = ctxt->wellFormed;
>  valid = ctxt->valid;
>  doc = ctxt->myDoc;
>  xmlFreeParserCtxt(ctxt);
>  if (!ret) {
>    xmlFreeDoc(doc);
>    doc = NULL;
>  }
>
>Daniel
>







[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]