Gareth,
You said, ... It makes me wonder if it would be more appropriate to store these attributes as either a separate information item type (from an XML Infoset perspective) or alternatively use the xml: attribute prefix to mark them as something special. I say, I am entirely open to switching up the syntax for community consensus. In the beginning "oid" was "ObjectID". It was abbreviated as I suspect UpdateTime should be. The OID is needed immediately after obtaining the element name since the OID links us to the place where the attributes, data, and children elements will go. Note that any element can have and OID but few do. Right after the element name seems the most logical place to me, the syntax can be anything with consideration to XML 1.0 well-formed-ness - so a "reserved word" attribute was used. You said, I still don't get why you would want to store and update data in one single humongous XML file, but there is obviously a good reason for that in your application. (Are you using an XML database and XQuery too?) I say, the example of a huge XML file was purely hypothetical. It is a conceivable non-ideal case that would demand some super fast parser. The XML Database is an area of great interest to me. Where XML meets the DBMS kernel for a native implementation is a place I think about frequently. Here is an article about a product that used "oid", this was from sometime around 2001 : https://onedrive.live.com/redir?resid=D7EC275E76D295CF%21777 Even before that I had developed a distributed datamart system that parsed, re-wrote and optimized SQL as part of the implementation. I was 1/3 of the development resources on that project and used caching ODBC drivers I developed myself. Brian |