On 30 Mar, 19:41, "Charlie Moad" <[EMAIL PROTECTED]> wrote:
> On 3/30/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
> > 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.
>
> I can always do the following:
>
> DOMDocument::loadXML($xmldas->saveString($doc));
>
> I was just hoping the underlying implementation was using libxml, and
> it would be trivial to return a DOMDocument instance.
>
> I just won't have time in the near future to look at this since it
> will require me to understand a lot of php/c-api stuff I have never
> worked with.
Hi Charlie

The SDO implementation does use libxml under the covers to parse
incoming XML using the SAX like interface but I think we would have to
create a DOM on the fly from the SDO data tree. This would be more
efficient to do in C but not a straight read from the libxml
structures. Anyhow I've added it to the wish list (http://www.osoa.org/
display/PHP/SDO+Wish+List).

Regards

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