Re: About Constructions rules

Subject: Re: About Constructions rules
From: Brandon Ibach <bibach@xxxxxxxxxxxxxx>
Date: Mon, 19 Jul 1999 20:39:00 -0500
Quoting Didier PH Martin <martind@xxxxxxxxxxxxx>:
> Now about collection of documents:
> A source XML/SGML document contains elements like for instance this:
> <Book>
> <chapter href="file://c:/myStorage/chapter1.xml">Introduction</chapter>
> ....
> </book>
> 
> then have a DSSSL script with
> 
> (element book
>    (process-children)
> )
> 
> (element chapter)
>    (process-node-list (sgml-parse (get-href(current-node)))
> )
> 
> get-href is a custom procedure to get the href value as a string (not added
> to the core function but more like all custom procedures included in
> scripts)
> 
> I found that this construct do the job for collections. Let's call this the
> "pull model" the document is pulled in the output result by the source
> document.
> 
   Yes, this is the approach I was referring to near the end of my last
message.

> An other way to see it is to imagine that the script push the collection in
> the output result and this independently of the source document. The query
> construct is obviously not the right one. A better construct would be
> triggered only once and would not depend on a source document and would also
> include a construct to tell when it is fired so that its result can be
> inserted in the right place. But, such a rule could enter in conflict with
> other rules that are more "event based" or dependent on a source document.
> So, to make the story short, I have to think more about his and the idea was
> emitted prematurely. I do more thinking on this And also do some exploration
> on how other systems implement their rules (like balise, Omnimark). I
> already did this research, but need to do it again with different eyes. From
> this first reasearch on other systems I discovered for instance that XSL is
> having a main construction rule and this is a "query construction rule". It
> also has a query language called XPath. Our concerns about the
> implementation of the query construction rule could be reassured by the XSL
> implementations out there. Anyway, conclusion: I'll think more about the
> push model and now to insert at a precise point an external grove in the
> output result.
> 
   I'm not sure I understand what you're trying for here.  I guess I
always sort of "knew" it, but I have to thank Dr. Steve Newcomb for
explicitly pointing out to me that most SGML processing models (DSSSL
included) are totally "data-driven".  The document that serves as
input to the process totally drives the processing.  So, I have to
ask, why would you want to create a construct that, somehow, does
something all on its own, without being somehow "triggered" by the
source document?  What can you see being able to do with something
like this that can't be done with the approach shown above?

> Brandon said;
>    Good to hear that you guys are looking for ways to improve memory
> handling, especially when dealing with large documents and multiple
> groves.  I think that will be important for making OpenJade robust
> enough to handle some real industrial-strength applications.
> 
> Didier says:
> Yes, but it is a long process. Sometime when I look at the code I feel like
> an archeologist trying to find the intentions of a lost civilization :-)
> 
   Having done the "go in and fix or extend someone else's code"
thing, I know just how you feel. :)  However, knowing that you guys
are getting into the guts of {Open}Jade is a great thing, because it
gives me confidence that the community will have an opportunity to put
into OpenJade all the things we've been wishing Jade had all along.
   On that note, I'm starting to think *very* seriously about making
an attempt at implementing the transformation language in Jade.  I'm
just dying to play with it, and it seems like Jade would be the best
place to get it working quickly, given its stability and widespread
use.
   I've barely begun to lay out a plan of attack for this, and may not
do too much more until I hear from Henry Thompson, who has said that
he'll get me some information on his test implementation based on his
DSC toolkit, as that will probably give me a pretty good head start.  
   I can hack my way through C++ reasonably well, but my time is also
quite limited, so if there are some reasonably skilled C++ programmers
out there who would be interested in contributing to this effort, let
me know, as I'd be more than happy to coordinate the efforts of other
people, in addition to my own, to pull this off.
   So, OpenJade architects, what do you think of trying this?  Can you
see a place for it in OpenJade?

-Brandon :)


 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist


Current Thread