Hello Tinny,

Thanks for your answer especially for part II. But can I ask you more?

If I have only xml files and my objective is only test them for be
well-formed. Some files have doctype decl some haven't. I must do only
this test. And in general case I have no dtd file. How can I be equal
to a task?

I think there is nothing bad if parser engine skip reading dtd in this
case. It may notify me about unparsed entity but it must answer the
question about well-formnesty.

Can I think in this way?

TN> For question 1):

TN> If a DTD is specified, the parser will always scan it even if the
TN> validation is off, because DTDs can provide many other information, like
TN> default attributes and entities, in addition to validation.  So the
TN> parser behaviour is correct.

TN> For quesiton 2):

TN> Someone has reported a similar problem earlier, and I think this is a
TN> bug.  With empty DOCTYPE declaration (<!DOCTYPE rootnodename>) and
TN> ValSchemes::Val_Auto, the fHaveSubset should be false and validation
TN> should be off.  I have a fix ready, and should be checked in within the
TN> next few days.

TN> Thanks!

TN> Tinny



TN> Alexey Miroshnichenko wrote:

>> Hi all,
>>
>>   Pardon me if I address my problem not correctly. But may be anyone
>>   can help my with follow questions. I use xerces-c-1_3_0.
>>
>>   1) I have well-formed xml file with DOCTYPE declaration but
>>   corresponding dtd file is absent. I do
>>
>>     setValidationScheme(SAXParser::ValSchemes::Val_Never)
>>
>>   and I suppose that dtd file do not needed in this case. But I catch
>>   exception: unnable open dtd file.
>>   I looked in source. At first we scan dtd file(XMLScanner.cpp,
>>   scanProlog()), then we set up Validation scheme(XMLScanner.cpp,
>>   scanDocument()).
>>
>>   Is this behaviour of parser engine correct?
>>
>>   2) I have well-formed xml file with empty DOCTYPE declaration
>>   <!DOCTYPE rootnodename> and I set ValSchemes::Val_Auto. After
>>   successful scanDTD() we set fHaveSubset = true. And after this
>>   we set fValidate = fHaveSubset, i.e. "true". The same place in
>>   XMLScanner.cpp. So, validation failed.
>>
>>   The same question.
>>
>>   May be I should go to bugzilla?
>>
>>   Thanks before.
>>
>> --
>> Best regards,
>>  Alexey                          mailto:[EMAIL PROTECTED]
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]


TN> ---------------------------------------------------------------------
TN> To unsubscribe, e-mail: [EMAIL PROTECTED]
TN> For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to