> -----Original Message----- > From: Forest, Sebastien [mailto:[EMAIL PROTECTED]
> Hi Hi Some friendly advice to start: Would you be so kind the next time, to post in plain-text? Not a problem for me specifically, but some would find it a reason to ignore your question if you don't... Just imagine for a moment what all that HTML looks like in plain text view. Now as to your question: > When I encounter the tag I create a new page-sequence but FOP give me an error > because the page-sequence must be in the fo:root and not in a fo:block. > I'am able to change page-sequence, but only if the tag I'm looking for is at > the root. If this tag ("graphic" in my example) is a child of another tag I > didn't find a way to control it. I think you're going to need three XSL templates for this: (more of a Mulberry-question, come to think of it) - one for the plain <para .../> elements (sans graphiques ;) ) - one for the <graphic .../> elements that are children of the root - one to handle <graphic /> elements with <para .../> ancestors Example stylesheet: <?xml version="1.0" encoding="iso-8859-1" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" /> <xsl:template match="wp"> <foroot> <xsl:apply-templates select="para[not(descendant::graphic)] | //graphic" /> </foroot> </xsl:template> <xsl:template match="para[not(descendant::graphic)]"> <xsl:choose> <xsl:when test="parent::wp"> <fopageseq ref="a"> <foblock> <xsl:apply-templates /> </foblock> </fopageseq> </xsl:when> <xsl:otherwise> <foblock> <xsl:apply-templates /> </foblock> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="graphic[parent::wp]"> <fopageseq ref="b"> <foextgraph src="{.}" /> </fopageseq> </xsl:template> <xsl:template match="graphic[ancestor::para]"> <fopageseq ref="a"> <xsl:for-each select="ancestor::para"> <xsl:sort select="position()" order="ascending" /> <foblock> <xsl:value-of select="text()" /> </foblock> </xsl:for-each> </fopageseq> <fopageseq ref="b"> <foextgraph src="{.}" /> </fopageseq> </xsl:template> </xsl:stylesheet> Modify this to use real fo's, and use it to transform your example XML. Only case not handled by the above template is: a <para> that would be following 'graphic 4' in your example, but would still be a child of the 'para 5' node... Just to give you an idea. Cheers, Andreas --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]