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@...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:
> 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!