ID: 19562 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Open +Status: Closed Bug Type: XML related Operating System: Solaris 2.8 PHP Version: 4.2.3 New Comment:
xml_parse_into_struct uses expat as xml-parser and expat is a non-validating parser which does not care about DTDs (AFAIK) chregu Previous Comments: ------------------------------------------------------------------------ [2002-09-23 13:21:52] [EMAIL PROTECTED] 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 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=19562&edit=1