XPath-Ausdrücke
Mit Hilfe der XPath-Sprache können Nodes in einem hierarchischen Dokument gefunden werden. In RecordsManager werden damit Feldwerte in der hierarchischen Struktur Ihrer RecordsManager-Datenbank gefunden. Eine Beschreibung dieser hierarchischen Datenbankstruktur finden Sie im Kapitel In welcher Form werden Daten gespeichert?.
Nähere Informationen zu XPath finden Sie unter den folgenden Links;
XPath 3.1 Recommendation des W3C
XPath 3.1 Functions and Operators
Kurzeinführung in XPath von Altova
XPath-Ausdrücke in RecordsManager
Neben XPath-Standardverfahren kommen in RecordsManager auch die unten aufgelisteten Zusatzfunktionen zum Einsatz.
Die Variable $CurrentUser
Die Variable $CurrentUser enthält Daten über den aktuellen Benutzer, z.B. den Benutzernamen und seine E-Mail-Adresse. Um diese Daten abzurufen, würden Sie die Variable wie unten gezeigt verwenden.
$CurrentUser/Name gibt den Namen des Benutzers als String zurück
$CurrentUser/Email gibt die E-Mail-Adresse des Benutzers als String zurück
$CurrentUser/Group gibt die Namen der Benutzergruppen, denen der Benutzer angehört, zurück*
$CurrentUser/Role gibt die Namen der Rollen, denen der Benutzer angehört, zurück*
* Da der Benutzer mehr als einer Benutzergruppe oder Rolle angehören könnte, wäre das Ergebnis eines XPath-Ausdrucks dafür eine Sequenz von Elementen. Sie müssten Ihren Ausdruck entsprechend anpassen, damit dies berücksichtigt wird. Um z.B. ein Element aus einer solchen Sequenz auszuwählen, könnten Sie einen Prädikatfilter verwenden. Das Feld EditedBy der aktuellen Datentabelle hat z.B. den Typ Benutzer, welcher insofern speziell ist, als er die Child-Eigenschaften Gruppe und Rolle hat, von denen beide mehrere Werte (anstatt eines einzigen Werts) haben können.
EditedBy/Role[contains(., 'Admin')]
Suchen der Felder von übergeordneten oder untergeordneten Datensätzen
Sie können die Felder von übergeordneten Datensätzen und Child-Datensätzen in den XPath-Ausdrücken von Eingabeformularen mittels Locator-Ausdrücken auswählen. Der erste Schritt des Locator-Ausdrucks wäre der Name der Datentabelle, gefolgt vom Text _fields. Der zweite Schritt des Ausdrucks ist der Name des zu suchenden Felds. Der Ausdruck hätte die folgende Form:
<Datentabellenname>_fields/<FieldName>
Anmerkung: | Falls ein Feld in seinem Namen ein Leerzeichen hat, verwenden Sie für das Leerzeichen den Unterstrich. Verwenden Sie etwa für ein Feld namens Expiry Date in XPath-Ausdrücken Expiry_Date. |
In den folgenden Beispielen hat die Datentabelle Person ein Address-Feld (erstes Beispiel unten). Außerdem hat er ein EditedBy-Feld vom Typ Benutzer und hat somit die Child-Eigenschaften Gruppe und Rolle, von denen jede mehrere Werte (und nicht einen einzigen Wert) haben kann; (die Eigenschaften Name und Email eines Felds vom Typ Benutzer hingegen haben jeweils einen einzigen Stringwert; siehe zweites und drittes Beispiel unten.
Person_fields/Address
Person_fields/EditedBy/Name
Person_fields/EditedBy/Role[.='Admin']