A few questions...

Jul 30, 2009 at 1:47 AM

First, thanks for this great work.

I am particularly interested in its support for huge files. In this case, what are the
limitations of handling huge files with this library?

Does the XPathNavigator created by the document class supports editing?

Best regards,
Paul.

Coordinator
Jul 30, 2009 at 11:32 AM

 

Thank you.
First a few words about internals of implementation XQueryNavigator.
The main idea is creating internal representation of XML document based on psevdo-relation structure that XPathNavigator descendant dynamically 
represents as tree. It allows us to use well-known page file organization for virtualization XML document on disk. In other words, 
we write XmlReader output  to table and nothing else.  Each row of this table is SAX-event that can be processed in XQueryNavigator. 
Filling in this table and reading the source XML file is taking place on-demand while navigating.
Actually for performance reasons we write elements with attributes as one record and create links from element end to element 
start for backward navigation. Summary the row can be root, empty element, element start, element end, text, 
comment and processing instruction.
The link is System.Int32 and this is first limitation. Next limitation is page file implementation.
I think the answer to your question is  “more than 4GB”. More accurate answer requires some research.
Currently XQueryNavigator is not a support editing, but implemented XmlWriter class XQueryDocumentBuilder.
Semyon

Thank you.

 

First a few words about internals of implementation XQueryNavigator.

The main idea is creating internal representation of XML document based on psevdo-relation structure that XPathNavigator descendant dynamically 

represents as tree. It allows us to use well-known page file organization for virtualization XML document on disk. In other words, 

we write XmlReader output  to table and nothing else.  Each row of this table is SAX-event that can be processed in XQueryNavigator. 

Filling in this table and reading the source XML file is taking place on-demand while navigating.

Actually for performance reasons we write elements with attributes as one record and create links from element end to element 

start for backward navigation. Summary the row can be root, empty element, element start, element end, text, 

comment and processing instruction.

The link is System.Int32 and this is first limitation. Next limitation is page file implementation.

I think the answer to your question is  “more than 4GB”. More accurate answer requires some research.

 

Currently XQueryNavigator is not a support editing, but implemented XmlWriter class XQueryDocumentBuilder.

 

Semyon

 

Aug 11, 2009 at 12:48 AM

Thanks for the reply and the information.

>>Semyon: Currently XQueryNavigator is not a support editing, but implemented XmlWriter class XQueryDocumentBuilder.
Thanks, I will see how far this can go in my work.

Just a quick question...any plan to extend to XML Database? (http://en.wikipedia.org/wiki/XML_database)
I have being evaluation this option these days, but could still not find any "native" open source .NET version.

Best regards,
Paul.

Coordinator
Aug 16, 2009 at 4:31 PM

I suppose, XML Database implementation is a great task to be done by one
person. Except I'd like my XQuery implementation to be compact and simple.
A full function XML Database will be too big as embedded engine and
dedicated server applications have already flooded the market. 
But this implementation can be extended to be a universal XML database 
front-end over an external relation database accessed via ADO .NET

Aug 19, 2009 at 5:31 AM

>>Semyon: I suppose, XML Database implementation is a great task to be done by one person.
Thanks, I like those realistic approach.

>>Semyon: But this implementation can be extended to be a universal XML database front-end...
This is what I was refering to by the "native". Implementation that could work with SQLite.NET could be cool.

Thanks for the support and the information.

Best regards,
Paul.