As far as I can make sense from the many comments in forrest.xmap ;-) the processing of *.html source files happens in line 238
> <map:match type="i18n" pattern="{properties:content.xdocs}{1}.*.html"> > <map:generate src="{source}" type="html" /> > <map:transform src="{lm:transform.html.document}" /> > <map:serialize type="xml-document"/> > </map:match> now following {lm:transform.html.document} I find that locationmap.xml loads a secondary locationmap in line 69 <select> <mount src="{forrest:forrest.context}/locationmap-transforms.xml"/> </select> which in turn processes our transformation in line 142 <!-- All core other transforms --> <match pattern="transform.*.*"> <select> <location src="{properties:skins-dir}{forrest:forrest.skin}/xslt/html/{1}-to-{2}.xsl" /> <location src="{forrest:forrest.context}/skins/{forrest:forrest.skin}/xslt/html/{1}-to-{2}.xsl"/> <location src="{forrest:forrest.context}/skins/common/xslt/html/{1}-to-{2}.xsl"/> <location src="{forrest:forrest.stylesheets}/{1}-to-{2}.xsl"/> </select> </match> by looking for the stype sheet named html-to-document.xsl in any of those locations. Correct so far? What I don't get is why we no longer have that idgen-step > <map:transform type="idgen" /> which was there in 0.7 and is still used in .8 for ihtml. Any explanations? Regards, Ferdinand Soethe