From: pt <pt...@pt...> - 2006-07-17 04:16:44
|
Thanks Matt, That makes it much clearer. (Having worked on this kind of problem before I would say that using the second approach (building an XML dom) is preferable because it traps errors earlier. This is an area where I would assume performance is not a huge issue - input to repository is an infrequent low-demand activity, so I would tend to go for ease of maintenance and reliability over performance.) On 7/17/06, Matthew Smith <yo....@gm...> wrote: > > Hi Peter, > > The XML Writer part of Fez happens when we generate XML from the HTML > forms which were generated from XSDs. At the point where the form is > submitted, Fez receives the contents of the form as a HTTP POST. We > then have to turn that into XML and send it to fedora - hence the XML > writer class. > > There are two fairly common methods for generating XML - the quickest > and easiest is to just write strings that are XML correct - this is > the current method used in Fez (it's like SAX in reverse). The second > way is to build the XML using DOM methods and then dump the XML tree. > This is more complicated and resource intensive if the goal is just to > dump the output to a string. > > Usually both methods involve some layers of helper logic to make > things easier. This is what I'm talking about in my previous post. > Fez currently tries to do the HTML POST handling and XML writing all > in the one foxml class. What I am working on is putting a layer > between the code that maps the HTML post forms to XML elements and the > actual writing of the XML to the output string so that we can better > ensure that the XML is valid. > > Matt > > On 7/17/06, pt <pt...@pt...> wrote: > > Matt, > > > > Forgive my ignorance of PHP but can you elaborate on why Fez needs to > have > > an XML writer class? I would have expected this to be built-in to an XML > > framework. One of the stregths of XML is that once data is in XML the > XML > > processing infrastructure should be able to handle encodings > automatically > > and to parse and serialize in a variety of formats. > > > > Peter > > > > > > On 7/13/06, Matthew Smith <yo....@gm...> wrote: > > > Hi Tony, > > > > > > Yes, I have been working on an improved XML writer class between doing > > > a bunch of other things. This is part of the efforts to remove the > > > requirement for Tidy as well. The XML writer class will ensure that > > > special characters are escaped and that the UTF-8 encoding is valid. > > > However, it's not a trivial task. > > > > > > It's a complicated process, the metadata entry form is generated from > > > the configurable XSD/HTML matching rules. The form is submitted and > > > we have to then map all of the input fields back to their XSD elements > > > and build the XML to send to fedora. Version 1.2 has the second > > > revision of that code which broke it up into more managable pieces. > > > Hopefully we'll be able to improve on it in subsequent revisions. > > > > > > An interim fix is to look in class.foxml.php and try putting > > > htmlspecialchars() around the $HTTP_POST_VARS and $_POST lookups. > > > > > > Matt > > > > > > On 7/13/06, James Brunskill < bru...@wa...> wrote: > > > > Hi, > > > > > > > > We recently submitted a bunch of documents into a test fez > repository. > > > > Since the metadata (particularly abstracts) had been copied and > pasted > > > > from the pdf document, the often contained "invalid" characters > (such as > > > > 'curly' quotes, integrated +/- signs etc). When you enter these into > fez > > > > and submit the document you get a nasty looking xml error. > > > > > > > > ERROR: Array ( [0] => Array ( [faultcode] => > > > > soapenv: Server.userException [faultstring] => > > > > fedora.server.errors.StorageDeviceException: Error > > attempting update of > > > > object with pid 'UoW:67: Data truncation: Data truncated for column > > > > 'dcDescription' at row 1 [detail] => Array ( [hostname] => > > > > liby-cog3.liby.waikato.ac.nz ) ) [1] => > > > > > > > > + A whole bunch of debug information. > > > > > > > > Perhaps the worst thing about this problem is that you have to go > back > > > > and reenter all metadata for the document, you can't just click back > and > > > > fix the invalid char. > > > > > > > > I assume this is a known problem? Have there been any solutions > > > > developed or in development? > > > > > > > > Regards, > > > > > > > > James Brunskill > > > > Library Systems Consultant > > > > The University of Waikato > > > > Ph: +64 7 838 4323 > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > Using Tomcat but need to do more? Need to support web services, > > security? > > > > Get stuff done quickly with pre-integrated technology to make your > job > > easier > > > > Download IBM WebSphere Application Server v.1.0.1 based on Apache > > Geronimo > > > > > > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > > > _______________________________________________ > > > > Fez-users mailing list > > > > Fez...@li... > > > > https://lists.sourceforge.net/lists/listinfo/fez-users > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > Using Tomcat but need to do more? Need to support web services, > security? > > > Get stuff done quickly with pre-integrated technology to make your job > > easier > > > Download IBM WebSphere Application Server v.1.0.1 based on Apache > Geronimo > > > > > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > > _______________________________________________ > > > Fez-users mailing list > > > Fez...@li... > > > https://lists.sourceforge.net/lists/listinfo/fez-users > > > > > > > > > > > -- > > Peter (pt) Sefton > > Toowoomba 4350 > > Queensland, Australia > > Phone: +61 4 1032 6955 > > Web: http://ptsefton.com > > Email: pt...@pt... > > > > > ------------------------------------------------------------------------- > > Using Tomcat but need to do more? Need to support web services, > security? > > Get stuff done quickly with pre-integrated technology to make your job > > easier > > Download IBM WebSphere Application Server v.1.0.1 based on Apache > Geronimo > > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > > > > > _______________________________________________ > > Fez-users mailing list > > Fez...@li... > > https://lists.sourceforge.net/lists/listinfo/fez-users > > > > > > > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job > easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Fez-users mailing list > Fez...@li... > https://lists.sourceforge.net/lists/listinfo/fez-users > -- Peter (pt) Sefton Toowoomba 4350 Queensland, Australia Phone: +61 4 1032 6955 Web: http://ptsefton.com Email: pt...@pt... |