XML rules:
- Skeleton: …. Unique ids. No XML comments.
- Vertex:
- Edge: . Never self-closing. No waypoints or exitX/entryX.
- Labels: html=1 in every style; escape HTML in values (<b>Name</b><br>detail); line break <br>, never \n.
- Shapes: rhombus (decision), ellipse, shape=cylinder3 (database), text.
- Grid, no layout math: x=col*180+40, y=row*120+40, one node per cell; 140×60 boxes, 140×80 diamonds.
- Containers: swimlane;startSize=24; (titled) or group; (invisible); children set parent="" with coordinates relative to it. An edge's parent is the innermost container holding both its ends, else "1".
- Lanes: swimlane;horizontal=0;startSize=110; at x=0, y=lane*150, height 150; nodes inside at x=120+col*180, y=45.
- Edges: orthogonal; entityRelationEdgeStyle for ER; labels 1-3 words; dashed=1 for one meaning, with a legend.