%META:TOPICINFO{author="TWikiContributor" date="1365149092" format="1.1" version="1"}% %META:TOPICPARENT{name="TWikiVariables"}% #VarMEREPO ---+++ 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): %TABLE{columnwidths=",,100px"}% | *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, [[FormatTokens][the standard special tokens]] are handled accordingly.\ \ \ \ \ \ \ \ \ \
*Item* *Description*
=$_= or =$_()= the record ID
=$__= or =$__()= The record value in the following format:%BR% 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 |"}% %BR% This would show the metadata of webs whose names start with A. * Paramerers (web specific form): %TABLE{columnwidths=",,100px"}% | *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) | * Example: %MDREPO{web="Foo/Bar" "$_admin"}% %BR% This would show the admin field of the Foo web. * Category: AdministrationVariables, SystemInformationVariables * Related: MetadataRepository