to answer your question and mine... yes, it can be done! :-)
After some reading of the SVG reference document on W3C, I realised that the
<image> element allows the inclusion of entire files, be they in JPG, PNG or
SVG (!) format.
This is the trick: I created my common.svg file as a normal inkscape SVG
file. Then I created another inkscape file drawing1.svg. If I import the
first one, inkscape will not create an <image> element, but will parse the
file and include the tags found in common.svg. But if I import some dummy
PNG image instead, it will create an <image> tag. So I do that first and
then use the XML editor to change the file name reference in the <image> tag
from the dummy PNG file to common.svg. Voila! That's all. Works great!
As a feature request, it would be great if the import function would allow
me to choose, how I import an SVG file. Either have it parsed (the current
implementation in inkscape) or leave it as an <image> tag as is done for JPG
and PNG imports.
One thing I noticed is that the file referenced in the <image> tag must be
an uncompressed SVG. If it is a compressed .svgz file I get an error that
the target file hasn't been found. The SVG standard only mentions SVG files
as the target for an <image> tag. It is not clear to me, if this means only
uncompressed files are allowed or if compressed ones should work too.
Another minor thing I noticed. If I update common.svg, I have to close and
open drawing1.svg to see the change. It would be great to have a "reload"
button in inkscape to re-render the SVG, triggering a re-read of the
included <image> files.
The more I keep playing with inkscape, the more I love it... It's a really
great piece of software! :-)
On 26/04/07, Juan Miguel Ramirez <yomizmo@...> wrote:
> If this can be done we can make "libraries" on Inkscape.
> You create a document with the original copies inside (call this library)
> and use cloned copies of the graphics along different documents. If you want
> to change some graphic for different documents you only have to open the
> "library" and change there.
> I think this could be very useful.
> Is this possible then? :)
> Answering you, Marc, The only way is to copy the "original" object who was
> cloned with the cloned objects and change the original on each document.
> On 25/04/07, Marc Eberhard <eberhardma@...> wrote:
> > Hi,
> > is it possible to clone an object/group across files? I tried using
> > clone, but pasting into another file results in an orphaned node (apparently
> > the reference is only valid _within_ the file with the original). Is there
> > some other way to achieve something like this?
> > I want to prepare a set of slides with the same background. I can of
> > course select and copy the background from one slide to the next, but if I
> > want to change something on it then I need to go over all files again.
> > Is there a way to define an object/group in one inkscape file and then
> > link to this in another inkscape file?
> > For plain XML files it would look like below, but I don't know, if this
> > would work for SVG files and if I can use the XML editor in inkscape to
> > achieve an effect like this.
> > All comments and suggestions are greatly appreciated!
> > Thanks,
> > Marc