[Home] [By Thread] [By Date] [Recent Entries]

  • To: "Mike Champion" <mc@x...>,<xml-dev@l...>
  • Subject: RE: Must databinding imply tight coupling? (was Re: New tool for handling XML in Java)
  • From: "Dare Obasanjo" <dareo@m...>
  • Date: Thu, 13 Feb 2003 06:56:59 -0800
  • Thread-index: AcLTZH4Ej7QgWJstR4ScvtJfPl7AiQACpy/l
  • Thread-topic: 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 [expletive deleted]. 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:mc@x...] 
	Sent: Thu 2/13/2003 5:31 AM 
	To: xml-dev@l... 
	Cc: 
	Subject:  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.
	
	


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member