使用无Id的svg模式

使用无Id的svg模式,svg,Svg,在上面的示例中,我使用id#image1和#image2让路径引用模式。这对于一次性使用来说是可以的,但是如果我要在文档中的其他地方重复这个html,那么所有路径都将引用具有给定id的最后一个模式。 如何使用SVG模式/图像填充路径而不为模式分配ID 编辑:希望能得到一些帮助,使svg块更高效。我是SVG新手。使用ID没有问题,但如果是这样,我需要确保所有模式都有不同的ID,这样图像就会不同。如果能在路径中有类似嵌套模式定义的东西那就太好了。没有办法避免ID。真可悲。如果ID的任务是帮助获取对模

在上面的示例中,我使用id
#image1
#image2
让路径引用模式。这对于一次性使用来说是可以的,但是如果我要在文档中的其他地方重复这个html,那么所有路径都将引用具有给定id的最后一个模式。 如何使用SVG模式/图像填充路径而不为模式分配ID


编辑:希望能得到一些帮助,使svg块更高效。我是SVG新手。

使用ID没有问题,但如果是这样,我需要确保所有模式都有不同的ID,这样图像就会不同。如果能在路径中有类似嵌套模式定义的东西那就太好了。没有办法避免ID。真可悲。如果ID的任务是帮助获取对模式的引用,那么为什么它不支持直接将引用设置为node唯一ID有什么困难呢?如果您要在文档中的其他地方重复这个SVG,然后,您可以在文档中定义它一次,并通过使用
从任何需要的地方引用它。
<svg width="192" height="192" xmlns:xlink="http://www.w3.org/1999/xlink">
    <defs>
        <pattern id="image1" x="0" y="0" patternUnits="userSpaceOnUse" height="192" width="192">
            <image x="0" y="0" width="192" height="192" xlink:href="/url1"></image>
        </pattern>
        <pattern id="image2" x="0" y="0" patternUnits="userSpaceOnUse" height="192" width="192">
            <image x="0" y="0" width="192" height="192" xlink:href="/url2"></image>
        </pattern>
    </defs>
    <path d="m0,0 l0,192 l192,-192 z" fill="url(#image1)" />
    <path d="M192,0 l-192,192 l192,0 z" fill="url(#image2)" />
</svg>