[xsd-users] Modify XSD compiler

Wesley Peters Wesley.Peters at tachyon.com
Tue Feb 5 17:22:10 EST 2013


Yes, very helpful email links.  This paragraph in particular:

> In a nutshell, you would add the generation of the accept()
> declarations in tree-header.cxx. The implementations can be
> generated in tree-source.cxx. You can also add an option,
> say --generate-visitor <visitor-name>, which would trigger
> the generation as well as provide the visitor class name.

Is a pretty concise summary of what needs to be done.

ODB looks interesting, we already looked at it, but we have a short timeline for this.  Perhaps worth revisiting in the future.


On 2/5/13 6:40 AM, "Boris Kolpackov" <boris at codesynthesis.com> wrote:

Hi Wesley,

Wesley Peters <Wesley.Peters at tachyon.com> writes:

> Is this an approach other XSD users have employed?

I think a few thought about it. Here are the relevant emails:

http://www.codesynthesis.com/pipermail/xsd-users/2007-April/000931.html
http://www.codesynthesis.com/pipermail/xsd-users/2009-July/002397.html


> Do you have any documentation on the internals of the compiler?

While there is no standalone documentation, the source code is very
well commented (or so I believe).


> Where would I start looking in the source tree to see where your
> code is walking the parse trees and generating the encoding methods?

There are fairly simple generatord (e.g., stream insertion/extraction)
that should give you a pretty good idea on how to start. Also, the
above emails provide an overview.


> ... it should be possible to add code to the XSD compiler to also
> generate the MongoDB "serialization" code.

Another interesting idea would be to run ODB[1] on the XSD-generated
classes. While ODB does not support MongoDB right now, we do have
plans to support it in the future. Just a thought.

[1] http://www.codesynthesis.com/products/odb/

Boris



________________________________

Confidentiality Notice: The information contained in this electronic e-mail and any accompanying attachment(s) is intended only for the use of the intended recipient and is confidential and/or privileged. If you and we have a confidentiality agreement or other non-disclosure obligations between us, this Notice shall be deemed to mark and identify the content of this email and any attachments as confidential and proprietary. If any reader of this communication is not the intended recipient, unauthorized use, disclosure or copying is strictly prohibited, and may be unlawful. If you have received this communication in error, please immediately notify the sender by return e-mail, and delete the original message and all copies from your system. Thank you.

IRS Circular 230 Disclosure: To ensure compliance with requirements imposed by the IRS, please be advised that any U.S. federal tax advice contained in this communication (including any attachments) is not intended or written to be used or relied upon, and cannot be used or relied upon, for the purpose of (i) avoiding penalties under the Internal Revenue Code, or (ii) promoting, marketing or recommending to another party any transaction or matter addressed herein.

E-mail is susceptible to data corruption, interception, unauthorized amendment, tampering and viruses, and we only send and receive e-mails on the basis that we are not liable for any such corruption, interception, amendment, tampering or viruses or any consequences thereof.



More information about the xsd-users mailing list