Конфигурирование и настройка Microsoft ASP.NET



Элементы, входящие в раздел <browserCaps> - часть 2


Элемент <filter> включает субэлемент с именем <case>. Элемент <case> используется аналогично элементу <filter> и содержит свойства match и with, которые сопоставляют строку с регулярным выражением. Элемент <case> используется аналогично оператору case из VB. В элемент <filter> можно включить несколько элементов <case>. При обнаружении совпадения в операторе <case> пропускаются остальные операторы <case> из этой группы. Ниже приведен синтаксис элемента <case>.

<filter> <case match="regex to match" with="string to search"> name=value name=value </case> <case match="regex to match" with="string to search"> name=value name=value </case> </filter>

Используется первый элемент <case>, который находит совпадение, а остальные элементы case игнорируются. Это несколько непонятно, так что давайте посмотрим на пример.

<use var="HTTP_USER_AGENT" /> <filter> <case match="Windows 95|Win95"> platform=Win95 </case> <case match="Windows 98|Win98"> platform=Win98 </case> <case match="Windows NT 5.1|Windows XP"> platform=WinXP </case> <case match="Windows NT 5.0|Windows 2000"> platform=Win2000 </case> <!-- extra removed --> </filter>

Этот пример не имеет объявления свойства with, так что элементы <case> будут искать строку, объявленную в последнем элементе <use>. В данном случае эта строка является серверной переменной HTTP_USER_AGENT. Вот как обрабатывается элемент <filter>.

  1. Обрабатывается первый case и производится поиск в переменной HTTP_USER_AGENT на предмет того, содержится ли в ней строка "Windows 95" или "Win95".
  2. Если эта строка содержит одно из этих значений, то пара имя/значение из элемента <case> добавляется в класс возможностей браузера, указанный в элементе <result>.
  3. Если совпадение найдено, то все остальные элементы <case> не обрабатываются и обработка элемента <filter> завершается.
  4. Если совпадение не найдено, то обрабатывается следующий элемент <case>, и вся процедура повторяется.


    Содержание  Назад  Вперед