Локатор преобразования xdt, который соответствует содержимому субнода

У меня есть следующий node в web.config:

<configuration>
...
<scheduling>
 <agent>
  <param desc="database">core</param>
 </agent>
 <agent>
  <param desc="database">master</param>
 </agent>
</scheduling>
...
</configuration>

Я хочу удалить весь <agent> node с дочерним параметром node с основным контентом. более или менее мой xdt-преобразование node выглядит следующим образом:

<configuration>
...
<scheduling>
  <agent
         xdt:Transform="Remove"
         xdt:Locator="XPath(./param[@desc='database']/??????)" />
</scheduling>
...
</configuration>

как вы видите, я понятия не имею, как соответствовать строке содержимого node. Что мне нужно добавить здесь?

примечания по окружающей среде: windows 7 - визуальная студия 2010 SP1

Ответ 1

Добавьте дополнительный тест для text() в локатор. Чтобы соответствовать <param> node:

xdt:Locator="XPath(./param[@desc='database' and text()='master'])">

EDIT: для соответствия <agent> node вам нужно переместить param в предикат, который соответствует XPath:

xdt:Locator="Condition(param/@desc='database' and param/text()='master')">