XML integration with ADO+ Keyword Discovery
Get our FREE SEO Guide
Subscribe to our newsletter to receive useful SEO tips, tricks, strategies, free ebooks that are available only to our subscribers and get this amazing SEO guide for free!

Your email is safe and will NEVER be shared with any other parties. And of course, you can unsubscribe at any time.

Name:
Email:
SEO Elite - #1 SEO Software

Who Else Wants To Finally Get A #1 Google Ranking In As Little As 7 Days... And Drive A Minimum Of 789 Unique Visitors To Your Websites Per Day?

Search engine position PHP script

Check the position of your website within the search results for a specific keyword - in all three search engines at once

Only $9.95
Coming soon ...


Self SEO Store  
SEO forum
Website templates
Flash templates
Best hosting reviews.
Free Internet & IT Magazines.
Articles archive

Submit your article

Register
Login

Search
XML news feeds
Free RSS news reader
Contact


AddThis Feed Button

XML integration with ADO+

Posted by Pawan Bangar on: 2005-04-16 14:57:39

Self SEO > Hardware Articles


One of the most important design goals for ADO+ was powerful XML support. Microsoft designed ADO+ hand in hand with the .NET XML framework. Both are components of a single architecture. The unification of ADO+ with the XML framework happens in the dataset.



For beginners datasets has methods that can read and write XML. For reading XML, the XML framework parser is used, either explicitly or implicitly. For writing XML out, the XML framework XmlWriter is utilized.

In spite of where the data originated, the dataset can save out its contents, both schema and data as XML. The schema is encoded as an internal W3C schema section, generally known as XSD, and the data is encoded as XML that be conventional to that schema. Because the dataset's native serialization format is XML, it is an tremendous medium for moving data between tiers in a disconnected fashion just like the disconnected recordset.

Indeed, .NET Web services make intense use of datasets to transport data in the context of a schema between tiers of an application. Just like populating the dataset via its object model or through managed providers, loading the dataset with XML is a two stage process.

1) The schema is created, and then the data is loaded. If the XML document comes with a schema, that schema is used to create the relational structure of the dataset. If not, the dataset can infer schema from the containment relationships within the document. In general speaking, elements that are not scalar valued are mapped to tables, whereas attributes and scalar valued elements are mapped to columns.

2) The process of inferring schema is useful when constructing an application that has to consume XML that comes with no schema. But for production applications, it is highly desirable to take the inferred schema, modify it as appropriate, and load that schema in before the actual data is loaded. That way, the process of loading the document is deterministic, so you don't have to worry about what a slight change in the incoming document will do to the inference heuristics.

Whatever the means for setting the dataset's schema, when it comes time to load XML into the dataset the following rules are used:

1) Elements with a certain name are mapped into the dataset of the same table name.

2) Attributes and scalar-valued sub-elements are mapped into columns of that table.

3) The schema of the table is expanded as appropriate if the columns are not already in the dataset or if the dataset does not already contain a table by the same name.

When loading an XML schema into the dataset, a table is created for each complex type in the schema, and containment is expressed using primary/foreign key relationships. The key columns are automatically inserted into the schema, and a Data relation is added for each pair of related tables.

Therefore, when loading data that resides in multiple tables from SQL server or any other database that supports XML, it is in some ways more expedient to use the XML loading facilities rather than the DataSet command. The former enables loading all the data in one step, whereas the latter requires a dataset command per table, and also involves setting up the relationships between the tables manually.


About the Author

Presently working in the capacity of the Technical Director of Birbals, an e-consulting firm based in India dedicated in providing innovative and effective web, Hospitality and consultancy services to public, private and non-profit organizations. Successfully founded Birbals and other IT companies like Ebirbals and SeoBirbals.




Print this article    Tell a friend
Post New Comment

This site does not allow anonymous comments. Registered members can login to participate. Registration is free and takes only a few seconds