From: Graham B. <gb...@po...> - 2002-01-10 15:58:42
|
On Wed, Jan 09, 2002 at 10:12:46PM +0100, Peter Marschall wrote: > Hi, > > > On Tuesday 08 January 2002 17:21, you wrote: > > An interesting question. It would make parsing rather interesting. You are > > right that the RFC does not disallow this. Net::LDAP assumed that no > > sensible person would do that (like many apps assume no sensible person > > puts spacing in filenames :) > Who says they are sensible (maybe they just forgot quoting/escaping ;-)) > > > If you can provide a schema (or subset of one) with this I will see what I > > can do. > Of course, here it is for the single quotes and the undescores > (line breaking manually done by me): > > attributeTypes: ( 2.16.840.1.113719.1.55.4.1.1 NAME 'newObjectSDSRights' > DESC 'Standard Attribute' SYNTAX 2.16.840.1.113719.1.1.5.1.17 > X-NDS_NAME 'New Object's DS Rights' > X-NDS_NOT_SCHED_SYNC_IMMEDIATE '1' ) > attributeTypes: ( 2.16.840.1.113719.1.56.4.1.1 NAME 'newObjectSFSRights' > DESC 'Standard Attribute' SYNTAX 2.16.840.1.113719.1.1.5.1.15{64512} > X-NDS_NAME 'New Object's FS Rights' > X-NDS_NOT_SCHED_SYNC_IMMEDIATE '1' ) > attributeTypes: ( 2.16.840.1.113719.1.57.4.1.1 NAME 'setupScript' > DESC 'Standard Attribute' SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 SINGLE-VALUE > X-NDS_NAME 'Setup Script' X-NDS_NOT_SCHED_SYNC_IMMEDIATE '1' ) Actually, if you read the RFC it states that a qdstring is qdstring = whsp "'" dstring "'" whsp Note that there is leading, and trailing whitespace. So teh above can be parsed simply by changing one line in Schema.pm That is '([^']*)' to '((?:[^']+|'\S)*)' and now the above parses fine Graham. |