У меня есть пример xml
с этими элементами:
<tienda>
<empleados>
<empleado cod="B">
<nombre>Juan</nombre>
<localidad>Linares</localidad>
<provincia>Jaén</provincia>
</empleado>
<empleado cod="B">
<nombre>Pepe</nombre>
<localidad>Algeciras</localidad>
<provincia>Cádiz</provincia>
</empleado>
<empleado cod="A">
<nombre>Víctor</nombre>
<localidad>Jaén</localidad>
<provincia>Jaén</provincia>
</empleado>
<empleado cod="A">
<nombre>Luisa</nombre>
<localidad>Granada</localidad>
<provincia>Granada</provincia>
</empleado>
<empleado cod="A">
<nombre>Pedro</nombre>
<localidad>El Viso del Alcor</localidad>
<provincia>Sevilla</provincia>
</empleado>
<empleado cod="A">
<nombre>Andrés</nombre>
<localidad>Sevilla</localidad>
<provincia>Sevilla</provincia>
</empleado>
<empleado cod="C">
<nombre>María</nombre>
<localidad>Guadix</localidad>
<provincia>Granada</provincia>
</empleado>
</empleados>
</tienda>
Есть несколько провинций (провинций), и я хочу получить, например, только Гранаду и Севилью.
Если я запускаю этот запрос с местоположениями в XPath, он выполняется нормально:
for $e in doc("LMSGI06.1.xml")/tienda/empleados/empleado[provincia = "Granada" or provincia="Sevilla"]
return $e
Результат:
<provincia>Granada</provincia>
<provincia>Sevilla</provincia>
<provincia>Sevilla</provincia>
<provincia>Granada</provincia>
Но на самом деле я хочу использовать предложение Where
, и я попробовал это, но запрос извлекает все провинции.
for $e in doc("LMSGI06.1.xml")/tienda/empleados
where $e/empleado/provincia = "Granada"
or $e/empleado/provincia = "Sevilla"
return $e/empleado/provincia
Что я делаю не так?