Здравствуйте. Подскажите, как с помощью xslt вывести любое поле (которое я укажу), для текущего пользователя.
Пробовал через uobject
<xsl:value-of select="document('uobject://@id.moe_svoictvo')//value" />
Но работает, только если указываю конкретный @id пользователя (например 22).
В приведенный код не будет работать потому что это uobject://@id.moe_svoictvo не существующий стрим, надо собирать подобные запросы через concat(param1, param2, ...), приведенный код будет работать если его записать так:
<xsl:value-of select="document(concat('uobject://', @id, '.moe_svoictvo'))//value" />
в результате собранный стрим будет uobject://123.moe_svoictvo.
Для того что бы получать идентификатор текущего пользователя, как сказал NOIRMAN, его надо брать из /result/user/@id, для удобства можно определить глобальную переменную в общем шаблоне:
<xsl:variable name="userId" select="/result/user/@id"/>
и тогда будет возможность получить идентификатор текущего пользователя где нам это потребуется, пример использования:
<xsl:value-of select="document(concat('uobject://', $userId, '.moe_svoictvo'))//value" />