Perdón, presione mal y me envió la respuesta sin terminar de explicar, ahora completo:
Para usar el switch necesitas dos cosas, definir las reglas y definir el switch que usa esas reglas.
en el head del documento se definen las reglas:
<head>
<!--Se definen las reglas sobre las que se tomarán las decisiones
- id: identificador
- var: nombre de la variable global
- comparator: "lt" | "gt" | "lte" | "eq" | "gte" | "ne"
- value: valor que se usa para validación de la regla
-->
<ruleBase>
<rule id="rUno" var="imagenSeleccionada" comparator="eq" value="1"/>
<rule id="rDos" var="imagenSeleccionada" comparator="eq" value="2"/>
</ruleBase>
<regionBase>
...
</regionBase>
<descriptorBase>
...
</descriptorBase>
</head>
En el body se define un media switch
<body>
<port id="pEntrada1" component="sImagen"/>
<!--Se define un media del tipo ncl-settings con la variable global a modificar-->
<media id="nodoSettings" type="application/x-ncl-settings">
<property name="imagenSeleccionada" value="1"/>
</media>
<!--El switch comienza la presentación de uno u otro media segús las reglas satisfechas-->
<switch id="sImagen">
<!-- definimos una accion para cada regla -->
<bindRule constituent="img1" rule="rUno"/>
<bindRule constituent="img2" rule="rDos"/>
<!-- definimos una regla por defecto por si no se ejecuta ninguna regla definida anteriormente -->
<defaultComponent component="img2"/>
<media id="img1" src="img1.jpg" descriptor="descImg"/>
<media id="img2" src="img2.jpg" descriptor="descImg"/>
</switch>
</body>
A tener en cuenta:
- Cada vez que se cambie el valor de la variable sobre la cual se utilizan las reglas (en este caso "imagenSeleccionada"), se debe parar e iniciar de nuevo el switch, para que el switch pueda leer los nuevos valores y compararlos.