JDAPIUtil : XML file structure
section
1
XML file : general configuration section
This section is surrounded by the<configuration></configuration>
tags.
<!-- ---------------------------------
-->
<!-- general configuration information -->
<!-- --------------------------------- -->
<configuration>
<backup_directory>C:/temp/</backup_directory>
<target_directory></target_directory>
<module_list>
<!-- single filename
--->
<name>C:/dev/Forms/DnD/DND.fmb</name>
<!-- entire directory
--->
<name>D:/Projets/Forms/TEST/</name>
</module_list>
<log_file_name>c:/jdapiutil.log</log_file_name>
<backup_ext>_bak</backup_ext>
<new_ext>_new</new_ext>
<connection_string>tuto/tuto@XE</connection_string>
<compile_module>false</compile_module>
<comment>module modified by JDAPIUtil on
:SYSDATE</comment>
<libraries_case>to_lower_case</libraries_case>
</configuration>
Section 1 |
|||
Tag |
Comment |
Possible values |
Default value |
<backup_directory> |
Directory to put the saved files. If nothing given, the file will be saved in its current
directory |
|
current directory |
<target_directory> |
Directory to put the new files. If nothing given, the new file will be created in its current directory. |
|
current directory |
<module_list> |
list of modules to process (can be a whole
directory) |
|
|
<name> |
full
directory or filename of the module. If you indicate
a directory, all the files that have the .FMB extension within this directory
will be added to the list. |
|
|
<log_file_name> |
full name of the logging file |
|
|
<backup_ext> |
extension for saved
file. if the module name currently processed is my_module.fmb, a copy will be made with the my_module_bak.fmb name |
|
_bak |
<new_ext> |
extension to new
files. if the module name currently processed is my_module.fmb, the new module name will be : my_module_new.fmb |
|
_new |
<connection_string> |
connection string to connect to the database
(compile time) |
|
|
<compile_module> |
tells if modules have to be compiled after
changes |
true false |
false |
<comment> |
form-level comment added to every module |
|
|
<libraries_case> |
PL/SQL attached libraries name case conversion |
to_lower_case to_upper_case |
|
Section 2
XML file : properties for all modules
This section is surrounded by the<all_modules></all_modules> tags.
The properties of this section are applied to every module given in the first
section.
<!-- ---------------------------- -->
<!-- properties for every modules -->
<!-- ---------------------------- -->
<all_modules>
<!-- all attached libraries -->
<library>
<action>ATTACH</action>
<name>laf</name>
</library>
<library>
<action>DETACH</action>
<name>LAF2</name>
</library>
<!-- all blocks -->
<blocks>
<block>
<property>setComment</property>
<value>block comment</value>
</block>
</blocks>
<!-- all canvases -->
<canvases>
<canvas>
<property>setBackColor</property>
<value>blue</value>
</canvas>
</canvases>
<!-- all windows -->
<windows>
<window>
<property>setBackColor</property>
<value>blue</value>
</window>
<window>
<property>setMoveAllowed</property>
<value>false</value>
</window>
<window>
<property>setComment</property>
<value>Window comment</value>
</window>
</windows>
<!-- all alerts -->
<alerts>
<alert>
<property>setTitle</property>
<value>The Super Title</value>
</alert>
<alert>
<property>setButton1Label</property>
<value>Libellé du bouton 1</value>
</alert>
</alerts>
<!-- all items -->
<items>
<item>
<type>all</type>
<property>setComment</property>
<value>Commentaire</value>
</item>
<item>
<type>CheckBox</type>
<property>setComment</property>
<value>Commentaire
CheckBox</value>
</item>
</items>
</all_modules>
Available tags:
<form>
<block>
<canvas>
<item>
<alert>
<editor>
<visual_attribute>
<recordgroup>
<lov>
<window>
PL/SQL library tags:
<action>ATTACH | DETACH</action>
<name>library name</name>
other objects tags: exemple for blocks:
<object_type_group>
<object_type>
<property>property_name</property>
<value>property_value</value>
</object_type>
</object_type_group>
<object_type_group> can be:
- alerts
- blocks
- canvases
- items
- windows
- forms
- editors
- lovs
- recordgroups
- visual_attributes
<object_type> can be:
- alert
- block
- canvas
- item
- window
- form
- editor
- lov
- recordgroup
- visual_attribute
You need as many<object_type></object_type> tags as property to be set
Example for blocks:
<blocks>
<block>
<property>setComment</property>
<value>the new block comment</value>
</block>
</blocks>
Example for windows:
<windows>
<!-- background color
property -->
<window>
<property>setBackColor</property>
<value>blue</value>
</window>
<!-- moving allowed property -->
<window>
<property>setMoveAllowed</property>
<value>false</value>
</window>
</windows>
item tags:
<items>
<item>
<type>all</type>
<property>setComment</property>
<value>Commentaire</value>
</item>
<item>
<type>CheckBox</type>
<property>setComment</property>
<value>Commentaire CheckBox</value>
</item><br></items>
<type> can be one of the following:
Section 3
XML file : properties for single named modules
This section is surrounded by the<single_modules></single_modules> tags.
The properties of this section are applied to each single module given in the
<name> tag.
The syntax is quite the same except the <name> tag to give the explicit
module name in the <module> tag
and the object name in the object_type tag
(<alert> or <canvas> for instance).
Each module description is surrounded by the<module></module> tags.
<!-- --------------------------------------
-->
<!-- properties for single specified module -->
<!-- -------------------------------------- -->
<single_modules>
<module>
<name>D:/modules/app1/TEST.fmb</name>
<compile>true</compile>
<alert>
<name>ALERTE2</name>
<property>setButton2Label</property>
<value>Libellé du bouton 2</value>
</alert>
<!-- canvas -->
<canvas>
<name>CV</name>
<property>setWidth</property>
<value>400</value>
</canvas>
<canvas>
<name>CV</name>
<property>setHeight</property>
<value>300</value>
</canvas>
<!-- olb
subclassing -->
<subclass_olb>
<lib_name>D:/Oracle9i/forms90/webutil.olb</lib_name>
<tab_name>MAIN</tab_name>
<object_num>1</object_num>
<target_name>WEBUTILCONFIG</target_name>
</subclass_olb>
<!-- program unit -->
<program_unit>
<action>ADD</action>
<position>start</position>
<name>P1</name>
<text>
Procedure P1
Is
Begin
Null ;
-- comment line --
End P1;
</text>
</program_unit>
<program_unit>
<!-- delete some code -->
<action>DELETE_CODE</action>
<name>P1</name>
<text>-- comment line--</text>
</program_unit>
<trigger>
<action>ADD</action>
<position>end</position>
<name>WHEN-NEW-FORM-INSTANCE</name>
<text>
-- Call the P1 procedure --
Begin
P1 ;
End;
</text>
</trigger>
<trigger>
<action>REPLACE</action>
<name>ON-LOGON</name>
<replace>
Null;
</replace>
<text>
P1;
</text>
</trigger>
<trigger_>
<action>DELETE_CODE</action>
<name>ON-LOGON</name>
<text>P1;</text>
</trigger_>
<trigger>
<action>REMOVE</action>
<name>ON-LOGON</name>
<on_error>continue</on_error>
</trigger>
<trigger>
<action>HIERARCHY</action>
<name>ON-LOGON</name>
<text>after</text>
<on_error>continue</on_error>
</trigger>
</module>
</single_modules>