OK, 100 xslt params would be too complicated as xslt params. I have 2 more options though :)
1. Option with pure xml/xsl How about making properties a raw xml data (with xml serializer, not txt), e.g. <properties> <key1>value1</key1> <key2>value2</key2> ... <keyN>valueN</keyN> </properties> and in subsequent XSLT use: <xsl:variable name="properties" select="/Root/properties"/> and each parameter inserted with <xsl:value-of select="$properties/keyX"/> ? With this approach, it is a matter of rewriting your XSL that generates HTML. 2. Option with RESTController Use generator to get properties out from database and put it inside a Map, then call string-template to render XML/HTML with values from Map: <map:match pattern="homepage"> <map:generate src="homepage.xhtml" type="stringtemplate" /> <map:serialize type="html" /></map:match> <map:match pattern="homepage.html"> <controller:call controller="rest-controller" select="HomepageController"> <map:parameter name="lang" value="{jexl:cocoon.request.lang}" /> </controller:call></map:match> @RESTControllerpublic class HomepageController implements Get { @SitemapParameter private String lang; @RequestParameter private String someParam; public RestResponse doGet() throws Exception { // get properties out from database --> custom jdbc code here ResultSet rs = properties_from_db; // put it inside Map Map<String, Object> data = new HashMap<String, Object>(); while (rs.hasNext()) { rs.next(); data.put(rs.getString("key"), rs.getString("value")); } return new Page("servlet:/homepage", data); }} Greetings, Greg 2014/1/17 Alberto Brosich <abros...@ogs.trieste.it> > On Fri, 2014-01-17 at 16:44 +0100, gelo1234 wrote: > > How about a workaround that puts those properties values into XSL > > params and transform with standard XSLTransformer not > > i18nTransformer ? > > mmh, it seems quite complicated. The properties file is more than one > hundred lines long. How can I pass all these properties? > A choice could be a dynamic xslt, built querying the database. But can I > specify a "servlet:" protocol in the src attribute of an xsl > transformer? I think no. > > > > > > > > Where do you need those properties in pipeline ? > > I have a pipeline that produce an html page, querying a database. > > <map:match pattern="homepage"> > <map:generate src="files/homepage.xml" /> > <map:transform type="sql"> > <map:parameter name="use-connection" value="dataSource" /> > </map:transform> > <map:transform src="stylesheets/homepage-sql2xml.xsl"/> > <map:transform type="i18n"> > <map:parameter name="locale" value="{jexl:cocoon.request.lang}" /> > <map:parameter name="bundle" value="COB-INF/files/translations" /> > </map:transform> > <map:transform src="stylesheets/homepage2html.xsl"/> > etc... > > > > > > > > > Greetings, > > Greg > > > > > > > > 2014/1/17 Alberto Brosich <abros...@ogs.trieste.it> > > > > Yes, it's really simple. > > The source file is an xml file with a sqltransformer query. > > The query is simple: just a select to a specific table (or > > view) with a where condition. > > Then an xsl transformer convert the xml to txt with a pair of > > key and value for every row. > > That's all. > > > > <map:pipeline internal-only="true"> > > > > <map:match pattern="translations_*.properties"> > > <map:generate type="string-template" > > src="files/dbdata.xml"> > > <map:parameter name="table" > > value="messages"/> > > <map:parameter name="fields" > > value="key_value, value"/> > > <map:parameter name="condition" > > value="lang_id='{map:1}'"/> > > <map:parameter name="orderfields" > > value="1"/> > > <map:parameter name="rowcount" > > value="100000"/> > > </map:generate> > > <map:transform type="sql"> > > <map:parameter name="use-connection" > > value="dataSource" /> > > </map:transform> > > <map:transform src="stylesheets/sql2properties.xsl"/> > > <map:serialize type="txt"/> > > </map:match> > > > > > > This is a snip of the xsl stylesheet: > > > > <xsl:template match="sql:row"> > > <xsl:text> > > <xsl:value-of select="sql:key_value"/></xsl:text> > > <xsl:text>=</xsl:text> > > <xsl:text><xsl:value-of > > select="sql:value"/></xsl:text> > > </xsl:template> > > > > > > Alberto > > > > > > On Fri, 2014-01-17 at 15:30 +0100, gelo1234 wrote: > > > Can you show here your full original Cocoon pipeline ? Do > > you store > > > property files content or property filenames inside db ? > > > > > > > > > Greetings, > > > Greg > > > > > > > > > > > > 2014/1/17 Alberto Brosich <abros...@ogs.trieste.it> > > > > > > Hi, > > > > > > I'm migrating a 2.1 cocoon application to 3.0, using > > > beta1-SNAPSHOT > > > because I need the sql transformer. > > > As I wrote in the subject, I'm need to specify an > > internal > > > pipeline as > > > bundle for the i18n transformer, because the > > properties file > > > has to be > > > derived from database. Using a plain file it works. > > > I tried several urls using "servlet:" protocol, but > > without > > > success. > > > > > > I have the following internal pipeline: > > > <map:match pattern="translations_*.properties"> > > > > > > and I tried several bundles urls like: > > > <map:parameter name="bundle" > > value="servlet:/translations" /> > > > or > > > <map:parameter name="bundle" > > > > > > value="servlet:/translations_{jexl:cocoon.request.lang}.properties" /> > > > > > > The exception is: > > > org.apache.cocoon.pipeline.SetupException: > > > java.util.MissingResourceException: Can't find > > bundle for base > > > name > > > servlet:/translations, locale en > > > > > > What I doing wrong? > > > > > > Best regards > > > > > > Alberto > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: > > users-unsubscr...@cocoon.apache.org > > > For additional commands, e-mail: > > users-h...@cocoon.apache.org > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: users-unsubscr...@cocoon.apache.org > > For additional commands, e-mail: users-h...@cocoon.apache.org > > > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@cocoon.apache.org > For additional commands, e-mail: users-h...@cocoon.apache.org > >