Cdl

Document, Pages, Layers, Figures

<Cdl>
<Document Name="String" XType="String" ...>
<Background Id="DocumentId"><Brush/></Background>
<Pages>
<Page Name="String" XType="String" ...>
<Layers>
<Layer Name="String" XType="String" ...>
<Figures>
<TextBlock/>
<Shape/>
<Raster/>
<Group/>
<ProxyGroup/>
...

Figure

There are 5 figure types: <TextBlock>, <Shape>, <Raster>, <Group> and <ProxyGroup>.
Common properties of all figure types:

<Figure Name="String" XType="String"
Locked="Boolean" Hidden="Boolean" ...>
<Brush/>
<Pen/>
<PreTransform Matrix22="1,0,0,1"/>
<Anchor X="mm" Y="mm" -or- RelX="Number" RelY="Number"/>
<Transform Matrix22="1,0,0,1"/>
<Pin X="mm" Y="mm"/>
<PowerClipContents>
<PowerClipContent Id="String">
<Figures>...</Figures>
</PowerClipContent>
...
</PowerClipContents>
<Figure>

Text

<TextBlock LineDirection="Angle" CharDirection="Angle"
ExtraCharSpacing="Magnitude"
ExtraWordSpacing="Magnitude"
ExtraLineSpacing="Magnitude"
ColumnSpacing="Magnitude"
ColumnCount="Integer" LinesPerColumn="Integer"
LinesAlign="Left|Center|Right"
PowerClipId="String"
VerticalStyle="String" ... />
<Line>String</Line>
<Font Size="Number" AutoSize="Boolean"
Guid="String" Name="String"
FamilyName="String" FullName="String" PostscriptName="String"
Weight="Number" IsBold="Boolean"
IsItalic="Boolean" IsStrikeout="Boolean" IsUnderline="Boolean"/>
<TextPart TextRange="" ...same as TextBlock... >
<Font/>
</TextPart>
...
</TextBlock>

Shape

<Shape ...>
<!-- Unstructured polyregion -->
<Polyregion FillMode="Alternate|Winding" PowerClipId="String"
RenderFrame="0 0, 100 0, 100 100, 0 100"
RenderMatrix="1,0,0,1">
<Region Type="Bezier3" IsClosed="Boolean" Points="0 0,10 0,15 5|20 10,20|..."/>
<Region Type="Polyline" IsClosed="Boolean" Points="0 0,10 0,10 10,15 10..."/>
...
</Polyregion>
<!-- Boolean polyregion -->
<Polyregion FillMode="CadX" ...>
<Region ...>
<Hole Type="Bezier3" IsClosed="True" Points="..."/>
<Hole Type="Polyline" IsClosed="True" Points="..."/>
...
</Region>
...
</Polyregion>
...
</Shape>

Raster

<Raster ImageLink="Id" Width="px" Height="px" DPI="Number">
<MonochromeColors><Color/><Color/></MonochromeColors>
</Raster>

Group

<Group ...>
<Figures>...</Figures>
</Group>

ProxyGroup

<ProxyGroup Link="Id" ...>
<Colors>
<Color/>
<Color/>
...
</Colors>
...
</ProxyGroup>

Style

Solid Brush

<Brush>
<Color/>
</Brush>

Texture Brush

<TextureBrush ImageLink="Id"
TextureOffset="0.5 0.5" TargetOffset="0.5 0.5"
Matrix22="1,0,0,1"
TransformMode="Fixed|Clamp|RotateOnly|Full|StretchX|StretchY"
ClippingRect="lx ly hx hy">
<MonochromeColors><Color/><Color/></MonochromeColors>
</TextureBrush>

Linear Gradient Brush

<LinearGradientBrush Positions="[Points]"
From="Number" To="Number"
GammaCorrection="Boolean">
<Colors>
<Color/>
<Color/>
...
</Colors>
</LinearGradientBrush>

Radial Gradient Brush

<RadialGradientBrush Center="Point" Positions="[Numbers]">
<Colors>
<Color/>
<Color/>
...
</Colors>
</RadialGradientBrush>

Pen

<Pen Width="Number"
DashStyle="Solid|Dash|Dot|DashDot|DashDotDot"
StartCap="Flat|Square|Round|Triangle" EndCap="..."
DashCap="Flat|Round|Triangle"
LineJoin="Miter|Bevel|Round|MiterClipped|AdaptiveMiter"
MiterLimit="Number"
BehindFill="Boolean">
<Color/>
</Pen>

Color

<Color Alpha="0...1" RGB="RRGGBB" CMYK="CCMMYYKK"
Name="String" Tag="String" Label="String"
ShowThrough="Boolean"/>

Processes

Capital

<Capital ScaleX="Number" ScaleY="Number"
Pattern="First|Last|First Last"
HAlignment : "Left|Center|Right"
VAlignment : "Baseline|Top|Middle|Bottom"/>

BookEnd

<BookEnd HeadSX="Number" HeadSY="Number"
TailSX="Number" TailSY="Number"
HAlignment : "Left|Center|Right"
VAlignment : "Baseline|Top|Middle|Bottom"/>

Split

<Split Overlap="Number"
Pos="Number"
Turn="Number"
Gap="Number"/>

Border

<Border DX="Number" DY="Number"
Gap="Number"
Separate="Number"/>

Contour

<Contour Offset="Number"
Steps="Integer"
Inside="Boolean" Outside="Boolean"
IncludeHoles="Boolean"
Combine="Boolean"
Chamfer_D="Number" Chamfer_L="Number">
<Brush/>
<Pen/>
</Contour>

PenContour

<PenContour>
<Pens>
<Pen/>
<Pen/>
...
</Pens>
</PenContour>

Shadow

<Shadow OffsetX="Number" OffsetY="Number"
Gap="Number"
Simplify="Boolean">
<Brush/>
<Pen/>
</Shadow>

RasterShadow

<RasterShadow OffsetX="Number" OffsetY="Number">
<Pen/>
<Gap>
<Pen/>
</Gap>
</RasterShadow>

Effect3d

<Effect3d BorderIntensity="Number" BorderSize="Number"
ContourOffset="Number"
LightGap="Number" LightIntensity="Number"
LightSize="Number" LightSource="Up|Right|Down|Left"
ShadowIntensity="Number" ShadowSizePercentage="Number"
SlopeIntensity="Number" SlopeSize="Number"/>

Extrude3D

<Extrude3D Depth="Number" VanishingPoint="Point"
RotationX="Angle" RotationY="Angle" RotationZ="Angle">
<Brush/>
<Pen/>
</Extrude3D>

VerticalArch

<VerticalArch Height="Number" Width="Number" From="Angle" To="Angle"/>

Perspective

<Perspective HPoint="Point" VPoint="Point"/>

FitEnvelope

<FitEnvelope Mode="Freeform|Mixed|Uniform|Boxed"
HPos="Left|Center|Right|Stretched|Expanded"
VPos="Top|Center|Bottom|Stretched|Expanded"
HighResolution="Boolean"
KeepLines="Boolean"
AddBearingX="Boolean">
<Envelope>
<Curve Type="Bezier3" IsClosed="False" Points="..."/>
<Curve Type="Bezier3" IsClosed="False" Points="..."/>
<Curve Type="Bezier3" IsClosed="False" Points="..."/>
<Curve Type="Bezier3" IsClosed="False" Points="..."/>
</Envelope>
</FitEnvelope>

FitEllipse

<FitEllipse Height="Number" Width="Number"
Rotation="Angle"
Placement="Number"
Mirror="Boolean"
Inside="Boolean"
DontRotate="Boolean"
Fit="None|Scaled|Contained|Stretched|Expanded"/>

FitOnPath

<FitOnPath VPos="Above|Over|Below"
HPos="Fixed_Left|Fixed_CenterTop|Fixed_CenterBottom|
Fixed_Right|Stretched|Scaled|Expanded"
Offset="Number" DistanceFromPath="Number"
PlaceOnOtherSide="Boolean"
Fwd="Boolean"
DontRotate="Boolean"
Overhang="Boolean">
<Path Type="Bezier3" IsClosed="Boolean" Points="..."/>
</FitOnPath>

Distress

<Distress ScratchesLevel="Number"
RustLevel="Number"
FoldsLevel="Number"
OnOffThreshold="Number"/>