Subject: RE: [xsl] Elements within "as-is" environment misaligning From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Tue, 11 Dec 2007 21:12:37 -0000 |
Are you sure you have set indent="no" in xsl:output? That's the only obvious thing I can think of. Last time I helped a user with a whitespace problem I eventually got them to show me the whole stylesheet and it turned out it said xml:space="preserve" somewhere within it. That's just to illustrate that it's quite hard to diagnose these problems when you can only see a snippet. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Cindy Hunt [mailto:Cindy.Hunt@xxxxxxx] > Sent: 11 December 2007 20:09 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Elements within "as-is" environment misaligning > > Hi- > > I am experiencing problems when transforming sections of > "as-is" code. I have an element which contains a sample of > programming code within it. > Within the code sample I have some additional elements I call > <codeFocus> which will highlight that part of the code when > it is formatted. During the XSL-FO transform, the alignment > around these <codeFocus> elements gets messed up. The first > one seems fine but then the 2nd one has an extra blank line > that appears before it starts and the start tag is shifted > over to the right (so it is no longer "as-is"). > > I am using a Saxon parser and version 1.0. I use Antenna > House for the FO formatting but the problem occurs before the > doc is formatted. > > My XML input: > <code>Dim obConnection As New ADODB.Connection > Dim obRecordset As New ADODB.Recordset > > <codeFocus>obConnection.Provider = "SAS.IOMProvider.1"</codeFocus> > <codeFocus>obConnection.Properties("Prompt") = > adPromptAlways</codeFocus> > obConnection.Open > > obRecordset.Open "sasuser.MyData", obConnection, > adOpenDynamic, adLockOptimistic, adCmdTableDirect > ' Operate on obRecordset. > </code> > > > My FO output (note the blank line between the 2 fo:inline and > how the 2nd one indents in now): > <fo:block font-family="'Courier > Standard', 'monospace', 'Arial Unicode MS' " > font-size="8.5pt" font-stretch="90%" > line-height="12pt" start-indent="93pt+15pt" > linefeed-treatment="preserve" white-space-treatment="preserve" > white-space-collapse="false" wrap-option="no-wrap" space-before="6pt" > space-after="0pt">Dim obConnection As New ADODB.Connection > Dim obRecordset As New ADODB.Recordset > > <fo:inline background-color="rgb(235, 235, 235)" > padding-left="2pt" > padding-right="2pt">obConnection.Provider = > "SAS.IOMProvider.1"</fo:inline> > > <fo:inline background-color="rgb(235, > 235, 235)" > padding-left="2pt" > padding-right="2pt">obConnection.Properties("Prompt") > = adPromptAlways</fo:inline> > obConnection.Open > > obRecordset.Open "sasuser.MyData", obConnection, > adOpenDynamic, adLockOptimistic, adCmdTableDirect > ' Operate on obRecordset. > </fo:block> > > I did notice that if I type a letter before the 2nd > <codeFocus> element, it works fine and doesn't insert the > extra line or shift over. > > I even tried defining my xsl:template on a line by itself as > not to get any carriage returns: > <xsl:template match="codeFocus"><fo:inline > background-color="rgb(235, 235, 235)" padding-left="2pt" > padding-right="2pt"><xsl:apply-templates/></fo:inline></xsl:template> > > Does anyone have any ideas to prevent this from happening? > > Any suggestions appreciated, > Cindy Hunt
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Elements within "as-is" envir, Cindy Hunt | Thread | Re: [xsl] Elements within "as-is" e, Wendell Piez |
[xsl] Elements within "as-is" envir, Cindy Hunt | Date | Re: [xsl] Elements within "as-is" e, Wendell Piez |
Month |