This is an example about what I'm trying to do.
here is my xml file:
<BODY_TYPES>
<BODY_TYPE Name="BT3">
<SCENARIOS>
<SCENARIO Name="SC4" Services="SEARCH" Used="true">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP
Antenna_Area_Definition="DIAGNOSIS_RIGHT_DOOR_AREA"
Number_Of_Error_Retry="2"
Number_Of_Retry="2" Step_Number="FS_LEARN_SK"/>
<SCENARIO_STEP
Antenna_Area_Definition="DIAGNOSIS_BLUMPER_AREA"
Number_Of_Error_Retry="1"
Number_Of_Retry="1" Step_Number="FS_DISCHARGE_MODE"/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
<SCENARIO Name="SC3" Services="" Used="false">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP Antenna_Area_Definition=" "
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number=" "/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
<SCENARIO Name="SC2" Services="" Used="false">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP Antenna_Area_Definition=" "
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number=" "/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
<SCENARIO Name="SC1" Services="SEARCH" Used="true">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP
Antenna_Area_Definition="DIAGNOSIS_RIGHT_DOOR_AREA"
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number="FS_ACCESS_AUTHENTICATION"/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
</SCENARIOS>
</BODY_TYPE>
<BODY_TYPE Name="BT2">
<SCENARIOS>
<SCENARIO Name="SC4" Services="" Used="false">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP Antenna_Area_Definition=" "
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number=" "/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
<SCENARIO Name="SC3" Services="SEARCH" Used="true">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP
Antenna_Area_Definition="DIAGNOSIS_RIGHT_DOOR_AREA"
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number="FS_ACCESS_AUTHENTICATION"/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
<SCENARIO Name="SC2" Services="" Used="false">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP Antenna_Area_Definition=" "
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number=" "/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
<SCENARIO Name="SC1" Services="" Used="false">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP Antenna_Area_Definition=" "
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number=" "/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
</SCENARIOS>
</BODY_TYPE>
<BODY_TYPE Name="BT1">
<SCENARIOS>
<SCENARIO Name="SC4" Services="" Used="false">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP Antenna_Area_Definition=" "
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number=" "/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
<SCENARIO Name="SC3" Services="SEARCH" Used="true">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP
Antenna_Area_Definition="DIAGNOSIS_RIGHT_DOOR_AREA"
Number_Of_Error_Retry="2"
Number_Of_Retry="2" Step_Number="FS_LEARN_SK"/>
<SCENARIO_STEP
Antenna_Area_Definition="DIAGNOSIS_BLUMPER_AREA"
Number_Of_Error_Retry="1"
Number_Of_Retry="1" Step_Number="FS_DISCHARGE_MODE"/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
<SCENARIO Name="SC2" Services="" Used="false">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP Antenna_Area_Definition=" "
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number=" "/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
<SCENARIO Name="SC1" Services="" Used="false">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP Antenna_Area_Definition=" "
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number=" "/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
</SCENARIOS>
</BODY_TYPE>
</BODY_TYPES>
it will be generated this table:
PRIVATE_DATA const T_UBYTE cas_Scenarios_BodyType_Table [GET_MAX_NUMBER_OF_BODY_TYPES ]
[ GET_MAX_NUMBER_OF_SCENARIOS] =
{
{
SCENARIO_NUMBER_ROM_BT3_SC4,
SCENARIO_NOT_USED,
SCENARIO_NOT_USED,
SCENARIO_NUMBER_ROM_BT3_SC1
}
,
{
SCENARIO_NOT_USED,
SCENARIO_NUMBER_ROM_BT2_SC3,
SCENARIO_NOT_USED,
SCENARIO_NOT_USED
}
,
{
SCENARIO_NOT_USED,
SCENARIO_NUMBER_ROM_BT1_SC3,
SCENARIO_NOT_USED,
SCENARIO_NOT_USED
}
};
now what I want to do is to replace in the table SCENARIO_NUMBER_ROM_BT1_SC3 with SCENARIO_NUMBER_ROM_BT3_SC4 because they are identical. I need to do this for all the identical SCENARIOS.A problem witch occurs here is that we do not now how many SCENARIO_STEP there are in an SCENARIO node and to find identical SCENARIOS evrey SCENARIO_STEP from one SCENARIO must be identical(have the same attributes) with the SCENARIO_STEP from the other SCENARIO. Do you have an ideea how to do this?
thanks
Andrei
here is my xml file:
<BODY_TYPES>
<BODY_TYPE Name="BT3">
<SCENARIOS>
<SCENARIO Name="SC4" Services="SEARCH" Used="true">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP
Antenna_Area_Definition="DIAGNOSIS_RIGHT_DOOR_AREA"
Number_Of_Error_Retry="2"
Number_Of_Retry="2" Step_Number="FS_LEARN_SK"/>
<SCENARIO_STEP
Antenna_Area_Definition="DIAGNOSIS_BLUMPER_AREA"
Number_Of_Error_Retry="1"
Number_Of_Retry="1" Step_Number="FS_DISCHARGE_MODE"/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
<SCENARIO Name="SC3" Services="" Used="false">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP Antenna_Area_Definition=" "
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number=" "/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
<SCENARIO Name="SC2" Services="" Used="false">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP Antenna_Area_Definition=" "
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number=" "/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
<SCENARIO Name="SC1" Services="SEARCH" Used="true">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP
Antenna_Area_Definition="DIAGNOSIS_RIGHT_DOOR_AREA"
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number="FS_ACCESS_AUTHENTICATION"/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
</SCENARIOS>
</BODY_TYPE>
<BODY_TYPE Name="BT2">
<SCENARIOS>
<SCENARIO Name="SC4" Services="" Used="false">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP Antenna_Area_Definition=" "
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number=" "/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
<SCENARIO Name="SC3" Services="SEARCH" Used="true">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP
Antenna_Area_Definition="DIAGNOSIS_RIGHT_DOOR_AREA"
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number="FS_ACCESS_AUTHENTICATION"/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
<SCENARIO Name="SC2" Services="" Used="false">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP Antenna_Area_Definition=" "
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number=" "/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
<SCENARIO Name="SC1" Services="" Used="false">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP Antenna_Area_Definition=" "
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number=" "/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
</SCENARIOS>
</BODY_TYPE>
<BODY_TYPE Name="BT1">
<SCENARIOS>
<SCENARIO Name="SC4" Services="" Used="false">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP Antenna_Area_Definition=" "
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number=" "/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
<SCENARIO Name="SC3" Services="SEARCH" Used="true">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP
Antenna_Area_Definition="DIAGNOSIS_RIGHT_DOOR_AREA"
Number_Of_Error_Retry="2"
Number_Of_Retry="2" Step_Number="FS_LEARN_SK"/>
<SCENARIO_STEP
Antenna_Area_Definition="DIAGNOSIS_BLUMPER_AREA"
Number_Of_Error_Retry="1"
Number_Of_Retry="1" Step_Number="FS_DISCHARGE_MODE"/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
<SCENARIO Name="SC2" Services="" Used="false">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP Antenna_Area_Definition=" "
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number=" "/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
<SCENARIO Name="SC1" Services="" Used="false">
<SCENARIO_STEP_LIST>
<SCENARIO_STEP Antenna_Area_Definition=" "
Number_Of_Error_Retry="0"
Number_Of_Retry="0" Step_Number=" "/>
</SCENARIO_STEP_LIST>
<FINISH_STEP_LIST/>
</SCENARIO>
</SCENARIOS>
</BODY_TYPE>
</BODY_TYPES>
it will be generated this table:
PRIVATE_DATA const T_UBYTE cas_Scenarios_BodyType_Table [GET_MAX_NUMBER_OF_BODY_TYPES ]
[ GET_MAX_NUMBER_OF_SCENARIOS] =
{
{
SCENARIO_NUMBER_ROM_BT3_SC4,
SCENARIO_NOT_USED,
SCENARIO_NOT_USED,
SCENARIO_NUMBER_ROM_BT3_SC1
}
,
{
SCENARIO_NOT_USED,
SCENARIO_NUMBER_ROM_BT2_SC3,
SCENARIO_NOT_USED,
SCENARIO_NOT_USED
}
,
{
SCENARIO_NOT_USED,
SCENARIO_NUMBER_ROM_BT1_SC3,
SCENARIO_NOT_USED,
SCENARIO_NOT_USED
}
};
now what I want to do is to replace in the table SCENARIO_NUMBER_ROM_BT1_SC3 with SCENARIO_NUMBER_ROM_BT3_SC4 because they are identical. I need to do this for all the identical SCENARIOS.A problem witch occurs here is that we do not now how many SCENARIO_STEP there are in an SCENARIO node and to find identical SCENARIOS evrey SCENARIO_STEP from one SCENARIO must be identical(have the same attributes) with the SCENARIO_STEP from the other SCENARIO. Do you have an ideea how to do this?
thanks
Andrei