RE: [xml-dev] Must databinding imply tight coupling? (was Re: New tool for handling XML in Java)

From
Dare Obasanjo <>
To
Mike Champion <>,
Date
2003-02-13T14:56:59Z
ID
<>
Thread
RE: [xml-dev] Must databinding imply tight coupling? (was Re: New tool for handling XML in Java)
Hardened XML geeks would prefer using an XML API that doesn't suck. His code takes two lines of readable code using .NET Framework APIs without having to resort to a data binding technology. A compilable example follows 
 
using System;
using System.Xml; 

public class Test
{
  
   public static void Main(string[] args) {       
     XmlDocument doc = new XmlDocument(); 
     doc.LoadXml(@"<stock>
                     <price>4</price>
                     <expenses>4000000</expenses>
                     <revenues>8900000</revenues>
                   </stock>"); 
 
     //!!!!ONE LINE OF CODE !!!!
     double PEratio = (double)
       doc.CreateNavigator().Evaluate("/*/price div (/*/revenues - /*/expenses)");     
 
     Console.WriteLine("PE Ratio = {0}", PEratio);      
     
  }
}


	-----Original Message----- 
	From: Mike Champion [mailto:] 
	Sent: Thu 2/13/2003 5:31 AM 
	To:  
	Cc: 
	Subject: [xml-dev] Must databinding imply tight coupling? (was Re: New tool for handling XML in Java)
	
	

	Only hardened XML geeks would prefer (stealing Bosworth's example)
	
	Tree t = ParseXML("somewhere");
	PERatio = number(t.getmember(
	"/stock/price"))  /
	(( number(t.getmember(
	"/stock/revenues") - number(
	t.getmember("/stock/expenses"))
	
	over
	
	XML x  = getxml("somewhere");
	PERatio = x.price/( x.revenues - x.expenses);
	
	And that's assuming XPath!  The raw DOM or SAX code would be considerably
	more tedious.