SVG Output
SVG output is suitable for previews, documentation, and web publishing.
xaligo render diagram.xal --format svg -o diagram.svg
An identified child frame is one SVG artifact by default. A one-frame document
writes exactly diagram.svg. If the document contains frames overview and
service-detail, the same command writes:
diagram-overview.svg
diagram-service-detail.svg
The frame ID is made filename-safe by retaining ASCII letters, digits, _,
and -, replacing every run of other characters with one -, and trimming
leading and trailing -. An empty safe ID falls back to frame-<source-order>;
colliding filenames are reported as an error. No ZIP archive is created.
Use the compatibility option to keep every frame on one historical canvas:
xaligo render diagram.xal --format svg -o diagram.svg --combine-frames
Live preview uses this combined view automatically.
The page frame itself is not rendered as a visible outline. In default
page-local output, its exact rectangle is the SVG canvas, viewBox, and clip
boundary. No marker or stroke safety padding is added outside the page, so a
top/bottom metadata band’s row-gap gutter reaches the physical SVG edge while
the tag cells remain inset by that value. PDF pages and the SVG images embedded
in Excel worksheets inherit this strict crop. Combined
compatibility output omits each page-frame outline but retains marker-safe
canvas expansion.
With --services, SVG can draw a legend:
xaligo render diagram.xal --format svg -o diagram.svg \
--services services.csv \
--svg-legend-position bottom
SVG rendering uses the shared orthogonal router and includes:
- Route and traffic layer ordering.
- Line-jump masks at interior crossings.
- Automatic junction markers for shared route endpoints.
- Distinct marker geometry for V1
arrow,triangle,stealth,diamond, andovalarrowheads. - Strict frame canvas/viewBox clipping for default page artifacts, and stroke/marker-expanded bounds for combined compatibility output.
- Service legends when metadata is provided.
The complete document scene is routed before its frame pages are projected.
A cross-frame connection therefore appears as to <destination frame ID> on
the source SVG and from <source frame ID> on the destination SVG. Combined
output keeps those two page-link stubs and does not reconnect them across the
inter-frame gap. Explicit src/dst-frame-side or
src/dst-frame-anchor attributes select the outer frame side and tangent
coordinate independently from the item endpoint. The drawable terminal is on
a parallel inward line: resolved metadata row-gap, or 4 layout pixels without
metadata; zero keeps the outer edge. The label stays 4 layout pixels inward and
at least 4 layout pixels alongside that final terminal, using the closest
along-edge position that avoids endpoint and metadata geometry.