Warning:
This wiki has been archived and is now read-only.
DISelect-Separation
From UWA
Contents
Initial ideas to isolate DISelect expressions from the presentational markup in DIAL
Contributors: José Manuel Cantera Fonseca, Telefónica I+D
Date: September 2007
Current Syntax
DISelect instructions are in the DIAL markup
<sel:select> <sel:when expr="eg:supportsContent('image/jpeg')"> <img src="bigmsflood.jpeg" /> </sel:when> <sel:when expr="eg:supportsContent('image/gif')"> <img src="bigmsflood.gif" /> </sel:when> </sel:select>
Main Drawbacks
- Mix content selection with the general structure of the page
- Hard to read and mantain
- Hard to reuse expressions in an application or sets of applications
- Difficult to implement
Alternative representation
- There is a separation between selection aspects and structural aspects.
- A DIAL authored unit references a selection authoring unit.
- There is a binding between DISelect block and a DIAL block. A DIAL block that bounds to a DISelect block can access all the variables declared under that DISelect block.
- The DIAL processor must execute the bound DISelect block before rendering.
<?xml version="1.0" encoding="UTF-8"?> <?diselect href="selection.xml"?> <!-- Can we declare a DTD and assume implicitly the namespaces to be used --> <html xmlns:sel="http://www.w3.org/2004/06/diselect" xmlns="http://www.w3.org/2002/06/xhtml2/"> <head> <title>This is an IDEAL page</title> <link rel="style" href="mystylesheet.css" /> </head> <body> <div> <img sel:blockid="block1" src="{$myImage}" /> </div> </body> </html>
<!-- selection.xml --> <?xml version="1.0" encoding="UTF-8"?> <diselect xmlns="http://www.w3.org/2004/06/diselect"> <diblock id="block1"> <variable name="myImage" value="" /> <sel:select> <sel:when expr="eg:supportsContent('image/jpeg')"> <sel:variable ref="myImage" value="bigmsflood.jpeg"> </sel:when> <sel:when expr="eg:supportsContent('image/gif')"> <sel:variable ref="myImage" value="bigmsflood.gif"> </sel:when> </sel:select> </diblock> </diselect>
References
Elliot's Rusty Harold comments