Hi Juan,

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! :-)

Thanks,
Marc

On 26/04/07, Juan Miguel Ramirez <yomizmo@...155...> 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@...2040...> 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