NAME
PICA::Schema - Specification of a PICA based format
DESCRIPTION
A PICA Schema defines a set of PICA+ fields and subfields to validate PICA::Data records. A schema is given as hash reference such as:
{
fields => {
'021A' => { }, # field without additional information
'003@' => { # field with additional constraints
unique => 1,
label => 'Pica-Produktionsnummer',
subfields => {
0 => { unique => 1 }
}
}
}
}
METHODS
check( $record [, %options ] )
Check whether a given PICA::Data record confirms to the schema and return a list of detected violations. Possible options include:
- ignore_unknown_fields
-
Don't report fields not included in the schema.
- ignore_unknown_subfields
-
Don't report subfields not included in the schema.
Errors are given as list of hash reference with keys tag
and occurrence
set to tag and (optional) ocurrence of the violated field. If key unique
is set, the field was repeated although not repeatable. Otherwise, if key subfields
is set, the field was defined but contained invalid subfields.
Additional error field message
contains a human-readable error message which can also be derived from the rest of the error object.
check_field( $field [, %options ] )
Check whether a PICA field confirms to the schema. Use same options as method check
.
LIMITATIONS
The current version can only validate records with tags on level 0.
SEE ALSO
PICA::Path (support may be added in a future version)