php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #19562 xml_parse_into_struct does not follow XML 1.0 specs w.r.t. default attributes
Submitted: 2002-09-23 13:21 UTC Modified: 2002-11-28 07:30 UTC
From: mmicu at voyanttech dot com Assigned:
Status: Closed Package: XML related
PHP Version: 4.2.3 OS: Solaris 2.8
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: mmicu at voyanttech dot com
New email:
PHP Version: OS:

 

 [2002-09-23 13:21 UTC] mmicu at voyanttech dot com
XML 1.0 specs say that default attribute values will be parsed as if those attributes were directly specified:

From the XML 1.0 Spec (http://www.w3.org/TR/2000/REC-xml-20001006#attdecls)

"[Definition: If the declaration is neither #REQUIRED nor #IMPLIED, then the AttValue value contains the declared default value; the #FIXED keyword states that the attribute must always have the default value. If a default value is declared, when an XML processor encounters an omitted attribute, it is to behave as though the attribute were present with the declared default value.]"

I have the following DTD:

<!ELEMENT J ...>
<!ATTLIST J att #FIXED 20>

and the following XML:

<J>
...
</J>

The xml_parse_into_struct function does NOT place the attribute "att=20" into the struct.  Furthermore, if I change the XML to read:

<J att=45>
...
</J>

xml_parse_into_struct WILL place the attribute "att=45" into the struct (so non-default attributes DO work), but in actuality, this should fail, because the #FIXED keyword specifies that the value cannot be changed.

-MM

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-11-28 07:30 UTC] chregu@php.net
xml_parse_into_struct uses expat as xml-parser and expat is a non-validating parser which does not care about DTDs (AFAIK)

chregu
 [2004-07-26 17:55 UTC] qwer70019 at hotmail dot com
hamad
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Sun Jan 05 00:01:29 2025 UTC