XML Script

From OCAD Wiki - English
Revision as of 11:57, 24 April 2015 by FKO (talk | contribs) (→‎File.Print)
Jump to navigation Jump to search

This function is available in OCAD 11 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 String ocd file name
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.Exit Enabled Boolean true, false

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  

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 File

<?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 xml file:

<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>                                              // second export section
    <export id="1">
    <file>c:\export\PartialMap2.ocd</file>
    <coordSystem>mm</coordSystem>
    <L>0</L>
    <R>50</R>
    <B>50</B>
    <T>100</T>
      <loop>
      <enabled>false</enabled>
    </loop>                                                // export only one ocd file
    </export>
  </partialMapScript>
</ocadScript>

XML Script Print

Print parameters can be saved in a XML script.

File.Print

Node <OcadScript> Parameter Data type Values / Description
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.
Portrait Enabled Bool true, false
SpotColor Enabled
Colors
Bool
String
true, false
Name of the spot color(s)
PartialMap Range
L, R, B, T
Integer
Float
1
Left, Right, Bottom, Top
HorizontalOverlap   Float
VerticalOverlap   Float
PrintScale   Integer Eg. 25000
Copies   Integer Number of copies
Intensity   Integer  
LineWidth   Integer  
PrintScreenGrid Enabled
PrintScreenGridColor
Bool
Integer
true, false
Ocad color number

XML Script Export

AI (Adobe Illustrator), PDF

Node <OcadScript> Parameter Data type Values / Description
File.Export File String eg.: ,c::\Export\Chlosterwald.ai‘
File.Export Format Enum types AI, PDF
File.Export Resolution Integer in dpi [40..2540] (only if the map has raster background maps)
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 ExportScale Integer e.g. '10000' for the scale 1:10'000
File.Export Colors Enum types normal, spotColors
File.Export.SpotColors Combine Bool true, false [only if Colors = spotColors]
File.Export.SpotColors Enabled Spotcolor name [only if Colors = spotColors]

BMP, GIF, JPEG

Node <OcadScript> Parameter Data type Values / Description
File.Export File String eg.: ‚c:\Export\Chlosterwald.bmp‘
File.Export Format Enum types BMP, GIF, JPEG
File.Export Quality Integer only for JPEG, [0..100]
File.Export Resolution Integer in dpi [40..2540]
File.Export Anti-Aliasing Boolean true, false
File.Export ColorCorrection Boolean 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 String eg.: ‚c:\Export\Chlosterwald.eps ‘
File.Export Format Enum types EPS
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 String eg.: ‚c:\Export\Chlosterwald.svg ‘
File.Export Format Enum types SVG
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 ExportScale Integer e.g. '10000' for the scale 1:10'000
File.Export CompressFile Boolean true, false

TIFF

Node <OcadScript> Parameter Data type Values / Description
File.Export File String eg.: ‚c:\Export\Chlosterwald.tif‘
If spotColors is enabled and
Combine=false then the filename is
‚c:\Export\Chlosterwald.Spotcolor name.tif ‘
File.Export Format Enum types TIFF
File.Export Resolution Integer in dpi [40..2540]. Only used if File.Export.GeoRef -> Enabled = false
File.Export Anti-Aliasing Boolean true, false
File.Export ColorCorrection Boolean 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 (->PixelSize), false (->Resolution)
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
File.Export Compression Integer 1 = no compression
2 = CCITT
4 = FaxG4
5 = LZW

DXF

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

Shape

Node <OcadScript> Parameter Data type Values / Description
File.Export ExportPath String eg.: ‚c:\Export‘ (only path name)
File.Export Format Enum types SHAPE
File.Export PointObjects
LineObjects
AreaObjects
TextObjects
Boolean
Boolean
Boolean
Boolean
true, false
true, false
true, false
true, false
File.Export Dataset String all for 'All objects'
or index eg.: 2 (Objects in dataset with index = 2)
File.Export WordWrap Boolean true, false
File.Export ProjectionFile Boolean true, false
File.Export Utf8Encoding Boolean 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:\OCAD11\Changes\11-06xx\11-0663\Chlosterwald.ocd</File>
   </File.Open>
   <File.Export>
     <File>M:\OCAD11\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>
     <ExportPath>M:\OCAD11\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 11\Ocad11.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 11\Ocad11.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 11\Ocad11.exe" -c 710000,231000 -s 2500 "M:\Data\Map.cod" 

Previous Chapter: Database

Next Chapter: Course Setting for Orienteering

Back to Main Page