|
Subject: Re: [xsl] Using for-each w/ page-sequence results in "NC105 ID already exists in this document" error From: Sharon_Harris@xxxxxxxxxxxxxxxxxxxx Date: Thu, 20 Sep 2007 10:47:09 -0400 |
I apologize as I did not explain myself very well.
I did not run into the problem of duplicate IDs when I had all the page
sequences contained within a template. And I was able to successful output
with 1 problem, the Lesson page sequence would not repeat. That is when I
decided to try a for-each for the Lesson page sequence and is also when I
encountered the problem w/ duplicate IDs. If I don't use a for-each, I
don't have a problem w/ duplicate IDs but the page sequence does not
repeat.
Thanks for your help!
Sharon
"G. Ken Holman"
<gkholman@CraneSo
ftwrights.com> To
xsl-list@xxxxxxxxxxxxxxxxxxxxxx
09/20/2007 10:22 cc
AM
Subject
Re: [xsl] Using for-each w/
Please respond to page-sequence results in "NC105 ID
xsl-list@xxxxxxxx already exists in this document"
lberrytech.com error
At 2007-09-20 09:56 -0400, Sharon_Harris@xxxxxxxxxxxxxxxxxxxx wrote:
>Thank you so much for replying.
>
> >Those should be ref-id= attributes and not id= attributes. Check
> >your XSL-FO instance to make sure <page-number-citation> is using
ref-id=.
>
>Yes, I am using ref-id.
>
>Before trying the for-each, I had all the page sequences contained within
a
>template. I had 6 page sequences within that template that applied to 5
>different elements (cover, disclaimer, toc, introduction, lessons,
>evaluation). There are multiple instances of the Lesson element but the
>Lesson page sequence did not start over for each instance, which is why I
>tried using a for-each. I had the page sequences contained within the
>following template.
My quick observation finds the prevalent (and execution wasteful) use
of "//" throughout your stylesheet. I suspect you may misunderstand
the application and utility of this construct. It is the number one
reason why many stylesheets execute slowly, and in this case, the
repetition inferred by "//" is likely causing the duplicate identifiers.
In another message you comment that you cannot see the generated
XSL-FO. You can always inspect your generated XSL-FO by running your
XML with your XSLT outside of the XSL-FO processor as a standalone
transformation.
Looking over the supplied code, I really cannot tell quickly where
things are going wrong.
I suggest again that you generate your XSL-FO standalone and inspect
the results and this should reveal all to you.
As for stylesheet writing techniques, there are limited use cases for
"//" and I tell my students to avoid using it unless they really wish
to traverse the *entire* source node tree looking for
constructs. This is rarely required. Many new users of XSLT think
that "//" is somehow a shortcut, but it is just plain inappropriate.
If I were to guess, I would suspect you are improperly using "//" to
generate multiple copies of XSL-FO constructs with identifiers. But
where that happens will not be known until you inspect the generated
XSL-FO.
I hope this helps.
. . . . . . . . . . Ken
--
Upcoming public training: UBL and code lists Oct 1/5; Madrid Spain
World-wide corporate, govt. & user group XML, XSL and UBL training
RSS feeds: publicly-available developer resources and training
G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
Male Cancer Awareness Jul'07 http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Using for-each w/ page-se, G. Ken Holman | Thread | Re: [xsl] Using for-each w/ page-se, Wendell Piez |
| Re: [xsl] variable outside a for-ea, Mathieu Malaterre | Date | RE: [xsl] variable outside a for-ea, Bjorndahl, Brad |
| Month |