Every other fragment holds exactly one content element. Control Measure fragments hold two or three,
because they carry illustrative scaffolding alongside the content:
| shape |
files |
<g>#main + <g>#template |
534 |
<g>#main + <g>#template + <g>#example |
6 |
<pattern>#SVGID_2_ + <g>#main + <g>#template |
3 |
<polygon>#main + <g>#template |
2 |
545 of the 573 Control Measure fragments, and they are the only main icons in either tree that are not
single-root.
That is consistent with what these files are: GIS construction samples showing how a control measure is
drawn on a map, rather than icons composed into a symbol. APP-6E 8.1.3 exempts them from the composition
rules, and #59 gave them FREE_CANVAS for the same reason.
Why it matters now
Injecting fragments into the generated classes needs a rule for "which element is the content". Everywhere
else that rule is trivial. Here it needs either an exception, or these files tidied so the content stands
on its own.
Options
- Split the scaffolding out - keep
#main in the fragment and move #template/#example to a
separate file or directory, so the fragment holds only what is drawn.
- Mark it rather than move it - keep the files as they are and rely on
#main being the content,
making that part of the documented rule. Cheaper, but leaves the fragments carrying material no
consumer ever renders.
- Leave them out of injection entirely, since they are exempt from composition anyway.
Worth deciding deliberately - these are 545 files and whichever way it goes should be a single mechanical
pass, verified with SvgFingerprint the way #71 was.
Note the 3 files with a <pattern> also hold the only live internal id reference in the tree
(url(#SVGID_2_)), so they need care whichever option is taken.
Preparation for the 2.0.0 fragment injection work.
Every other fragment holds exactly one content element. Control Measure fragments hold two or three,
because they carry illustrative scaffolding alongside the content:
<g>#main+<g>#template<g>#main+<g>#template+<g>#example<pattern>#SVGID_2_+<g>#main+<g>#template<polygon>#main+<g>#template545 of the 573 Control Measure fragments, and they are the only main icons in either tree that are not
single-root.
That is consistent with what these files are: GIS construction samples showing how a control measure is
drawn on a map, rather than icons composed into a symbol. APP-6E 8.1.3 exempts them from the composition
rules, and #59 gave them
FREE_CANVASfor the same reason.Why it matters now
Injecting fragments into the generated classes needs a rule for "which element is the content". Everywhere
else that rule is trivial. Here it needs either an exception, or these files tidied so the content stands
on its own.
Options
#mainin the fragment and move#template/#exampleto aseparate file or directory, so the fragment holds only what is drawn.
#mainbeing the content,making that part of the documented rule. Cheaper, but leaves the fragments carrying material no
consumer ever renders.
Worth deciding deliberately - these are 545 files and whichever way it goes should be a single mechanical
pass, verified with
SvgFingerprintthe way #71 was.Note the 3 files with a
<pattern>also hold the only live internal id reference in the tree(
url(#SVGID_2_)), so they need care whichever option is taken.Preparation for the 2.0.0 fragment injection work.