Request service 4 creating syntax validation code
Posted: Fri Jul 01, 2011 3:10 pm
Hello,
We have a custom application being developed by a third party. They created an XML syntax for us to customize certain parts of that application.
We want to edit our XML files with Oxygen. However, Oxygen doesn't recognize all of our syntax and therefore can't validate it completely and does other strange things with our XML-tags (auto suggest things) we don't want.
We're looking for someone who can write some 'code' and helps with Oxygen settings so that Oxygen helps us create and check our XML-files easily.
We ourselves are no real IT-people and just understand our 'own' XML-syntax (and like to keep it at that level).
I included a sample (composed of different snippets) of our XML syntax to give you an idea. The sample contains the majority of the syntax applicable.
Please let us know if you are interested to take on this job and give a rought estimate on time and costs.
Joost Fontein
We have a custom application being developed by a third party. They created an XML syntax for us to customize certain parts of that application.
We want to edit our XML files with Oxygen. However, Oxygen doesn't recognize all of our syntax and therefore can't validate it completely and does other strange things with our XML-tags (auto suggest things) we don't want.
We're looking for someone who can write some 'code' and helps with Oxygen settings so that Oxygen helps us create and check our XML-files easily.
We ourselves are no real IT-people and just understand our 'own' XML-syntax (and like to keep it at that level).
I included a sample (composed of different snippets) of our XML syntax to give you an idea. The sample contains the majority of the syntax applicable.
Please let us know if you are interested to take on this job and give a rought estimate on time and costs.
Joost Fontein
Code: Select all
<ELEMENTINFO_PATTERN function="TAG_F_CAR" type="TAG_PAVING" icon="Files/Images/Elements/FunctionIcons/fi_car.png">
<PE_CM_ElementInfo productfamily="paving" function="car" elementtrafficclass="heavy">
<VS UID="VAR_OLD_PAVING_TYPE"/>
<VS UID="VAR_PAVING_TRAFFIC_CLASS"/>
<VS UID="VAR_PAVING_CATEGORY"/>
<INCLUDE UID="11**_INCL_10" file="1910_CopyOldElementCheck.ElementInclude"/>
<INCLUDE UID="11**_INCL_20" file="1200_Paving.ElementInclude"/>
<INCLUDE UID="1200_INCL_10" file="1900_VariablesPaving.ElementInclude"/>
<IF UID="1200_IF_10" exp="$Get('COMPOSED')">
<FB UID="UID_COMPOSED_FREQUENCY" label="TAG_COMPOSED_FREQUENCY" type="AKFloat" value="1"/>
</IF>
<FB UID="UID_RELATIVE_VERTICAL_OFFSET" label="TAG_PAVING_RELATIVE_VERTICAL_OFFSET" type="AKFloat" value="0.0"/>
<TXT UID="UID_DEVIDER_PAVING" label="TAG_DEVIDER_DASHED" />
<LB UID="UID_PAVING_TYPE" label="TAG_PAVING_TYPE" type="AKString">
<LBO label="TAG_LBO_NULL"/>
<LBO label="TAG_PAVING_TYPE_ASPHALT"/>
<LBO label="TAG_PAVING_TYPE_POURED_CONCRETE"/>
<LBO label="TAG_PAVING_TYPE_OPEN_PAVING"/>
<!-- JF concrete plates are a specific form of OPEN PAVING, but is mentioned here as if a seperate PAVING TYPE -->
<LBO label="TAG_PAVING_TYPE_CONCRETE_PLATES"/>
</LB>
<IF UID="1210_IF_20"
exp="$ Get('OLD')
|| ( Get('NEW')
&& (!Get('LB','UID_ASPHALT_RENEWAL'):{'TAG_LBO_NULL'})
)
">
<LB UID="UID_PAVING_TRAFFIC_CLASS_ASPHALT" label="TAG_PAVING_TRAFFIC_CLASS" type="AKString" copyselected="VS.VAR_PAVING_TRAFFIC_CLASS" >
<!-- starting-point: if section.TrafficClass==light this implies that for all elements in that section elementtrafficclass==light is applicable -->
<LBO label="TAG_PAVING_TRAFFIC_CLASS_LIGHT"/>
<LBO label="TAG_PAVING_TRAFFIC_CLASS_BASIC"
default="$
( GetSection('UID_SECTION_TRAFFIC_CLASS','Value'):{'TAG_SECTION_TRAFFIC_CLASS_BASIC'}
&& Get('ElementInfo','elementtrafficclass'):{'basic'||'heavy'}
)
||( GetSection('UID_SECTION_TRAFFIC_CLASS','Value'):{'TAG_SECTION_TRAFFIC_CLASS_HEAVY'}
&& Get('ElementInfo','elementtrafficclass'):{'basic'}
)
"/>
<LBO label="TAG_PAVING_TRAFFIC_CLASS_HEAVY"
filter="$Get('ElementInfo','elementtrafficclass'):{'heavy'}"
default="$
GetSection('UID_SECTION_TRAFFIC_CLASS','Value'):{'TAG_SECTION_TRAFFIC_CLASS_HEAVY'}
&& Get('ElementInfo','elementtrafficclass'):{'heavy'}
"/>
<LBO label="TAG_LBO_CUSTOM_HEIGHT"/>
<LBO label="TAG_LBO_UNKNOWN" filter="$Get('OLD')"/>
</LB>
<IF UID="1210_IF_20_10" exp="$(!Get('LB','UID_ASPHALT_RENEWAL'):{'TAG_ASPHALT_RENEWAL_SURF_ONLY'||'TAG_ASPHALT_RENEWAL_POSTPONE_SURF'})">
<FB UID="UID_PAVING_THICKNESS_ASPHALT" label="TAG_PAVING_THICKNESS" type="AKFloat"/>
</IF>
<IF UID="1210_IF_20_30" exp="$Get('LB','UID_ASPHALT_RENEWAL'):{'TAG_ASPHALT_RENEWAL_SURF_ONLY'}">
<FB UID="UID_PAVING_THICKNESS_ASPHALT_SURF_ONLY" label="TAG_PAVING_THICKNESS_ASPHALT_SURF_ONLY" type="AKFloat"/>
</IF>
<IF UID="1210_IF_20_40" exp="$Get('LB','UID_ASPHALT_RENEWAL'):{'TAG_ASPHALT_RENEWAL_POSTPONE_SURF'}">
<FB UID="UID_PAVING_THICKNESS_ASPHALT_POSTPONE_SURF" label="TAG_PAVING_THICKNESS_ASPHALT_POSTPONE_SURF" type="AKFloat"/>
</IF>
</IF>
<RBG UID="UID_BASE_ADJUSTMENT" label="TAG_BASE_ADJUSTMENT" type="AKString" tooltip="TAG_TT_BASE_ADJUSTMENT">
<RBO label="TAG_ALWAYS_KEEP_BASE" tooltip="TAG_TT_ALWAYS_KEEP_BASE"/>
<RBO label="TAG_ALWAYS_RENEW_BASE" tooltip="TAG_TT_ALWAYS_RENEW_BASE"/>
<RBO label="TAG_DETERMINE_BASE_ADJUSTMENT_AUTOMATICALLY" tooltip="TAG_TT_DETERMINE_BASE_ADJUSTMENT_AUTOMATICALLY"/>
</RBG>
<CB UID="UID_REINFORCED_ASPHALT" label="TAG_REINFORCED_ASPHALT" type="AKBoolean" value="false"/>
</PE_CM_ElementInfo>
</ELEMENTINFO_PATTERN>