DMSQuery XML-Format
Das DMSQuery-Format ist das XML-Anfrageformat für Suchanfragen an den enaio®-Server. Es beschreibt welche Archive und Objekttypen durchsucht werden sollen, welche Felder im Ergebnis erscheinen sollen und unter welchen Bedingungen Objekte zurückgeliefert werden.
Die zugehörige Schema-Datei ist DMSQuery.xsd. Das Ergebnis einer DMSQuery-Anfrage wird im
DMSContent XML-Format zurückgeliefert.
1. Verwendung
Das DMSQuery-Format wird von folgenden Jobs als Eingabe verwendet:
| Job | Beschreibung |
|---|---|
Primärer Recherche-Job — führt die Anfrage aus und liefert Treffer im DMSContent-Format zurück |
|
Suche im Papierkorb — Anfrage im DMSQuery-Format |
|
Gespeicherte Suche anlegen — speichert eine DMSQuery auf dem Server |
|
Gespeicherte Suche aktualisieren — ersetzt eine vorhandene DMSQuery |
|
Gespeicherte Suche abrufen — liefert die gespeicherte DMSQuery zurück |
|
Konvertiert eine DMSQuery in ein anderes Anfrageformat (oder umgekehrt) |
|
Führt eine gespeicherte Suche aus — intern wird die gespeicherte DMSQuery verwendet |
2. Anfrage-Typen (requesttype)
Das Attribut requesttype am <DMSQuery>-Element bestimmt die Struktur des zurückgelieferten
DMSContent:
| Wert | Bezeichnung | Ergebnis |
|---|---|---|
|
Linear Object List |
Tabellarische Trefferliste ( |
|
Hierarchical Object List |
Hierarchische Objektliste ( |
|
Mixed |
HOL-Daten für das angefragte Objekt kombiniert mit LOL-Daten für Eltern und Kinder. |
|
Detail (veraltet) |
Nicht mehr verwenden — stattdessen |
3. Schnellstart — häufige Anfragemuster
3.1. Einfache Feldsuche (LOL)
Alle Dokumente eines Typs suchen, bei denen ein Feld einen bestimmten Wert hat:
<DMSQuery requesttype="LOL" pagesize="20" offset="0">
<Archive internal_name="patient">
<ObjectType type="DOCUMENT" internal_name="medical_letter">
<Fields>
<Field internal_name="date"/>
<Field internal_name="subject"/>
<Field internal_name="physician"/>
</Fields>
<Conditions>
<ConditionObject type="DOCUMENT" internal_name="medical_letter">
<FieldCondition internal_name="physician" operator="=">
<Value>Dr. Müller</Value>
</FieldCondition>
</ConditionObject>
</Conditions>
</ObjectType>
</Archive>
</DMSQuery>
3.2. Vollständige HOL-Anfrage mit Basisparametern
<DMSQuery requesttype="HOL" baseparams="1" pagesize="10" offset="0">
<Archive internal_name="patient">
<ObjectType type="DOCUMENT" internal_name="medical_letter">
<Fields field_schema="ALL"/>
<Conditions>
<ConditionObject type="DOCUMENT" internal_name="medical_letter">
<FieldCondition internal_name="date" operator="BETWEEN">
<Value>2024-01-01</Value>
<Value>2024-12-31</Value>
</FieldCondition>
</ConditionObject>
</Conditions>
</ObjectType>
</Archive>
</DMSQuery>
4. XML-Struktur (Übersicht)
<DMSQuery requesttype="LOL|HOL|MIX"
pagesize="20" offset="0" maxhits="-1"
baseparams="0" variants="0" rights="0"
combined="0" sql="0" icons="0"
disablesearchgroups="1" narrowsearch="0"
status="0" fileinfo="0" object_inserts="0"
registercontext="0" outputformat="0">
<!-- Optionale Parameterdefintionen für parametrisierte Anfragen -->
<Params>
<Param name="myParam"><Value>Suchbegriff</Value></Params>
</Params>
<!-- Ein oder mehrere Archive -->
<Archive internal_name="archive1">
<!-- Objekttyp-Anfrage -->
<ObjectType type="DOCUMENT" internal_name="invoice" alias="Rechnung">
<Fields field_schema="DEF">
<Field internal_name="date" sortpos="1" sortorder="DESC"/>
<Field internal_name="amount"/>
</Fields>
<Conditions>
<ConditionObject type="DOCUMENT" internal_name="invoice">
<FieldCondition internal_name="status" operator="=" bool_op="AND">
<Value>approved</Value>
</FieldCondition>
<FieldCondition internal_name="amount" operator=">=" bool_op="AND">
<Value>1000</Value>
</FieldCondition>
</ConditionObject>
</Conditions>
<!-- HOL: Kinderobjekte anfragen -->
<ChildObjects child_schema="DEF" export_depth="1">
<ChildObjectType type="REGISTER" internal_name="invoice_items">
<Fields field_schema="ALL"/>
</ChildObjectType>
</ChildObjects>
<!-- HOL: Pfad zu Elternobjekten anfragen -->
<ParentObjects parent_schema="DEF">
<SubObjectType type="FOLDER" internal_name="company"/>
</ParentObjects>
<!-- Verknüpfte Objekte aus anderem Archiv -->
<ExternalObjects>
<ExternalArchive internal_name="contacts">
<ExternalObjectType internal_name="contact_person">
<Fields field_schema="MIN"/>
</ExternalObjectType>
</ExternalArchive>
</ExternalObjects>
</ObjectType>
<!-- Suche über Basisparameter (Ordner) -->
<FolderBaseParams>
<Creator><Value>admin</Value></Creator>
<Created><From>2024-01-01</From><To>2024-12-31</To></Created>
</FolderBaseParams>
<!-- Volltextsuche -->
<FulltextQuery>
<Fulltext MODE="PATTERN">
<Value>Entlassungsbrief</Value>
</Fulltext>
</FulltextQuery>
</Archive>
</DMSQuery>
5. Elemente und Attribute
5.1. <DMSQuery> (Wurzelelement)
5.1.1. Ergebnis-Steuerung
| Attribut | Typ | Standard | Beschreibung |
|---|---|---|---|
|
|
Anfragetyp: |
|
|
xs:long |
|
Maximale Trefferanzahl pro Antwort ( |
|
xs:long |
|
0-basierter Startindex für Seitenblättern |
|
xs:long |
|
Absolutes Trefferlimit ( |
|
xs:short |
|
|
|
xs:short |
|
|
|
xs:short |
|
|
|
xs:short |
|
|
|
xs:short |
|
|
|
xs:short |
|
|
|
xs:short |
|
|
|
xs:short |
|
|
5.1.2. Suchverhalten
| Attribut | Typ | Standard | Beschreibung |
|---|---|---|---|
|
xs:short |
|
|
|
xs:short |
|
|
|
xs:short |
|
|
|
xs:short |
|
Statusfilter für Objekte (reserviert) |
|
xs:short |
— |
Numerischer Ausgabeformatcode (ergänzend zu |
5.2. <Params> / <Param>
Optionale Parameterdefinitionen für parametrisierte Anfragen. Parameter ermöglichen es, eine DMSQuery-Vorlage zu speichern und zur Laufzeit mit Werten zu befüllen (z. B. für gespeicherte Suchen via dms.ExecuteStoredQuery).
Das name-Attribut auf <Param> ist im XSD nicht formal definiert, aber in der Praxis erforderlich, da <FieldCondition> über <ParamValue ref="name"> darauf verweist.
|
Jedes <Param> enthält genau einen der folgenden Wert-Typen:
| Kindelement | Bedeutung |
|---|---|
|
Fester Standardwert |
|
Parameter ist leer (NULL) |
|
Wert wird zur Laufzeit aus dem Feld mit dem angegebenen |
<DMSQuery requesttype="LOL">
<Params>
<Param name="arzt"><Value>Dr. Müller</Value></Param>
<Param name="datumVon"><Value>2024-01-01</Value></Param>
<Param name="datumBis"><Value>2024-12-31</Value></Param>
</Params>
<Archive internal_name="patient">
<ObjectType type="DOCUMENT" internal_name="medical_letter">
<Fields><Field internal_name="subject"/></Fields>
<Conditions>
<ConditionObject type="DOCUMENT" internal_name="medical_letter">
<FieldCondition internal_name="physician" operator="=">
<ParamValue ref="arzt"/>
</FieldCondition>
<FieldCondition internal_name="date" operator="BETWEEN">
<ParamValue ref="datumVon"/>
<ParamValue ref="datumBis"/>
</FieldCondition>
</ConditionObject>
</Conditions>
</ObjectType>
</Archive>
</DMSQuery>
5.3. <Archive>
Bestimmt das zu durchsuchende Archiv. Mindestens eines der Attribute id, name, internal_name
oder osguid muss angegeben werden. Mehrere <Archive>-Elemente sind erlaubt (archivübergreifende Suche).
internal_name ist nur bei archivübergreifenden Abfragen (mehrere <Archive>-Elemente)
erforderlich — vorausgesetzt, auch die enthaltenen <ObjectType>-Elemente verwenden internal_name.
Bei Einzelarchiv-Anfragen kann das Attribut entfallen.
|
| Attribut | Typ | Standard | Beschreibung |
|---|---|---|---|
|
xs:long |
|
Numerische Archiv-ID |
|
xs:string |
— |
Anzeigename |
|
xs:string |
— |
Interner Name (empfohlen) |
|
xs:string |
— |
GUID |
Kindelemente (beliebige Kombination, mehrfach erlaubt):
-
<ObjectType>— typisierte Objektsuche -
<FolderBaseParams>— Ordnersuche über Basisparameter -
<RegisterBaseParams>— Registersuche über Basisparameter -
<DocumentBaseParams>— Dokumentsuche über Basisparameter -
<FulltextQuery>— Volltextsuche
5.4. <ObjectType>
Definiert den gesuchten Objekttyp sowie die gewünschten Ausgabefelder und Suchbedingungen.
| Attribut | Typ | Standard | Beschreibung |
|---|---|---|---|
|
— |
|
|
|
xs:long |
|
Numerische ID des Objekttyps |
|
xs:string |
— |
Anzeigename |
|
xs:string |
— |
Interner Name (empfohlen) |
|
xs:string |
— |
GUID |
|
xs:string |
— |
Datenbanktabellenname |
|
xs:string |
— |
Aliasname, der in der Trefferliste erscheint (schnellerer Zugriff bei mehreren Objekttypen) |
Kindelemente:
| Element | Zweck |
|---|---|
|
Welche Felder im Ergebnis erscheinen sollen |
|
Filterbedingungen — welche Objekte zurückgeliefert werden |
|
Kinderobjekte, die hierarchisch mitgeliefert werden sollen |
|
Elternpfad (Ordner/Register), der mitgeliefert werden soll |
|
Verknüpfte Objekte aus anderen Archiven |
5.5. <Fields> / <Field>
<Fields> listet die Felder, die im Ergebnis zurückgegeben werden sollen.
Attribut auf <Fields> |
Typ | Standard | Beschreibung |
|---|---|---|---|
|
|
Vorauswahl der zurückzugebenden Felder (überschreibbar durch einzelne |
Das Attribut field_schema auf <Fields> steuert, welche Felder standardmäßig einbezogen
werden — einzelne <Field>-Elemente ergänzen oder überschreiben diese Auswahl.
Attribut auf <Field> |
Typ | Standard | Beschreibung |
|---|---|---|---|
|
xs:string |
— |
Anzeigename des Felds |
|
xs:string |
— |
Interner Name (empfohlen) |
|
xs:string |
— |
Datenbankspaltname |
|
xs:string |
— |
GUID |
|
xs:short |
|
|
|
xs:long |
|
Sortierposition im Ergebnis ( |
|
xs:string |
— |
Sortierrichtung: |
|
xs:string |
— |
Aliasname für den Feldwert — ermöglicht Nutzung als Bedingungswert in |
Systemfelder für Positionsinformationen (nur in Relation-Tabellen): folder_id, register_id, register_type.
|
5.6. <Conditions> / <ConditionObject>
<Conditions> enthält entweder eine Liste von <ConditionObject>-Elementen oder eine Liste
von <ObjectID>-Elementen (direkter Abruf nach ID).
5.6.1. Variante 1 — Feldbasierte Bedingungen (<ConditionObject>)
Jedes <ConditionObject> trägt dieselben Identifikationsattribute wie <ObjectType> und
enthält beliebig viele Bedingungselemente:
-
<FieldCondition>— Bedingung auf ein einfaches Feld -
<FieldGroup>— logische Gruppe von Bedingungen (AND/OR) -
<TableCondition>— Bedingung auf ein Tabellenfeld -
<Fulltext>— Volltextbedingung
Multiple <ConditionObject>-Elemente werden mit AND verknüpft.
5.7. <FieldCondition>
Die zentrale Bedingung für ein Indexfeld.
| Attribut | Typ | Standard | Beschreibung |
|---|---|---|---|
|
xs:string |
— |
Interner Feldname (empfohlen) |
|
xs:string |
— |
Datenbankspaltname |
|
xs:string |
— |
Anzeigename |
|
xs:short |
|
|
|
|
Vergleichsoperator |
|
|
|
Verknüpfung mit der vorigen Bedingung: |
Als Kindelement (Wert der Bedingung) ist genau einer der folgenden Typen anzugeben — bei
BETWEEN, IN und NOT IN sind zwei bzw. mehrere <Value>-Elemente erforderlich:
| Kindelement | Bedeutung |
|---|---|
|
Literaler Vergleichswert |
|
Platzhalterwert (vgl. Platzhalter) |
|
Verweis auf einen deklarierten |
|
Verweis auf den Feldwert eines Felds im Hauptobjekt (für |
|
Prüfung auf NULL (kein Wert) |
|
Interner Spezialwert |
<!-- Gleichheit -->
<FieldCondition internal_name="status" operator="="><Value>approved</Value></FieldCondition>
<!-- Datumsbereich -->
<FieldCondition internal_name="date" operator="BETWEEN">
<Value>2024-01-01</Value>
<Value>2024-12-31</Value>
</FieldCondition>
<!-- Liste von Werten -->
<FieldCondition internal_name="category" operator="IN">
<Value>A</Value>
<Value>B</Value>
<Value>C</Value>
</FieldCondition>
<!-- NULL-Prüfung -->
<FieldCondition internal_name="archived_by" operator="="><NULL/></FieldCondition>
<!-- Aktuell angemeldeter Benutzer -->
<FieldCondition internal_name="owner" operator="=">
<Value special="1">#BENUTZER#</Value>
</FieldCondition>
<!-- OR-Verknüpfung mit voriger Bedingung -->
<FieldCondition internal_name="type" operator="=" bool_op="OR"><Value>letter</Value></FieldCondition>
5.8. <FieldGroup>
Gruppiert mehrere Bedingungen zu einer logischen Einheit. Ermöglicht verschachtelte AND/OR-Ausdrücke.
| Attribut | Typ | Pflicht | Beschreibung |
|---|---|---|---|
|
Ja |
|
Kindelemente: <FieldCondition>, <TableCondition>, Datumsbedingungen, <FieldGroup> (rekursiv).
<!-- (status = "open" OR status = "pending") AND amount >= 500 -->
<ConditionObject type="DOCUMENT" internal_name="invoice">
<FieldGroup operator="OR">
<FieldCondition internal_name="status" operator="="><Value>open</Value></FieldCondition>
<FieldCondition internal_name="status" operator="="><Value>pending</Value></FieldCondition>
</FieldGroup>
<FieldCondition internal_name="amount" operator=">=" bool_op="AND">
<Value>500</Value>
</FieldCondition>
</ConditionObject>
5.9. <TableCondition>
Bedingung für ein Tabellenfeld (Grid-Control). Jede <TableColumn> entspricht einer Spalte
des Tabellenfelds und trägt dieselben Attribute und Kindelemente wie <FieldCondition>.
| Attribut | Typ | Standard | Beschreibung |
|---|---|---|---|
|
xs:string |
— |
Identifikation des Tabellenfelds |
|
xs:long |
|
Zeilennummer ( |
<!-- Suche nach Rechnungen, die eine Position mit Betrag > 1000 enthalten -->
<TableCondition internal_name="positions">
<TableColumn internal_name="pos_amount" operator=">">
<Value>1000</Value>
</TableColumn>
</TableCondition>
5.10. <ChildObjects>
Nur für HOL-Anfragen. Bestimmt, welche Kinderobjekte hierarchisch mitgeliefert werden.
| Attribut | Typ | Standard | Beschreibung |
|---|---|---|---|
|
|
|
|
|
xs:short |
|
Tiefe der Hierarchie ( |
|
— |
Standard-Feldauswahl für alle Kinder |
Kindelemente: <ChildObjectType> (je ein Element pro anzufragendem Kindtyp) oder <SubObjectType>.
<ChildObjectType> trägt dieselben Identifikationsattribute wie <ObjectType> plus:
- alias — Aliasname für die Trefferliste
- <Fields> — gewünschte Felder
- <SubConditions> — zusätzliche Filterbedingungen für die Kinderobjekte (nur HOL)
- <ExternalObjects> — verknüpfte Fremdarchiv-Objekte der Kinder
5.11. <ParentObjects>
Nur für HOL-Anfragen. Liefert den Pfad zu übergeordneten Objekten (Ordner, Register) mit.
| Attribut | Typ | Standard | Beschreibung |
|---|---|---|---|
|
|
Welche Elterntypen zurückgeliefert werden |
|
|
— |
Standard-Feldauswahl für Elternobjekte |
Kindelemente:
- <ParentObjectType>+ — explizite Elterntypen
- <SubObjectType> — das eigentliche Zielobjekt im Pfad
5.12. <ExternalObjects>
Verknüpfte Objekte aus anderen Archiven — ermöglicht archivübergreifende Joins.
Jedes <ExternalArchive> identifiziert ein Fremdarchiv (via archive_ident-Attribute)
und enthält optional ein <ExternalObjectType>-Element, das den fremden Objekttyp
und seine Felder/Bedingungen definiert.
Feldwerte des Hauptobjekts können als Bedingungswerte verwendet werden:
-
Im Hauptobjekt das
<Field>-Element mitlink_name="meinAlias"versehen. -
Im
<ExternalObjectType>die Bedingung mit<LinkedValue ref="meinAlias"/>formulieren.
<ObjectType type="DOCUMENT" internal_name="invoice">
<Fields>
<Field internal_name="customer_id" link_name="cust_ref"/>
</Fields>
<ExternalObjects>
<ExternalArchive internal_name="contacts">
<ExternalObjectType internal_name="company">
<Fields>
<Field internal_name="company_name"/>
</Fields>
<SubConditions>
<FieldCondition internal_name="id" operator="=">
<LinkedValue ref="cust_ref"/>
</FieldCondition>
</SubConditions>
</ExternalObjectType>
</ExternalArchive>
</ExternalObjects>
</ObjectType>
5.13. Basisparameter-Suche
Suche nach Basisparametern (Metadaten) ermöglicht die Filterung ohne Kenntnis der Indexfelder.
5.13.1. <FolderBaseParams> / <RegisterBaseParams>
Suche nach Ordnern oder Registern anhand von Metadaten. Enthält die Kindelemente:
| Element | Beschreibung |
|---|---|
|
Erstellt von (bis zu 2 Werte; implizit OR-verknüpft) |
|
Erstelldatum-Bereich |
|
Zuletzt geändert von |
|
Änderungsdatum-Bereich |
|
Besitzer (immer OR-verknüpft) |
|
Kinderobjekte der gefundenen Elternobjekte anfragen (HOL) |
5.13.2. <DocumentBaseParams>
Wie <FolderBaseParams>, zusätzlich:
| Element | Beschreibung |
|---|---|
|
Filter nach Archivierungsstatus (ein oder mehrere Werte; implizit OR) |
|
Filter nach Checkout-Status |
5.14. <FulltextQuery>
Volltextsuche über alle Dokumente des Archivs.
<FulltextQuery>
<Fulltext MODE="PATTERN">
<Value>Entlassung* AND Müller</Value>
</Fulltext>
</FulltextQuery>
Optionale Steuerattribute (für die RetrievalWare-Volltext-Engine):
| Attribut | Typ | Standard | Beschreibung |
|---|---|---|---|
|
|
Suchmodus |
|
|
xs:short |
|
Expansionsstufe für Synonyme |
|
xs:boolean |
|
Fuzzy-Suche für halbe Wörter |
|
xs:short |
|
Schwellwert für Fuzzy-Rechtschreibkorrektur |
|
xs:short |
|
Maximale Fuzzy-Alternativen |
|
xs:short |
|
Maximale Regex-Expansionen |
|
xs:short |
|
Limit für Worterweiterungen |
6. Aufzählungstypen
6.1. requesttypes
| Wert | Ergebnis-Format | Beschreibung |
|---|---|---|
|
DMSContent |
Linear Object List — tabellarisches Format |
|
DMSContent |
Hierarchical Object List — vollständige Objektdaten |
|
DMSContent |
Mixed — HOL-Daten + optionale LOL-Daten für Eltern/Kinder |
|
— |
Veraltet — stattdessen |
6.2. field_schema
| Wert | Beschreibung |
|---|---|
|
Standard-Felder gemäß Objekttyp-Konfiguration |
|
Alle Felder des Objekttyps |
|
Alle Felder inklusive relationaler (verknüpfter) Felder |
|
Minimaler Feldsatz (nur ID und Pflichtfelder) |
6.3. object_schema
| Wert | Beschreibung |
|---|---|
|
Nur explizit aufgelistete Typen |
|
Alle Objekttypen des Archivs |
|
Nur Registertypen |
|
Nur Dokumenttypen |
6.5. ComparisonOperators
| Operator | Bedeutung |
|---|---|
|
Gleich |
|
Ungleich |
|
Kleiner als |
|
Kleiner oder gleich |
|
Größer als |
|
Größer oder gleich |
|
Wert ist in einer Liste — mehrere |
|
Wert ist nicht in einer Liste |
|
Wert liegt zwischen zwei Grenzen — genau zwei |
|
Wert liegt nicht zwischen zwei Grenzen |
6.7. FullTextSearchModeType
| Wert | Bedeutung |
|---|---|
|
Mustererkennung mit Wildcards ( |
|
Boolesche Ausdrücke ( |
|
Konzeptuelle Suche (semantische Ähnlichkeit) |
6.8. Platzhalter (special="1")
Spezialwerte werden in <Value special="1"> eingesetzt und zur Laufzeit durch den Server aufgelöst:
| Platzhalter | Aufgelöster Wert |
|---|---|
|
Anmeldename des aktuellen Benutzers |
|
Besitzer des aktuellen Benutzers |
|
Aktuelles Datum |
|
Ersteller (Anmeldename) |
|
Erstelldatum |
|
Archivar (Anmeldename) |
|
Archivierungsdatum |
|
Rechnername des Clients |
|
IP-Adresse des Clients |
|
GUID des Clients |
7. Vollständige Beispiele
7.1. Mehrstufige Suche mit FieldGroup (OR/AND-Kombination)
Dokumente suchen, die (offen ODER ausstehend) UND Betrag ≥ 500 sind:
<DMSQuery requesttype="LOL" pagesize="50" offset="0" baseparams="0">
<Archive internal_name="accounting">
<ObjectType type="DOCUMENT" internal_name="invoice">
<Fields>
<Field internal_name="invoice_number" sortpos="1" sortorder="DESC"/>
<Field internal_name="date"/>
<Field internal_name="status"/>
<Field internal_name="amount"/>
</Fields>
<Conditions>
<ConditionObject type="DOCUMENT" internal_name="invoice">
<FieldGroup operator="OR">
<FieldCondition internal_name="status" operator="=">
<Value>open</Value>
</FieldCondition>
<FieldCondition internal_name="status" operator="=">
<Value>pending</Value>
</FieldCondition>
</FieldGroup>
<FieldCondition internal_name="amount" operator=">=" bool_op="AND">
<Value>500</Value>
</FieldCondition>
</ConditionObject>
</Conditions>
</ObjectType>
</Archive>
</DMSQuery>
7.2. HOL-Anfrage mit BaseParams und Zugriffsrechten
Alle Dokumente des aktuellen Benutzers aus dem Jahr 2024, mit Basisparametern und Rechten:
<DMSQuery requesttype="HOL" baseparams="1" rights="1" pagesize="20" offset="0">
<Archive internal_name="patient">
<ObjectType type="DOCUMENT" internal_name="medical_letter">
<Fields field_schema="ALL"/>
<Conditions>
<ConditionObject type="DOCUMENT" internal_name="medical_letter">
<FieldCondition internal_name="date" operator="BETWEEN">
<Value>2024-01-01</Value>
<Value>2024-12-31</Value>
</FieldCondition>
</ConditionObject>
</Conditions>
</ObjectType>
<DocumentBaseParams>
<Owner operator="=">
<Value special="1">#BENUTZER#</Value>
</Owner>
<ArchiveState>
<ArchiveStateValue>ARCHIVED</ArchiveStateValue>
<ArchiveStateValue>ARCHIVABLE</ArchiveStateValue>
</ArchiveState>
</DocumentBaseParams>
</Archive>
</DMSQuery>
7.3. Suche über Tabellenfeld
Rechnungen mit einer Position über 1.000 €, sortiert nach Rechnungsnummer:
<DMSQuery requesttype="LOL" pagesize="20" offset="0">
<Archive internal_name="accounting">
<ObjectType type="DOCUMENT" internal_name="invoice">
<Fields>
<Field internal_name="invoice_number" sortpos="1" sortorder="ASC"/>
<Field internal_name="date"/>
</Fields>
<Conditions>
<ConditionObject type="DOCUMENT" internal_name="invoice">
<TableCondition internal_name="positions">
<TableColumn internal_name="pos_amount" operator=">">
<Value>1000</Value>
</TableColumn>
</TableCondition>
</ConditionObject>
</Conditions>
</ObjectType>
</Archive>
</DMSQuery>
7.4. Volltextsuche mit Kinderobjekten (HOL)
Volltextsuche im Archiv und hierarchische Rückgabe mit Unterregistern:
<DMSQuery requesttype="HOL" baseparams="0" pagesize="10" offset="0">
<Archive internal_name="patient">
<FulltextQuery>
<ChildObjects child_schema="DEF">
<ChildObjectType type="DOCUMENT" internal_name="medical_letter">
<Fields field_schema="DEF"/>
</ChildObjectType>
</ChildObjects>
<Fulltext MODE="PATTERN">
<Value>Entlassungsbrief*</Value>
</Fulltext>
</FulltextQuery>
</Archive>
</DMSQuery>