1 <svg xmlns=
"http://www.w3.org/2000/svg" xmlns:
xlink=
"http://www.w3.org/1999/xlink">
3 <pattern patternUnits=
"userSpaceOnUse" id=
"pattern0" x=
"0" y=
"0" width=
"100" height=
"100">
4 <rect x=
"0" y=
"0" width=
"50" height=
"50" fill=
"black"/>
5 <rect x=
"50" y=
"50" width=
"100" height=
"100" fill=
"green"/>
8 <pattern patternUnits=
"userSpaceOnUse" id=
"pattern1" x=
"0" y=
"0" width=
"100" height=
"100">
9 <rect x=
"0" y=
"0" width=
"50" height=
"50" fill=
"url(#pattern1) black"/>
10 <rect x=
"50" y=
"50" width=
"100" height=
"100" fill=
"green"/>
13 <pattern patternUnits=
"userSpaceOnUse" id=
"pattern2" x=
"0" y=
"0" width=
"100" height=
"100">
14 <rect x=
"50" y=
"50" width=
"100" height=
"100" fill=
"green"/>
15 <rect x=
"0" y=
"0" width=
"50" height=
"50" fill=
"url(#pattern1) black"/>
18 <pattern id=
"pattern3" x=
"0" y=
"0" width=
"100" height=
"100" xlink:
href=
"#pattern1"/>
19 <pattern id=
"pattern4" x=
"0" y=
"0" width=
"100" height=
"100" xlink:
href=
"#pattern2"/>
21 <pattern id=
"pattern6" xlink:
href=
"#pattern5"/>
22 <pattern patternUnits=
"userSpaceOnUse" id=
"pattern5" x=
"0" y=
"0" width=
"100" height=
"100">
23 <rect x=
"0" y=
"0" width=
"50" height=
"50" fill=
"url(#pattern6) black"/>
24 <rect x=
"50" y=
"50" width=
"100" height=
"100" fill=
"green"/>
27 <rect id=
"rect" x=
"0" y=
"0" width=
"50" height=
"50" fill=
"url(#pattern7) black"/>
28 <pattern patternUnits=
"userSpaceOnUse" id=
"pattern7" x=
"0" y=
"0" width=
"100" height=
"100">
29 <use xlink:
href=
"#rect"/>
30 <rect id=
"reuse" x=
"50" y=
"50" width=
"100" height=
"100" fill=
"green"/>
33 <rect id=
"rect2" x=
"0" y=
"0" width=
"50" height=
"50" fill=
"url(#pattern8) black"/>
34 <use id=
"use" xlink:
href=
"#rect2"/>
35 <pattern patternUnits=
"userSpaceOnUse" id=
"pattern8" x=
"0" y=
"0" width=
"100" height=
"100">
37 <use xlink:
href=
"#reuse"/>
38 <use xlink:
href=
"#use"/>
42 <pattern patternUnits=
"userSpaceOnUse" id=
"pattern9" x=
"0" y=
"0" width=
"100" height=
"100">
43 <use xlink:
href=
"#reuse2"/>
47 <rect x=
"0" y=
"0" width=
"100" height=
"100" fill=
"url(#pattern1)"/>
48 <rect x=
"100" y=
"0" width=
"100" height=
"100" fill=
"url(#pattern2)"/>
49 <rect x=
"200" y=
"0" width=
"100" height=
"100" fill=
"url(#pattern3)"/>
50 <rect x=
"0" y=
"100" width=
"100" height=
"100" fill=
"url(#pattern4)"/>
51 <rect x=
"100" y=
"100" width=
"100" height=
"100" fill=
"url(#pattern5)"/>
52 <rect x=
"200" y=
"100" width=
"100" height=
"100" fill=
"url(#pattern6)"/>
53 <rect x=
"0" y=
"200" width=
"100" height=
"100" fill=
"url(#pattern7)"/>
54 <rect x=
"100" y=
"200" width=
"100" height=
"100" fill=
"url(#pattern8)"/>
55 <rect x=
"200" y=
"200" width=
"100" height=
"100" fill=
"url(#pattern9)"/>
57 <line x1=
"325" x2=
"325" y1=
"0" y2=
"300" stroke=
"red"/>
58 <text text-anchor=
"middle" x=
"325" y=
"350">Both sides of the red line should look identical
</text>
60 <!-- This is the reference rendering -->
61 <g transform=
"translate(350,0)">
62 <rect x=
"0" y=
"0" width=
"100" height=
"100" fill=
"url(#pattern0)"/>
63 <rect x=
"100" y=
"0" width=
"100" height=
"100" fill=
"url(#pattern0)"/>
64 <rect x=
"200" y=
"0" width=
"100" height=
"100" fill=
"url(#pattern0)"/>
65 <rect x=
"0" y=
"100" width=
"100" height=
"100" fill=
"url(#pattern0)"/>
66 <rect x=
"100" y=
"100" width=
"100" height=
"100" fill=
"url(#pattern0)"/>
67 <rect x=
"200" y=
"100" width=
"100" height=
"100" fill=
"url(#pattern0)"/>
68 <rect x=
"0" y=
"200" width=
"100" height=
"100" fill=
"url(#pattern0)"/>
69 <rect x=
"100" y=
"200" width=
"100" height=
"100" fill=
"url(#pattern0)"/>
70 <rect x=
"200" y=
"200" width=
"100" height=
"100" fill=
"url(#pattern0)"/>