Quoting Daniel Carrera <dcarrera@...674...>:
Question: Could it be that when the tag says:
<draw:rect ... svg:width="7.62cm" ... >
That 'svg:width' refers to:
<ExpAName name='width' eltype="rect" elns="http://www.w3.org/2000/svg"/>
And when it says:
<draw:ellipse ... svg:width="11.43cm" ... >
That 'svg:width' refers to:
<ExpAName name='width' eltype="ellipse" elns="http://www.w3.org/2000/svg"/>
Afraid not. Attributes with those expanded names are only expressable on the svg:rect/ and svg:ellipse/ elements, respectively. In both examples above, the expanded attribute name is still:
<ExpAName name='width' ns="http://www.w3.org/2000/svg"/>
(which is not defined by the SVG specification anywhere)
In a nutshell:
If an attribute has a prefix, it's in a "public" namespace identified by the associated URI.
If an attribute doesn't have a prefix, it is (conceptually) in a "private" namespace specific to the expanded name (local name AND namespace together) of the element it is attached to[1].
SVG only defines a bunch of width attributes specific to their associated SVG elements, not a "public" svg:width attribute that can be put on any element[2].
If OpenDocument has in fact invented an svg:width attribute, they're putting non-standard extensions in the SVG namespace...
-mental
---
[1] The normative portion of the XML Namespaces recommendation only concerns itself with "public" namespaces; section 5.2 simply notes that attributes without prefixes have no (public) namespace.
The notion of element-specific namespaces is a concept introduced in the appendix to explain the intended interpretation of such namespaceless attributes.
[2] See XLink for an example of the opposite; XLink defines a bunch of "public" attributes (e.g. xlink:href) that can be put on any element (subject to the relevent schemas).