Name

http_value — write to HTTP client or string output stream with HTML escapes

Synopsis

http_value ( in val_expr any ,
  in tag varchar ,
  in stream any );
 

Description

The http_value is used to write to an HTTP client (when in a VSP context) or a specified string output stream. http_value uses HTML-escapes for characters that should be escaped according to the HTML spec.

Parameters

val_expr

A value expression. May be any string expression. If val_expr is an XML entity, a serialization of the entity is written to the stream . This is not the string value of the XML fragment, but a serialization of the XML fragment as text including all the markup, i.e. elements, attributes, namespaces, text nodes, etc. To get the string value of an XML entity, convert it to a varchar using cast . Casting as varchar will only produce a concatenation of the text nodes in the XML fragment, leaving out elements, attributes, name spaces, etc.

tag

Optional. If present and is a string, the output will be enclosed in tags named as the string content of tag . If the expression evaluates to 0 or null, it will be ignored.

stream

Optional parameter. If omitted or is 0 and the function is executed within a VSP context, the val_expr will be written to the HTTP client. If present and non-zero, val_expr will be written to the specified stream. If non-zero, the value must be a valid stream obtained from function string_output

Return Values

None

Errors

Table 24.45. Errors signalled by http_value

SQLSTATE Error Code Error Text Description
37000 HT006 http output function outside of http context and no stream specified: %s occurs if called outside VSP and no string session is given
22023 SR066 Unsupported case in CONVERT (<data_type_of 1st arg> -> VARCHAR): %s if the value passed as the 1st argument can't be converted to a VARCHAR value and it's not a XML/XQUERY tree

Using http_value()

Example 24.180. HTTP output

Output of various flavours of http . See string_output and string_output_string for examples how to use http to write to streams other than the HTTP output.

http (' % <b>')     ' <b>
http_value (' % <b>')   % &lt;b&gt;
http_url (' % <b>')  +%25+<b>
http_value (12, 'li')  <li>12</li>