[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: XSL FO - undeclared namespace problem

Subject: Re: XSL FO - undeclared namespace problem
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Sun, 27 Apr 2003 21:40:12 -0400
xslt undeclared namespace
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@xxxxxxxxxxxxxxxxxxxx
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



Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.