You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by bu...@apache.org on 2004/01/13 15:38:05 UTC

DO NOT REPLY [Bug 26094] New: - Base64Binary validation failed when length is zero

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26094>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26094

Base64Binary validation failed when length is zero

           Summary: Base64Binary validation failed when length is zero
           Product: Xerces-C++
           Version: 2.3.0
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Validating Parser (Schema) (Xerces 1.5 or up only)
        AssignedTo: xerces-c-dev@xml.apache.org
        ReportedBy: law@laposte.net


If a base64binary element have no data, the validation failed with the following
message : 

"Datatype error: Type:InvalidDatatypeValueException, Message:Value '' is not
encoded in Base64 ."

To reproduce, create an XD with 
<xs:element name="DONNEES" type="xs:base64Binary"/>
and an XML with
<DONNEES/>

There is also a different behaviour in the Java implementation. One may be
right, but which one ?

In \src\xercesc\validators\datatype\Base64BinaryDatatypeValidator.cpp
we have :
    if (getLength(content) <= 0)

In the JAVA Version of xerces, it seems the test is different :
    if (getLength( content) < 0) {


Which version is right ? It would be fine if the two implementation have the
same behaviour.

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-c-dev-help@xml.apache.org