[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] XSLT template library creation
Hi people! I'd like to create a XSL template library for producing HTML in a per-skin way. That is: suppose you have a multi-skin site; each user is able to select the skin he likes; the output, e.g. XHTML page, is produced by a XML->XSLT transformation. My idea is to develop a set of named-templates that abstracts presentation widgets (table, button, list, ...). So we have two type of XSL: 1) one that is skin-indepedent (it uses the per-skin XSL template library) 2) one that is skin-dependent (i.e. the per-skin template library) the number 1) will include the XSL document related to current skin: <xsl:stylesheet ...> <xsl:import href="/path/to/current/skin/my_template_lib.xsl" /> ... <!-- use of imported named-templates --> </xsl:stylesheet> So here the problems: complex widget, like tables, may take complex "data" as parameters; e.g: call-template name="my:table" with-param name="thead" select=??? / with-param name="tbody" select=??? / with-param name="tfooter" select=??? / /call-template the value for each param may be a RTF (Result Tree Fragment); however, while it happens that RTF for "tbody" is taken from XML tree (e.g. <xsl:with-param name="tbody" select="/root/nodes" />"), RTF for "thead" and "tfooter" have to be just created in XSL sheet; for example something like: <xsl:with-param name="thead" select="create-rtf(text-node('col1_caption'),text-node('col2_caption'))" /> where "create-rtf" and "text-node" functions are hypothetic XSL function :( Summary: * there are complex widget that can take complex parameters. * sometimes it is necessary to create RTF from simple text. Constraints and goals: * XSLT 1.0; * no extension elements (I use Sablotron XSLT processor; currently it supports only "func:script" EXSLT extension). * 1 pass of XML/XSLT processing (i.e. avoid XML->XSLT->XSLT pipeline) * abstraction and good performance ;) Any idea ?? Thanx in advance for reading and eventually answering!!! Marco Guazzone marco.guazzone@xxxxxxxxxxx Kerbero S.r.L. 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
|