Well firstly I hope the workaround I gave is allowing you to continue working.
Looking back I see that your original issue was with a LG phone, can you let me see a 'bad' listing from it too. It might be a different issue. The issue I fixed for the LG previously was with the date/time format and not with -perm.
So, the listing from the SonyEricsson contains file items like the following:
<file name="Petanque_2" size="313" created="20080721T175000Z" accessed="20080721T040000Z" user-perm=""/>
Note that the user-perm attribute has an empty string value. However, the DTD defined in the OBEX specification defines the user-perm and related attributes as:
<!ATTLIST file user-perm NMTOKEN #IMPLIED>
NMTOKEN however doesn't allow an empty value. So the value in that listing is illegal per the DTD and hence the error from the .NET XmlReader. SonyEricsson haven't checked the validity of the listing against the DTD!
Thinking about the specification of the user-perm attribute however, and one sees that if an item is not Readable, Writeable, nor Deletable then the empty string is the correct value. (Again SonyEricsson is sending bad data thus, presumably those files are really "RWD"!) So, I'm going to change the library to contain a modified version of the DTD that substitutes CDATA for NMTOKEN there, that'll allow the empty string to be accepted. I just have to decide how to make the original (more strict) version available to any library consumers that want it.
Andy