Re: [SDO C++] Problem with special characters in property names

2007-12-04 Thread Caroline Maynard

Pete Robbins wrote:

I've checked a fix for this into the branch. I'll apply it to head later.

Cheers,

On 22/11/2007, Pete Robbins <[EMAIL PROTECTED]> wrote:

I'll need to look into this. I can't find any restrictions in the spec
for characters in property names so I'm assuming NCName. So I think
your patch looks good.

The usual place where hyphens in names become a problem is when
mapping to programming language label but that is something that code
gen should take care of.

This will be an issue in the HEAD as well as the branch.

Cheers,

On 16/11/2007, Caroline Maynard <[EMAIL PROTECTED]> wrote:

A PHP user is facing a problem using a schema which uses the - (hyphen)
character in element names, as second or subsequent character. We thinks
this is valid XML, according to
http://www.w3.org/TR/REC-xml/#NT-NameChar, where the grammar is:

[4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar
| Extender
[5] Name ::= (Letter | '_' | ':') (NameChar)*

What's actually happening is that he's getting an SDO_PropertyNotFound
exception when he tries to set the property. Within the PHP
implementation, this is resolving to

  dop->set('element-name', value)

which ends up at:

void DataObjectImpl::setSDOValue(const SDOString& path,
const SDOValue& sval,
const SDOString& dataType)

Practically the first thing that method does is to call stripPath(),
which removes the hyphen from the element name - resulting in the
exception later on.

I tried this patch:
### Eclipse Workspace Patch 1.0
#P pecl-sdo-FULMAR
Index: commonj/sdo/DataObjectImpl.cpp
===
RCS file: /repository/pecl/sdo/commonj/sdo/DataObjectImpl.cpp,v
retrieving revision 1.20
diff -u -r1.20 DataObjectImpl.cpp
--- commonj/sdo/DataObjectImpl.cpp  24 Aug 2007 15:20:21 -  1.20
+++ commonj/sdo/DataObjectImpl.cpp  16 Nov 2007 19:10:23 -
@@ -951,7 +951,7 @@
 //

 const char* DataObjectImpl::templateString =
-"
/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890=[]._#";
+"
/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890=[]._#-";

 char* DataObjectImpl::stripPath(const char* path)
 {

which appears to fix the problem. But I expect you'll tell me there is
more to it than that. I know there are existing issues about valid
characters in XPaths. But it seems a shame to prevent this simple
scenario from working because of Xpath.


Thank you!


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [SDO C++] Problem with special characters in property names

2007-12-04 Thread Pete Robbins
I've checked a fix for this into the branch. I'll apply it to head later.

Cheers,

On 22/11/2007, Pete Robbins <[EMAIL PROTECTED]> wrote:
> I'll need to look into this. I can't find any restrictions in the spec
> for characters in property names so I'm assuming NCName. So I think
> your patch looks good.
>
> The usual place where hyphens in names become a problem is when
> mapping to programming language label but that is something that code
> gen should take care of.
>
> This will be an issue in the HEAD as well as the branch.
>
> Cheers,
>
> On 16/11/2007, Caroline Maynard <[EMAIL PROTECTED]> wrote:
> > A PHP user is facing a problem using a schema which uses the - (hyphen)
> > character in element names, as second or subsequent character. We thinks
> > this is valid XML, according to
> > http://www.w3.org/TR/REC-xml/#NT-NameChar, where the grammar is:
> >
> > [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar
> > | Extender
> > [5] Name ::= (Letter | '_' | ':') (NameChar)*
> >
> > What's actually happening is that he's getting an SDO_PropertyNotFound
> > exception when he tries to set the property. Within the PHP
> > implementation, this is resolving to
> >
> >   dop->set('element-name', value)
> >
> > which ends up at:
> >
> > void DataObjectImpl::setSDOValue(const SDOString& path,
> > const SDOValue& sval,
> > const SDOString& dataType)
> >
> > Practically the first thing that method does is to call stripPath(),
> > which removes the hyphen from the element name - resulting in the
> > exception later on.
> >
> > I tried this patch:
> > ### Eclipse Workspace Patch 1.0
> > #P pecl-sdo-FULMAR
> > Index: commonj/sdo/DataObjectImpl.cpp
> > ===
> > RCS file: /repository/pecl/sdo/commonj/sdo/DataObjectImpl.cpp,v
> > retrieving revision 1.20
> > diff -u -r1.20 DataObjectImpl.cpp
> > --- commonj/sdo/DataObjectImpl.cpp  24 Aug 2007 15:20:21 -  1.20
> > +++ commonj/sdo/DataObjectImpl.cpp  16 Nov 2007 19:10:23 -
> > @@ -951,7 +951,7 @@
> >  //
> >
> >  const char* DataObjectImpl::templateString =
> > -"
> > /abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890=[]._#";
> > +"
> > /abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890=[]._#-";
> >
> >  char* DataObjectImpl::stripPath(const char* path)
> >  {
> >
> > which appears to fix the problem. But I expect you'll tell me there is
> > more to it than that. I know there are existing issues about valid
> > characters in XPaths. But it seems a shame to prevent this simple
> > scenario from working because of Xpath.
> >
> > (NB we're still on the branch. I don't know if this also applies to the
> > trunk code.)
> >
> >
> > -
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
> --
> Pete
>


-- 
Pete

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [SDO C++] Problem with special characters in property names

2007-11-22 Thread Pete Robbins
I'll need to look into this. I can't find any restrictions in the spec
for characters in property names so I'm assuming NCName. So I think
your patch looks good.

The usual place where hyphens in names become a problem is when
mapping to programming language label but that is something that code
gen should take care of.

This will be an issue in the HEAD as well as the branch.

Cheers,

On 16/11/2007, Caroline Maynard <[EMAIL PROTECTED]> wrote:
> A PHP user is facing a problem using a schema which uses the - (hyphen)
> character in element names, as second or subsequent character. We thinks
> this is valid XML, according to
> http://www.w3.org/TR/REC-xml/#NT-NameChar, where the grammar is:
>
> [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar
> | Extender
> [5] Name ::= (Letter | '_' | ':') (NameChar)*
>
> What's actually happening is that he's getting an SDO_PropertyNotFound
> exception when he tries to set the property. Within the PHP
> implementation, this is resolving to
>
>   dop->set('element-name', value)
>
> which ends up at:
>
> void DataObjectImpl::setSDOValue(const SDOString& path,
> const SDOValue& sval,
> const SDOString& dataType)
>
> Practically the first thing that method does is to call stripPath(),
> which removes the hyphen from the element name - resulting in the
> exception later on.
>
> I tried this patch:
> ### Eclipse Workspace Patch 1.0
> #P pecl-sdo-FULMAR
> Index: commonj/sdo/DataObjectImpl.cpp
> ===
> RCS file: /repository/pecl/sdo/commonj/sdo/DataObjectImpl.cpp,v
> retrieving revision 1.20
> diff -u -r1.20 DataObjectImpl.cpp
> --- commonj/sdo/DataObjectImpl.cpp  24 Aug 2007 15:20:21 -  1.20
> +++ commonj/sdo/DataObjectImpl.cpp  16 Nov 2007 19:10:23 -
> @@ -951,7 +951,7 @@
>  //
>
>  const char* DataObjectImpl::templateString =
> -"
> /abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890=[]._#";
> +"
> /abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890=[]._#-";
>
>  char* DataObjectImpl::stripPath(const char* path)
>  {
>
> which appears to fix the problem. But I expect you'll tell me there is
> more to it than that. I know there are existing issues about valid
> characters in XPaths. But it seems a shame to prevent this simple
> scenario from working because of Xpath.
>
> (NB we're still on the branch. I don't know if this also applies to the
> trunk code.)
>
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


-- 
Pete

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[SDO C++] Problem with special characters in property names

2007-11-16 Thread Caroline Maynard
A PHP user is facing a problem using a schema which uses the - (hyphen) 
character in element names, as second or subsequent character. We thinks 
this is valid XML, according to 
http://www.w3.org/TR/REC-xml/#NT-NameChar, where the grammar is:


[4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar 
| Extender

[5] Name ::= (Letter | '_' | ':') (NameChar)*

What's actually happening is that he's getting an SDO_PropertyNotFound 
exception when he tries to set the property. Within the PHP 
implementation, this is resolving to


  dop->set('element-name', value)

which ends up at:

void DataObjectImpl::setSDOValue(const SDOString& path,
const SDOValue& sval,
const SDOString& dataType)

Practically the first thing that method does is to call stripPath(), 
which removes the hyphen from the element name - resulting in the 
exception later on.


I tried this patch:
### Eclipse Workspace Patch 1.0
#P pecl-sdo-FULMAR
Index: commonj/sdo/DataObjectImpl.cpp
===
RCS file: /repository/pecl/sdo/commonj/sdo/DataObjectImpl.cpp,v
retrieving revision 1.20
diff -u -r1.20 DataObjectImpl.cpp
--- commonj/sdo/DataObjectImpl.cpp  24 Aug 2007 15:20:21 -  1.20
+++ commonj/sdo/DataObjectImpl.cpp  16 Nov 2007 19:10:23 -
@@ -951,7 +951,7 @@
 //

 const char* DataObjectImpl::templateString =
-" 
/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890=[]._#";
+" 
/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890=[]._#-";


 char* DataObjectImpl::stripPath(const char* path)
 {

which appears to fix the problem. But I expect you'll tell me there is 
more to it than that. I know there are existing issues about valid 
characters in XPaths. But it seems a shame to prevent this simple 
scenario from working because of Xpath.


(NB we're still on the branch. I don't know if this also applies to the 
trunk code.)



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]