XML Script

From OCAD Wiki - English
Revision as of 15:22, 6 August 2015 by KLH (talk | contribs) (→‎File)
Jump to navigation Jump to search

This function is available in OCAD Professional.

Choose this command to execute functions whose settings are defined in a XML file.


Introduction

Select Execute XML Script from File menu or drag-and-drop then xml file to the OCAD window.

XML Script General

File

Node <OcadScript> Parameter Data type Values / Description
File.New File String file name of existing symbol set
File.Open File
IgnoreMissingBackgroundMaps
String
Boolean
ocd file name
true, false (default: false)
File.Close Enabled Boolean true, false
File.Save Enabled Boolean true, false
File.SaveAs File String ocd file name
File.Import.Ocd File
SymbolOption
ColorOption
String
Integer
Integer
File name
[0..3]
[0, 1]
File.MultipleFileImport Directory
CoordinateSystem

NewOffset
Horizontally
Vertically
Angle
MapScale
GridDistance
DatabaseType

Codepage
KeyField
LayerField
String
Integer

Boolean
Integer
Integer
Double
Integer
Double
Integer

Integer
String
String
Directory of import files
-1 = WGS 84, 1000 = existing grid of OCAD file






0 = dBase, 1 = Access 2007, 2 = Access 2003/2010, 3 = Do not create a database
0 = Default, Codepage number
' ' = Create new key field, field name
' ' = do not import layer information, field name
File.CreateThematicMap <MapTheme>
Name
StatDataPath
StatDataTable
StatDataCommonField
VisualizeAttributes
AttributesValuesType
Classify
RepresentationFeature
GeometryDataPath
GeometryDataCommonField
JoinType
VisualizationMethod
VisualizationType
<VisualizationProperties>
ScalingMode
MaxSize
MinSize
FillColor
StrokeColor
StrokeMaxWidth
StrokeMinWidth
DecreaseStroke
ShowZeroValue
ShowNoData
Opacity
ThemeLegendTitle
</VisualizationProperties>
</MapTheme>

<MapTitleStyle>
Color
Opacity
Font
Size
isBold
isItalic
Alignment
</MapTitleStyle>

<LegendTitleStyle>
see MapTitleStyle...
</LegendTitleStyle>

<LegendTextStyle>
see MapTitleStyle...
</LegendTextStyle>

AddScaleBar
AddScaleText
AdditionalInformationText


string
string
string
string
string
ValueType
ClassifyType
RepresentationFeatureType
string
string
JoinType
VisualizationMethodType
VisualizationTypeType

ScalingModeType
double
double
FillColor
StrokeColor
double
double
boolean
boolean
boolean
integer
string




ColorType
integer
string
double
boolean
boolean
AlignmentType



...



...


boolean
boolean
string

Theme name
statistic data file path
Sheet or table for Excel or Access files
Common Id field
Attribute(s) to visualize: Ex. 2004 or 2009|2011
absolute, relative
yes, no
point, line, area
Geometry data file path
Common Id field
see Thematic Map Data Types table
see Thematic Map Data Types table
see Thematic Map Data Types table

see Thematic Map Data Types table
max. size in mm
min. size in mm
fill color: ex. C=84 M=0 Y=128 K=0
stroke color: ex. C=0 M=0 Y=0 K=255
max. stroke width in mm
min. stroke width in mm
true, false
true, false
true, false
 %
ThemeLegendTitle




font color: ex. C=0 M=0 Y=0 K=255
opacity in %
font name
font size
true, false
true, false
0=align bottom left



...



...


true, false
true, false
Ex. Coordinate system: Pseudo-Mercator
File.Exit Enabled Boolean true, false

Thematic Map Data Types

Data type Values
ValueType absolute, relative
ClassifyType yes, no
RepresentationFeatureType point, line, area
JoinType 0=KeepAllRecords, 1=KeepOnlyMatchingRecords
VisualizationMethodType mProportionalSymbols, vmProportionalLines, vmProportionalArrows, vmGraduatedSymbols, vmGraduatedLines, vmGraduatedArrows, vmChoropleths, vmCharts
VisualizationTypeType vtProportionalBar, vtProportionalCircle, vtProportionalSquare, vtProportionalLine, vtProportionalArrow, vtGraduatedBar, vtGraduatedCircle, vtGraduatedSquare, vtGraduatedLine, vtGraduatedArrow, vtChoropleth, vtPieChart, vtWingChart, vtBarChart, vtDividedPieChart, vtDividedWingChart, vtDividedBarChart, vtStackedBarChart, vtPercentageStackedBarChart;
ScalingModeType 0=scaling by representation ratio, 1=scaling by max. size
ColorType CMYK color definition [0..255]: C=84 M=0 Y=128 K=0

View

Node <OcadScript> Parameter Data type Values / Description
View.Mode Enum types normalMode, spotColorMode, draftMode
View.EntireMap Enabled Boolean true, false
View.MoveTo X
Y
Double
Double
 
View.Zoom   Double  

Symbol

Node <OcadScript> Parameter Data type Values / Description
Symbol.ChangeStatus Number
Status
 
integer
integer
 
e. g. 100000 for symbol number 100.000
[0, 1, 2, 3] for normal, proteced, hidden and hidden protected

Map

Node <OcadScript> Parameter Data type Values / Description
Map.OptimizeRepair Enabled Boolean true, false
Map.ChangeScale NewScale
EnlargeReduceSymbols
Integer
Boolean
e. g. 10 000
true, false
Map.ConvertLayer CrtFile String crt file name
Map.LoadSymbolsFrom File String ocd file name (with symbols to be loaded)
The option replace existing colors and symbols is used

Database

Node <OcadScript> Parameter Data type Values / Description
Database.Dataset.New DatasetName
DBaseFile
OdbcDataSource
Table
KeyField
SymbolField
TextField
SizeField
LengthUnit
AreaUnit
Decimals
HorizontalCoordinate
VerticalCoordinate
Username
Passwort
String
String
String
String
String
String
String
String
String
String
Integer
String
String
String
String
mandatory
 
 
mandatory
mandatory
 
 
 
 
 
 
 
 
 
 
Database.Dataset.Remove Dataset String
Integer
all for all databases
3, 2, 1, ... for only one or several
Database.Assign.Symbols Dataset

CntFile
String
Integer
String
all for all databases
1, 2, 3, ... for only one database
Condition table file
Database.Assign.Texts Dataset

TextField
Symbol
ReplaceExistingObjects
String
Integer
String
String
Boolean
all for all databases
1, 2, 3, ... for only one database
 
ex. 101.0
true, false (Default)
Database.Assign.Angles Dataset

AngleField
String
Integer
String
all for all databases
1, 2, 3, ... for only one database
 
Database.CreateObjects Dataset
SelectSymbol
Condition
HorizontalCoordinate
VerticalCoordinate
Unit
TextField
HorizontalOffset
VerticalOffset
Integer
Double
String
String
String
Enum types
String
Double
Double
1, 2, 3, ... Number of dataset
Symbol numer. ex. 207.0
SQL String (ex. SYMBOL LIKE 207.0)
Database fieldname
Database fieldname
m, km
Database fieldname
 
 

Background Map

Node <OcadScript> Parameter Data type Values / Description
BackgroundMap.Open FileName
Visible
VisibleInFavorites
Dimm
Transparent
SpotColor
Blockout
Infrared
String
Boolean
Boolean
Integer
Boolean
String
Boolean
Integer
 
true, false; Default = true
true, false; Default = true
[0..100]; Default = 0 [only works if Blockout is false]
true, false; Default = false [only works if Blockout is false]
spot color name
true, false; Default = false
0=undefined, 1=32bit-infrared, 2=32bit RGB
BackgroundMap.Remove   String all or filename

Example

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- OCAD XML Script for multiple Shape import and assigning symbols from database -->

<OcadScript>

  <File.New>
    <!-- This path has to be adjusted before using the script! Choose a template file. -->
    <File>C:\Export\Chlosterwald.ocd</File>
  </File.New>

  <File.MultipleFileImport>
    <!-- This path has to be adjusted before using the script! -->
    <Directory>C:\Export\Files</Directory>
    <CoordinateSystem>1000</CoordinateSystem>
    <NewOffset>true</NewOffset>
    <Horizontally>600000</Horizontally>
    <Vertically>200000</Vertically>
    <Angle>0</Angle>
    <MapScale>10000</MapScale>
    <GridDistance>500</GridDistance>
    <LayerField>OBJECTVAL</LayerField>
  </File.MultipleFileImport>

  <Database.Assign.Texts>
    <Dataset>all</Dataset>
    <TextField>TEXT</TextField>
    <Symbol>902.000</Symbol>
    <ReplaceExistingObjects>false</ReplaceExistingObjects>
  </Database.Assign.Texts>

  <Database.Assign.Angles>
    <Dataset>all</Dataset>  
    <AngleField>ANGLE</AngleField>
  </Database.Assign.Angles>

  <Database.Assign.Symbols>
    <Dataset>all</Dataset>
    <CntFile>C:\Export\Chlosterwald.cnt</CntFile>
  </Database.Assign.Symbols>

  <Database.Dataset.Remove>
    <Dataset>all</Dataset>
  </Database.Dataset.Remove>

  <Map.OptimizeRepair>
    <Enabled>true</Enabled>
  </Map.OptimizeRepair>

  <View.EntireMap>
    <Enabled>true</Enabled>
  </View.EntireMap>

  <File.Save>
    <Enabled>false</Enabled>
  </File.Save>

  <File.SaveAs>
    <File>C:\Export\Chlosterwald_Example.ocd</File>
  </File.SaveAs>

  <File.Close>
    <Enabled>true</Enabled>
  </File.Close>

  <File.Exit>
    <Enabled>false</Enabled>
  </File.Exit>

</OcadScript>

XML Script Partial Map

Node <OcadScript> Parameter Data type Values / Description
Export File

coordSystem
L, R, B, T
String

Enum types
Float
eg.: ‚ c:\export\PartialMap1.ocd ‘
OCAD creates files PartialMap1_#verticalPages_#horizontalPages.ocd
mm (paper, m (real world)
left, right, bottom, top
Export.loop Enabled
HorizontalPages
VerticalPages
HorizontalOverlap
VerticalOverlap
Bool
Integer
Integer
Float
Float
true, false
number of pages in horizontal direction
number of pages in vertical direction
horizontal overlap in [mm] or [m]
vertical overlap in [mm] or [m]


Example

<ocadScript>                                              // comment   
  <partialMapScript>
<export id="0"> // first export section <file>c:\export\PartialMap1.ocd</file> // export file <coordSystem>mm</coordSystem> // paper oder real world coordinates <T>100</T> // export rectangle with Top Left point and Bottom Right point <L>0</L> <B>50</B> <R>50</R> <loop> // the loop export several ocd files. For this example 21 files. <enabled>true</enabled> <horizontalPages>7</horizontalPages> <verticalPages>3</verticalPages> <horizontalOverlap>10</horizontalOverlap> // horizontal and vertical overlap. <verticalOverlap>10</verticalOverlap> </loop> </export> <export id="1"> // second export section <file>c:\export\PartialMap2.ocd</file> <coordSystem>mm</coordSystem> <L>0</L> <R>50</R> <B>50</B> <T>100</T> <loop> // export only one ocd file <enabled>false</enabled> </loop> </export>
</partialMapScript> </ocadScript>

XML Script Print

Print parameters can be saved in a XML script.

Node <OcadScript> Parameter Data type Values / Description
File.Print.Printer Name
DmPaperSize
DmDefaultSource
DmPrintQuality
DmColor
DmMediaType
String
Integer
Integer
Integer
Integer
Integer
Eg. ,HP Color LaserJet 2840 PCL'
File->Print->Save XML Script->Open the Script and depending on which printer was choosen, the informations are there.
File.Print.Portrait Enabled Bool true, false
File.Print.SpotColor Enabled
Colors
Bool
String
true, false
Name of the spot color(s)
File.Print.PartialMap Range
L, R, B, T
Integer
Float
1
Left, Right, Bottom, Top
File.Print.HorizontalOverlap   Float
File.Print.VerticalOverlap   Float
File.Print.PrintScale   Integer Eg. 25000
File.Print.Copies   Integer Number of copies
File.Print.Intensity   Integer  
File.Print.LineWidth   Integer  
File.Print.PrintScreenGrid Enabled
PrintScreenGridColor
Bool
Integer
true, false
Ocad color number

XML Script Export

Watch out for the file endings.
Resolution is only used if File.Export.GeoRef -> Enabled = false

AI (Adobe Illustrator), PDF

Node <OcadScript> Parameter Data type Values / Description
File.Export File
Format
Resolution

ExportScale
String
Enum types
Integer

Integer
eg.: ,c::\Export\Chlosterwald.ai‘
AI, PDF
in dpi [40..2540] (only if the map has raster background maps)
eg. '10000' for the scale 1:10'000
File.Export.PartOfMap Enabled
Coordinates
L, R, B, T
Bool
Enum types
Float
true, false
mm (page), m (real world)
left, right, bottom, top
File.Export Colors Enum types normal, spotColors
File.Export.SpotColors Combine
Enabled
Bool
String
true, false [only if Colors = spotColors]
Spotcolor name [only if Colors = spotColors]

BMP, GIF, JPEG

Node <OcadScript> Parameter Data type Values / Description
File.Export File
Format
Quality
Resolution
Anti-Aliasing
ColorCorrection
String
Enum types
Integer
Integer
Boolean
Boolean
eg.: ‚c:\Export\Chlosterwald.bmp‘
BMP, GIF, JPEG
only for JPEG, [0..100]
in dpi [40..2540]
true, false
true, false
File.Export.PartOfMap Enabled
Coordinates
L, R, B, T


Bool
Enum types
Float


true, false
mm (page), m (real world)
left, right, bottom, top
for rotated maps use here the coordinate of the upper left und lower right corner
File.Export.Tiles Enabled
Width
Height
Boolean
Integer
Integer
true, false
[only if Enabled = true]
[only if Enabled = true]
File.Export.GeoRef Enabled
PixelSize
CreateWorldFile
Bool
Float
Bool
true, false
in meter [only if Enabled = true]
true, false [only if Enabled = true]

EPS

Node <OcadScript> Parameter Data type Values / Description
File.Export File
Format
ExportScale
String
Enum types
Integer
eg.: ‚c:\Export\Chlosterwald.eps ‘
EPS
e.g. '10000' for the scale 1:10'000
File.Export.PartOfMap Enabled
Coordinates
L, R, B, T
Bool
Enum types
Float
true, false
mm (page), m (real world)
left, right, bottom, top
File.Export Colors Enum types normal, spotColors
File.Export.SpotColors Enabled Spotcolor name [only if Colors = spotColors]

SVG (Scalable Vector Graphics)

Node <OcadScript> Parameter Data type Values / Description
File.Export File
Format
ExportScale
CompressFile
String
Enum types
Integer
Boolean
eg.: ‚c:\Export\Chlosterwald.svg ‘
SVG
e.g. '10000' for the scale 1:10'000
true, false
File.Export.PartOfMap Enabled
Coordinates
L, R, B, T
Bool
Enum types
Float
true, false
mm (page), m (real world)
left, right, bottom, top

TIFF

Node <OcadScript> Parameter Data type Values / Description
File.Export File
Format
Resolution
Anti-Aliasing
ColorCorrection
String
Enum types
Integer
Boolean
Boolean
eg.: ‚c:\Export\Chlosterwald.tif‘
TIFF
in dpi [40..2540]
true, false
true, false
File.Export.PartOfMap Enabled
Coordinates
L, R, B, T
Bool
Enum types
Float
true, false
mm (page), m (real world)
left, right, bottom, top
File.Export.Tiles Enabled
Width
Height
Bool
Integer
Integer
true, false
[only if Enabled = true]
[only if Enabled = true]
File.Export.GeoRef Enabled
PixelSize
CreateWorldFile
Bool
Float
Bool
true, false
in meter [only if Enabled = true]
true, false [only if Enabled = true]
File.Export Colors Enum types normal, spotColors
File.Export.SpotColors Combine
Enabled
Bool
Spotcolor name
true, false [only if Colors = spotColors]
[only if Colors = spotColors]
File.Export ColorMode Integer 0 = 32 bit CMYK
1 = 24 bit RGB
2 = 256 colors
3 = grayscale
4 = 8 bit CMYK
5 = 1 bit black/white
6 = halftone screen [only if spotColor = true]
File.Export Compression Integer 1 = no compression
2 = CCITT [only used with ColorMode 5/6]
4 = FaxG4 [only used with ColorMode 5/6]
5 = LZW

DXF

Node <OcadScript> Parameter Data type Values / Description
File.Export File
Format
ExportScale
ConvertAnsiToOem
ConvertOemToUnicode
ObjectSelectedSymbols
AddSymbolDescription
UseCrtFileName
ExportAsSplines
Coordinates
String
Enum types
Integer
Boolean
Boolean
Boolean
Boolean
String
Boolean
Enum types
eg.: ‚c:\Export\Chlosterwald.dxf ‘
DXF
e.g. '10000' for the scale 1:10'000
true, false
true, false
true, false
true, false
eg.: ‚c:\CRT\Chlosterwald.crt‘
true, false
m, mm

Shape

Node <OcadScript> Parameter Data type Values / Description
File.Export ExportPath
Format
PointObjects
LineObjects
AreaObjects
TextObjects
Dataset

WordWrap
ProjectionFile
Utf8Encoding
String
Enum types
Boolean
Boolean
Boolean
Boolean
String
Integer
Boolean
Boolean
Boolean
eg.: ‚c:\Export‘ (only path name)
SHAPE
true, false
true, false
true, false
true, false
all for all databases
1, 2, 3, ... for only one database
true, false
true, false
true, false

Example

The following example exports two pdf files in spot colors and two Shape files. Each OcadScript node can contain many children.

 <?xml version="1.0" encoding="ISO-8859-1"?>
 <OcadScript>
<File.Open> <File>M:\OCAD12\Changes\11-06xx\11-0663\Chlosterwald.ocd</File> </File.Open>
<File.Export> //PDF export <File>M:\OCAD12\Changes\11-06xx\11-0663\output\Chlosterwald.pdf</File> <Format>PDF</Format> <PartOfMap> <Enabled>true</Enabled> <Coordinates>mm</Coordinates> <L>0</L> <R>50</R> <B>50</B> <T>100</T> </PartOfMap> <ExportScale>10000</ExportScale> <Colors>spotColors</Colors> <SpotColors> <Combine>false</Combine> <Enabled>Blau</Enabled> <Enabled>Gelb</Enabled> </SpotColors> </File.Export> <File.Export> //Shape export <ExportPath>M:\OCAD12\Changes\11-06xx\11-0663\output\</ExportPath> <Format>SHAPE</Format> <PointObjects>false</PointObjects> <LineObjects>true</LineObjects> <AreaObjects>true</AreaObjects> <TextObjects>false</TextObjects> <Dataset>all</Dataset> <WordWrap>true</WordWrap> <ProjectionFile>false</ProjectionFile> </File.Export>
<File.Save> <Enabled>true</Enabled> </File.Save>
<File.Close> <Enabled>true</Enabled> </File.Close> </OcadScript>

Run XML Script from the Command Line

It is possible to execute a XML script file from the command line or from batch file.

Open the Windows command and enter the OCAD program name and the xml script file. For example: "C:\Program Files\OCAD\OCAD 12\Ocad12.exe" "C:\Data\ExportScriptExample_PDF.xml"

Do not forget to use the parameter <File.Open> to open the file, <File.Close> to close it and <File.Exit> to close OCAD.

Open ocd File from the Command Line

It is possible to open an ocd file from the command line with optional view parameters.

Open the Windows command and enter the OCAD program name and the ocd file name.

For example:

 "C:\Program Files\OCAD\OCAD 12\Ocad12.exe" "M:\Data\Map.cod"

Additional OCAD supports the following optional view parameters to open an map at desired postion and view scale.

 -c: center for view 
 -s: view scale

For example:

 "C:\Program Files\OCAD\OCAD 12\Ocad12.exe" -c 710000,231000 -s 2500 "M:\Data\Map.cod" 



Back to Main Page

Previous Chapter: Thematic Map

Next Chapter: Course Setting for Orienteering