Field
The <Field>
element represents an existing document metadata field.
Place the <Field>
element immediately below the root <FieldStandardization>
element to standardize matching metadata fields that exist at the top level of the document metadata.
You can also nest <Field>
elements to perform standardization operations on equivalently nested fields in the document metadata.
Metadata fields can be matched by exact name, by slash separated paths, or by regular expression matching the name or path. In addition the fields can be filtered by value.
Attribute | Description |
---|---|
id
|
An identifier to identify the selected field (or multiple fields if you use a regular expression). An id can be referenced, where supported, by attributes like srcId or destId on other elements. |
name
|
The name of an existing field. |
nameRegex
|
A regular expression to match the names of existing fields. |
path
|
The path of an existing field. |
pathRegex
|
A regular expression to mach the paths of existing fields. |
You can use the following attributes to filter matching fields by value:
Attribute | Description |
---|---|
containsRegex
|
The field value must contain a match to this regular expression. |
matches
|
The field value must match this value exactly. |
matchesRegex
|
The whole field value must match this regular expression. |
The following example selects the field Subfield
, which is a subfield of MyField
.
<FieldStandardization> <Field name="MyField"> <Field name="Subfield"> ... </Field> </Field> </FieldStandardization>
The following example selects the same field using its path.
<FieldStandardization> <Field path="MyField/Subfield"> ... </Field> </FieldStandardization>
The following example shows how to move multiple fields with paths that match a regular expression.
<FieldStandardization id="root"> <Field pathRegex="pattern.*"> <Move destId="root" /> </Field> </FieldStandardization>
The following example shows how to add a prefix to the name of fields that match a regular expression. The GetName operation is used to set a variable containing the original field name. Without a variable the name
attribute on the Move
element would have a fixed value and all of the fields would be renamed to the same field name.
<FieldStandardization> <Field nameRegex="pattern.*"> <GetName var="fieldname" /> <Move name="prefix_$(fieldname)" /> </Field> </FieldStandardization>