Réponses:
Préférez <use>
à <image>
comme est ensuite rendu à une résolution fixe et n'échelle pas comme des objets réguliers de données vectorielles dans le document en cours. http://www.w3.org/TR/SVG11/struct.html#ImageElement
Mais l'élément <use>
ne peut pas référencer des fichiers SVG entiers, son xlink:href
attribut est une référence à un élément / fragment dans un document SVG ( http://www.w3.org/TR/SVG11/struct.html#UseElement ). L'élément 'use' peut référencer n'importe quelle ressource locale ou non locale.
exemple:
MyLibrary.svg:
<svg (...)>
<rect x="0" y="0" width="200" inkscape:label="upper-left-blue"
style="fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="upper-left-blue" height="200"/>
UseParts.svg:
<use x="0" y="0" width="400" xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="MyLibrary.svg#upper-left-blue" xlink:type="simple"
xlink:actuate="onLoad" height="400" id="use8793" xlink:show="embed"/>
La prise en charge de cette fonctionnalité peut varier pour différents éditeurs / visualiseurs SVG, pour autant que je sache, cela devrait fonctionner (au moins) dans Inkscape, Firefox et Batik.
Utilisez l' image
élément et référencez votre fichier SVG. Pour le plaisir, enregistrez les éléments suivants sous recursion.svg
:
<svg width="100%" height="100%" viewBox="-100 -100 200 200" version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<circle cx="-50" cy="-50" r="30" style="fill:red" />
<image x="10" y="20" width="80" height="80" xlink:href="recursion.svg" />
</svg>
Source: /programming/5451135/embed-svg-in-svg/5451238#5451238