On Fri, 2004-10-29 at 04:48, Neil Williams wrote: > The main difference is that I would like to use the XML for data interchange > between QOF applications and to make the format more like a simple bag than a > tree:
"bag vs. tree" isn't really the problem, is it? What's wrong with your palm conduit just writing out gnucash's existing format? There's no requirement that the palm conduit use gnucash's data model or object hierarchy... > <?xml version="1.0"?> > <qof-bag-v1> > <qof:count-data cd:type="book">1</qof:count-data> > <qof:book version="1.0.0"> > <book:id type="guid">c0dd5ca1b11338f3ceae57f6e0106d75</book:id> > <qof:count-data cd:type="qof-expenses">1</qof:count-data> > <qof:object version="1.0.0" type="qof-expenses"> > <obj:desc type="qof-expenses">Pilot-link QOF expenses</obj:desc> > <obj:id type="guid">c9c3c49db198b3b87e8d513e618f9078</obj:id> > <obj:date type="expense_date">1099016941</obj:date> > <obj:int32 type="type_of_expense">7</obj:int32> > <obj:int32 type="form_of_payment">2</obj:int32> > <obj:int32 type="currency_code">1</obj:int32> > <obj:int32 type="expense_amount">32</obj:int32> > <obj:int64/> > <obj:boolean/> > <obj:string type="expense_vendor">Company Name</obj:string> > <obj:string type="expense_city">City Name</obj:string> > <obj:string type="expense_attendees">Names</obj:string> > <obj:string type="expense_note">Any string content</obj:string> > <obj:gnc_numeric> > <obj:gnc_numeric_enum/> > <obj:gnc_numeric_denom/> > </obj:gnc_numeric> > </qof:object> > </qof:book> > </qof-bag-v1> * do you really mean "bag", or just "collection"? * the outer element isn't namespaced [<qof:bag>?] * the "-v1" isn't really necessary -- that could very well be in the namespace. * the "version=x.y.z" is probably not necessary, either... * is a "book" a first-order concept in QOF? If not, how does the serialization layer know about "book"s? How does it get the namespace declaration from the application layer? > This way, the XML can hold any compatible QOF data. I suggest you take a look at RDF, which attempts to do something similar, but I think more effectively. At least some of the things they've addressed should be present in this. ...jsled -- http://asynchronous.org/ - `a=jsled; b=asynchronous.org; echo [EMAIL PROTECTED] _______________________________________________ gnucash-devel mailing list [EMAIL PROTECTED] https://lists.gnucash.org/mailman/listinfo/gnucash-devel
