Skip to content
Open access

Graceful Diagramming with SVG plus AVTs

· Balisage Series on Markup Technologies · 0 citations · 3 references

Abstract

SVG is a mature XML vocabulary for vector graphics, but it has little parametric structure and lacks semantic binding between connectors and the objects they connect. Drawings produced in SVG are often hard to post-process, maintain, or reason about. This paper introduces MVG (Meta Vector Graphics), an extension layer over SVG that addresses these isues and can be implemented dynamically or via preprocessing into plain SVG 1.0. MVG adds general parameter passing via an XSLT-compatible Attribute Value Template syntax, at two conformance levels: heiti -conformant processors perform simple named-parameter substitution — nearly trivial to implement — while kenning -conformant processors support full XPath expression evaluation at the same syntactic hook. A port model provides named attachment points on shapes, enabling connectors and labels to bind semantically rather than to coordinates. MVG also adds shape primitives that SVG would otherwise represent opaquely. Together these additions allow users to work at a level of abstraction closer to their own conceptual models, with benefits for authoring, editing, and downstream processing. Python code implementing MVG as a preprocessor is provided.

Read PDF

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.