title: SVG marker: prevent inheritance its shape scale
body: <p>I need scalable schema in SVG. But some elements, like arrows, should be in the same size on the schema regardless of the schema's scale.<br>
  I'm implementing schema scalability via <a href="http://www.w3.org/TR/SVG/coords.html#TransformAttribute" rel="nofollow">SVG transform attribute</a> and arrows via <a href="http://www.w3.org/TR/SVG/painting.html#Markers" rel="nofollow">SVG markers</a>.<br>
  But I'm getting trouble: when <code>transform=scale(s)</code> is applied to shapes then their markers are scales as well.</p>
  
  <p>Is there any way in SVG to apply marker to scaled shape so that marker is not scaled according to shape's transformation?<br>
  Or am I using the wrong approach for that?</p>
  
  <p>See example here:</p>
  
  <pre><code>&lt;svg id="svg-root" class="drawing" width="100%" height="500" xmlns="http://www.w3.org/2000/svg"&gt;
      &lt;defs&gt;
          &lt;marker id="myMarker" refX="6" refY="6" markerWidth="12" markerHeight="12" stroke-width="1" stroke="blue" orient="auto" fill="none" markerUnits="strokeWidth"&gt;
              &lt;circle cx="6" cy="6" r="5" /&gt;
          &lt;/marker&gt;
      &lt;/defs&gt;
      &lt;g transform="scale(2)"&gt;
          &lt;line id="line1" x1="20" y1="50" x2="200" y2="50" stroke="green" stroke-width="1" marker-start="url(#myMarker)" vector-effect="non-scaling-stroke"/&gt;
      &lt;/g&gt;
      &lt;g transform="scale(3)"&gt;
          &lt;line id="line2" x1="20" y1="50" x2="200" y2="50" stroke="green" stroke-width="1" marker-start="url(#myMarker)" vector-effect="non-scaling-stroke"/&gt;
      &lt;/g&gt;
  &lt;/svg&gt;
  </code></pre>
  
  <p>Both lines <code>line1</code> and <code>line2</code> should have circles with radius="6" and circles stroke width="1".<br>
  For now radiuses are "12" and "18". Widths are "2" and "3" accordingly. That is not suitable.</p>
  
  <p>I'm trying to apply <code>vector-effect="non-scaling-stroke"</code> to shapes. Then shapes stroke width is not scaled. And I'm applying <code>markerUnits="strokeWidth"</code> to marker.<br>
  But that doesn't help.</p>
  
  <p>The only one workaround, I can imagine for a moment, is to stop usage <code>transform</code> for schema scaling. In that case shape's coordinates are to be recalculated manually after schema scale is updated. That doesn't look good, actually.</p>