TechEd '04: DAT379 XML Today and Tomorrow
Okay, one of the top sessions I've been waiting for. Go Mark go, go Mark go!
- Talked about the XML as cardboard analogy -- the origami of XML.
- Version 2 themes
- Performance
- Usability
- XQuery and XPath
- XML <> ADO.NET
- XML tools in Visual Studio
- Use XMLTextReader whenever possible
- Talked about new features
- Read node as type (e.g.
XmlConvert.ToDouble(reader.ReadElementString()); becomes price =
reader.ReadAsDouble()
- Static reader rather classes of readers. Think about a Factor method
for Readers and Writers. Much easier to parse and validate while
streaming. Mark did a couple of good demos.
- Security bits around XSLT
- Type Writters
- Default implementations of base XmlReader and XmlWriter classes
- Good walk-through demo
- Showed using ReadValueAsList as an element value parser. Very
nice.
- Use XmlDocument with care. Use it only if you are going to query with
XSLT or XPath. Keep in mind that most of the time XPathDocument might be a
better choice. (consider it the primary replacement)
- In V2, in memory validation is enabled
- XQuery supported in the framework.
- XmlReader and XmlNavigator can be latched on to for an XmlDocument in
V2.
- XPathEditableNavigator, which exposed using an XmlWriter and have IUD
events and long with change tracking
- Good Mort-level demo of this for inflating book prices.
- V2 Adds XSLTCommand Class and XQueryCommand class
- Xpath for query, XSLT to transform XML
- XQuery
- Made the XQuery:SQL as XML:Database
- XQuery is essentially a superset of XPath (at a fairly high
level)
- Talked about FLWOR with a nice demos, especially joint T-SQL and
XQuery demo.usng sql:query()
- XSLT in V2 essentially emits IL, as previously mentioned thanks to
that XSLT debugging
- Remember that although XQuery and its embedded support is essentially
read only, but you could used OpenXML to do the updates if memory serves me
right.
- Talked about the XML Tools in VS2K5
- XML Editor with correctness and syntax checking and Intellisense if
the document has a bound schema.
- Step through debugging of XSLT baby, I can't wait.