472,119 Members | 1,675 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,119 software developers and data experts.

xsl landscape printing

Hi I am tryign to use this to print my table in landscape by default.
i am new at the xsl and need some assistance. when i try to use the
following i get the error:

Cannot view XML input using XSL style sheet. Please correct the error
and then click the Refresh button, or try again later.
--------------------------------------------------------------------------------
Variable or parameter 'printingtype' cannot have both a select
attribute and non-empty content.

code:

<xsl:param name="printingtype" select="'landscape'">
<xsl:variable name="pageheight">
<xsl:choose>
<xsl:when
test="$printingtype='landscape'">21</xsl:when>
<xsl:otherwise>29.7</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="pagewidth">
<xsl:choose>
<xsl:when
test="$printingtype='landscape'">29.7</xsl:when>
<xsl:otherwise>21</xsl:otherwise>
</xsl:choose>
</xsl:variable>

Any guidance would be appreciated.

thanks
shen

Feb 19 '07 #1
6 3750
sh*****@gmail.com wrote:
Variable or parameter 'printingtype' cannot have both a select
attribute and non-empty content.

<xsl:param name="printingtype" select="'landscape'">
<xsl:variable name="pageheight">
<xsl:choose>
<xsl:when
test="$printingtype='landscape'">21</xsl:when>
<xsl:otherwise>29.7</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="pagewidth">
<xsl:choose>
<xsl:when
test="$printingtype='landscape'">29.7</xsl:when>
<xsl:otherwise>21</xsl:otherwise>
</xsl:choose>
</xsl:variable>
The message means exactly what it says. You can set the value of the
param *EITHER* by using an XPath expression in the select attribute,
*OR* by providing a contained XSLT tree that computes the value, and
since you have not terminated the xsl:param before you start defining
the variables you are trying to do both.

What are you actually trying to do?
--
() ASCII Ribbon Campaign | Joe Kesselman
/\ Stamp out HTML e-mail! | System architexture and kinetic poetry
Feb 19 '07 #2
On Feb 19, 8:22 pm, shei...@gmail.com wrote:
<xsl:param name="printingtype" select="'landscape'">
<xsl:variable name="pageheight">
<xsl:choose>
<xsl:when
test="$printingtype='landscape'">21</xsl:when>
<xsl:otherwise>29.7</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="pagewidth">
<xsl:choose>
<xsl:when
test="$printingtype='landscape'">29.7</xsl:when>
<xsl:otherwise>21</xsl:otherwise>
</xsl:choose>
</xsl:variable>

Variable or parameter 'printingtype' cannot have both a
select attribute and non-empty content.
The error message is about as clear as it could possibly
get. xsl:param element cannot have both non-empty content
and a select attribute. Either your transformation is not
well-formed XML (in that case use / to indicate empty
content for xsl:param element) or you're trying to do
something that cannot be done.

Since you seem to expect $printingtype to be already
defined in those xsl:variable elements, I'd bet you simply
forgot that slash in xsl:param.

--
roy axenov

Feb 19 '07 #3
Well... I have a xsl file that i want to print, but i want my client
to be able to print it in landscape mode and not have to go set it
himself. Because this table that is being printed does not fit when
prinitng in portrait...

So i should put the </xsl:paramsomewhere else?
where do i terminate it? i thought i just end at the end of the xsl
file (??)

sorry about my ignorance..i'm just tryign to get this to work with a
fiel someone else made..and yet i hardly even know how xsl works...
is printing i landscape even doable??

thanks
shen
On Feb 19, 1:31 pm, Joe Kesselman <keshlam-nos...@comcast.netwrote:
shei...@gmail.com wrote:
Variable or parameter 'printingtype' cannot have both a select
attribute and non-empty content.
<xsl:param name="printingtype" select="'landscape'">
<xsl:variable name="pageheight">
<xsl:choose>
<xsl:when
test="$printingtype='landscape'">21</xsl:when>
<xsl:otherwise>29.7</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="pagewidth">
<xsl:choose>
<xsl:when
test="$printingtype='landscape'">29.7</xsl:when>
<xsl:otherwise>21</xsl:otherwise>
</xsl:choose>
</xsl:variable>

The message means exactly what it says. You can set the value of the
param *EITHER* by using an XPath expression in the select attribute,
*OR* by providing a contained XSLT tree that computes the value, and
since you have not terminated the xsl:param before you start defining
the variables you are trying to do both.

What are you actually trying to do?

--
() ASCII Ribbon Campaign | Joe Kesselman
/\ Stamp out HTML e-mail! | System architexture and kinetic poetry- Hide quoted text -

- Show quoted text -

Feb 19 '07 #4
Where did i forget the slash?
Which one is the empty element?
does printingtype not exist??

thanks
shen

On Feb 19, 1:35 pm, "roy axenov" <r_axe...@mail.ruwrote:
On Feb 19, 8:22 pm, shei...@gmail.com wrote:


<xsl:param name="printingtype" select="'landscape'">
<xsl:variable name="pageheight">
<xsl:choose>
<xsl:when
test="$printingtype='landscape'">21</xsl:when>
<xsl:otherwise>29.7</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="pagewidth">
<xsl:choose>
<xsl:when
test="$printingtype='landscape'">29.7</xsl:when>
<xsl:otherwise>21</xsl:otherwise>
</xsl:choose>
</xsl:variable>
Variable or parameter 'printingtype' cannot have both a
select attribute and non-empty content.

The error message is about as clear as it could possibly
get. xsl:param element cannot have both non-empty content
and a select attribute. Either your transformation is not
well-formed XML (in that case use / to indicate empty
content for xsl:param element) or you're trying to do
something that cannot be done.

Since you seem to expect $printingtype to be already
defined in those xsl:variable elements, I'd bet you simply
forgot that slash in xsl:param.

--
roy axenov- Hide quoted text -

- Show quoted text -

Feb 19 '07 #5
sh*****@gmail.com wrote:
Where did i forget the slash?
It looks like you intended

<xsl:param name="printingtype" select="'landscape'"/>

Note the /to terminate the element. Or, equivalently,

<xsl:param name="printingtype" select="'landscape'"></xsl:param>

XSLT/XML elements, unlike HTML/SGML elements, *MUST* be properly terminated.

--
() ASCII Ribbon Campaign | Joe Kesselman
/\ Stamp out HTML e-mail! | System architexture and kinetic poetry
Feb 19 '07 #6
Ok perfect, so i did this and no longer get the error...but i still
can not get my page to print in landscape mode...
how woudl i do this?

i've tried everythign i know how. I even tried rotating the page 90
degrees...but then only my title rotates and the table stays the way
it is. Just to give you a better idea: the database used is access,
and an xml file and then using the xsl file we can view teh content in
the db. which is what i am tryign to print in landscape..

thanks..
shen
On Feb 19, 3:23 pm, Joe Kesselman <keshlam-nos...@comcast.netwrote:
shei...@gmail.com wrote:
Where did i forget the slash?

It looks like you intended

<xsl:param name="printingtype" select="'landscape'"/>

Note the /to terminate the element. Or, equivalently,

<xsl:param name="printingtype" select="'landscape'"></xsl:param>

XSLT/XML elements, unlike HTML/SGML elements, *MUST* be properly terminated.

--
() ASCII Ribbon Campaign | Joe Kesselman
/\ Stamp out HTML e-mail! | System architexture and kinetic poetry

Feb 19 '07 #7

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by gilga123 | last post: by
reply views Thread by gilga123 | last post: by
3 posts views Thread by MarcJ | last post: by
2 posts views Thread by Andrei Gavra via .NET 247 | last post: by
1 post views Thread by Bill Burke | last post: by
5 posts views Thread by cpopham | last post: by
1 post views Thread by lord.zoltar | last post: by
2 posts views Thread by FireStarter | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.