Subject: [xsl] Re: xsl-list Digest 15 Apr 2005 05:10:00 -0000 Issue 388 From: "Magic Finger" <magic.finger@xxxxxx> Date: Fri, 15 Apr 2005 09:51:11 +0200 |
And exactly this made me headaches and lead me to ask the community for help.
Best regards, Maik
Date: Thu, 14 Apr 2005 10:24:05 -0400 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx From: cknell@xxxxxxxxxx Subject: RE: Re: [xsl] how to translate XML with XHTML-formatted element to FO Message-ID: <B0036942183@xxxxxxxxxxxxxxxxxxxxx>
I remain puzzled over the idea that there are "escaped" HTML tags in your input XML file. They appear as ordinary HTML tags in my email. In order to proceed I will put this down to a different understanding of what "escaped" means. If I have misunderstood you, please clarify the matter further.
I have taken your input and output and written a stylesheet that will produce the expected output. Well, almost. In your input file you have the bold and italic tags nested in the Donald Duck entry, but they are not nested in the desired output you posted. I will assume that this is a typing error and go on to produce nested output as is suggested by the input document's structure.
Given all these caveats, this stylesheet produces what I think you want.
<?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:output method="xml" indent="yes" encoding="UTF-8" /> <xsl:strip-space elements="*" />
<xsl:template match="/"> <fo:flow flow-name="xsl-region-body"> <xsl:apply-templates /> </fo:flow> </xsl:template>
<xsl:template match="BOOKS"> <xsl:apply-templates /> </xsl:template>
<xsl:template match="BOOK"> <fo:block> <fo:block space-before.optimum="1pt" space-after.optimum="2pt"> <xsl:apply-templates /> </fo:block> </fo:block> </xsl:template>
<xsl:template match="AUTHOR"> <fo:block>Author: <xsl:value-of select="." /></fo:block> </xsl:template>
<xsl:template match="PRICE"> <fo:block>Price : US$ <xsl:value-of select="." /></fo:block> </xsl:template>
<xsl:template match="TITLE"> <xsl:choose> <xsl:when test="child::*"> <fo:block>Title : <xsl:apply-templates /></fo:block> </xsl:when> <xsl:otherwise> <fo:block>Title : <xsl:value-of select="." /></fo:block> </xsl:otherwise> </xsl:choose> </xsl:template>
<xsl:template match="b"> <xsl:choose> <xsl:when test="child::*"> <fo:inline font-weight="bold"><xsl:apply-templates /></fo:inline> </xsl:when> <xsl:otherwise> <fo:inline font-weight="bold"><xsl:value-of select="." /></fo:inline> </xsl:otherwise> </xsl:choose> </xsl:template>
<xsl:template match="i"> <xsl:choose> <xsl:when test="child::*"> <fo:inline font-style="italic"><xsl:apply-templates /></fo:inline> </xsl:when> <xsl:otherwise> <fo:inline font-weight="italic"><xsl:value-of select="." /></fo:inline> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet> -- Charles Knell cknell@xxxxxxxxxx - email
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Trouble with position!, omprakash . v | Thread | Re: [xsl] xsl, and different xml ve, David Carlisle |
Re: [xsl] Preventing tags from coll, Cas Tuyn | Date | Re: [xsl] Preventing tags from coll, Cas Tuyn |
Month |