[ https://issues.apache.org/jira/browse/FOR-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sina K. Heshmati updated FOR-1167: ---------------------------------- Attachment: FOR-1167-skins.patch This patch helps transfer the class attribute from <xdoc:body> to <html:body> for Pelt skin. The transfer is intentionally limited to @class but it's quite simple to extend the stylesheets to convey more attributes. Let's say we'd also like to have @onunload transfered, then we'd have to add two templates to two stylesheets as follows: (Step. 1.1) to $FORREST_HOME/main/webapp/skins/common/xslt/html/document-to-html.xsl This will help copy @onunload from <xdoc:body> to <div id="content"/> that is part of the document processed by site-to-xhtml.xsl --where <html:body> is generated. This is not an ideal choice but adding an extra element might have broken other templates. <xsl:template match="@onunload" mode="carry-body-attribs"> <xsl:attribute name="onunload"> <xsl:value-of select="."/> </xsl:attribute> </xsl:template> (Step. 1.2) to $FORREST_HOME/main/webapp/skins/common/xslt/html/site-to-xhtml.xsl Now, attributes are copied from <div id="content"/> to <html:body>. <xsl:template match="@onunload" mode="carry-body-attribs"> <xsl:attribute name="onunload"> <xsl:value-of select="."/> </xsl:attribute> </xsl:template> Even though the two templates look exactly alike but they do different things. Adding i.e. @onload might be more complicated as <html:body> already has an @onload; so carrying attributes that already exist will require special care. Fixing this issue for other skins would be as simple as adding two instructions to document-to-html.xsl and site-to-xhtml.xsl of each skin. (Step 2.1) to $FORREST_HOME/main/webapp/skins/${SKIN-NAME}/xslt/html/document-to-html.xsl <xsl:apply-templates select="body" mode="carry-body-attribs"/> After <div id="content"> in <xsl:template match="document"/> (Step 2.2) to $FORREST_HOME/main/webapp/skins/${SKIN-NAME}/xslt/html/site-to-xhtml.xsl After <body .../> in <xsl:template match="site"/> <xsl:call-template name="carry-body-attribs"/> > class attribute of body element in XDocs source is not included in generated > HTML > --------------------------------------------------------------------------------- > > Key: FOR-1167 > URL: https://issues.apache.org/jira/browse/FOR-1167 > Project: Forrest > Issue Type: Bug > Components: Skins (general issues) > Affects Versions: 0.9-dev > Reporter: Brolin Empey > Fix For: 0.9-dev > > Attachments: FOR-1167-skins.patch > > > Here is the body element of my XDocs source file: > <body class="product_heading"> > The generated HTML does not include the class attribute. > See <http://thread.gmane.org/gmane.text.xml.forrest.devel/27106>. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.