[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Fw: Streaming XSL
Didier PH Martin <martind@xxxxxxxxxxxxx> wrote: >Because there is no attribute in XSL to indicate that each rule/template is >autonomous we relied on the PI so that we didn't changed the XSL syntax - >same thing for dsssl. We created a new media property for this the "stream" >media property. So if the xml document has a PI like: ><?xml-stylesheet href="myscript.xsl" type="text/xsl" media="stream"?> >then we process each template/rule independently as soon as a complete >markup is arrived. This impose that we cannot query for a property or >element located outside this markup and its children. If this is the case, >an error is generated. So each template has to be a complete expression >without any external dependencies, except with markup children dependencies. > >For most of the streams, it seems to work So for "stream" media you implicitly declare all templates in the stylesheet to be "complete". Interesting idea. What would be better - declaring the whole stylesheet to be "streaming" or to specify "completeness" per template? As you've pointed out, the first is limiting to stylesheet writers, but is much simpler. The use of a "stream" media to specify this seems like a kludge (though I appreciate how you came to use it in the current framework). It really should be in the <xsl:stylesheet> element. BTW, is there a simple syntactic restriction associated with "stream" stylesheets, so that the XSL processor could immediately report an invalid sheet? Things like never use absolute element path in select patterns, never select siblings, that sort of thing? Have fun, Oren Ben-Kiki XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|