Using ODF Relax NG schema to generate easier XML writing classes

Jos van den Oever jos.van.den.oever at kogmbh.com
Fri Jun 10 19:28:55 BST 2011


On Friday, June 10, 2011 20:24:08 PM Pierre wrote:
> On Friday 10 June 2011 12:49:18 Jos van den Oever wrote:
> > On Friday, June 10, 2011 08:22:04 AM Jos van den Oever wrote:
> > > Can you think of a reason why this would not work?
> > 
> > I can now. The circular nature of element nesting make is harder to
> > create these classes. E.g. office:document can have (at some depth) a
> > "office:image" which can have an "office:document" inside.
> > 
> > Who can think of an elegant solution for this?
> > 
> > Find my first attempt attached.
> > 
> > Cheers,
> > Jos
> 
> I can't see that as a problem, with a good class definition...
> What is the problem exactly ?

I had code like this:

class B;
public:
class A {
  B startB();
};

class B {
public:
  A startA();
};

which is not possible. I changed it now to

class B;
class A {
public:
  A(const B&);
};
class B {
  B(const A&);
};

which does work. The current header file is nearly a megabyte, but compiles 
down to nearly no code if you do not use much, in my current version which 
adds 'inline' to each function.

Cheers,
Jos












-- 
Jos van den Oever, software architect
+49 391 25 19 15 53
074 3491911
http://kogmbh.com/legal/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: odf.h.bz2
Type: application/x-bzip
Size: 41871 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20110610/d611ddd1/attachment.bin>


More information about the calligra-devel mailing list