Re[2]: [xsd-users] How to build an object process graph with custom types
Bo Ba
bo-ba at mail.ru
Fri May 13 16:58:03 EDT 2011
Hi Flo
It seems that your project is what I was looking for. Correct me if I am wrong, but it seems that xsd cannot handle creation of the custom type instances, only xsd schema types, which, as far as I could gather from the documentation, are extensions of standard c++ classes.
Thanks.
Bo
Thu, 12 May 2011 22:24:47 +0200 письмо от Florian Paul Schmidt <fschmidt at techfak.uni-bielefeld.de>:
> On 05/12/2011 04:08 PM, Bo Ba wrote:
> >
> > I am not sure I follow you on the difference between "requested
> > datastructure" and "custom in-memory representation of the XML document",
> > however, it seems to me that you have a nice design using factories for each
> > type. Could you explain the difference above? Do you have a runnable
> > example, like xsd's?
> >
> > Thanks.
> >
> > Bo
>
> Hi again.
>
> Well, my software uses XSD, too. Let me explain a bit more. Say you have
> some Type X
>
> namespace mystuff {
>
> struct Y {
> // ...
> };
>
> struct X {
> Y m_Y;
>
> // ...
> };
>
> } // namespace
>
> And corresponding XSD schema types in some .xsd file (an example in my
> CBF stuff would be e.g. CBF::PrimitiveController and the corresponding
> XSD schema type (see schemas.xsd)). Now the XSD compiler generates a
> parser AND a C++ class for each of the types in your schema, in this
> case X and Y, let's say we have XSD generate them in their own
> namespace, let's say schema. So XSD generates code for the classes
> schema::X and schema::Y. And when the generated parser parses a valid
> XML file corresponding to this schema, it also creates the correct
> instances of schema::X and schema::Y. But what we really want is to have
> mystuff::X and mine::Y created. Since this task cannot be completely
> automated, there is some manual labor involved in this (for example
> mystuff::X needs to do something with network connections or whatever).
>
> So the classes generated by XSD really only represent the XSD schema and
> the parser generates an object tree of these generated classes when it
> parses a valid XML file, but does not produce an object tree of your
> real target objects (in your case the nodes of your dataflow graphical
> language).
>
> The XML factory stuff in CBF is used for exactly this last step. It just
> makes some repetitive tasks easier.
>
> Did i confuse you even more now? :D
>
> Regards,
> Flo
More information about the xsd-users
mailing list