← Prev in month ← Prev in thread

Re: [xml-dev] Does an XML parser do DTD validation (in addition to parsing)? XML Parser = Parser + DTD Validator?

From
Ghislain Fourny <>
To
"Costello, Roger L." <>
Date
2016-04-29T11:21:19Z
ID
<>
Thread
Re: [xml-dev] Does an XML parser do DTD validation (in addition to parsing)? XML Parser = Parser + DTD Validator?
Hi Roger,

It has to do with well-formedness vs. validation, which are two different things. A parser in the strictest sense of the term only looks at well-formedness.

The XML specification explicitly distinguishes between non-validating processors and validating processors.

https://www.w3.org/TR/REC-xml/#proc-types

I'd express it more in terms of: validating processor = non-validating processor + DTD validation.

I hope it helps.

Kind regards,
Ghislain


On Fri, Apr 29, 2016 at 1:14 PM, Costello, Roger L. <[email protected]> wrote:

Hi Folks,

 

Below is an XML instance document with a DOCTYPE declaration that references an external DTD.

 

When I “validate” the XML instance document (e.g., click on “validate” in Oxygen XML), what is doing the validation? Is it an XML parser that is doing the validation? If so, then an XML parser does both parsing and (DTD) validation, yes?

 

XML Parser = Parser + DTD Validator?

 

/Roger

 

aircraft.xml

-----------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE aircraft PUBLIC "-//example//aircraft//EN" "aircraft.dtd" >
<aircraft>
           
<model>Boeing 747</model>
           
<altitude units="feet">12000</altitude>
</aircraft>

-----------------------------------------------------------------

 

aircraft.dtd

-----------------------------------------------------------------

<!ELEMENT aircraft (model, altitude)>

<!ELEMENT model (#PCDATA)>

<!ELEMENT altitude (#PCDATA)>

<!ATTLIST altitude
             units (feet|meters) #REQUIRED>

-----------------------------------------------------------------

 


← Prev in month ← Prev in thread