Hello good afternoon, I have a problem and I would appreciate it if you could help me solve it:
I have a simple strategy that routes agent made in Composer but at the moment of validating the development I get the following error:
[b]cvc-complex-type.3.2.2: Attribute 'resolveid'[/b] is not allowed to appear in element 'xi: include'. IPD_default_defaultWorkflow.scxml / Agent / src-gen line 103 Validation Message[/b]
Refers to: IPD_default_defaultWorkflow.scxml
[b]Description:[/b]
cvc-complex-type.3.2.2: Attribute 'resolveid' is not allowed to appear in element 'xi:include'. IPD_default_defaultWorkflow.scxml /Agente/src-gen line 103 Validation Message
[b]Error Code: (highlighted in yellow)[/b]
<?xml version="1.0" encoding="utf-8"?>
<scxml version="1.0" xmlns="http://www.w3.org/2005/07/scxml"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:ws="http://www.genesyslab.com/modules/ws"
xmlns:queue="http://www.genesyslab.com/modules/queue"
xmlns:dialog="http://www.genesyslab.com/modules/dialog"
xmlns:session="http://www.genesyslab.com/modules/session"
xmlns:ixn="http://www.genesyslab.com/modules/interaction"
xmlns:classification="http://www.genesyslab.com/modules/classification"
initial="_composer_globalstate"
profile="ecmascript"
_persist="false"
name="default.defaultWorkflow">
<script><xi:include href="../include/common.js" parse="text"/></script>
<script><xi:include href="../include/DataAccess.js" parse="text"/></script>
<script><xi:include href="../include/RouteFeature.js" parse="text"/></script>
<script><xi:include href="../include/IrdEnumMapper.js" parse="text"/></script>
<script><xi:include href="../include/StringManipulation.js" parse="text"/></script>
<script><xi:include href="../include/DateTime.js" parse="text"/></script>
<script><xi:include href="../include/ListManipulation.js" parse="text"/></script>
<script><xi:include href="../include/MiscIRDFunctions.js" parse="text"/></script>
<!-- SCXML code generated by Composer 8.1.400.21 -->
<!-- Diagram created/upgraded by Composer: Composer 8.1.400.21 -->
<!-- Project version: 8.1.400.21 -->
<!-- Diagram version: 1.0 CreatedOn: -->
[color=green] <!-- Application Author: -->[/color]
<state id="_composer_globalstate" initial="_composer_parallel">
<datamodel>
<data id="system" expr="new Object()"/>
<data id="context_management_services_url"/>
<data id="context_management_services_username"/>
<data id="context_management_services_password"/>
<data id="ors_url"/>
<data id="grat_server" />
<data id="grat_username" />
<data id="grat_password" />
<data id="grat_tenant" />
</datamodel>
<parallel id="_composer_parallel">
<onentry>
<script>
<!-- Global Variables declarations -->
var system = new Object();
system.SessionID = undefined;
system.uncaughtApplicationEvents = [];
_data.system.context = system;
<!-- Deprecated variables START -->
<!-- Do not use them in your diagrams -->
var App_Name = 'defaultWorkflow';
var App_BaseURL = getBaseURL();
var App_RelativePathURL = getRelativePathURL();
var InteractionID;
var CallID;
var DNIS;
var ThisDN;
var ANI;
var TenantID;
var Tenant_Name;
var App_Last_Error_Event;
var App_Last_Error_Event_Name;
var App_Last_Error_Description;
var App_StartEvent;
<!-- Deprecated variables END -->
</script>
<log expr="'RelativePathURL = ' + getRelativePathURL()" />
</onentry>
<!-- User application leg -->
<state id="_composer_application" initial="_composer_init">
<!-- Initial state of the application leg, just wait for the application.start event -->
<state id="_composer_init">
<onentry>
<log expr="'Application initialized'"/>
</onentry>
<transition event="application.start" target="_composer_start"/>
</state>
<!-- Start state of the application leg, the application.start event is caught,
the workflow SCXML can now be run-->
<state id="_composer_start" initial="defaultWorkflow">
<onentry>
<script>
setSystemVarsForEffectiveIxnId(system);
<!-- Deprecated variables START -->
<!-- Do not use them in your diagrams -->
TenantID = system.TenantID;
Tenant_Name = system.TenantName;
CallID = system.CallID;
DNIS = system.DNIS;
ANI = system.ANI;
<!-- Deprecated variables END -->
</script>
<if cond="typeof system.InteractionID != 'undefined'">
<log expr="system.Type + ' Interaction ' + system.InteractionID + ' processing'"/>
<else/>
<log expr="'Interaction less processing'"/>
</if>
</onentry>
<state id="defaultWorkflow" initial="defaultWorkflow._composer_entry">
<!-- include workflow scxml -->
[color=yellow]<xi:include href="default.scxml" parse="xml" resolveid="defaultWorkflow" xpointer="_composer_entry" />
<transition event="done.state.defaultWorkflow._composer_entry" target="_composer_global_exit" />
</state>[/color]
</state>
<!-- application.exit is caught, that means it was not caught by the underlying workflow SCXML,
so we fall back on default behavior which is to stop the application (and the session) -->
<transition event="application.exit" target="_composer_global_exit"/>
<!-- store uncaught application events. those events might be processed by the system handler. -->
<transition event="*">
<log expr="_event.name + ' event received in user application thread ' + _event.toSource()"/>
<script>storeUnhandledEvent();</script>
</transition>
</state>
<!-- Event Handler leg -->
<state id="_composer_event_handler">
<onentry>
<log expr="'Waiting for events'"/>
</onentry>
<!-- The Event Handler leg catches and processes 'system' events (by default) & any user defined event.
When an event is received, it never transitions out to a target state.
So this state remains active until the user application leg is finished. -->
<transition event="error.notallowed" cond="_data.keepGVPSessionAlive==true">
<log expr="'*** Received error.notallowed event in IPD. Ignoring the error.notallowed event ***'"></log>
</transition>
<transition event="interaction.added" cond="typeof system.SessionID == 'undefined'">
<log expr="_sessionid + ': interaction.added received in IPD event handler for interaction ' + _event.data.interactionid"/>
<assign location="system.SessionID" expr="_sessionid"/>
<assign location="system.StartEvent" expr="_event"/>
<assign location="App_StartEvent" expr="system.StartEvent"/>
<script>initializeRoutingSystemVariables();</script>
<assign location="InteractionID" expr="system.InteractionID"/>
<if cond="typeof _genesys.ixn.interactions[_event.data.interactionid] != 'undefined'
&& typeof _genesys.ixn.interactions[_event.data.interactionid].voice != 'undefined'
&& _genesys.ixn.interactions[_event.data.interactionid].voice.type == 'consult'">
<!-- Consult call started strategy. Attaching primary call...-->
<log expr="_sessionid + ': attaching parent interaction'"/>
<ixn:attach requestid="system.RequestID" interactionid="_genesys.ixn.interactions[_event.data.interactionid].parentid"/>
<else/>
<!-- Normal call started strategy. Proceeding with session ...-->
<log expr="_sessionid + ': processing interaction ' + _event.data.interactionid"/>
<raise event="application.start">
<param name="interactionid" expr="_event.data.interactionid"/>
</raise>
</if>
</transition>
<transition event="interaction.attach.done" cond="_event.data.requestid == system.RequestID">
<!-- Processing primary call ...-->
<log expr="_sessionid + ': processing primary interaction ' + _event.data.interactionid"/>
<send event="'application.start'" delay="'1s'">
<param name="interactionid" expr="(typeof system.StartEvent != 'undefined' && typeof system.StartEvent.data != 'undefined') ? system.StartEvent.data.interactionid : undefined"/>
</send>
</transition>
<transition event="interaction.onmerge" cond="system.Type == 'consult' && _event.data.frominteractionid == _data.system.context.InteractionID && _event.data.tointeractionid == _data.system.context.ParentInteractionID">
<log expr="_sessionid + ': interaction.onmerge received in IPD event handler from ' + _event.data.frominteractionid + ' to ' + _event.data.tointeractionid"/>
<assign location="_data.system.context.InteractionID" expr="_data.system.context.ParentInteractionID"/>
<assign location="_data.system.context.ParentInteractionID" expr="undefined"/>
</transition>
<transition event="interaction.deleted" cond="_event.data.interactionid == _data.system.context.InteractionID">
<if cond="!isEventHandledByApplication()">
<log expr="_sessionid + ': interaction.deleted (effective interaction) received in IPD event handler for interaction ' + _event.data.interactionid"/>
<raise event="application.exit">
<param name="interactionid" expr="_event.data.interactionid"/>
<param name="reason" expr="'current interaction deleted'"/>
</raise>
</if>
</transition>
<transition event="interaction.deleted" cond="_event.data.interactionid == _data.system.context.InitialInteractionID">
<if cond="!isEventHandledByApplication()">
<log expr="_sessionid + ': interaction.deleted (initial interaction) received in IPD event handler for interaction ' + _event.data.interactionid"/>
<raise event="application.exit">
<param name="interactionid" expr="_event.data.interactionid"/>
<param name="reason" expr="'initial interaction deleted'"/>
</raise>
</if>
</transition>
<transition event="interaction.partystatechanged" cond="_event.data.interactionid == _data.system.context.InteractionID && system.Type != 'consult'">
<log expr="_sessionid + ': interaction.partystatechanged received in IPD event handler for interaction ' + _event.data.interactionid"/>
<assign location="_data.system.context.ThisDN" expr="_event.data.focusdeviceid"/>
</transition>
<transition event="error">
<if cond="!isEventHandledByApplication()">
<log expr="_sessionid + ': unexpected error received in IPD event handler ' + _event.toSource()"/>
<if cond="typeof _event != 'undefined' && typeof _event.data != 'undefined' && typeof _event.data.description != 'undefined'">
<log expr="_sessionid + ': Error message: ' + _event.data.description" />
</if>
<script>
<![CDATA[
var autostop = (typeof _data.system.context.InteractionID != 'undefined')
&& (typeof _genesys.ixn.interactions[_data.system.context.InteractionID] != 'undefined')
&& (typeof _genesys.ixn.interactions[_data.system.context.InteractionID].voice == 'undefined')
&& (_data.system.context.TerminateIxnOnExit == '1' || _data.system.context.TerminateIxnOnExit == 1);
]]>
</script>
<if cond="autostop">
<ixn:terminate interactionid="_data.system.context.InteractionID" reason="'Auto-stop interaction'"/>
</if>
<raise event="application.exit">
<param name="interactionid" expr="_data.system.context.InteractionID"/>
</raise>
</if>
</transition>
</state>
</parallel>
</state>
<!-- Global Exit state -->
<final id="_composer_global_exit">
<onentry>
<log expr="'Reached Final global exit state for application. Session will terminate now.'" />
</onentry>
</final>
</scxml>
Thank you very much for your help and / or suggestions