xmlgraphics-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Glenn Adams <gl...@skynav.com>
Subject Re: Attributes in the XSL-FO Namespace
Date Tue, 05 Oct 2010 03:07:40 GMT
Keep in mind that the prefix token has nothing to do (normatively speaking)
with the namespace. It is merely a convenience mechanism, and one that
clearly introduces confusion (see
http://blog.jclark.com/2010/01/xml-namespaces.html).

Also, and most importantly:

   1. if an attribute (or element) is used with a prefix, then that prefix
   MUST be bound to a non-empty namespace name identified using a URI (IRI);
   2. ergo, such an attribute is defined in SOME namespace;
   3. XSL-FO defines all attributes in NO namespace, which translates to the
   "per-element-type partition" referred to by earlier versions of the XML
   Namespace specification;
   4. ergo, a hypothetical attribute, such as fo:font-family IS NOT and CAN
   NOT be the same attribute as defined by XSL-FO, since the former is defined
   in some namespace and the latter is define in none.

In conclusion, no extension element or element in some other namespace can
directly use an XSL-FO attribute, any usage whatsoever, automatically makes
it a different attribute:

OK

   - <ext:block font-family="..."/ xmlns:ext="ext.com"/>
      - font-family is defined by element {ext.com}block
   - <ext:block ext:font-family="..." xmlns:ext="ext.com"/>
      - {ext.com}font-family is defined globally by ext.com
   - <ext:block fo:font-family="..." xmlns:ext="ext.com" xmlns:fo="
   ext.com/fo"/>
      - {ext.com/fo}font-family is defined globally by ext.com/fo

NOT OK

   - <ext:block fo:font-family="..." xmlns:ext="x" xmlns:fo="
   http://www.w3.org/1999/XSL/Format"/>
      - {http://www.w3.org/1999/XSL/Format}font-family is NOT defined by
      XSL-FO

In the above, I use the expanded names of elements and attributes to refer
to their definition.

So the ODF people really had no choice but defining the XSL-FO attributes
(properties) they wished to use on their own elements. The fact that they
chose the same prefix "fo" is merely a syntactic convenience.

Regards,
Glenn

On Tue, Oct 5, 2010 at 1:33 AM, Jeremias Maerki <dev@jeremias-maerki.ch>wrote:

>
> OTOH, I would say that using the fo: prefix with XSL's namespace on
> non-XSL elements does make sense.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message