ANN: xsdbXML release with C#/.NET port

  • Thread starter aaronwmail-usenet
  • Start date
A

aaronwmail-usenet

ANN: xsdbXML release with C#/.NET port

Part I: Announcement
====================
There is a new release of xsdbXML which provides
bugfixes to the Python implementation and also
provides a completely separate implementation in C#/.NET.

The xsdb framework provides a flexible and well defined
infrastructure to allow tabular data to be published,
retrieved, and combined over the Internet.

Read more and download at
http://xsdb.sourceforge.net

Part II: Discussion
===================
The C# implementation is primarily a transliteration
of the Python implementation. I hope to also do a java
transliteration of the C# code. Some brief observations:

- Development:
Using python for the first implementation was the
right way to go because it made it easier to backtrack
and refactor the implementation. If I had tried this
in C# backtracking would have been much more painful.
Testing Python code, especially during development, is also
much easier in part because you can write
{"a": [1,2,3], "b": MyClass("argument")}
in a few keystrokes whereas a C# analogue runs to many
lines.
Interestingly, however, the C# port exposed several
nasty bugs in untested code paths of the python
implementation (incorrect calling sequences) because of C#
static typing, even before the C# code was running or
even compiling.
For the most part the transliteration was
straightforward, except where the python implementation
leans on the python expression parser (the parser had
to be "hand rolled" in C#).

- Libraries:

The python http services are more "bare bones" than the
..NET libraries and this is a *GOOD* *THING* (tm). The
..NET libraries seem to do all kinds of nice things under
the surface where I can't influence their behavior (even
in principal because of the type system information hiding).
The python implementation pretty much allows me to
modify any part of the implementation, and the default does
as little as possible. My reservations about the C# http
services didn't actually cause problems in this case, but
it made me nervous.

On the other hand it's nice in C# to not have to guess about
which XML library to use. As any python programmer can
attest it is not fun trying to decide which of several
implementations is the best and will stay alive, etcetera.
I just arbitrarily chose the one I knew already, but I
really should switch to something else, dunno what.
In C# there is only one choice.

- Environment

What can I say. VS/.NET is really nice and there is
nothing close in Python AFAIK.

- Conclusion

Don't have any. I'm just making comments :).

Thanks for your attention -- Aaron Watters

===
% if I had a ( for every $ bush spent how many ('s would I have?
too many ('s
 
P

paron

Hello, Aaron

Nice work! (I think). The examples make xsdb look pretty slick. Where
are you headed with it? Is it a one-off, a hobby, a new standard, or
just a how-about-that?

I see that I can get <nothing/> as a response to a query; how about as
a value in a table? I wasn't quite sure that I could find an example of
a "null" in any of the examples on the Sourceforge homepage -- is it
possible? undesirable?

Finally, I couldn't find any .cs files in the download -- did I get the
wrong package?

Still, very intriguing work, regardless of the answers.

Ron Phillips
 
A

aaronwmail-usenet

Yikes! Ron pointed out below that sourceforge was uploading
the wrong file. This was some sort of sourceforge bug because
the download page reported the correct filesize but downloaded
a smaller file. I *think* it's fixed now. He writes below.
Hello, Aaron

Nice work! (I think). The examples make xsdb look pretty slick. Where
are you headed with it? Is it a one-off, a hobby, a new standard, or
just a how-about-that?

Depends on the delusions of grandeur quotient of the moment.
It's at least a way to keep my brain from turning into a cabbage,
and I'm going to try to get other people interested too.
I see that I can get <nothing/> as a response to a query; how about as
a value in a table? I wasn't quite sure that I could find an example of
a "null" in any of the examples on the Sourceforge homepage -- is it
possible? undesirable?

If an attribute is missing in a table then that is an "unknown"
null value. Aggregate values can also have a "no value" nothing
of form said:
Finally, I couldn't find any .cs files in the download -- did I get the
wrong package?

See above. Aarrgh.
Still, very intriguing work, regardless of the answers.

Thank! -- Aaron Watters
 
P

paron

I <strong>really</strong> like having distinct "unknown" and "no value"
nulls defined as a part of the db.

I'm going to have a play with the .cs classes -- they downloaded this
time, no problem.

Ron
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,236
Members
46,825
Latest member
VernonQuy6

Latest Threads

Top