OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Refreshed genx.h, plus some plans

[ Lists Home | Date Index | Thread Index ]

On Sat, Jan 24, 2004 at 02:18:42PM -0500, Elliotte Rusty Harold wrote:
> At 10:19 AM -0800 1/24/04, Tim Bray wrote:
> >It dawned on me that with all the checking and so on, genx might not 
> >be as fast as it could possibly be.  The way to fix this is obvious, 
> >but it might amount to premature optimization.  The idea is that you 
> >predeclare your elements and attributes and get handles to them, so 
> >that they only need to be namechecked and sorted once.
> 
> Definitely premature. 

I strongly disagree.

Tim's intent may be to add genxDeclareElement / genxFastStartElement
as a speed optimization, but I would use it to write more expressive
code.  For example:

  #define XSL_NAMESPACE "http://www.w3.org/1999/XSL/Transform";
  #define XHTML_NAMESPACE "http://www.w3.org/1999/xhtml";

  genxElement xsl_template = genxDeclareElement(w, XSL_NAMESPACE, "template");
  genxElement xhtml_a = genxDeclareElement(w, XHTML_NAMESPACE, "a");
  ...

  genxFastStartElement(w, xsl_template);
  ....
  genxFastStartElement(w, xhtml_a);
  genxFastStartAttribute(w, xhtml_href, "http://www.w3.org/";);

This abstraction increases the expressivity of genx.  If it also happens
to be a speed enhancement, that's a nice secondary benefit.  

(I dislike the 'genxFast' prefix, but don't have a suggestion for an
alternative.)

Z.





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS