.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Biber::DataModel 3pm" .TH Biber::DataModel 3pm 2023-07-25 "perl v5.38.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Biber::DataModel \- Biber::DataModel objects .SS new .IX Subsection "new" .Vb 5 \& Initialize a Biber::DataModel object \& We are passing in an array of datamodels as there may be more than one in tool \& mode \- the one from biber\-tool.conf and modifications in a user .conf \& We first merge these before extracting data. In case of conflicts, user .conf \& datamodel takes precedence. .Ve .SS get_outcase .IX Subsection "get_outcase" .Vb 1 \& Returns the original datamodel field/entrytype case for output .Ve .SS constants .IX Subsection "constants" .Vb 1 \& Returns array ref of constant names .Ve .SS get_constant_type .IX Subsection "get_constant_type" .Vb 1 \& Returns a constant type .Ve .SS get_constant_value .IX Subsection "get_constant_value" .Vb 1 \& Returns a constant value .Ve .SS is_multiscript .IX Subsection "is_multiscript" .Vb 1 \& Returns boolean to say if a field is a multiscript field .Ve .SS fieldtypes .IX Subsection "fieldtypes" .Vb 1 \& Returns array ref of legal fieldtypes .Ve .SS datatypes .IX Subsection "datatypes" .Vb 1 \& Returns array ref of legal datatypes .Ve .SS is_field .IX Subsection "is_field" .Vb 3 \& Returns boolean to say if a field is a legal field. \& Allows for fields with meta markers whose marked field should be in \& the datamodel. .Ve .SS entrytypes .IX Subsection "entrytypes" .Vb 1 \& Returns array ref of legal entrytypes .Ve .SS is_entrytype .IX Subsection "is_entrytype" .Vb 1 \& Returns boolean to say if an entrytype is a legal entrytype .Ve .SS is_field_for_entrytype .IX Subsection "is_field_for_entrytype" .Vb 1 \& Returns boolean to say if a field is legal for an entrytype .Ve .SS entrytype_is_skipout .IX Subsection "entrytype_is_skipout" .Vb 1 \& Returns boolean depending on whether an entrytype is to be skipped on output .Ve .SS get_fields_of_fieldtype .IX Subsection "get_fields_of_fieldtype" .Vb 3 \& Retrieve fields of a certain biblatex fieldtype from data model \& Return in sorted order so that bbl order doesn\*(Aqt change when changing \& .bcf. This really messes up tests otherwise. .Ve .SS get_fields_of_fieldformat .IX Subsection "get_fields_of_fieldformat" .Vb 3 \& Retrieve fields of a certain format from data model \& Return in sorted order so that bbl order doesn\*(Aqt change when changing \& .bcf. This really messes up tests otherwise. .Ve .SS get_fields_of_datatype .IX Subsection "get_fields_of_datatype" .Vb 3 \& Retrieve fields of a certain biblatex datatype from data model \& Return in sorted order so that bbl order doesn\*(Aqt change when changing \& .bcf. This really messes up tests otherwise. .Ve .SS get_fields_of_type .IX Subsection "get_fields_of_type" .Vb 3 \& Retrieve fields of a certain biblatex type from data model \& Return in sorted order so that bbl order doesn\*(Aqt change when changing \& .bcf. This really messes up tests otherwise. .Ve .SS is_fields_of_type .IX Subsection "is_fields_of_type" .Vb 1 \& Returns boolean to say if the given fieldtype/datatype/format is a valid combination .Ve .SS get_fieldtype .IX Subsection "get_fieldtype" .Vb 1 \& Returns the fieldtype of a field .Ve .SS get_datatype .IX Subsection "get_datatype" .Vb 1 \& Returns the datatype of a field .Ve .SS get_fieldformat .IX Subsection "get_fieldformat" .Vb 1 \& Returns the format of a field .Ve .SS get_dm_for_field .IX Subsection "get_dm_for_field" .Vb 1 \& Returns the fieldtype, datatype and format of a field .Ve .SS field_is_fieldtype .IX Subsection "field_is_fieldtype" .Vb 1 \& Returns boolean depending on whether a field is a certain biblatex fieldtype .Ve .SS field_is_datatype .IX Subsection "field_is_datatype" .Vb 1 \& Returns boolean depending on whether a field is a certain biblatex datatype .Ve .SS field_is_type .IX Subsection "field_is_type" .Vb 2 \& Returns boolean depending on whether a field is a certain biblatex fieldtype \& and datatype .Ve .SS field_is_nullok .IX Subsection "field_is_nullok" .Vb 1 \& Returns boolean depending on whether a field is ok to be null .Ve .SS field_is_skipout .IX Subsection "field_is_skipout" .Vb 1 \& Returns boolean depending on whether a field is to be skipped on output .Ve .SS check_mandatory_constraints .IX Subsection "check_mandatory_constraints" .Vb 2 \& Checks constraints of type "mandatory" on entry and \& returns an arry of warnings, if any .Ve .SS check_conditional_constraints .IX Subsection "check_conditional_constraints" .Vb 2 \& Checks constraints of type "conditional" on entry and \& returns an arry of warnings, if any .Ve .SS check_data_constraints .IX Subsection "check_data_constraints" .Vb 2 \& Checks constraints of type "data" on entry and \& returns an array of warnings, if any .Ve .SS check_datatypes .IX Subsection "check_datatypes" .Vb 2 \& Checks datatypes of fields against fields. These are not explicit constraints \& in the datamodel but rather checks of the datatype of fields in the datamodel. .Ve .SS dump .IX Subsection "dump" .Vb 1 \& Dump Biber::DataModel object .Ve .SS generate_bltxml_schema .IX Subsection "generate_bltxml_schema" .Vb 1 \& Generate a RelaxNG XML schema from the datamodel for BibLaTeXML datasources .Ve .SS generate_bblxml_schema .IX Subsection "generate_bblxml_schema" .Vb 1 \& Generate a RelaxNG XML schema from the datamodel for bblXML output .Ve .SH AUTHORS .IX Header "AUTHORS" Philip Kime \f(CW\*(C`\*(C'\fR .SH BUGS .IX Header "BUGS" Please report any bugs or feature requests on our Github tracker at . .SH "COPYRIGHT & LICENSE" .IX Header "COPYRIGHT & LICENSE" Copyright 2012\-2023 Philip Kime, all rights reserved. .PP This module is free software. You can redistribute it and/or modify it under the terms of the Artistic License 2.0. .PP This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.