Biber::DataModel(3pm)
💖 Biber::DataModel 💖
okay so bestie, welcome to Biber::DataModel — this is the manual page for the Biber::DataModel(3pm) module, straight out of the User Contributed Perl Documentation. it's the class that holds your datamodel objects, and it knows literally everything about which fields, entrytypes, datatypes and formats are legal. think of it as the group chat admin who actually reads the rules. 👑
✨ NAME ✨
Biber::DataModel — it's giving Biber::DataModel objects. that's the whole vibe. 💅
🦋 METHODS 🦋
new
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. so yeah, the user always wins, as they should. 👑
get_outcase
Returns the original datamodel field/entrytype case for output. preserving your og capitalization, no cap. ✨
constants
Returns array ref of constant names.
get_constant_type
Returns a constant type.
get_constant_value
Returns a constant value.
is_multiscript
Returns boolean to say if a field is a multiscript field. 🌈
fieldtypes
Returns array ref of legal fieldtypes.
datatypes
Returns array ref of legal datatypes.
is_field
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. 🫶
entrytypes
Returns array ref of legal entrytypes.
is_entrytype
Returns boolean to say if an entrytype is a legal entrytype.
is_field_for_entrytype
Returns boolean to say if a field is legal for an entrytype.
entrytype_is_skipout
Returns boolean depending on whether an entrytype is to be skipped on output.
get_fields_of_fieldtype
Retrieve fields of a certain biblatex fieldtype from data model.
Return in sorted order so that bbl order doesn't change when changing .bcf. This really messes up tests otherwise. 😭 (fr fr, tests are dramatic like that)
get_fields_of_fieldformat
Retrieve fields of a certain format from data model.
Return in sorted order so that bbl order doesn't change when changing .bcf. This really messes up tests otherwise. 😭
get_fields_of_datatype
Retrieve fields of a certain biblatex datatype from data model.
Return in sorted order so that bbl order doesn't change when changing .bcf. This really messes up tests otherwise. 😭
get_fields_of_type
Retrieve fields of a certain biblatex type from data model.
Return in sorted order so that bbl order doesn't change when changing .bcf. This really messes up tests otherwise. 😭
is_fields_of_type
Returns boolean to say if the given fieldtype/datatype/format is a valid combination. vibe check passed or failed, that's it. ✅❌
get_fieldtype
Returns the fieldtype of a field.
get_datatype
Returns the datatype of a field.
get_fieldformat
Returns the format of a field.
get_dm_for_field
Returns the fieldtype, datatype and format of a field. the whole trio, iconic. 👑
field_is_fieldtype
Returns boolean depending on whether a field is a certain biblatex fieldtype.
field_is_datatype
Returns boolean depending on whether a field is a certain biblatex datatype.
field_is_type
Returns boolean depending on whether a field is a certain biblatex fieldtype and datatype.
field_is_nullok
Returns boolean depending on whether a field is ok to be null. some fields are allowed to show up empty and that's their main character energy. 💅
field_is_skipout
Returns boolean depending on whether a field is to be skipped on output.
check_mandatory_constraints
Checks constraints of type "mandatory" on entry and returns an array of warnings, if any. 🚨
check_conditional_constraints
Checks constraints of type "conditional" on entry and returns an array of warnings, if any. 🚨
check_data_constraints
Checks constraints of type "data" on entry and returns an array of warnings, if any. 🚨
check_datatypes
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. 👀
dump
Dump Biber::DataModel object. just straight up dumping it, no thoughts. 💀
generate_bltxml_schema
Generate a RelaxNG XML schema from the datamodel for BibLaTeXML datasources. ✨
generate_bblxml_schema
Generate a RelaxNG XML schema from the datamodel for bblXML output. ✨
👑 AUTHORS 👑
Philip Kime <philip at kime.org.uk> — the icon, the legend.
🐛 BUGS 🐛
Please report any bugs or feature requests on our Github tracker at <https://github.com/plk/biber/issues>. don't be shy bestie, they wanna hear it. 🫶
📜 COPYRIGHT & LICENSE 📜
Copyright 2012-2026 Philip Kime, all rights reserved.
This module is free software. You can redistribute it and/or modify it under the terms of the Artistic License 2.0.
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.
and that's the whole page, bestie 💜 this one came from perl v5.42.3, dated 2026-08-14, and it's the Biber::DataModel(3pm) manual. go forth and validate some fields. slay. 🎀✨🦋
📦 where this page comes from
- fedora 43: biber 2.22-1.fc43 · Artistic-2.0
- fedora 44: biber 2.22-2.fc44 · Artistic-2.0
- 💖 girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms