Author: sjur Date: Tue Sep 2 22:35:58 2008 New Revision: 691518 URL: http://svn.apache.org/viewvc?rev=691518&view=rev Log: Added i18n matching to the source file lookup, thus allowing l10n of page content for wiki-format pages:
somedoc.en.jspwiki somedoc.es.jspwiki etc can be used to serve localised content using the simple markup format of wikis. Also added some comments. We have used this setup for jspwiki for months at our site, so should work without problems. But it is not tested for the other wiki formats. Modified: forrest/trunk/plugins/org.apache.forrest.plugin.input.wiki/input.xmap Modified: forrest/trunk/plugins/org.apache.forrest.plugin.input.wiki/input.xmap URL: http://svn.apache.org/viewvc/forrest/trunk/plugins/org.apache.forrest.plugin.input.wiki/input.xmap?rev=691518&r1=691517&r2=691518&view=diff ============================================================================== --- forrest/trunk/plugins/org.apache.forrest.plugin.input.wiki/input.xmap (original) +++ forrest/trunk/plugins/org.apache.forrest.plugin.input.wiki/input.xmap Tue Sep 2 22:35:58 2008 @@ -35,57 +35,68 @@ <map:resources> <map:resource name="file-resolver"> <map:select type="exists"> + <!-- Moinwiki Markup --> <map:when test="{lm:project.{uri}.moinwiki}"> <map:match type="regexp" pattern="^(.*?)([^/]*).xml$"> - <map:generate type="text2xml" src="{lm:project.{1}{2}.moinwiki}" /> + <map:match type="i18n" pattern="{lm:project.{1}{2}.*.moinwiki}"> + <map:generate type="text2xml" src="{source}" /> <map:transform type="lexer" src="cocoon:/moinwiki.xlex"/> <map:transform type="parser" src="cocoon:/moinwiki.xgrm"/> <map:transform type="xsltc" src="{lm:wiki.transform.moinwiki.xdoc}"> - <map:parameter name="name" value="{2}" /> + <map:parameter name="name" value="{../2}" /> <map:parameter name="spaceless-filenames" value="true"/> </map:transform> <map:serialize type="xml-document"/> + </map:match> </map:match> </map:when> + <!-- JSPWiki Markup --> <map:when test="{lm:project.{uri}.jspwiki}"> <map:match type="regexp" pattern="^(.*?)([^/]*).xml$"> - <map:generate type="text2xml" src="{lm:project.{1}{2}.jspwiki}" /> + <map:match type="i18n" pattern="{lm:project.{1}{2}.*.jspwiki}"> + <map:generate type="text2xml" src="{source}" /> <map:transform type="lexer" src="cocoon:/wiki.xlex"/> <map:transform type="parser" src="cocoon:/wiki.xgrm"/> <map:transform type="xsltc" src="{lm:wiki.transform.wiki.xdoc}"> - <map:parameter name="name" value="{2}" /> + <map:parameter name="name" value="{../2}" /> <map:parameter name="spaceless-filenames" value="true"/> </map:transform> <map:serialize type="xml-document"/> + </map:match> </map:match> </map:when> + <!-- CWiki Markup --> <map:when test="{lm:project.{uri}.cwiki}"> <map:match type="regexp" pattern="^(.*?)([^/]*).xml$"> - <map:generate type="text2xml" src="{lm:project.{1}{2}.cwiki}" /> + <map:match type="i18n" pattern="{lm:project.{1}{2}.*.cwiki}"> + <map:generate type="text2xml" src="{source}" /> <map:transform type="lexer" src="cocoon:/wiki.xlex"/> <map:transform type="parser" src="cocoon:/wiki.xgrm"/> <map:transform type="xsltc" src="{lm:wiki.transform.wiki.xdoc}"> - <map:parameter name="name" value="{2}" /> + <map:parameter name="name" value="{../2}" /> <map:parameter name="spaceless-filenames" value="true"/> </map:transform> <map:serialize type="xml-document"/> + </map:match> </map:match> </map:when> <!-- Google Code Wiki Markup --> <map:when test="{lm:project.{uri}.wiki}"> <map:match type="regexp" pattern="^(.*?)([^/]*).xml$"> - <map:generate type="text2xml" src="{lm:project.{1}{2}.wiki}" /> + <map:match type="i18n" pattern="{lm:project.{1}{2}.*.wiki}"> + <map:generate type="text2xml" src="{source}" /> <map:transform type="lexer" src="cocoon:/googlewiki.xlex"/> <map:transform type="parser" src="cocoon:/googlewiki.xgrm"/> <map:transform type="xsltc" src="{lm:wiki.transform.googlewiki.xdoc}"> - <map:parameter name="name" value="{2}" /> + <map:parameter name="name" value="{../2}" /> <map:parameter name="spaceless-filenames" value="true"/> </map:transform> <map:serialize type="xml-document"/> + </map:match> </map:match> </map:when> </map:select>