W3C home > Mailing lists > Public > www-xsl-fo@w3.org > October 2001

Re: embedded SVG in FO

From: David Carlisle <davidc@nag.co.uk>
Date: Wed, 24 Oct 2001 09:47:24 +0100
Message-Id: <200110240847.JAA16613@penguin.nag.co.uk>
To: Loic.L'Heveder@cern.ch
CC: www-xsl-fo@w3.org

> But I'm not really understanding the why, I thought that declaring the
> namespace locally, <svg xmlns="http://www.w3.org/2000/svg"/>, would be
> enough to ensure that the namespace of all children of this node will be
> this one if another is not precised.

yes but run the stylessheet outside fop and look at the file that
results. That file _will_ have the xmlns default namespace redefined (to
"" denoting the null namespace).

When you go
<path ....>
in your XSLT file you are not saying 
"put the cahracters _<_p_a_t_h into the output, you are saying
"put this element into the output."
and at that point in the stylesheet (because you have not declared a
default namespace in the stylesheet) "<path" denotes an element with
local name path and null namespace uri. So, when the XSLt system writes
out the result it has to ensure that the element at that point is the
same. In the result tree there is a declaration xmlns in scope from the
svg element, and so it will have to add a xmlns="" to the path syntax to
ensure that it is correctly identified as being in the null namespace.

The simplest thing to do is move the xmlns in your stylesheet of the svg
element and stick it on xsl:stylesheet, then every unprefixed elemet you
mention in the stylesheet will be svg.


This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.
Received on Wednesday, 24 October 2001 04:48:13 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 23:09:53 UTC