xsl-list
[Top] [All Lists]

Re: [xsl] problem with xsl:copy-of and counting lines

2007-06-20 05:07:58
Quoting David Carlisle <davidc(_at_)nag(_dot_)co(_dot_)uk>:


But if I want to use the value of the string for other operations I
have to declare a global variable, right?

it depends what you want to do with it, I'd say 999 times out of a 1000
when users ask about variable usage the answer to the real underlying
problem doesn't involve the use of variables at all.

If it is a global variable it has a global value, but i thought you
wanted different values calculated on different blocks.

Is it possible to match the node of an external document like
<xsl:template match="document('variables.xsl')/block"> or something like this?

You are mixing up the concepts of matching and selecting. a maych
pattern says, more or less 2if you happen to come across a node that
looks like this, do the following". It's Xpath expressions in select
attributes that actually steer the processor to look in different
places.

so you'd want

<xsl:template match="block">
 ...


then at some point if you want to process the other doc, do

<xsl:apply-templates select="document('variables.xsl')"/>

or

<xsl:apply-templates select="document('variables.xsl')/block"/>

or whataver's needed in your case.


The variables.xsl file looks like this:

oops that's xslt not an input file (although of course you can input
xslt as data, it doesn't execute in that case)

To spread your stylesheet code across multiple docu,emts you don't use
document() you use xsl:import or xsl:include but these are compile time
constructs the whole stylesheet is constructed by importing teh
necessary .xsl files _before_ any transformation actually runs.


Take 10 steps back.

What problem are you trying to solve, just state it in english, without
assuming that the solution requires the use of xsl:variable.


I am just waiting for Michael
Kays two books about XPath 2.0 and XSLT 2.0 for helping me with the
theme.

are you using XSLT2 (all answers given so far assume the use of XSLt1)
there are easier ways of counting lines in xslt2 as it has regular
expression support.

Also, _why_ do you want to count all the lines in an xml file, ignoring
the XML structure, if that's what you really need it would seem to be
easier to use a non xml tool, wc -l for example.

David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs.
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




Okay, 10 steps back. At the moment I am working on my diploma for my degreed engineer. I wanted to do something with xml and some transformations.

The source object is an printed broschure which was generated in InDesign. I want to create a more automated possibility for ceating the print data. Thats why I "try" to learn XSL(T) because the source data comes from a database as xml files.

The main problem is that the document has a more or less complex structure.
For example every page has a different number of lines. If there is a less number of lines than the maximum number of lines on a page the rest of the page will be filled by announcements or sth else from a pool of grafics.

My suggestion was: page height minus the lines of a certain group of elements so that I can see if there is enough space for an announcement or not.

At the beginning of the project I was very enthusiastic but now I realise how much programmers know how is behind the "small" broschure. And I am not a real programmer. My first contact with programming.

Thanks for listening :-) and helping.
Andreas






--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--