On 29 Mar, 19:27, "Charlie Moad" <[EMAIL PROTECTED]> wrote:
> On 3/29/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
> > On 29 Mar, 17:30, "Charlie Moad" <[EMAIL PROTECTED]> wrote:
> > > On 3/29/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>
> > > > On 28 Mar, 20:59, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote:
> > > > > Hi all,
> > > > >      I just started using SDO_XML and it is proving extremely useful.
> > > > > I just wanted to ask a quick question that someone might know.  I have
> > > > > several schemas that use qualified elements, so I have to put a prefix
> > > > > on the element names.  Is there anyway I can force the saved xml to
> > > > > have a prefix on the default namespace?
>
> > > > > Thanks,
> > > > >      Charlie
>
> > > > Hi Charlie, I don't have a difinitive answer for you but looking at
> > > > the code it looks like this is the way that libxml2 does things so you
> > > > may be stuck with it for the time being. This is the line from
> > > > SDOXMLWriter.cpp that writes out the root element:
>
> > > > rc = xmlTextWriterStartElementNS(writer, NULL, elementName,
> > > > elementURI);
>
> > > > So it looks like its down to how libxml2 handles the elementName and
> > > > namespace URI. There may be a way of changing this so I'm hoping one
> > > > of the SDO experts will jump in if that is the case.
>
> > > > I have found the qualification (or not) of elements to be a bit of a
> > > > minefield.  Can I just check that when you say "force the saved xml to
> > > > have a prefix on the default namespace?" I assume you are talking
> > > > about having:
>
> > > > <tns:SomeElement xmlns:tn="my namespace"/>
>
> > > > as opposed to
>
> > > > <SomeElement xmlns="mynamesapce"/>
>
> > > > At the root element level.  Is that right?
>
> > > That's the gist of it.  I should clarify that the validation problems
> > > really only pop up when I am required to use qualified attributes.  I
> > > think a way to address this would be to have a function to bridge to
> > > DOM.  DOM allows you to control prefixes.  How hard would it be to add
> > > a new function:
>
> > > DOMDocument SDO_DAS_XML::saveDOM(SDO_XMLDocument $xdoc)
>
> > > Just writing to a string and file can be somewhat limiting.
>
> > > Thanks,
> > >      Charlie
>
> > That's an interesting idea. Would we need to go the other way as well?
> > Do you know much about the PHP DOM implementation?
>
> I started suggesting the two-way bridge, but I think it would require
> a lot more work to make a DOM-to-SDOXML function.  It would have to
> make sure the document is a valid schema or schema instance.
>
> I only know the DOM api is a cover of libxml.  I have not looked at the c-api.
Ok, off the top my head, we could look at doing a simple PHP user
space conversion from SDO to DOM, I.e. we could do the write side of a
DOM DAS (Data Access Service).  I made a simple JSON DAS a little
while back and that wasn't too hard.

It would be more efficient to do it in the C extension but harder to
code I guess. If in the future someone wanted to convert it to work at
the libxml level I'm sure it could be done. What do you think? If you
feel like having a go at it let me know.

Simon


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"phpsoa" group.
To post to this group, send email to phpsoa@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.co.uk/group/phpsoa?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to