Refactoring hard-coded values

A

Aidan Gauland

I'm playing around with scripting SVG with ECMAScript, and I have
reached the point where my document is full of hard-coded (attribute)
values. There are three values to which most other values are relative.
(In this case, there are a bunch of shapes positioned with respect to a
specific circle.) Even after wading through the SVG specification
<http://www.w3.org/TR/SVG/>, I am at a loss as to how to refactor my XML
code. I basically want to say, "you, rectangle, your origin is the
top-left corner of this circle's bounding-box." But I also have a
circle in a <clipPath> who's cx and cy values are those of another
circle *plus* that other circle's stroke width. And to make it even
trickier, the target circle is within a symbol within the document's
<defs> element. It's all just a bit crazy.

It seems that being able to, within an attribute's value,
refer to the value of another entity's attribute would be the cleanest
way to tidy up my document. But XML does not allow for this, does it?

Can anyone offer any advice on how to keep XML (SVG in particular) tidy
in this manner, and avoid hard-coding values?

Regards,
Aidan Gauland
 
J

Joe Kesselman

It seems that being able to, within an attribute's value,
refer to the value of another entity's attribute would be the cleanest
way to tidy up my document. But XML does not allow for this, does it?

XML is just notation. If anything gives you the ability to do this, it
would be the specific XML-based language, that being SVG.... or a tool
you pass the document through. (You could probably write an XSLT
stylesheet to help resolve this sort of thing, but that's a special case
of writing an XML processing program.)

At a purely instinctual level... It sounds like what you need to do is
step back and redefine the document more hierarchically -- as layers of
containment -- rather than the current entangled crossreferences.


--
Joe Kesselman,
http://www.love-song-productions.com/people/keshlam/index.html

{} ASCII Ribbon Campaign | "may'ron DaroQbe'chugh vaj bIrIQbej" --
/\ Stamp out HTML mail! | "Put down the squeezebox & nobody gets hurt."
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,994
Messages
2,570,222
Members
46,809
Latest member
moe77

Latest Threads

Top