Allow <use> without a fragment ID
SVG2 made it possible to have <use href="child-image.svg"/>
without a #fragment
- in this case the whole document is used as the object to render:
New in SVG 2. An ‘href’ without a fragment allows an entire SVG document to be referenced without having to ensure that it has an ID on its root element.
Librsvg doesn't support this yet.
The implementation of <use>
has a NodeId
to represent the href
(place where it is parsed). NodeId
only allows references with a fragment id, such as foo.svg#some_id
or just #some_id
. But for example, the implementation of feImage
uses a plain String, and later decides what to do with it. The way <use>
should work is slightly different, but the principle stands.
Since NodeId
means a reference to a specific node by its ID (in the present document or in another one), it may be good to have an extra type to represent a reference to a toplevel document or to a document plus id.