Иллюстрированный самоучитель по PostgreSQL

Переменные и объекты LXP

Переменной называется изменяемое значение в памяти, доступ к которому осуществляется по имени. Имя требуется для идентификации и последующего использования того значения, которое оно представляет. Конкретные возможности переменной зависят от тега LXP.

В LXP также реализована особая разновидность структуры данных, называемая объектом. Объект LXP обычно используется для логического объединения нескольких взаимосвязанных переменных под общим именем. Конкретная переменная, к которой вы обращаетесь в объекте LXP, определяется либо уточняющим числовым или текстовым индексом в квадратных скобках (например, ехапр1е[0]), либо именем переменной через точку (например, for.count).

Концепция объектов LXP напоминает программные концепции массивов и объектов в традиционных языках программирования, хотя объекты LXP устроены гораздо проще. В сущности, различия между переменными и объектами сводятся к простому синтаксису ссылок на значения. Ссылка на переменную представляет собой простое имя (например, my_value), а ссылка на объект состоит из имени и уточнения (например, my_value[0], my_value[l] или my_value.size).

С точки зрения программиста переменные и объекты имеют глобальную область видимости. Это означает, что после присваивания значения переменная или объект становятся доступными во всем документе, а также во вложенных документах.

Правила формирования имен

Имена переменных LXP состоят из следующих символов:

  • буквы латинского алфавита (a-z, A-Z);
  • цифры (0-9);
  • символ подчеркивания (_).

Полные имена объектов LXP состоят из следующих символов:

  • буквы латинского алфавита (a-z, A-Z);
  • цифры (0-9);
  • символ подчеркивания (_);
  • точка (.);
  • квадратные скобки ([ ]).

Хотя для индексации больше характерны числа – поскольку они используются и массивах CGI (см. подраздел "Массивы CGI" в этом разделе), в квадратных скобках за именем объекта могут следовать любые допустимые символы (например, pseudo_array [example]).

В процессе лексического разбора атрибутов тега LXP некоторые специальные символы интерпретируются как признак подстановки значения переменной прямо в имя или значение атрибута (дополнительная информация приведена в разделе "Лексический разбор тегов"). К числу этих символов относится знак $ для переменных и знак @ для объектов.

Обязательно поймите очень важное обстоятельство: хотя специальные символы иногда применяются для подстановки значений переменных в атрибуты тегов, они не являются частью значения переменной и не заменяют литеральное имя переменной или объекта в других контекстах.

Использование переменных и объектов

Значение переменной можно вывести в любой точке блока LXP при помощи тега <putvar>. Синтаксис тега <putvar> (переменная – имя переменной, значение которой требуется вывести):

<putvar name="переменная" />

Теги <setvar> и <setvars> присваивают значения переменным. Синтаксис:

<setvar переменндя="значение" />
<setvars переменная1="значение!"
переменная2="значение2"
[…]
/>

Теги <putvar> и <setvar> позволяют выводить и присваивать значения не только переменным, но и объектам.

Примечание
Помните, что точка (.) и квадратные скобки ([ ]) в теге <setvar> означают, что значение присваивается не простой переменной, а объекту. Таким образом, при последующей подстановке этого значения вместо знака $ должен использоваться знак @
.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.