Advanced Relationship Attribute Syntax

From MusicBrainz Wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Defining Attributes

Relationship Editors can specify Advanced Relationship Attributes in the "Edit Rel.Types" menu (http://musicbrainz.org/edit/relationships/link_attrs.html).

The list starts with a "ROOT" node which cannot be edited, but you can add new sub-nodes to that node.

  • Nodes that have no children will be yes/no attributes. Those are displayed as checkboxes when a user edits a Relationship Type.
  • Nodes which have one (two???) or more children will be drop-down attributes. Those are displayed as drop down boxes.

Adding Attributes to Relationship Types

When editing an Advanced Relationship Type, all existing attributes are presented. Each one has:

  • a checkbox to enable the attribute for that relationship type.
  • a "Min." and a "Max." value.
    • These values specify how often the attribute can be selected:
      • Choose 0-1 for an optional attribute.
      • Choose 1-1 for a compulsory attribute.
      • Choose a higher number if you want people to select multiple values. (This only really makes sense for drop-down attributes.)

Displaying Attributes

Advanced Relationship Attributes are displayed in the link phrases on the server using the following syntax:

  • {<attribute>}
    • Displays the value <attribute> is set to.
  • {<attribute>: <text>}
    • Displays <text> if <attribute> is set.
  • {<attribute>: <truetext>|<falsetext>}
    • Displays <truetext> if <attribute> is set, else it displays <falsetext>.

All texts can contain a percent sign (%) which will be replaced by the value the attribute is set to.

Example

{instrument:has %|was} {additional:additionally} arranged by

Instrument is a drop-down attribute, additional is a yes/no attribute. Thus it would result in "has Violins arranged by" or "was additionally arranged by".