Converting values without a lookup table
File: Data.xml <order> <car model="A"> <id>0001</id> <name language="en">name 1</name> </car> <car model="B"> <id>0002</id> <name language="en">name 2</name> </car> <car model="B"> <id>0003</id> <name language="en">name 3</name> </car> </order> File: Query.xquery let $cat := doc("Data.xml")/order for $model in distinct-values($cat/car/@model) return <li>Department: {if ($model = "B") then "Accessories" else if ($model = "C") then "Menswear" else if ($model = "A") then "Womens" else () } ({$model})</li> Output: <?xml version="1.0" encoding="UTF-8"?> <li>Department: Womens (A)</li> <li>Department: Accessories (B)</li>