xsl-list
[Top] [All Lists]

Re: XSL FO - undeclared namespace problem

2003-04-27 18:40:12
At 2003-04-27 16:38 -0700, Mark Ivs wrote:
   I am fairly new to xsl fo.

Welcome!

I get this error.
"Undeclared namespace in fo:table-row"

Yes, it is appropriate that this error be generated because of the way your code is written.

I have no idea why the parser dosen't understand
fo:table-row. It's interesting because it dosen't
complain about the fo:table-row earlier in the code.

Yes, because "earlier" in the code each of your elements in the FO namespace has a namespace declaration as an attribute of one of their ancestors.

My conclusion is, anytime I do an apply template or
call template when I am inside fo:flow, the parser
complains about the first xsl tag it sees in the
called template.

Right ... because in those templates you do not have a namespace declaration in scope for the FO elements. You have only done this in your first template.

To double check this, I added a call-template
(name=testtemplate). The error I get is "Undeclared
namespace in fo:page-number"

Correct.

To ensure that all template rules have the FO namespace in scope, it is necessary for you to declare the FO namespace "higher up" in the tree. Since template rules are top-level elements (children of the document element), this means you must put the namespace declaration in the document element.

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

Add the namespace declaration to the above document element and it will be in-scope for the entire document.

<xsl:template match="/HOME">
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format";>

You can then remove the namespace declaration from the above element because it will still be in scope from the document element.

I hope this helps.

....................... Ken

--
Upcoming hands-on courses:   Europe (XSLT/XPath):    May  5, 2003
-                            Europe (XSL-FO):        May 16, 2003
- (XSLT/XPath and/or XSL-FO) North America:      June 16-20, 2003

G. Ken Holman                mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd.         http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0   +1(613)489-0999 (F:-0995)
ISBN 0-13-065196-6                      Definitive XSLT and XPath
ISBN 0-13-140374-5                              Definitive XSL-FO
ISBN 1-894049-08-X  Practical Transformation Using XSLT and XPath
ISBN 1-894049-10-1              Practical Formatting Using XSL-FO
Male Breast Cancer Awareness http://www.CraneSoftwrights.com/s/bc


XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>