Subject: presentation pipeline [was] Re: [xsl] Landscape print control From: "Mike Haarman" <mhaarman@xxxxxxxxxxxxxxxxxx> Date: Fri, 5 Sep 2003 09:41:47 -0500 |
From: "Andrew Welch" <AWelch@xxxxxxxxxxxxxxx> > > > So do you maintain two completely separate stylesheets, one > > > for html and one for pdf? I'm about to do something similar > > > and I can see issues where one has been updated without the > > > other. Is it simply the case when a change is required you > > > have to make the change twice? > > > > > > There are two ways of structuring this to achieve reuse between the > two > > transformations. One is to do a two-phase transformation in which the > > first phase does all the work that is common. The other is to put all > > the common code in a module that is imported into both the > stylesheets. > <snip/> > ..in your html-producing stylesheet and a corresponding template in your > fo-producing stylesheet, what happens when its decided the background > should be red? > > How can we arrange it so that change from blue to red is made in one > place rather than both stylesheets? > I actually adopt a bit of both the solutions Mr Kay mentions. Pipeline a pair of SAX transformations: first bringing data into an intermediate reporting markup; second grabs one of two presentation stylesheets. Both presentation layer stylesheets include properties stylesheet which makes heavy use of attribute-sets to group common layout properties. Recall that attribute-sets can reference other attribute-sets in their definition. I build them up incrementally into high-level groups of properties and can reference the atomic properties when necessary. I actually include three properties stylesheets which provide application, installation and user-group levels of properties. Include precedence determines which properties are applied when I ask for use-attribute-sets in the templates. If a set is defined in properties.installation, it overrides the definition in properties.application, etc. In practice, having separated print and web views, the two began to diverge to take advantage of their relative strengths. I began by short-cutting the client's print button and ended up creating a consistent, attractive print reporting regime, but I can still change blue to red in one place without blowing away a local installation's preference for green. I think CSS can be used to manage aspects of this requirement, as well, since CSS2 is a subset of FO properties, but I don't have experience with that route. Mike XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Landscape print control, Michael Kay | Thread | RE: [xsl] Landscape print control, Wendell Piez |
RE: [xsl] Landscape print control, Michael Kay | Date | RE: [xsl] following-sibling on attr, Michael Kay |
Month |