MDREPO -- retrieve data from metadata repository

  • Attention: This variable works only if MetadataRepository is in use. Otherwise, it always returns a zero length string.
  • This retrieves data from the specified metadata repository table.
  • Syntax: %MDREPO{ "table" ...}% (generic form), %MDREPO{ web="..." ...}% (web specific form)
  • Parameters (generic form without web="..." parameter):
Parameter Description Default
"..." Specify the table to retrieve This or below is required
table="..." (Alternative to above) This or above is required
separator="..." The separator string of records "$n" (new line)
format="..." Format of one record. It may contain the following items. In addtion, the standard special tokens are handled accordingly.
Item Description
$_ or $_() the record ID
$__ or $__() The record value in the following format:
FIELD_NAME=FIELD_VALUE FIELD_NAME=FIELD_VALUE ...
$marker or $marker() Expands to marker for the item matching selection only
$_FILED_NAME or $_FIELD_NAME() Please be noted that you need to put _ (underscore) in front of a field name. $_FIELD_NAME$ yields the value of the specified field. If the specified field does not exist in the record, it returns the null string ("").
?FIELD_NAME?IF_FIELD_HAS_VALUE? If the specified field has value and it's neither 0 nor the null string (""), it's evaluated as IF_FIELD_HAS_VALUE. Otherwise, it's evaluated as the null string. This is like q/.../ in Perl. A non-word character following ?FIELD_NAME becomes the terminator; i.e. you can write: ?FIELD_NAME:IF_TRUE:
Specifically, the following characters can be used as the delimiter: ! # % ' / : ? @ ^ ` | ~
= is excluded because it clashes with a parameter specification in a URL (?name=value).
?!FIELD_NAME?IF_FIELD_HAS_NO_VALUE? Similar to above but it's opposite. If the field has value, it's evaluated as the null string. Otherwise, it's evaluated as IF_FIELD_HAS_NO_VALUE.
$question Replaced with ? after the ?FIEL_DNAME and ?!FIELD_ANME constructs are processed.
"| $_ | $__ |"
selection="..." The record ID to be regarded as the selected. It affects how $marker in the format is evaluated. none
marker="..." Text for $marker in the format if the item matches selection "selected"
filter="..." The regular expression of record IDs to filter records. Matching is case-insensitive none
exclude="..." Comma separated list of record IDs to be excluded. You can use regular expression. If you specify Trash\d*, then Trash, Trash1, Trash2, ... are exluded but LightTrash and TrashBag are not excluded none
  • Example: %MDREPO{"webs" filter="^A" format="| $_ | $_admin | $_master |"}%
    This would show the metadata of webs whose names start with A.
  • Paramerers (web specific form):
Parameter Description Default
web="..." Specify the web. If it's a subweb, the corresponding top level web is specified This is required
"..." Specify the format of the return value in the same manner as the format parameter in the generic form $__
default="..." Specify the value to be returned when the specified or implied top level web does not exist in MDREPO "" (null string)