pub mod onix {
use core::ops::Deref;
use xsd_parser_types::{
quick_xml::ValidateError,
xml::{Mixed, Text},
};
///Root element – the top level container within an ONIX message
///● Added NoProduct> at revision 3.0.2
pub type OnixMessageElement = OnixMessageElementType;
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Must be 3.1 for this release
#[derive(Debug)]
pub struct OnixMessageElementType {
pub refname: Option<OnixMessageRefname>,
pub shortname: Option<OnixMessageShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub release: Release,
pub header: HeaderElementType,
pub product_or_no_product_choice: ProductOrNoProductChoice,
}
#[derive(Debug)]
pub enum OnixMessageRefname {
OnixMessage,
}
#[derive(Debug)]
pub enum OnixMessageShortname {
OniXmessage,
}
///Record source type
#[derive(Debug)]
pub enum List3 {
///Unspecified
_00,
///Publisher
_01,
///Publisher’s distributor
///Use to designate a distributor providing primary warehousing and fulfillment for a publisher or for a publisher’s sales agent, as distinct from a wholesaler
_02,
///Wholesaler
_03,
///Bibliographic agency
///Bibliographic data aggregator
_04,
///Library bookseller
///Library supplier. Bookseller selling to libraries (including academic libraries)
_05,
///Publisher’s sales agent
///Use for a publisher’s sales agent responsible for marketing the publisher’s products within a territory, as opposed to a publisher’s distributor who fulfills orders but does not market
_06,
///Publisher’s conversion service provider
///Downstream provider of e-publication format conversion services (who might also be a distributor or retailer of the converted e-publication), supplying metadata on behalf of the publisher. The assigned ISBN is taken from the publisher’s ISBN prefix
_07,
///Conversion service provider
///Downstream provider of e-publication format conversion services (who might also be a distributor or retailer of the converted e-publication), supplying metadata on behalf of the publisher. The assigned ISBN is taken from the service provider’s prefix (whether or not the service provider dedicates that prefix to a particular publisher)
_08,
///ISBN Registration Agency
_09,
///ISTC Registration Agency
_10,
///Retail bookseller
///Bookseller selling primarily to consumers
_11,
///Education bookseller
///Bookseller selling primarily to educational institutions
_12,
///Library
///Library service providing enhanced metadata to publishers or other parties
_13,
}
#[derive(Debug)]
pub enum Release {
_31,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct HeaderElementType {
pub refname: Option<HeaderRefname>,
pub shortname: Option<HeaderShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub sender: SenderElementType,
pub addressee: Vec<AddresseeElementType>,
pub message_number: Option<MessageNumberElementType>,
pub message_repeat: Option<MessageRepeatElementType>,
pub sent_date_time: SentDateTimeElementType,
pub message_note: Vec<MessageNoteElementType>,
pub default_language_of_text: Option<DefaultLanguageOfTextElementType>,
pub default_price_type: Option<DefaultPriceTypeElementType>,
pub default_currency_code: Option<DefaultCurrencyCodeElementType>,
}
#[derive(Debug)]
pub enum ProductOrNoProductChoice {
NoProduct(NoProductElementType),
Product(Vec<ProductElementType>),
}
#[derive(Debug)]
pub enum HeaderRefname {
Header,
}
#[derive(Debug)]
pub enum HeaderShortname {
Header,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SenderElementType {
pub refname: Option<SenderRefname>,
pub shortname: Option<SenderShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content_302: SenderContent302,
pub contact_name: Option<ContactNameElementType>,
pub telephone_number: Option<TelephoneNumberElementType>,
pub email_address: Option<EmailAddressElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AddresseeElementType {
pub refname: Option<AddresseeRefname>,
pub shortname: Option<AddresseeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content_70: AddresseeContent70,
pub contact_name: Option<ContactNameElementType>,
pub telephone_number: Option<TelephoneNumberElementType>,
pub email_address: Option<EmailAddressElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct MessageNumberElementType {
pub refname: Option<MessageNumberRefname>,
pub shortname: Option<MessageNumberShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct MessageRepeatElementType {
pub refname: Option<MessageRepeatRefname>,
pub shortname: Option<MessageRepeatShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SentDateTimeElementType {
pub refname: Option<SentDateTimeRefname>,
pub shortname: Option<SentDateTimeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct MessageNoteElementType {
pub refname: Option<MessageNoteRefname>,
pub shortname: Option<MessageNoteShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct DefaultLanguageOfTextElementType {
pub refname: Option<DefaultLanguageOfTextRefname>,
pub shortname: Option<DefaultLanguageOfTextShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List74,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct DefaultPriceTypeElementType {
pub refname: Option<DefaultPriceTypeRefname>,
pub shortname: Option<DefaultPriceTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List58,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct DefaultCurrencyCodeElementType {
pub refname: Option<DefaultCurrencyCodeRefname>,
pub shortname: Option<DefaultCurrencyCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List96,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct NoProductElementType {
pub refname: Option<NoProductRefname>,
pub shortname: Option<NoProductShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductElementType {
pub refname: Option<ProductRefname>,
pub shortname: Option<ProductShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub gp_record_metadata: ProductGpRecordMetadata,
pub gp_product_numbers: ProductGpProductNumbers,
pub descriptive_detail: Option<DescriptiveDetailElementType>,
pub collateral_detail: Option<CollateralDetailElementType>,
pub promotion_detail: Option<PromotionDetailElementType>,
pub content_detail: Option<ContentDetailElementType>,
pub publishing_detail: Option<PublishingDetailElementType>,
pub related_material: Option<RelatedMaterialElementType>,
pub production_detail: Option<ProductionDetailElementType>,
pub product_supply: Vec<ProductSupplyElementType>,
}
#[derive(Debug)]
pub enum SenderRefname {
Sender,
}
#[derive(Debug)]
pub enum SenderShortname {
Sender,
}
#[derive(Debug)]
pub enum SenderContent302 {
Content303(SenderContent303),
SenderName(SenderNameElementType),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ContactNameElementType {
pub refname: Option<ContactNameRefname>,
pub shortname: Option<ContactNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TelephoneNumberElementType {
pub refname: Option<TelephoneNumberRefname>,
pub shortname: Option<TelephoneNumberShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EmailAddressElementType {
pub refname: Option<EmailAddressRefname>,
pub shortname: Option<EmailAddressShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub enum AddresseeRefname {
Addressee,
}
#[derive(Debug)]
pub enum AddresseeShortname {
Addressee,
}
#[derive(Debug)]
pub enum AddresseeContent70 {
Content71(AddresseeContent71),
AddresseeName(AddresseeNameElementType),
}
#[derive(Debug)]
pub enum MessageNumberRefname {
MessageNumber,
}
#[derive(Debug)]
pub enum MessageNumberShortname {
M180,
}
#[derive(Debug)]
pub enum MessageRepeatRefname {
MessageRepeat,
}
#[derive(Debug)]
pub enum MessageRepeatShortname {
M181,
}
#[derive(Debug)]
pub enum SentDateTimeRefname {
SentDateTime,
}
#[derive(Debug)]
pub enum SentDateTimeShortname {
X307,
}
#[derive(Debug)]
pub enum MessageNoteRefname {
MessageNote,
}
#[derive(Debug)]
pub enum MessageNoteShortname {
M183,
}
///Language – based on ISO 639-2/B
#[derive(Debug)]
pub enum List74 {
///Abkhazian
Abk,
///Achinese
Ace,
///Acoli
Ach,
///Adangme
Ada,
///Adygei; Adyghe
///(West Circassian)
Ady,
///Afar
Aar,
///Afrihili
///Artificial language
Afh,
///Afrikaans
Afr,
///Afro-Asiatic languages
///Collective name
Afa,
///Ainu
Ain,
///Akan
///Macrolanguage. See also fat (Fanti), twi (Twi)
Aka,
///Akkadian
Akk,
///Albanian
///Macrolanguage
Alb,
///Aleut
Ale,
///Algonquian languages
///Collective name
Alg,
///Algonquin
///Alginkin. ONIX local code, equivalent to alq in ISO 639-3. Only for use in ONIX 3.0 or later
Alq,
///Altaic languages
///Collective name
Tut,
///Amharic
Amh,
///Angika
Anp,
///Apache languages
///Collective name
Apa,
///Arabic
///Macrolanguage
Ara,
///Aragonese
Arg,
///Aranés
///ONIX local code, distinct dialect of Occitan (not distinguished from oci by ISO 639-3)
Qar,
///Arapaho
Arp,
///Arawak
Arw,
///Armenian
Arm,
///Aromanian; Arumanian; Macedo-Romanian
Rup,
///Artificial languages
///Collective name
Art,
///Assamese
Asm,
///Asturian; Bable; Leonese; Asturleonese
Ast,
///Athapascan languages
///Collective name
Ath,
///Atikamekw
///ONIX local code, equivalent to atj in ISO 639-3. Only for use in ONIX 3.0 or later
Atj,
///Australian languages
///Collective name
Aus,
///Austro-Asiatic languages
///Collective name. ONIX local code, equivalent of aav in ISO 639-5. Only for use in ONIX 3.0 or later
Aav,
///Austronesian languages
///Collective name
Map,
///Avaric
Ava,
///Avestan
Ave,
///Awadhi
Awa,
///Aymara
///Macrolanguage
Aym,
///Azerbaijani
///Macrolanguage
Aze,
///Balinese
Ban,
///Baltic languages
///Collective name
Bat,
///Baluchi
///Macrolanguage
Bal,
///Bambara
Bam,
///Bamileke languages
///Collective name
Bai,
///Banda languages
///Collective name
Bad,
///Bantu languages
///Collective name
Bnt,
///Basa
Bas,
///Bashkir
Bak,
///Basque
Baq,
///Batak languages
///Collective name
Btk,
///Beja; Bedawiyet
Bej,
///Belarusian
Bel,
///Bemba
Bem,
///Bengali
Ben,
///Berber languages
///Collective name
Ber,
///Bhojpuri
Bho,
///Bihari languages
///Collective name
Bih,
///Bikol
///Macrolanguage
Bik,
///Bini; Edo
Bin,
///Bislama
Bis,
///Blin; Bilin
Byn,
///Blissymbols; Blissymbolics; Bliss
///Artificial language
Zbl,
///Bodo (India)
///Boro. ONIX local code, equivalent to brx in ISO 639-3. Only for use in ONIX 3.0 or later
Brx,
///Bosnian
Bos,
///Braj
Bra,
///Breton
Bre,
///Buginese
Bug,
///Bulgarian
Bul,
///Bulu (Cameroon)
///ONIX local code, equivalent to bum in ISO 639-3. Only for use in ONIX 3.0 or later
Bum,
///Buriat
///Macrolanguage
Bua,
///Burmese
Bur,
///Caddo
Cad,
///Campidanese
///ONIX local code for Sardinian dialect, equivalent to sro in ISO 639-3. Only for use in ONIX 3.0 or later
Sro,
///Cantonese
///ONIX local code, equivalent to yue in ISO 639-3
Yue,
///Catalan
///See also qav (Valencian)
Cat,
///Caucasian languages
///Collective name
Cau,
///Cayuga
///ONIX local code, equivalent to cay in ISO 639-3. Only for use in ONIX 3.0 or later
Cay,
///Cebuano
Ceb,
///Celtic languages
///Collective name
Cel,
///Central American Indian languages
///Collective name
Cai,
///Central Atlas Tamazight
///ONIX local code, equivalent to tzm in ISO 639-3. Only for use in ONIX 3.0 or later
Tzm,
///Central Khmer
Khm,
///Central Kurdish (Sorani)
///ONIX local code, equivalent to ckb in ISO 639-3. Only for use in ONIX 3.0 or later
Ckb,
///Chagatai
Chg,
///Chamic languages
///Collective name
Cmc,
///Chamorro
Cha,
///Chechen
Che,
///Cherokee
Chr,
///Cheyenne
Chy,
///Chibcha
Chb,
///Chichewa; Chewa; Nyanja
Nya,
///Chickasaw
///ONIX local code, equivalent to cic in ISO 639-3. Only for use in ONIX 3.0 or later
Cic,
///Chinese
///Macrolanguage. See also cmn (Mandarin), yue (Cantonese)
Chi,
///Chinook jargon
Chn,
///Chipewyan; Dene Suline
Chp,
///Choctaw
Cho,
///Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic
Chu,
///Chuukese (Truk)
Chk,
///Chuvash
Chv,
///Classical Newari; Old Newari; Classical Nepal Bhasa
Nwc,
///Classical Syriac
Syc,
///Coptic
Cop,
///Cornish
Cor,
///Corsican
Cos,
///Cree
///Macrolanguage. See also crj (Southern East Cree), crk (plains Cree), crl (Northern East Cree), crm (Moose Cree), csw (Swampy Cree), cwd (Woods Cree)
Cre,
///Creek
///Seminole
Mus,
///Creoles and pidgins
///Collective name
Crp,
///Creoles and pidgins, English-based
///Collective name
Cpe,
///Creoles and pidgins, French-based
///Collective name
Cpf,
///Creoles and pidgins, Portuguese-based
///Collective name
Cpp,
///Crimean Turkish; Crimean Tatar
Crh,
///Croatian
Hrv,
///Croatian
///Deprecated – use hrv
Scr,
///Cushitic languages
///Collective name
Cus,
///Czech
Cze,
///Dakota
Dak,
///Danish
Dan,
///Dargwa
Dar,
///Dari; Afghan Persian
///ONIX local code, equivalent to prs in ISO 639-3. Only for use in ONIX 3.0 or later
Prs,
///Delaware
///Macrolanguage
Del,
///Dinka
///Macrolanguage
Din,
///Divehi; Dhivehi; Maldivian
Div,
///Dogri
///Macrolanguage
Doi,
///Dogrib
Dgr,
///Dravidian languages
///Collective name
Dra,
///Duala
Dua,
///Dutch, Middle (ca. 1050-1350)
Dum,
///Dutch; Flemish
Dut,
///Dyula
Dyu,
///Dzongkha
Dzo,
///Eastern Canadian Inuktitut
///ONIX local code, equivalent to ike in ISO 639-3. Only for use in ONIX 3.0 or later
Ike,
///Eastern Frisian
Frs,
///Efik
Efi,
///Egyptian (Ancient)
Egy,
///Ekajuk
Eka,
///Elamite
Elx,
///Emilian
///ONIX local code for Italian dialect, equivalent to egl in ISO 639-3. Only for use in ONIX 3.0 or later
Egl,
///English
Eng,
///English, Middle (1100-1500)
Enm,
///English, Old (ca. 450-1100)
Ang,
///Erzya
Myv,
///Eskaleut languages
///Inuit-Yupik-Unangan languages. Collective name. ONIX local code, equivalent of esx in ISO 639-5. Only for use in ONIX 3.0 or later
Esx,
///Esperanto
///Artificial language
Epo,
///Estonian
///Macrolanguage
Est,
///Ethiopic (Ge’ez)
Gez,
///Ewe
Ewe,
///Ewondo
Ewo,
///Fang
Fan,
///Fanti
Fat,
///Faroese
Fao,
///Fijian
Fij,
///Filipino; Pilipino
Fil,
///Finnish
Fin,
///Finno-Ugrian languages
///Collective name
Fiu,
///Fon
Fon,
///French
Fre,
///French, Middle (ca. 1400-1600)
Frm,
///French, Old (ca. 842-1400)
///See also qgl (Gallo)
Fro,
///Friulian
Fur,
///Fulah
///Macrolanguage
Ful,
///Gã
Gaa,
///Galibi Carib
Car,
///Galician
Glg,
///Gallo
///ONIX local code, distinct variant of langue d’oïl (old northern French), not distinguished from fro, or from frm, fre, nrf by ISO 639-3. Only for use in ONIX 3.0 or later
Qgl,
///Gallurese
///ONIX local code for Sardinian dialect, equivalent to sdn in ISO 639-3. Only for use in ONIX 3.0 or later
Sdn,
///Ganda
Lug,
///Garo
///ONIX local code, equivalent to grt in ISO 639-3. Only for use in ONIX 3.0 or later
Grt,
///Gayo
Gay,
///Gbaya
///Macrolanguage
Gba,
///Georgian
Geo,
///German
Ger,
///German, Middle High (ca. 1050-1500)
Gmh,
///German, Old High (ca. 750-1050)
Goh,
///Germanic languages
///Collective name
Gem,
///Gilbertese
Gil,
///Gitxsan
///ONIX local code, equivalent to git in ISO 639-3. Only for use in ONIX 3.0 or later
Git,
///Gondi
///Macrolanguage
Gon,
///Gorontalo
Gor,
///Gothic
Got,
///Grebo
///Macrolanguage
Grb,
///Greek, Ancient (to 1453)
Grc,
///Greek, Modern (1453-)
Gre,
///Guarani
///Macrolanguage
Grn,
///Guernésiais, Jèrriais
///ONIX local code, equivalent to nrf in ISO 639-3. Only for use in ONIX 3.0 or later
Nrf,
///Gujarati
Guj,
///Gwich’in
Gwi,
///Haida
///Macrolanguage
Hai,
///Haitian; Haitian Creole
Hat,
///Hausa
Hau,
///Hawaiian
Haw,
///Hebrew
Heb,
///Herero
Her,
///Hiligaynon
Hil,
///Himachali languages; Western Pahari languages
///Collective name
Him,
///Hindi
Hin,
///Hiri Motu
Hmo,
///Hittite
Hit,
///Hmong-Mien languages
///Collective name. ONIX local code, equivalent of hmx in ISO 639-5. Only for use in ONIX 3.0 or later
Hmx,
///Hmong; Mong
///Macrolanguage
Hmn,
///Hopi
///ONIX local code, equivalent to hop in ISO 639-3. Only for use in ONIX 3.0 or later
Hop,
///Hungarian
Hun,
///Hupa
Hup,
///Iban
Iba,
///Icelandic
Ice,
///Ido
///Artificial language
Ido,
///Igbo
Ibo,
///Ijo languages
///Collective name
Ijo,
///Iloko
Ilo,
///Inari Sami
Smn,
///Indic languages
///Collective name
Inc,
///Indo-European languages
///Collective name
Ine,
///Indonesian
Ind,
///Ingush
Inh,
///Innu, Montagnais
///ONIX local code, equivalent to moe in ISO 639-3. Only for use in ONIX 3.0 or later
Moe,
///Interlingua (International Auxiliary Language Association)
///Artificial language
Ina,
///Interlingue; Occidental
///Artificial language
Ile,
///Inuinnaqtun
///Western Canadian Inuktitut. ONIX local code, equivalent to ikt in ISO 639-3. Only for use in ONIX 3.0 or later
Ikt,
///Inuktitut
///Macrolanguage. See also ike (Eastern Canadian Inuktitut), ikt (Inuinnaqtun)
Iku,
///Inupiaq
///Macrolanguage
Ipk,
///Inuvialuktun
///ONIX local code, distinct dialect of Inuktitut (not distinguished from iku, ike, ikt by ISO 639-3). Only for use in ONIX 3.0 or later
Qiv,
///Iranian languages
///Collective name
Ira,
///Iranian Persian; Parsi
///ONIX local code, equivalent to pes in ISO 639-3. Only for use in ONIX 3.0 or later
Pes,
///Irish
Gle,
///Irish, Middle (ca. 1100-1550)
Mga,
///Irish, Old (to 1100)
Sga,
///Iroquoian languages
///Collective name
Iro,
///Italian
Ita,
///Japanese
Jpn,
///Japanese languages
///Japonic. Collective name. ONIX local code, equivalent of jpx in ISO 639-5. Only for use in ONIX 3.0 or later
Jpx,
///Javanese
Jav,
///Jowulu
///ONIX local code, equivalent to jow in ISO 639-3. Only for use in ONIX 3.0 or later
Jow,
///Judeo-Arabic
///Macrolanguage
Jrb,
///Judeo-Persian
Jpr,
///Kabardian
///(East Circassian)
Kbd,
///Kabiyè
///ONIX local code, equivalent to kbp in ISO 639-3. Only for use in ONIX 3.0 or later
Kbp,
///Kabyle
Kab,
///Kachin; Jingpho
Kac,
///Kalâtdlisut; Greenlandic
Kal,
///Kalmyk; Oirat
Xal,
///Kamba
Kam,
///Kannada
Kan,
///Kanuri
///Macrolanguage
Kau,
///Kara-Kalpak
Kaa,
///Karachay-Balkar
Krc,
///Karaim
///ONIX local code, equivalent to kdr in ISO 639-3
Kdr,
///Karelian
Krl,
///Karen languages
///Collective name
Kar,
///Kashmiri
Kas,
///Kashubian
Csb,
///Kawi
Kaw,
///Kazakh
Kaz,
///Khasi
Kha,
///Khoisan languages
///Collective name
Khi,
///Khotanese; Sakan
Kho,
///Khwedam, Kxoe
///ONIX local code, equivalent to xuu in ISO 639-3. Only for use in ONIX 3.0 or later
Xuu,
///Kikuyu; Gikuyu
Kik,
///Kimbundu
Kmb,
///Kinyarwanda
Kin,
///Kirghiz; Kyrgyz
Kir,
///Kissi, Northern
///Kisi (Guinean language). ONIX local code, equivalent to kqs in ISO 639-3. Only for use in ONIX 3.0 or later. Do not confuse with Kisi (Tanzanian language)
Kqs,
///Kissi, Southern
///Kisi (Liberian language). ONIX local code, equivalent to kss in ISO 639-3. Only for use in ONIX 3.0 or later. Do not confuse with Kisi (Tanzanian language)
Kss,
///Klingon; tlhIngan-Hol
///Artificial language
Tlh,
///Komi
///Macrolanguage
Kom,
///Kongo
///Macrolanguage
Kon,
///Konkani
///Macrolanguage
Kok,
///Korean
Kor,
///Kpelle
///Macrolanguage
Kpe,
///Kru languages
///Collective name
Kro,
///Kuanyama; Kwanyama
Kua,
///Kumyk
Kum,
///Kurdish
///Macrolanguage. See also ckb (Central Kurdish)
Kur,
///Kurukh
Kru,
///Kusaiean (Caroline Islands)
Kos,
///Kutenai
Kut,
///Kvensk
///ONIX local code, equivalent to fkv in ISO 639-3
Fkv,
///Kwakiutl
///ONIX local code, equivalent to kwk in ISO 639-3. Only for use in ONIX 3.0 or later
Kwk,
///Ladino
Lad,
///Lahnda
///Macrolanguage
Lah,
///Lakota
///Teton, Teton Sioux. ONIX local code, equivalent to lkt in ISO 639-3. Only for use in ONIX 3.0 or later
Lkt,
///Lamba
Lam,
///Land Dayak languages
///Collective name
Day,
///Lao
Lao,
///Latin
Lat,
///Latvian
///Macrolanguage
Lav,
///Lemko
///ONIX local code, distinct dialect of Rusyn (not distinguished from rue by ISO 639-3). Only for use in ONIX 3.0 or later
Qlk,
///Lezgian
Lez,
///Ligurian
///ONIX local code for Italian dialect, equivalent to lij in ISO 639-3. Only for use in ONIX 3.0 or later
Lij,
///Limbergan; Limburger; Limburgish
Lim,
///Lingala
Lin,
///Lithuanian
Lit,
///Lojban
Jbo,
///Loma (Liberia)
///ONIX local code for Liberian language, equivalent to lom in ISO 639-3. See also Toma for the closely-related Guinean variant. Only for use in ONIX 3.0 or later
Lom,
///Lombard
///ONIX local code for Italian dialect, equivalent to lmo in ISO 639-3. Only for use in ONIX 3.0 or later
Lmo,
///Low German; Low Saxon
Nds,
///Lower Sorbian
Dsb,
///Lozi
Loz,
///Luba-Katanga
Lub,
///Luba-Lulua
Lua,
///Luiseño
Lui,
///Lule Sami
Smj,
///Lunda
Lun,
///Luo (Kenya and Tanzania)
Luo,
///Lushai
Lus,
///Luxembourgish; Letzeburgesch
Ltz,
///Macedonian
Mac,
///Madurese
Mad,
///Magahi
Mag,
///Maithili
Mai,
///Makasar
Mak,
///Malagasy
///Macrolanguage
Mlg,
///Malay
///Macrolanguage
May,
///Malayalam
Mal,
///Malayo-Polynesian languages
///Collective name. ONIX local code, equivalent of poz in ISO 639-5. Only for use in ONIX 3.0 or later
Poz,
///Maltese
Mlt,
///Manchu
Mnc,
///Mandar
Mdr,
///Mandarin
///ONIX local code, equivalent to cmn in ISO 639-3
Cmn,
///Mandingo
///Macrolanguage
Man,
///Manipuri
Mni,
///Manobo languages
///Collective name
Mno,
///Manx
Glv,
///Maore Comorian
///Shimaore. ONIX local code, equivalent to swb in ISO 639-3. Only for use in ONIX 3.0 or later
Swb,
///Maori
///Māori
Mao,
///Mapudungun; Mapuche
Arn,
///Marathi
Mar,
///Mari
///Macrolanguage
Chm,
///Marshallese
Mah,
///Marwari
///Macrolanguage
Mwr,
///Masai
Mas,
///Mayan languages
///Collective name
Myn,
///Meänkieli / Tornedalen Finnish
///ONIX local code, equivalent to fit in ISO 639-3
Fit,
///Mende
Men,
///Mi’kmaq; Micmac; Mi’gmaw
Mic,
///Michif
///ONIX local code, equivalent to crg in ISO 639-3. Only for use in ONIX 3.0 or later
Crg,
///Middle Low German
///ONIX local code, equivalent to gml in ISO 639-3. Only for use in ONIX 3.0 or later
Gml,
///Minangkabau
Min,
///Mirandese
Mwl,
///Mohawk
Moh,
///Moksha
Mdf,
///Moldavian; Moldovan
///Deprecated – use rum
Mol,
///Mon-Khmer languages
///Collective name
Mkh,
///Mongo-Nkundu
Lol,
///Mongolian
///Macrolanguage
Mon,
///Montenegrin
///Only for use in ONIX 3.0 or later
Cnr,
///Mooré; Mossi
Mos,
///Moose Cree
///ONIX local code, equivalent to crm in ISO 639-3. Only for use in ONIX 3.0 or later
Crm,
///Munda languages
///Collective name
Mun,
///Murrinh-Patha
///ONIX local code, equivalent to mwf in ISO 639-3. Only for use in ONIX 3.0 or later
Mwf,
///N’Ko
Nqo,
///Nahuatl languages
///Collective name
Nah,
///Naskapi
///ONIX local code, equivalent to nsk in ISO 639-3. Only for use in ONIX 3.0 or later
Nsk,
///Nauruan
Nau,
///Navajo; Navaho
Nav,
///Ndebele, North
Nde,
///Ndebele, South
Nbl,
///Ndonga
Ndo,
///Neapolitan
Nap,
///Nepali
///Macrolanguage
Nep,
///Neutral Latin American Spanish
///ONIX local code, distinct and exclusively spoken variation of Spanish, not distinguished from spa (Spanish, Castilian) by ISO 639-3. Neutral Latin American Spanish should be considered a ‘shorthand’ for spa plus a ‘country code’ for Latin America – but prefer spa plus the relevant country code for specifically Mexican Spanish, Argentine (Rioplatense) Spanish, Puerto Rican Spanish etc. Neutral Latin American Spanish must only be used with audio material (including the audio tracks of TV, video and film) to indicate use of accent, vocabulary and construction suitable for broad use across Latin America. Only for use in ONIX 3.0 or later
Qls,
///Newari; Nepal Bhasa
New,
///Nias
Nia,
///Niger-Kordofanian languages
///Collective name
Nic,
///Nilo-Saharan languages
///Collective name
Ssa,
///Niuean
Niu,
///Nogai
Nog,
///Norman French
///Normand, of which Guernésiais, Jèrriais are distinct dialects. ONIX local code (not distinguished from nrf in ISO 639-3). Only for use in ONIX 3.0 or later
Qnf,
///North American Indian languages
///Collective name
Nai,
///Northern East Cree
///ONIX local code, equivalent to crl in ISO 639-3. Only for use in ONIX 3.0 or later
Crl,
///Northern Frisian
Frr,
///Northern Sami
Sme,
///Norwegian
///Macrolanguage. See also nob (Bokmål), nno (Nynorsk)
Nor,
///Norwegian Bokmål
Nob,
///Norwegian Nynorsk
Nno,
///Nubian languages
///Collective name
Nub,
///Nyamwezi
Nym,
///Nyankole
Nyn,
///Nyoro
Nyo,
///Nzima
Nzi,
///Occitan (post-1500)
///See also qar (Aranés)
Oci,
///Official Aramaic; Imperial Aramaic (700-300 BCE)
Arc,
///Ojibwa
///Macrolanguage. See also ojs (Severn Ojibwa)
Oji,
///Okanagan; Nsyilxcn / Nsyilxcən
///Colville-Okanagan. ONIX local code, equivalent to oka in ISO 639-3. Only for use in ONIX 3.0 or later
Oka,
///Old Dutch / Old Low Franconian (ca. 400–1050)
///ONIX local code, equivalent to odt in ISO 639-3
Odt,
///Old Norse
Non,
///Old Persian (ca. 600-400 B.C.)
Peo,
///O’odham
///Tohono O’odham, Akimel Oʼodham. ONIX local code, equivalent to ood in ISO 639-3. Only for use in ONIX 3.0 or later
Ood,
///Oriya
///Macrolanguage
Ori,
///Oromo
///Macrolanguage
Orm,
///Osage
Osa,
///Ossetian; Ossetic
Oss,
///Oto-Manguean languages
///ONIX local code, equivalent to omq in ISO 639-5. Collective name
Omq,
///Otomian languages
///Collective name
Oto,
///Pahlavi
Pal,
///Palauan
Pau,
///Pali
Pli,
///Pampanga; Kapampangan
Pam,
///Pangasinan
Pag,
///Panjabi
Pan,
///Papiamento
Pap,
///Papuan languages
///Collective name
Paa,
///Pedi; Sepedi; Northern Sotho
Nso,
///Persian
///Macrolanguage. See also pes (Iranian Persian, Farsi), prs (Dari)
Per,
///Philippine languages
///Collective name
Phi,
///Phoenician
Phn,
///Picard
///ONIX local code, distinct variant of langue d’oïl (old northern French), equivalent to pcd in ISO 639-3. Only for use in ONIX 3.0 or later
Pcd,
///Picture Communication Symbols (PCS)
///ONIX local code for graphical symbols used in augmentative and alternative communication and education, not listed in ISO 639-3. Only for use in ONIX 3.0 or later
Qsp,
///Piedmontese
///ONIX local code for Italian dialect, equivalent to pms in ISO 639-3. Only for use in ONIX 3.0 or later
Pms,
///Plains Cree
///ONIX local code, equivalent to crk in ISO 639-3. Only for use in ONIX 3.0 or later
Crk,
///Polish
Pol,
///Ponapeian
Pon,
///Portuguese
Por,
///Prakrit languages
///Collective name
Pra,
///Provençal, Old (to 1500); Occitan, Old (to 1500)
Pro,
///Pular
///ONIX local code, equivalent to fuf in ISO 639-3. Only for use in ONIX 3.0 or later
Fuf,
///Pushto; Pashto
///Macrolanguage
Pus,
///Quechua
///Macrolanguage
Que,
///Rajasthani
///Macrolanguage
Raj,
///Rajbanshi
///Tajpuria. ONIX local code, equivalent to rjs in ISO 639-3. Only for use in ONIX 3.0 or later
Rjs,
///Rangpuri
///Bahe. ONIX local code, equivalent to rkt in ISO 639-3. Only for use in ONIX 3.0 or later
Rkt,
///Rapanui
Rap,
///Rarotongan; Cook Islands Maori
///Māori Kūki ʻĀirani
Rar,
///Réunion Creole French
///ONIX local code, equivalent to rcf in ISO 639-3. Only for use in ONIX 3.0 or later
Rcf,
///Romagnol
///ONIX local code for Italian dialect, equivalent to rgl in ISO 639-3. Only for use in ONIX 3.0 or later
Rgn,
///Romance languages
///Collective name
Roa,
///Romanian
Rum,
///Romansh
Roh,
///Romany
///Romani. Macrolanguage
Rom,
///Rundi
Run,
///Russian
Rus,
///Salishan languages
///Collective name
Sal,
///Samaritan Aramaic
Sam,
///Sami languages
///Collective name
Smi,
///Samoan
Smo,
///Sandawe
Sad,
///Sango
Sag,
///Sanskrit
San,
///Santali
Sat,
///Saramaccan
///ONIX local code for Saramaccan language, equivalent to srm in ISO 639-3. Only for use in ONIX 3.0 or later
Srm,
///Sardinian
///Macrolanguage. See also sdc (Sassarese), sdn (Gallurese), sro (Campidanese)
Srd,
///Sasak
Sas,
///Sassarese
///ONIX local code for Sardinian dialect, equivalent to sdc in ISO 639-3. Only for use in ONIX 3.0 or later
Sdc,
///Scots
Sco,
///Scottish Gaelic
Gla,
///Selkup
Sel,
///Semitic languages
///Collective name
Sem,
///Serbian
///Deprecated – use srp
Scc,
///Serbian
Srp,
///Serer
Srr,
///Severn Ojibwa
///ONIX local code, equivalent to ojs in ISO 639-3. Only for use in ONIX 3.0 or later
Ojs,
///Shan
Shn,
///Shona
Sna,
///Shuswap
///ONIX local code, equivalent to shs in ISO 639-3. Only for use in ONIX 3.0 or later
Shs,
///Sichuan Yi; Nuosu
Iii,
///Sicilian
Scn,
///Sidamo
Sid,
///Sign languages
///Collective name
Sgn,
///Siksika
Bla,
///Silesian
///ONIX local code, equivalent to szl in ISO 639-3. Only for use in ONIX 3.0 or later
Szl,
///Sindhi
Snd,
///Sinhala; Sinhalese
Sin,
///Sinitic languages
///Chinese (family) languages. Collective name. ONIX local code, equivalent of zhx in ISO 639-5. Only for use in ONIX 3.0 or later
Zhx,
///Sino-Tibetan languages
///Collective name
Sit,
///Siouan languages
///Collective name
Sio,
///Skolt Sami
Sms,
///Slave (Athapascan)
///Macrolanguage
Den,
///Slavic languages
///Collective name
Sla,
///Slovak
Slo,
///Slovenian
Slv,
///Sogdian
Sog,
///Somali
Som,
///Songhai languages
///Collective name
Son,
///Soninke
Snk,
///Sorbian languages
///Collective name
Wen,
///Sotho; Sesotho
Sot,
///South American Indian languages
///Collective name
Sai,
///Southern Altai
Alt,
///Southern East Cree
///ONIX local code, equivalent to crj in ISO 639-3. Only for use in ONIX 3.0 or later
Crj,
///Southern Sami
Sma,
///Spanish
Spa,
///Sranan Tongo
Srn,
///Standard Moroccan Tamazight
Zgh,
///Stoney
///ONIX local code, equivalent to sto in ISO 639-3. Only for use in ONIX 3.0 or later
Sto,
///Sukuma
Suk,
///Sumerian
Sux,
///Sundanese
Sun,
///Susu
Sus,
///Swahili
///Macrolanguage
Swa,
///Swampy Cree
///ONIX local code, equivalent to csw in ISO 639-3. Only for use in ONIX 3.0 or later
Csw,
///Swazi; Swati
Ssw,
///Swedish
Swe,
///Swiss German; Alemannic; Alsatian
Gsw,
///Syriac
///Macrolanguage
Syr,
///Tagalog
Tgl,
///Tahitian
Tah,
///Tai languages
///Collective name
Tai,
///Tajik; Tajiki Persian
Tgk,
///Tamashek
///Macrolanguage
Tmh,
///Tamil
Tam,
///Tashelhit; Shilha
///ONIX local code, equivalent to shi in ISO 639-3. Only for use in ONIX 3.0 or later
Shi,
///Tatar
Tat,
///Telugu
Tel,
///Temne; Time
Tem,
///Terena
Ter,
///Tetum
Tet,
///Thai
Tha,
///Thompson
///Nla’kapamux. ONIX local code, equivalent to thp in ISO 639-3. Only for use in ONIX 3.0 or later
Thp,
///Tibetan
Tib,
///Tigré
Tig,
///Tigrinya
Tir,
///Tiv
Tiv,
///Tlingit
Tli,
///Tok Pisin
Tpi,
///Tokelauan
Tkl,
///Toma
///ONIX local code for Guinean language, equivalent to tod in ISO 639-3. See also Loma for the closely-related Liberian variant. Only for use in ONIX 3.0 or later
Tod,
///Tonga (Nyasa)
Tog,
///Tongan
Ton,
///Traveler Norwegian
///ONIX local code for Norwegian Scandoromani variant, equivalent to rmg in ISO 639-3. Only for use in ONIX 3.0 or later
Rmg,
///Tsakonian
///ONIX local code, equivalent to tsd in ISO 639-3. Only for use in ONIX 3.0 or later
Tsd,
///Tsimshian
Tsi,
///Tsonga
Tso,
///Tswana
///AKA Setswana
Tsn,
///Tumbuka
Tum,
///Tupi languages
///Collective name
Tup,
///Turkish
Tur,
///Turkish, Ottoman
Ota,
///Turkmen
Tuk,
///Tuvaluan
Tvl,
///Tuvinian
Tyv,
///Twi
Twi,
///Tzotzil
///ONIX local code, equivalent to tzo in ISO 639-3
Tzo,
///Udmurt
Udm,
///Ugaritic
Uga,
///Uighur; Uyghur
Uig,
///Ukrainian
Ukr,
///Umbundu
Umb,
///Upper Sorbian
Hsb,
///Uralic languages
///Collective name. ONIX local code, equivalent of urj in ISO 639-5. Only for use in ONIX 3.0 or later
Urj,
///Urdu
Urd,
///Uzbek
///Macrolanguage
Uzb,
///Vai
Vai,
///Valencian
///ONIX local code, distinct dialect of Catalan (not distinguished from cat by ISO 639-3)
Qav,
///Venda
Ven,
///Venetian/Venetan
///ONIX local code for Italian dialect, equivalent to vec in ISO 639-3. Only for use in ONIX 3.0 or later
Vec,
///Vietnamese
Vie,
///Volapük
///Artificial language
Vol,
///Votic
Vot,
///Wakashan languages
///Collective name
Wak,
///Wallisian
///East Uvean. ONIX local code, equivalent to wls in ISO 639-3. Only for use in ONIX 3.0 or later
Wls,
///Walloon
Wln,
///Waray
War,
///Washo
Was,
///Wayuu
///Guajiro. ONIX local code, equivalent of guc in ISO 639-3. Only for use in ONIX 3.0 or later
Guc,
///Welsh
Wel,
///Western Frisian
Fry,
///Widgit symbols
///ONIX local code for graphical symbols used in augmentative and alternative communication and education, not listed in ISO 639-3. Only for use in ONIX 3.0 or later
Qsw,
///Wolaitta; Wolaytta
Wal,
///Wolof
Wol,
///Woods Cree
///ONIX local code, equivalent to cwd in ISO 639-3. Only for use in ONIX 3.0 or later
Cwd,
///Wymysorys
///Vilamovian. ONIX local code, equivalent to wym in ISO 639-3. Only for use in ONIX 3.0 or later
Wym,
///Xhosa
Xho,
///Yakut
Sah,
///Yao
Yao,
///Yapese
Yap,
///Yiddish
///Macrolanguage
Yid,
///Yoruba
Yor,
///Yupik languages
///Collective name
Ypk,
///Zande languages
///Collective name
Znd,
///Zapotec
///Macrolanguage
Zap,
///Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki
///Macrolanguage
Zza,
///Zenaga
Zen,
///Zhuang; Chuang
///Macrolanguage
Zha,
///Zulu
Zul,
///Zuni
Zun,
///Uncoded language
///Use where no suitable code is available
Mis,
///Undetermined language
Und,
///Multiple languages
Mul,
///No linguistic content
Zxx,
}
#[derive(Debug)]
pub enum DefaultLanguageOfTextRefname {
DefaultLanguageOfText,
}
#[derive(Debug)]
pub enum DefaultLanguageOfTextShortname {
M184,
}
///Price type
#[derive(Debug)]
pub enum List58 {
///RRP excluding tax
///Recommended Retail Price, excluding any sales tax or value-added tax. Price recommended by the publisher or supplier for retail sales to the consumer. Also termed the Suggested Retail Price (SRP) or Maximum Suggested Retail Price (MSRP) in some countries. The retailer may choose to use this recommended price, or may choose to sell to the consumer at a lower (or occasionally, a higher) price which is termed the Actual Selling Price (ASP) in sales reports. The net price charged to the retailer depends on the RRP minus a trade discount (which may be customer-specific). Relevant tax detail must be calculated by the data recipient
_01,
///RRP including tax
///Recommended Retail Price, including sales or value-added tax where applicable. The net price charged to the retailer depends on the trade discount. Sales or value-added tax detail is usually supplied in the Tax composite
_02,
///FRP excluding tax
///Fixed Retail Price, excluding any sales or value-added tax, used in countries where retail price maintenance applies (by law or via trade agreement) to certain products. Price fixed by the publisher or supplier for retail sales to the consumer. The retailer must use this price, or may vary the price only within certain legally-prescribed limits. The net price charged to the retailer depends on the FRP minus a customer-specific trade discount. Relevant tax detail must be calculated by the data recipient
_03,
///FRP including tax
///Fixed Retail Price, including any sales or value-added tax where applicable, used in countries where retail price maintenance applies (by law or via trade agreement) to certain products. The net price charged to the retailer depends on the trade discount. Sales or value-added tax detail is usually supplied in the Tax composite
_04,
///Supplier’s Net price excluding tax
///Net or wholesale price, excluding any sales or value-added tax. Unit price charged by supplier for business-to-business transactions, without any direct relationship to the price for retail sales to the consumer, but sometimes subject to a further customer-specific trade discount based on volume. Relevant tax detail must be calculated by the data recipient
_05,
///Supplier’s Net price excluding tax: rental goods
///Unit price charged by supplier to reseller / rental outlet, excluding any sales tax or value-added tax: goods for rental (used for video and DVD)
_06,
///Supplier’s Net price including tax
///Net or wholesale price, including any sales or value-added tax where applicable. Unit price charged by supplier for business-to-business transactions, without any direct relationship to the price for retail sales to the consumer, but sometimes subject to a further customer-specific trade discount based on volume. Sales or value-added tax detail is usually supplied in the Tax composite
_07,
///Supplier’s alternative Net price excluding tax
///Net or wholesale price charged by supplier to a specified class of reseller, excluding any sales tax or value-added tax. Relevant tax detail must be calculated by the data recipient. (This value is for use only in countries, eg Finland, where trade practice requires two different Net prices to be listed for different classes of resellers, and where national guidelines specify how the code should be used)
_08,
///Supplier’s alternative net price including tax
///Net or wholesale price charged by supplier to a specified class of reseller, including any sales tax or value-added tax. Sales or value-added tax detail is usually supplied in the Tax composite. (This value is for use only in countries, eg Finland, where trade practice requires two different Net prices to be listed for different classes of resellers, and where national guidelines specify how the code should be used)
_09,
///Special sale RRP excluding tax
///Special sale RRP excluding any sales tax or value-added tax. Note ‘special sales’ are sales where terms and conditions are different from normal trade sales, when for example products that are normally sold on a sale-or-return basis are sold on firm-sale terms, where a particular product is tailored for a specific retail outlet (often termed a ‘premium’ product), or where other specific conditions or qualifications apply. Further details of the modified terms and conditions should be given in PriceTypeDescription
_11,
///Special sale RRP including tax
///Special sale RRP including sales or value-added tax if applicable
_12,
///Special sale fixed retail price excluding tax
///In countries where retail price maintenance applies by law to certain products: not used in USA
_13,
///Special sale fixed retail price including tax
///In countries where retail price maintenance applies by law to certain products: not used in USA
_14,
///Supplier’s net price for special sale excluding tax
///Unit price charged by supplier to reseller for special sale excluding any sales tax or value-added tax
_15,
///Supplier’s net price for special sale including tax
///Unit price charged by supplier to reseller for special sale including any sales tax or value-added tax
_17,
///Pre-publication RRP excluding tax
///Pre-publication RRP excluding any sales tax or value-added tax. Use where RRP for pre-orders is different from post-publication RRP
_21,
///Pre-publication RRP including tax
///Pre-publication RRP including sales or value-added tax if applicable. Use where RRP for pre-orders is different from post-publication RRP
_22,
///Pre-publication fixed retail price excluding tax
///In countries where retail price maintenance applies by law to certain products: not used in USA
_23,
///Pre-publication fixed retail price including tax
///In countries where retail price maintenance applies by law to certain products: not used in USA
_24,
///Supplier’s pre-publication net price excluding tax
///Unit price charged by supplier to reseller pre-publication excluding any sales tax or value-added tax
_25,
///Supplier’s pre-publication net price including tax
///Unit price charged by supplier to reseller pre-publication including any sales tax or value-added tax
_27,
///Freight-pass-through RRP excluding tax
///In the US, books are sometimes supplied on ‘freight-pass-through’ terms, where a price that is different from the RRP is used as the basis for calculating the supplier’s charge to a reseller. To make it clear when such terms are being invoked, code 31 is used instead of code 01 to indicate the RRP. Code 32 is used for the ‘billing price’
_31,
///Freight-pass-through billing price excluding tax
///When freight-pass-through terms apply, the price on which the supplier’s charge to a reseller is calculated, ie the price to which trade discount terms are applied. See also code 31
_32,
///Importer’s Fixed retail price excluding tax
///In countries where retail price maintenance applies by law to certain products, but the price is set by the importer or local sales agent, not the foreign publisher. In France, ‘prix catalogue éditeur étranger’
_33,
///Importer’s Fixed retail price including tax
///In countries where retail price maintenance applies by law to certain products, but the price is set by the importer or local sales agent, not the foreign publisher. In France, ‘prix catalogue éditeur étranger’
_34,
///Nominal gratis copy value for customs purposes, excluding tax
///Nominal value of gratis copies (eg review, sample or evaluation copies) for international customs declarations only, when a ‘free of charge’ price cannot be used. Only for use in ONIX 3.0 or later
_35,
///Nominal value for claims purposes, excluding tax
///Nominal value of copies for claims purposes only (eg to account for copies lost during distribution). Only for use in ONIX 3.0 or later
_36,
///Nominal value for customs purposes, excluding tax
///Nominal value of copies (Declared Unit Value) for international customs declarations only. Only for use in ONIX 3.0 or later
_37,
///Publishers retail price excluding tax
///For a product supplied on agency terms, the retail price set by the publisher, excluding any sales tax or value-added tax
_41,
///Publishers retail price including tax
///For a product supplied on agency terms, the retail price set by the publisher, including sales or value-added tax if applicable
_42,
}
#[derive(Debug)]
pub enum DefaultPriceTypeRefname {
DefaultPriceType,
}
#[derive(Debug)]
pub enum DefaultPriceTypeShortname {
X310,
}
///Currency code – based on ISO 4217
#[derive(Debug)]
pub enum List96 {
///UAE Dirham
///United Arab Emirates
Aed,
///Afghani
///Afghanistan. Deprecated, replaced by AFN
Afa,
///Afghani
///Afghanistan (prices normally quoted as integers)
Afn,
///Lek
///Albania (prices normally quoted as integers)
All,
///Armenian Dram
///Armenia (prices normally quoted as integers)
Amd,
///Netherlands Antillean Guilder
///Curaçao, Sint Maarten. Replaced by the Caribbean Guilder (XCG) from April 2025. Deprecated – use only for historical prices that pre-date withdrawal
Ang,
///Kwanza
///Angola
Aoa,
///Argentine Peso
///Argentina
Ars,
///Schilling
///Austria. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro
Ats,
///Australian Dollar
///Australia, Christmas Island, Cocos (Keeling) Islands, Heard Island and McDonald Islands, Kiribati, Nauru, Norfolk Island, Tuvalu
Aud,
///Aruban Florin
///Aruba
Awg,
///Azerbaijan Manat
///Azerbaijan
Azn,
///Convertible Marks
///Bosnia and Herzegovina
Bam,
///Barbados Dollar
///Barbados
Bbd,
///Taka
///Bangladesh
Bdt,
///Belgian Franc
///Belgium. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro
Bef,
///Bulgarian Lev
///Deprecated, replaced by BGN
Bgl,
///Bulgarian Lev
///Bulgaria
Bgn,
///Bahraini Dinar
///Bahrain (prices normally quoted with 3 decimal places)
Bhd,
///Burundi Franc
///Burundi (prices normally quoted as integers)
Bif,
///Bermudian Dollar
///Bermuda
Bmd,
///Brunei Dollar
///Brunei Darussalam
Bnd,
///Boliviano
///Bolivia
Bob,
///Brazilian Real
///Brazil
Brl,
///Bahamian Dollar
///Bahamas
Bsd,
///Ngultrun
///Bhutan
Btn,
///Pula
///Botswana
Bwp,
///(Old) Belarussian Ruble
///Belarus (prices normally quoted as integers). Deprecated – now replaced by new Belarussian Ruble (BYN): use only for historical prices that pre-date the introduction of the new Belarussian Ruble
Byr,
///Belarussian Ruble
///Belarus
Byn,
///Belize Dollar
///Belize
Bzd,
///Canadian Dollar
///Canada
Cad,
///Franc Congolais
///Congo (Democratic Republic of the)
Cdf,
///Swiss Franc
///Switzerland, Liechtenstein
Chf,
///Chilean Peso
///Chile (prices normally quoted as integers)
Clp,
///Yuan Renminbi
///China
Cny,
///Colombian Peso
///Colombia (prices normally quoted as integers)
Cop,
///Costa Rican Colon
///Costa Rica (prices normally quoted as integers)
Crc,
///Serbian Dinar
///Deprecated, replaced by RSD
Csd,
///Cuban Convertible Peso
///Cuba (alternative currency from 1994, withdrawn 2021). Deprecated – use only for historical prices that pre-date withdrawal
Cuc,
///Cuban Peso
///Cuba
Cup,
///Cabo Verde Escudo
///Cabo Verde (prices normally quoted as integers)
Cve,
///Cyprus Pound
///Cyprus. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro
Cyp,
///Czech Koruna
///Czechia
Czk,
///Mark
///Germany. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro
Dem,
///Djibouti Franc
///Djibouti (prices normally quoted as integers)
Djf,
///Danish Krone
///Denmark, Faroe Islands, Greenland
Dkk,
///Dominican Peso
///Dominican Republic
Dop,
///Algerian Dinar
///Algeria
Dzd,
///Kroon
///Estonia. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro
Eek,
///Egyptian Pound
///Egypt
Egp,
///Nakfa
///Eritrea
Ern,
///Peseta
///Spain. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro (prices normally quoted as integers)
Esp,
///Ethiopian Birr
///Ethiopia
Etb,
///Euro
///Eurozone: Andorra, Austria, Belgium, Croatia, Cyprus, Estonia, Finland, France, Fr Guiana, Fr S Territories, Germany, Greece, Guadeloupe, Holy See (Vatican City), Ireland, Italy, Latvia, Lithuania, Luxembourg, Martinique, Malta, Mayotte, Monaco, Montenegro, Netherlands, Portugal, Réunion, St Barthelemy, St Martin, St Pierre and Miquelon, San Marino, Slovakia, Slovenia, Spain
Eur,
///Markka
///Finland. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro
Fim,
///Fiji Dollar
///Fiji
Fjd,
///Falkland Islands Pound
///Falkland Islands (Malvinas)
Fkp,
///Franc
///France. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro
Frf,
///Pound Sterling
///United Kingdom, Isle of Man, Channel Islands, South Georgia, South Sandwich Islands, British Indian Ocean Territory (de jure)
Gbp,
///Lari
///Georgia
Gel,
///Ghana Cedi
///Deprecated, replaced by GHS
Ghc,
///Ghana Cedi
///Ghana
Ghs,
///Gibraltar Pound
///Gibraltar
Gip,
///Dalasi
///Gambia
Gmd,
///Guinean Franc
///Guinea (prices normally quoted as integers)
Gnf,
///Drachma
///Greece. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro
Grd,
///Quetzal
///Guatemala
Gtq,
///Guinea-Bissau Peso
///Now replaced by the CFA Franc BCEAO XOF use only for historical prices that pre-date use of the CFA Franc
Gwp,
///Guyana Dollar
///Guyana (prices normally quoted as integers)
Gyd,
///Hong Kong Dollar
///Hong Kong
Hkd,
///Lempira
///Honduras
Hnl,
///Kuna
///Croatia. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro
Hrk,
///Gourde
///Haiti
Htg,
///Forint
///Hungary (prices normally quoted as integers)
Huf,
///Rupiah
///Indonesia (prices normally quoted as integers)
Idr,
///Punt
///Ireland. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro
Iep,
///New Israeli Sheqel
///Israel
Ils,
///Indian Rupee
///India, Bhutan (prices normally quoted as integers)
Inr,
///Iraqi Dinar
///Iraq (prices normally quoted as integers)
Iqd,
///Iranian Rial
///Iran (Islamic Republic of) (prices normally quoted as integers)
Irr,
///Iceland Krona
///Iceland (prices normally quoted as integers)
Isk,
///Lira
///Italy. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro (prices normally quoted as integers)
Itl,
///Jamaican Dollar
///Jamaica
Jmd,
///Jordanian Dinar
///Jordan (prices normally quoted with 3 decimal places)
Jod,
///Yen
///Japan (prices normally quoted as integers)
Jpy,
///Kenyan Shilling
///Kenya
Kes,
///Som
///Kyrgyzstan
Kgs,
///Riel
///Cambodia
Khr,
///Comorian Franc
///Comoros (prices normally quoted as integers)
Kmf,
///North Korean Won
///Korea (Democratic People’s Republic of) (prices normally quoted as integers)
Kpw,
///Won
///Korea (Republic of) (prices normally quoted as integers)
Krw,
///Kuwaiti Dinar
///Kuwait (prices normally quoted with 3 decimal places)
Kwd,
///Cayman Islands Dollar
///Cayman Islands
Kyd,
///Tenge
///Kazakhstan
Kzt,
///Lao Kip
///Lao People’s Democratic Republic (prices normally quoted as integers)
Lak,
///Lebanese Pound
///Lebanon (prices normally quoted as integers)
Lbp,
///Sri Lanka Rupee
///Sri Lanka
Lkr,
///Liberian Dollar
///Liberia
Lrd,
///Loti
///Lesotho
Lsl,
///Litus
///Lithuania. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro
Ltl,
///Luxembourg Franc
///Luxembourg. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro (prices normally quoted as integers)
Luf,
///Latvian Lats
///Latvia. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro
Lvl,
///Libyan Dinar
///Libyan Arab Jamahiriya (prices normally quoted with 3 decimal places)
Lyd,
///Moroccan Dirham
///Morocco, Western Sahara
Mad,
///Moldovan Leu
///Moldova, Republic of
Mdl,
///Malagasy Ariary
///Madagascar (prices normally quoted with 0 or 1 decimal place – 1 iraimbilanja = Ar0.2)
Mga,
///Malagasy Franc
///Now replaced by the Ariary (MGA) (prices normally quoted as integers)
Mgf,
///Denar
///North Macedonia (formerly FYR Macedonia)
Mkd,
///Kyat
///Myanmar (prices normally quoted as integers)
Mmk,
///Tugrik
///Mongolia (prices normally quoted as integers)
Mnt,
///Pataca
///Macau
Mop,
///(Old) Ouguiya
///Mauritania (prices normally quoted with 0 or 1 decimal place – 1 khoums = UM0.2). Was interchangeable with MRU (New) Ouguiya at rate of 10:1 until June 2018. Deprecated, use MRU instead
Mro,
///Ouguiya
///Mauritania (prices normally quoted with 0 or 1 decimal place – 1 khoums = UM0.2). Replaced MRO (old) Ouguiya at rate of 10:1 in June 2018. Only for use in ONIX 3.0 or later
Mru,
///Maltese Lira
///Malta. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro
Mtl,
///Mauritius Rupee
///Mauritius (prices normally quoted as integers)
Mur,
///Rufiyaa
///Maldives
Mvr,
///Malawi Kwacha
///Malawi
Mwk,
///Mexican Peso
///Mexico
Mxn,
///Malaysian Ringgit
///Malaysia
Myr,
///Mozambique Metical
///Mozambique
Mzn,
///Namibia Dollar
///Namibia
Nad,
///Naira
///Nigeria
Ngn,
///Cordoba Oro
///Nicaragua
Nio,
///Guilder
///Netherlands. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro
Nlg,
///Norwegian Krone
///Norway, Bouvet Island, Svalbard and Jan Mayen
Nok,
///Nepalese Rupee
///Nepal
Npr,
///New Zealand Dollar
///New Zealand, Cook Islands, Niue, Pitcairn, Tokelau
Nzd,
///Rial Omani
///Oman (prices normally quoted with 3 decimal places)
Omr,
///Balboa
///Panama
Pab,
///Sol
///Peru (formerly Nuevo Sol)
Pen,
///Kina
///Papua New Guinea
Pgk,
///Philippine Peso
///Philippines
Php,
///Pakistan Rupee
///Pakistan (prices normally quoted as integers)
Pkr,
///Złoty
///Poland
Pln,
///Escudo
///Portugal. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro
Pte,
///Guarani
///Paraguay (prices normally quoted as integers)
Pyg,
///Qatari Rial
///Qatar
Qar,
///Romanian Old Leu
///Deprecated, replaced by RON
Rol,
///Romanian Leu
///Romania
Ron,
///Serbian Dinar
///Serbia (prices normally quoted as integers)
Rsd,
///Russian Ruble
///Russian Federation
Rub,
///Russian Ruble
///Deprecated, replaced by RUB
Rur,
///Rwanda Franc
///Rwanda (prices normally quoted as integers)
Rwf,
///Saudi Riyal
///Saudi Arabia
Sar,
///Solomon Islands Dollar
///Solomon Islands
Sbd,
///Seychelles Rupee
///Seychelles
Scr,
///Sudanese Dinar
///Now replaced by the Sudanese Pound (SDG)
Sdd,
///Sudanese Pound
///Sudan
Sdg,
///Swedish Krona
///Sweden
Sek,
///Singapore Dollar
///Singapore
Sgd,
///Saint Helena Pound
///Saint Helena
Shp,
///Tolar
///Slovenia. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro
Sit,
///Slovak Koruna
///Slovakia. Now replaced by the Euro (EUR). Deprecated – use only for historical prices that pre-date the introduction of the Euro
Skk,
///Leone
///Sierra Leone (from April 2022). Only for use in ONIX 3.0 or later
Sle,
///Leone
///Sierra Leone (prices normally quoted as integers). Deprecated – gradually replaced by SLE from April 2022, but SLL Leone still usable until December 2023 (SLE is a redenomination of the Leone by a factor of 1,000)
Sll,
///Somali Shilling
///Somalia (prices normally quoted as integers)
Sos,
///Surinam Dollar
///Suriname
Srd,
///Suriname Guilder
///DEPRECATED, replaced by SRD
Srg,
///(Old) Dobra
///São Tome and Principe (prices normally quoted as integers). Was interchangeable with STN (New) Dobra at rate of 1000:1 until June 2018. Deprecated, use STN instead
Std,
///Dobra
///São Tome and Principe. Replaced STD (old) Dobra at rate of 1000:1 in June 2018. Only for use in ONIX 3.0 or later
Stn,
///El Salvador Colon
///El Salvador
Svc,
///Syrian Pound
///Syrian Arab Republic (prices normally quoted as integers)
Syp,
///Lilangeni
///Eswatini (formerly known as Swaziland)
Szl,
///Baht
///Thailand
Thb,
///Somoni
///Tajikistan
Tjs,
///Turkmenistan Manat
///Deprecated, replaced by TMT (prices normally quoted as integers)
Tmm,
///Turkmenistan New Manat
///Turkmenistan
Tmt,
///Tunisian Dinar
///Tunisia (prices normally quoted with 3 decimal places)
Tnd,
///Pa’anga
///Tonga
Top,
///Timor Escudo
///Deprecated. Timor-Leste now uses the US Dollar
Tpe,
///Turkish Lira (old)
///Deprecated, replaced by TRY (prices normally quoted as integers)
Trl,
///Turkish Lira
///Türkiye, from 1 January 2005
Try,
///Trinidad and Tobago Dollar
///Trinidad and Tobago
Ttd,
///New Taiwan Dollar
///Taiwan (Province of China)
Twd,
///Tanzanian Shilling
///Tanzania (United Republic of) (prices normally quoted as integers)
Tzs,
///Hryvnia
///Ukraine
Uah,
///Uganda Shilling
///Uganda (prices normally quoted as integers)
Ugx,
///US Dollar
///United States, American Samoa, Bonaire, Sint Eustatius and Saba, British Indian Ocean Territory, Ecuador, El Salvador, Guam, Haiti, Marshall Is, Micronesia (Federated States of), Northern Mariana Is, Palau, Panama, Puerto Rico, Timor-Leste, Turks and Caicos Is, US Minor Outlying Is, Virgin Is (British), Virgin Is (US)
Usd,
///Peso Uruguayo
///Uruguay
Uyu,
///Uzbekistan Sum
///Uzbekistan (prices normally quoted as integers)
Uzs,
///Bolívar
///Deprecated, replaced by VEF
Veb,
///Bolívar
///Venezuela (formerly Bolívar fuerte). Deprecated, replaced by VES
Vef,
///Bolívar Soberano
///Venezuela (replaced VEF from August 2018 at rate of 100,000:1, and was redenominated by a further factor of 1,000,000:1 in late 2021). Only for use in ONIX 3.0 or later
Ves,
///Dong
///Viet Nam (prices normally quoted as integers)
Vnd,
///Vatu
///Vanuatu (prices normally quoted as integers)
Vuv,
///Tala
///Samoa
Wst,
///CFA Franc BEAC
///Cameroon, Central African Republic, Chad, Congo, Equatorial Guinea, Gabon (prices normally quoted as integers)
Xaf,
///East Caribbean Dollar
///Anguilla, Antigua and Barbuda, Dominica, Grenada, Montserrat, Saint Kitts and Nevis, Saint Lucia, Saint Vincent and the Grenadines
Xcd,
///Caribbean Guilder
///Curaçao, Sint Maarten. Only for use in ONIX 3.0
Xcg,
///CFA Franc BCEAO
///Benin, Burkina Faso, Côte D’Ivoire, Guinea-Bissau, Mali, Niger, Senegal, Togo (prices normally quoted as integers)
Xof,
///CFP Franc
///French Polynesia, New Caledonia, Wallis and Futuna (prices normally quoted as integers)
Xpf,
///Yemeni Rial
///Yemen (prices normally quoted as integers)
Yer,
///Yugoslavian Dinar
///Deprecated, replaced by CSD
Yum,
///Rand
///South Africa, Namibia, Lesotho
Zar,
///Kwacha
///Zambia. Deprecated, replaced with ZMW (prices normally quoted as integers)
Zmk,
///Zambian Kwacha
///Zambia
Zmw,
///Zimbabwe Dollar
///Deprecated, replaced with ZWL (prices normally quoted as integers)
Zwd,
///Zimbabwe Gold
///Zimbabwe. Also known as ZiG. Only for use in ONIX 3.0 or later
Zwg,
///Zimbabwe Dollar
///Deprecated, replaced by ZWG
Zwl,
}
#[derive(Debug)]
pub enum DefaultCurrencyCodeRefname {
DefaultCurrencyCode,
}
#[derive(Debug)]
pub enum DefaultCurrencyCodeShortname {
M186,
}
#[derive(Debug)]
pub enum NoProductRefname {
NoProduct,
}
#[derive(Debug)]
pub enum NoProductShortname {
X507,
}
#[derive(Debug)]
pub enum ProductRefname {
Product,
}
#[derive(Debug)]
pub enum ProductShortname {
Product,
}
#[derive(Debug)]
pub struct ProductGpRecordMetadata {
pub record_reference: RecordReferenceElementType,
pub notification_type: NotificationTypeElementType,
pub deletion_text: Vec<DeletionTextElementType>,
pub record_source_type: Option<RecordSourceTypeElementType>,
pub record_source_identifier: Vec<RecordSourceIdentifierElementType>,
pub record_source_name: Option<RecordSourceNameElementType>,
}
#[derive(Debug)]
pub struct ProductGpProductNumbers {
pub product_identifier: Vec<ProductIdentifierElementType>,
pub barcode: Vec<BarcodeElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct DescriptiveDetailElementType {
pub refname: Option<DescriptiveDetailRefname>,
pub shortname: Option<DescriptiveDetailShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub gp_product_form: DescriptiveDetailGpProductForm,
pub gp_collections: DescriptiveDetailGpCollections,
pub gp_titles: DescriptiveDetailGpTitles,
pub gp_authorship: Option<DescriptiveDetailGpAuthorship>,
pub gp_events: DescriptiveDetailGpEvents,
pub gp_editions: DescriptiveDetailGpEditions,
pub gp_languages: ContentItemGpLanguages,
pub gp_extents: DescriptiveDetailGpExtents,
pub gp_subjects: ContentItemGpSubjects,
pub gp_audiences: DescriptiveDetailGpAudiences,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CollateralDetailElementType {
pub refname: Option<CollateralDetailRefname>,
pub shortname: Option<CollateralDetailShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub gp_descriptions_and_marketing_resources:
CollateralDetailGpDescriptionsAndMarketingResources,
pub gp_prizes: CollateralDetailGpPrizes,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PromotionDetailElementType {
pub refname: Option<PromotionDetailRefname>,
pub shortname: Option<PromotionDetailShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub promotional_event: Vec<PromotionalEventElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ContentDetailElementType {
pub refname: Option<ContentDetailRefname>,
pub shortname: Option<ContentDetailShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content_item: Vec<ContentItemElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PublishingDetailElementType {
pub refname: Option<PublishingDetailRefname>,
pub shortname: Option<PublishingDetailShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub gp_imprints_and_publishers: PublishingDetailGpImprintsAndPublishers,
pub gp_publishing_status_dates_and_copyright:
PublishingDetailGpPublishingStatusDatesAndCopyright,
pub gp_sales_rights_and_restrictions: PublishingDetailGpSalesRightsAndRestrictions,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct RelatedMaterialElementType {
pub refname: Option<RelatedMaterialRefname>,
pub shortname: Option<RelatedMaterialShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub related_work: Vec<RelatedWorkElementType>,
pub related_product: Vec<RelatedProductElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductionDetailElementType {
pub refname: Option<ProductionDetailRefname>,
pub shortname: Option<ProductionDetailShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub production_manifest: Vec<ProductionManifestElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductSupplyElementType {
pub refname: Option<ProductSupplyRefname>,
pub shortname: Option<ProductSupplyShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub market_reference: Option<MarketReferenceElementType>,
pub market: Vec<MarketElementType>,
pub market_publishing_detail: Option<MarketPublishingDetailElementType>,
pub supply_detail: Vec<SupplyDetailElementType>,
}
#[derive(Debug)]
pub struct SenderContent303 {
pub sender_identifier: Vec<SenderIdentifierElementType>,
pub sender_name: Option<SenderNameElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SenderNameElementType {
pub refname: Option<SenderNameRefname>,
pub shortname: Option<SenderNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub enum ContactNameRefname {
ContactName,
}
#[derive(Debug)]
pub enum ContactNameShortname {
X299,
}
#[derive(Debug)]
pub enum TelephoneNumberRefname {
TelephoneNumber,
}
#[derive(Debug)]
pub enum TelephoneNumberShortname {
J270,
}
#[derive(Debug)]
pub enum EmailAddressRefname {
EmailAddress,
}
#[derive(Debug)]
pub enum EmailAddressShortname {
J272,
}
#[derive(Debug)]
pub struct AddresseeContent71 {
pub addressee_identifier: Vec<AddresseeIdentifierElementType>,
pub addressee_name: Option<AddresseeNameElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AddresseeNameElementType {
pub refname: Option<AddresseeNameRefname>,
pub shortname: Option<AddresseeNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct RecordReferenceElementType {
pub refname: Option<RecordReferenceRefname>,
pub shortname: Option<RecordReferenceShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct NotificationTypeElementType {
pub refname: Option<NotificationTypeRefname>,
pub shortname: Option<NotificationTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List1,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct DeletionTextElementType {
pub refname: Option<DeletionTextRefname>,
pub shortname: Option<DeletionTextShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct RecordSourceTypeElementType {
pub refname: Option<RecordSourceTypeRefname>,
pub shortname: Option<RecordSourceTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List3,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct RecordSourceIdentifierElementType {
pub refname: Option<RecordSourceIdentifierRefname>,
pub shortname: Option<RecordSourceIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub record_source_id_type: RecordSourceIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct RecordSourceNameElementType {
pub refname: Option<RecordSourceNameRefname>,
pub shortname: Option<RecordSourceNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductIdentifierElementType {
pub refname: Option<ProductIdentifierRefname>,
pub shortname: Option<ProductIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub product_id_type: ProductIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct BarcodeElementType {
pub refname: Option<BarcodeRefname>,
pub shortname: Option<BarcodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub barcode_type: BarcodeTypeElementType,
pub position_on_product: Option<PositionOnProductElementType>,
}
#[derive(Debug)]
pub enum DescriptiveDetailRefname {
DescriptiveDetail,
}
#[derive(Debug)]
pub enum DescriptiveDetailShortname {
Descriptivedetail,
}
#[derive(Debug)]
pub struct DescriptiveDetailGpProductForm {
pub product_composition: ProductCompositionElementType,
pub product_form: ProductFormElementType,
pub product_form_detail: Vec<ProductFormDetailElementType>,
pub product_form_feature: Vec<ProductFormFeatureElementType>,
pub product_packaging: Option<ProductPackagingElementType>,
pub product_form_description: Vec<ProductFormDescriptionElementType>,
pub trade_category: Option<TradeCategoryElementType>,
pub primary_content_type: Option<PrimaryContentTypeElementType>,
pub product_content_type: Vec<ProductContentTypeElementType>,
pub measure: Vec<MeasureElementType>,
pub country_of_manufacture: Option<CountryOfManufactureElementType>,
pub epub_technical_protection: Vec<EpubTechnicalProtectionElementType>,
pub epub_usage_constraint: Vec<EpubUsageConstraintElementType>,
pub epub_license: Vec<EpubLicenseWithDateType>,
pub map_scale: Vec<MapScaleElementType>,
pub product_classification: Vec<ProductClassificationElementType>,
pub product_part: Vec<ProductPartElementType>,
}
#[derive(Debug)]
pub struct DescriptiveDetailGpCollections {
pub content_153: Option<DescriptiveDetailContent153>,
}
#[derive(Debug)]
pub struct DescriptiveDetailGpTitles {
pub title_detail: Vec<TitleDetailElementType>,
pub content_154: Option<DescriptiveDetailContent154>,
}
#[derive(Debug)]
pub enum DescriptiveDetailGpAuthorship {
Content155(CollectionContent110),
NoContributor(Option<NoContributorElementType>),
}
#[derive(Debug)]
pub struct DescriptiveDetailGpEvents {
pub event: Vec<EventElementType>,
}
#[derive(Debug)]
pub struct DescriptiveDetailGpEditions {
pub content_156: Option<DescriptiveDetailContent156>,
pub religious_text: Option<ReligiousTextElementType>,
}
#[derive(Debug)]
pub struct ContentItemGpLanguages {
pub language: Vec<LanguageElementType>,
}
#[derive(Debug)]
pub struct DescriptiveDetailGpExtents {
pub extent: Vec<ExtentElementType>,
pub illustrated: Option<IllustratedElementType>,
pub number_of_illustrations: Option<NumberOfIllustrationsElementType>,
pub illustrations_note: Vec<IllustrationsNoteElementType>,
pub ancillary_content: Vec<AncillaryContentElementType>,
}
#[derive(Debug)]
pub struct ContentItemGpSubjects {
pub subject: Vec<SubjectElementType>,
pub name_as_subject: Vec<NameAsSubjectElementType>,
}
#[derive(Debug)]
pub struct DescriptiveDetailGpAudiences {
pub audience: Vec<AudienceElementType>,
pub audience_range: Vec<AudienceRangeElementType>,
pub audience_description: Vec<AudienceDescriptionElementType>,
pub complexity: Vec<ComplexityElementType>,
}
#[derive(Debug)]
pub enum CollateralDetailRefname {
CollateralDetail,
}
#[derive(Debug)]
pub enum CollateralDetailShortname {
Collateraldetail,
}
#[derive(Debug)]
pub struct CollateralDetailGpDescriptionsAndMarketingResources {
pub text_content: Vec<TextContentElementType>,
pub cited_content: Vec<CitedContentElementType>,
pub supporting_resource: Vec<SupportingResourceElementType>,
}
#[derive(Debug)]
pub struct CollateralDetailGpPrizes {
pub prize: Vec<PrizeElementType>,
}
#[derive(Debug)]
pub enum PromotionDetailRefname {
PromotionDetail,
}
#[derive(Debug)]
pub enum PromotionDetailShortname {
Promotiondetail,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PromotionalEventElementType {
pub refname: Option<PromotionalEventRefname>,
pub shortname: Option<PromotionalEventShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub event_identifier: Vec<EventIdentifierElementType>,
pub event_type: Vec<EventTypeElementType>,
pub event_status: Option<EventStatusElementType>,
pub content_audience: Vec<ContentAudienceElementType>,
pub event_name: Vec<EventNameElementType>,
pub content_256: Option<PromotionalEventContent256>,
pub event_description: Vec<EventDescriptionElementType>,
pub event_occurrence: Vec<EventOccurrenceElementType>,
pub supporting_resource: Vec<SupportingResourceElementType>,
pub event_sponsor: Vec<EventSponsorElementType>,
pub website: Vec<WebsiteElementType>,
}
#[derive(Debug)]
pub enum ContentDetailRefname {
ContentDetail,
}
#[derive(Debug)]
pub enum ContentDetailShortname {
Contentdetail,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ContentItemElementType {
pub refname: Option<ContentItemRefname>,
pub shortname: Option<ContentItemShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub level_sequence_number: Option<LevelSequenceNumberElementType>,
pub content_118: ContentItemContent118,
pub epub_usage_constraint: Vec<EpubUsageConstraintElementType>,
pub epub_license: Vec<EpubLicenseWithDateType>,
pub content_119: ContentItemContent119,
pub gp_authorship: Option<ContentItemGpAuthorship>,
pub gp_languages: ContentItemGpLanguages,
pub gp_subjects: ContentItemGpSubjects,
pub gp_descriptions_and_marketing_resources:
CollateralDetailGpDescriptionsAndMarketingResources,
pub publisher: Vec<PublisherElementType>,
pub content_123: Option<ContentItemContent123>,
pub gp_related_materials: ContentItemGpRelatedMaterials,
}
#[derive(Debug)]
pub enum PublishingDetailRefname {
PublishingDetail,
}
#[derive(Debug)]
pub enum PublishingDetailShortname {
Publishingdetail,
}
#[derive(Debug)]
pub struct PublishingDetailGpImprintsAndPublishers {
pub content_271: PublishingDetailContent271,
pub city_of_publication: Vec<CityOfPublicationElementType>,
pub country_of_publication: Option<CountryOfPublicationElementType>,
pub product_contact: Vec<ProductContactElementType>,
}
#[derive(Debug)]
pub struct PublishingDetailGpPublishingStatusDatesAndCopyright {
pub content_273: Option<PublishingDetailContent273>,
pub publishing_date: Vec<PublishingDateElementType>,
pub latest_reprint_number: Option<LatestReprintNumberElementType>,
pub content_274: Option<ContentItemContent123>,
}
#[derive(Debug)]
pub struct PublishingDetailGpSalesRightsAndRestrictions {
pub content_275: Option<PublishingDetailContent275>,
}
#[derive(Debug)]
pub enum RelatedMaterialRefname {
RelatedMaterial,
}
#[derive(Debug)]
pub enum RelatedMaterialShortname {
Relatedmaterial,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct RelatedWorkElementType {
pub refname: Option<RelatedWorkRefname>,
pub shortname: Option<RelatedWorkShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub work_relation_code: WorkRelationCodeElementType,
pub work_identifier: Vec<WorkIdentifierElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct RelatedProductElementType {
pub refname: Option<RelatedProductRefname>,
pub shortname: Option<RelatedProductShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub product_relation_code: Vec<ProductRelationCodeElementType>,
pub product_identifier: Vec<ProductIdentifierElementType>,
pub content_279: Option<RelatedProductContent279>,
}
#[derive(Debug)]
pub enum ProductionDetailRefname {
ProductionDetail,
}
#[derive(Debug)]
pub enum ProductionDetailShortname {
Productiondetail,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductionManifestElementType {
pub refname: Option<ProductionManifestRefname>,
pub shortname: Option<ProductionManifestShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub product_identifier: Vec<ProductIdentifierElementType>,
pub cover_manifest: Option<CoverManifestElementType>,
pub body_manifest: BodyManifestElementType,
pub insert_manifest: Vec<InsertManifestElementType>,
pub supplement_manifest: Vec<SupplementManifestElementType>,
}
#[derive(Debug)]
pub enum ProductSupplyRefname {
ProductSupply,
}
#[derive(Debug)]
pub enum ProductSupplyShortname {
Productsupply,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct MarketReferenceElementType {
pub refname: Option<MarketReferenceRefname>,
pub shortname: Option<MarketReferenceShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct MarketElementType {
pub refname: Option<MarketRefname>,
pub shortname: Option<MarketShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub territory: TerritoryElementType,
pub sales_restriction: Vec<SalesRestrictionElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct MarketPublishingDetailElementType {
pub refname: Option<MarketPublishingDetailRefname>,
pub shortname: Option<MarketPublishingDetailShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub publisher_representative: Vec<PublisherRepresentativeElementType>,
pub product_contact: Vec<ProductContactElementType>,
pub market_publishing_status: MarketPublishingStatusElementType,
pub market_publishing_status_note: Vec<MarketPublishingStatusNoteElementType>,
pub market_date: Vec<MarketDateElementType>,
pub promotion_campaign: Vec<PromotionCampaignElementType>,
pub initial_print_run: Vec<InitialPrintRunElementType>,
pub reprint_detail: Vec<ReprintDetailElementType>,
pub copies_sold: Vec<CopiesSoldElementType>,
pub book_club_adoption: Vec<BookClubAdoptionElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SupplyDetailElementType {
pub refname: Option<SupplyDetailRefname>,
pub shortname: Option<SupplyDetailShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub supplier: SupplierElementType,
pub supply_contact: Vec<SupplyContactElementType>,
pub supplier_own_coding: Vec<SupplierOwnCodingElementType>,
pub returns_conditions: Vec<ReturnsConditionsElementType>,
pub product_availability: ProductAvailabilityElementType,
pub supply_date: Vec<SupplyDateElementType>,
pub order_time: Option<OrderTimeElementType>,
pub new_supplier: Option<NewSupplierElementType>,
pub stock: Vec<StockElementType>,
pub pack_quantity: Option<PackQuantityElementType>,
pub pallet_quantity: Option<PalletQuantityElementType>,
pub content_333: Option<SupplyDetailContent333>,
pub content_334: SupplyDetailContent334,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SenderIdentifierElementType {
pub refname: Option<SenderIdentifierRefname>,
pub shortname: Option<SenderIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub sender_id_type: SenderIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
#[derive(Debug)]
pub enum SenderNameRefname {
SenderName,
}
#[derive(Debug)]
pub enum SenderNameShortname {
X298,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AddresseeIdentifierElementType {
pub refname: Option<AddresseeIdentifierRefname>,
pub shortname: Option<AddresseeIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub addressee_id_type: AddresseeIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
#[derive(Debug)]
pub enum AddresseeNameRefname {
AddresseeName,
}
#[derive(Debug)]
pub enum AddresseeNameShortname {
X300,
}
#[derive(Debug)]
pub enum RecordReferenceRefname {
RecordReference,
}
#[derive(Debug)]
pub enum RecordReferenceShortname {
A001,
}
///Notification or update type
#[derive(Debug)]
pub enum List1 {
///Early notification
///Use for a complete record issued earlier than approximately six months before publication
_01,
///Advance notification (confirmed)
///Use for a complete record issued to confirm advance information approximately six months before publication; or for a complete record issued after that date and before information has been confirmed from the book-in-hand
_02,
///Notification confirmed on publication
///Use for a complete record issued to confirm advance information at or just before actual publication date, usually from the book-in-hand, or for a complete record issued at any later date
_03,
///Update (partial)
///In ONIX 3.0 or later only, use when sending a ‘block update’ record. A block update implies using the supplied block(s) to update the existing record for the product, replacing only the blocks included in the block update, and leaving other blocks unchanged – for example, replacing old information from Blocks 4 and 6 with the newly-received data while retaining information from Blocks 1–3, 5 and 7–8 untouched. In previous ONIX releases, and for ONIX 3.0 or later using other notification types, updating is by replacing the complete record with the newly-received data
_04,
///Delete
///Use when sending an instruction to delete a record which was previously issued. Note that a Delete instruction should NOT be used when a product is cancelled, put out of print, or otherwise withdrawn from sale: this should be handled as a change of Publishing status, leaving the receiver to decide whether to retain or delete the record. A Delete instruction is used ONLY when there is a particular reason to withdraw a record completely, eg because it was issued in error
_05,
///Notice of sale
///Notice of sale of a product, from one publisher to another: sent by the publisher disposing of the product
_08,
///Notice of acquisition
///Notice of acquisition of a product, by one publisher from another: sent by the acquiring publisher
_09,
///Test update (partial)
///Only for use in ONIX 3.0 or later. Record may be processed for test purposes, but data should be discarded when testing is complete. Sender must ensure the RecordReference matches a previously-sent Test record
_88,
///Test record
///Record may be processed for test purposes, but data should be discarded when testing is complete. Sender must ensure the RecordReference does not match any previously-sent live product record
_89,
}
#[derive(Debug)]
pub enum NotificationTypeRefname {
NotificationType,
}
#[derive(Debug)]
pub enum NotificationTypeShortname {
A002,
}
#[derive(Debug)]
pub enum DeletionTextRefname {
DeletionText,
}
#[derive(Debug)]
pub enum DeletionTextShortname {
A199,
}
#[derive(Debug)]
pub enum RecordSourceTypeRefname {
RecordSourceType,
}
#[derive(Debug)]
pub enum RecordSourceTypeShortname {
A194,
}
#[derive(Debug)]
pub enum RecordSourceIdentifierRefname {
RecordSourceIdentifier,
}
#[derive(Debug)]
pub enum RecordSourceIdentifierShortname {
Recordsourceidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct RecordSourceIdTypeElementType {
pub refname: Option<RecordSourceIdTypeRefname>,
pub shortname: Option<RecordSourceIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List44,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct IdTypeNameElementType {
pub refname: Option<IdTypeNameRefname>,
pub shortname: Option<IdTypeNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct IdValueElementType {
pub refname: Option<IdValueRefname>,
pub shortname: Option<IdValueShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub enum RecordSourceNameRefname {
RecordSourceName,
}
#[derive(Debug)]
pub enum RecordSourceNameShortname {
A197,
}
#[derive(Debug)]
pub enum ProductIdentifierRefname {
ProductIdentifier,
}
#[derive(Debug)]
pub enum ProductIdentifierShortname {
Productidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductIdTypeElementType {
pub refname: Option<ProductIdTypeRefname>,
pub shortname: Option<ProductIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List5,
}
#[derive(Debug)]
pub enum BarcodeRefname {
Barcode,
}
#[derive(Debug)]
pub enum BarcodeShortname {
Barcode,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct BarcodeTypeElementType {
pub refname: Option<BarcodeTypeRefname>,
pub shortname: Option<BarcodeTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List141,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PositionOnProductElementType {
pub refname: Option<PositionOnProductRefname>,
pub shortname: Option<PositionOnProductShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List142,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductCompositionElementType {
pub refname: Option<ProductCompositionRefname>,
pub shortname: Option<ProductCompositionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List2,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductFormElementType {
pub refname: Option<ProductFormRefname>,
pub shortname: Option<ProductFormShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List150,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductFormDetailElementType {
pub refname: Option<ProductFormDetailRefname>,
pub shortname: Option<ProductFormDetailShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List175,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductFormFeatureElementType {
pub refname: Option<ProductFormFeatureRefname>,
pub shortname: Option<ProductFormFeatureShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub product_form_feature_type: ProductFormFeatureTypeElementType,
pub product_form_feature_value: Option<ProductFormFeatureValueElementType>,
pub product_form_feature_description: Vec<ProductFormFeatureDescriptionElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductPackagingElementType {
pub refname: Option<ProductPackagingRefname>,
pub shortname: Option<ProductPackagingShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List80,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct ProductFormDescriptionElementType {
pub refname: Option<ProductFormDescriptionRefname>,
pub shortname: Option<ProductFormDescriptionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TradeCategoryElementType {
pub refname: Option<TradeCategoryRefname>,
pub shortname: Option<TradeCategoryShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List12,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PrimaryContentTypeElementType {
pub refname: Option<PrimaryContentTypeRefname>,
pub shortname: Option<PrimaryContentTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List81,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductContentTypeElementType {
pub refname: Option<ProductContentTypeRefname>,
pub shortname: Option<ProductContentTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List81,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct MeasureElementType {
pub refname: Option<MeasureRefname>,
pub shortname: Option<MeasureShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub measure_type: MeasureTypeElementType,
pub measurement: MeasurementElementType,
pub measure_unit_code: MeasureUnitCodeElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CountryOfManufactureElementType {
pub refname: Option<CountryOfManufactureRefname>,
pub shortname: Option<CountryOfManufactureShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List91,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EpubTechnicalProtectionElementType {
pub refname: Option<EpubTechnicalProtectionRefname>,
pub shortname: Option<EpubTechnicalProtectionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List144,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EpubUsageConstraintElementType {
pub refname: Option<EpubUsageConstraintRefname>,
pub shortname: Option<EpubUsageConstraintShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub epub_usage_type: EpubUsageTypeElementType,
pub epub_usage_status: EpubUsageStatusElementType,
pub epub_usage_limit: Vec<EpubUsageLimitElementType>,
}
///Details of an end user license agreement for a digital product
///● Extends complexType EpubLicenseType>
///● Added EpubLicenseDate> at release 3.1
#[derive(Debug)]
pub struct EpubLicenseWithDateType {
pub refname: Option<EpubLicenseTypeRefname>,
pub shortname: Option<EpubLicenseTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub epub_license_name: Vec<EpubLicenseNameElementType>,
pub epub_license_expression: Vec<EpubLicenseExpressionElementType>,
pub epub_license_date: Vec<EpubLicenseDateElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct MapScaleElementType {
pub refname: Option<MapScaleRefname>,
pub shortname: Option<MapScaleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductClassificationElementType {
pub refname: Option<ProductClassificationRefname>,
pub shortname: Option<ProductClassificationShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub product_classification_type: ProductClassificationTypeElementType,
pub product_classification_type_name: Option<ProductClassificationTypeNameElementType>,
pub product_classification_code: ProductClassificationCodeElementType,
pub percent: Option<PercentElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductPartElementType {
pub refname: Option<ProductPartRefname>,
pub shortname: Option<ProductPartShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub primary_part: Option<PrimaryPartElementType>,
pub product_identifier: Vec<ProductIdentifierElementType>,
pub product_form: ProductFormElementType,
pub product_form_detail: Vec<ProductFormDetailElementType>,
pub product_form_feature: Vec<ProductFormFeatureElementType>,
pub product_packaging: Option<ProductPackagingElementType>,
pub product_form_description: Vec<ProductFormDescriptionElementType>,
pub product_content_type: Vec<ProductContentTypeElementType>,
pub measure: Vec<MeasureElementType>,
pub content_249: ProductPartContent249,
pub country_of_manufacture: Option<CountryOfManufactureElementType>,
}
#[derive(Debug)]
pub enum DescriptiveDetailContent153 {
Collection(Vec<CollectionElementType>),
NoCollection(NoCollectionElementType),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TitleDetailElementType {
pub refname: Option<TitleDetailRefname>,
pub shortname: Option<TitleDetailShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub title_type: TitleTypeElementType,
pub title_element: Vec<TitleElementElementType>,
pub title_statement: Option<TitleStatementElementType>,
}
#[derive(Debug)]
pub struct DescriptiveDetailContent154 {
pub thesis_type: ThesisTypeElementType,
pub thesis_presented_to: Option<ThesisPresentedToElementType>,
pub thesis_year: Option<ThesisYearElementType>,
}
#[derive(Debug)]
pub struct CollectionContent110 {
pub contributor: Vec<ContributorElementType>,
pub contributor_statement: Vec<ContributorStatementElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct NoContributorElementType {
pub refname: Option<NoContributorRefname>,
pub shortname: Option<NoContributorShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EventElementType {
pub refname: Option<EventRefname>,
pub shortname: Option<EventShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub event_role: EventRoleElementType,
pub event_name: Vec<EventNameElementType>,
pub event_acronym: Vec<EventAcronymElementType>,
pub event_number: Option<EventNumberElementType>,
pub event_theme: Vec<EventThemeElementType>,
pub event_date: Option<EventDateElementType>,
pub event_place: Vec<EventPlaceElementType>,
pub event_sponsor: Vec<EventSponsorElementType>,
pub website: Vec<WebsiteElementType>,
}
#[derive(Debug)]
pub enum DescriptiveDetailContent156 {
Content157(DescriptiveDetailContent157),
NoEdition(Option<NoEditionElementType>),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ReligiousTextElementType {
pub refname: Option<ReligiousTextRefname>,
pub shortname: Option<ReligiousTextShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: ReligiousTextElementTypeContent,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub enum ReligiousTextElementTypeContent {
Bible(BibleElementType),
Content282(ReligiousTextContent282),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct LanguageElementType {
pub refname: Option<LanguageRefname>,
pub shortname: Option<LanguageShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language_role: LanguageRoleElementType,
pub language_code: LanguageCodeElementType,
pub country_code: Option<CountryCodeElementType>,
pub region_code: Option<RegionCodeElementType>,
pub script_code: Option<ScriptCodeElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ExtentElementType {
pub refname: Option<ExtentRefname>,
pub shortname: Option<ExtentShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub extent_type: ExtentTypeElementType,
pub content_182: ExtentContent182,
pub extent_unit: ExtentUnitElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct IllustratedElementType {
pub refname: Option<IllustratedRefname>,
pub shortname: Option<IllustratedShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List152,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct NumberOfIllustrationsElementType {
pub refname: Option<NumberOfIllustrationsRefname>,
pub shortname: Option<NumberOfIllustrationsShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct IllustrationsNoteElementType {
pub refname: Option<IllustrationsNoteRefname>,
pub shortname: Option<IllustrationsNoteShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<IllustrationsNoteElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum IllustrationsNoteElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AncillaryContentElementType {
pub refname: Option<AncillaryContentRefname>,
pub shortname: Option<AncillaryContentShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub ancillary_content_type: AncillaryContentTypeElementType,
pub ancillary_content_description: Vec<AncillaryContentDescriptionElementType>,
pub number: Option<NumberElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SubjectElementType {
pub refname: Option<SubjectRefname>,
pub shortname: Option<SubjectShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub main_subject: Option<MainSubjectElementType>,
pub subject_scheme_identifier: SubjectSchemeIdentifierElementType,
pub subject_scheme_name: Option<SubjectSchemeNameElementType>,
pub subject_scheme_version: Option<SubjectSchemeVersionElementType>,
pub content_315: SubjectContent315,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct NameAsSubjectElementType {
pub refname: Option<NameAsSubjectRefname>,
pub shortname: Option<NameAsSubjectShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub name_type: Option<NameTypeElementType>,
pub content_205: NameAsSubjectContent205,
pub alternative_name: Vec<AlternativeNameElementType>,
pub subject_date: Vec<SubjectDateElementType>,
pub professional_affiliation: Vec<ProfessionalAffiliationElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AudienceElementType {
pub refname: Option<AudienceRefname>,
pub shortname: Option<AudienceShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub main_audience: Option<MainAudienceElementType>,
pub audience_code_type: AudienceCodeTypeElementType,
pub audience_code_type_name: Option<AudienceCodeTypeNameElementType>,
pub content_87: AudienceContent87,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AudienceRangeElementType {
pub refname: Option<AudienceRangeRefname>,
pub shortname: Option<AudienceRangeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub audience_range_qualifier: AudienceRangeQualifierElementType,
pub audience_range_precision: AudienceRangePrecisionElementType,
pub audience_range_value: AudienceRangeValueElementType,
pub content_91: Option<AudienceRangeContent91>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct AudienceDescriptionElementType {
pub refname: Option<AudienceDescriptionRefname>,
pub shortname: Option<AudienceDescriptionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<AudienceDescriptionElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum AudienceDescriptionElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ComplexityElementType {
pub refname: Option<ComplexityRefname>,
pub shortname: Option<ComplexityShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub complexity_scheme_identifier: ComplexitySchemeIdentifierElementType,
pub complexity_code: ComplexityCodeElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TextContentElementType {
pub refname: Option<TextContentRefname>,
pub shortname: Option<TextContentShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub sequence_number: Option<SequenceNumberElementType>,
pub text_type: TextTypeElementType,
pub content_audience: Vec<ContentAudienceElementType>,
pub territory: Option<TerritoryElementType>,
pub text: Vec<TextElementType>,
pub review_rating: Option<ReviewRatingElementType>,
pub text_author: Vec<TextAuthorElementType>,
pub text_source_corporate: Option<TextSourceCorporateElementType>,
pub text_source_description: Vec<TextSourceDescriptionElementType>,
pub source_title: Vec<SourceTitleElementType>,
pub text_source_link: Vec<TextSourceLinkElementType>,
pub epub_usage_constraint: Vec<EpubUsageConstraintElementType>,
pub epub_license: Vec<EpubLicenseWithDateType>,
pub content_date: Vec<ContentDateElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CitedContentElementType {
pub refname: Option<CitedContentRefname>,
pub shortname: Option<CitedContentShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub sequence_number: Option<SequenceNumberElementType>,
pub cited_content_type: CitedContentTypeElementType,
pub content_audience: Vec<ContentAudienceElementType>,
pub territory: Option<TerritoryElementType>,
pub source_type: Option<SourceTypeElementType>,
pub content_103: CitedContent103,
pub citation_note: Vec<CitationNoteElementType>,
pub resource_link: Vec<ResourceLinkElementType>,
pub content_date: Vec<ContentDateElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SupportingResourceElementType {
pub refname: Option<SupportingResourceRefname>,
pub shortname: Option<SupportingResourceShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub sequence_number: Option<SequenceNumberElementType>,
pub resource_content_type: ResourceContentTypeElementType,
pub content_audience: Vec<ContentAudienceElementType>,
pub territory: Option<TerritoryElementType>,
pub resource_mode: ResourceModeElementType,
pub resource_feature: Vec<ResourceFeatureElementType>,
pub resource_version: Vec<ResourceVersionElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PrizeElementType {
pub refname: Option<PrizeRefname>,
pub shortname: Option<PrizeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub sequence_number: Option<SequenceNumberElementType>,
pub prize_identifier: Vec<PrizeIdentifierElementType>,
pub prize_name: Vec<PrizeNameElementType>,
pub prize_year: Option<PrizeYearElementType>,
pub awarding_body: Vec<AwardingBodyElementType>,
pub prize_country: Option<PrizeCountryElementType>,
pub prize_region: Option<PrizeRegionElementType>,
pub prize_code: Option<PrizeCodeElementType>,
pub prize_statement: Vec<PrizeStatementElementType>,
pub prize_jury: Vec<PrizeJuryElementType>,
}
#[derive(Debug)]
pub enum PromotionalEventRefname {
PromotionalEvent,
}
#[derive(Debug)]
pub enum PromotionalEventShortname {
Promotionalevent,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EventIdentifierElementType {
pub refname: Option<EventIdentifierRefname>,
pub shortname: Option<EventIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub event_id_type: EventIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EventTypeElementType {
pub refname: Option<EventTypeRefname>,
pub shortname: Option<EventTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List245,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EventStatusElementType {
pub refname: Option<EventStatusRefname>,
pub shortname: Option<EventStatusShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List246,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ContentAudienceElementType {
pub refname: Option<ContentAudienceRefname>,
pub shortname: Option<ContentAudienceShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List154,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct EventNameElementType {
pub refname: Option<EventNameRefname>,
pub shortname: Option<EventNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
#[derive(Debug)]
pub enum PromotionalEventContent256 {
Content257(PromotionalEventContent257),
NoContributor(NoContributorElementType),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct EventDescriptionElementType {
pub refname: Option<EventDescriptionRefname>,
pub shortname: Option<EventDescriptionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<EventDescriptionElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum EventDescriptionElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EventOccurrenceElementType {
pub refname: Option<EventOccurrenceRefname>,
pub shortname: Option<EventOccurrenceShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub event_identifier: Vec<EventIdentifierElementType>,
pub occurrence_date: Vec<OccurrenceDateElementType>,
pub event_status: EventStatusElementType,
pub content_173: Option<EventOccurrenceContent173>,
pub event_description: Vec<EventDescriptionElementType>,
pub supporting_resource: Vec<SupportingResourceElementType>,
pub event_sponsor: Vec<EventSponsorElementType>,
pub website: Vec<WebsiteElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EventSponsorElementType {
pub refname: Option<EventSponsorRefname>,
pub shortname: Option<EventSponsorShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: EventSponsorElementTypeContent,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub enum EventSponsorElementTypeContent {
Content178(EventSponsorContent178),
PersonName(PersonNameElementType),
CorporateName(CorporateNameElementType),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct WebsiteElementType {
pub refname: Option<WebsiteRefname>,
pub shortname: Option<WebsiteShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub website_role: Option<WebsiteRoleElementType>,
pub website_description: Vec<WebsiteDescriptionElementType>,
pub website_link: Vec<WebsiteLinkElementType>,
}
#[derive(Debug)]
pub enum ContentItemRefname {
ContentItem,
}
#[derive(Debug)]
pub enum ContentItemShortname {
Contentitem,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct LevelSequenceNumberElementType {
pub refname: Option<LevelSequenceNumberRefname>,
pub shortname: Option<LevelSequenceNumberShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub enum ContentItemContent118 {
TextItem(TextItemElementType),
AvItem(AvItemElementType),
}
#[derive(Debug)]
pub enum ContentItemContent119 {
Content120(ContentItemContent120),
Content121(ContentItemContent121),
}
#[derive(Debug)]
pub enum ContentItemGpAuthorship {
Content122(CollectionContent110),
NoContributor(Option<NoContributorElementType>),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PublisherElementType {
pub refname: Option<PublisherRefname>,
pub shortname: Option<PublisherShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub publishing_role: PublishingRoleElementType,
pub content_263: PublisherContent263,
pub funding: Vec<FundingElementType>,
pub website: Vec<WebsiteElementType>,
}
#[derive(Debug)]
pub struct ContentItemContent123 {
pub copyright_statement: Vec<CopyrightStatementElementType>,
pub copyright_statement_text: Vec<CopyrightStatementTextElementType>,
}
#[derive(Debug)]
pub struct ContentItemGpRelatedMaterials {
pub related_work: Vec<RelatedWorkElementType>,
pub related_product: Vec<RelatedProductElementType>,
}
#[derive(Debug)]
pub enum PublishingDetailContent271 {
Content272(PublishingDetailContent272),
Publisher(Vec<PublisherElementType>),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct CityOfPublicationElementType {
pub refname: Option<CityOfPublicationRefname>,
pub shortname: Option<CityOfPublicationShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CountryOfPublicationElementType {
pub refname: Option<CountryOfPublicationRefname>,
pub shortname: Option<CountryOfPublicationShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List91,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductContactElementType {
pub refname: Option<ProductContactRefname>,
pub shortname: Option<ProductContactShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub product_contact_role: ProductContactRoleElementType,
pub content_240: ProductContactContent240,
pub contact_name: Option<ContactNameElementType>,
pub telephone_number: Vec<TelephoneNumberElementType>,
pub fax_number: Vec<FaxNumberElementType>,
pub email_address: Vec<EmailAddressElementType>,
pub content_242: Option<ProductContactContent242>,
}
#[derive(Debug)]
pub struct PublishingDetailContent273 {
pub publishing_status: PublishingStatusElementType,
pub publishing_status_note: Vec<PublishingStatusNoteElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PublishingDateElementType {
pub refname: Option<PublishingDateRefname>,
pub shortname: Option<PublishingDateShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub publishing_date_role: PublishingDateRoleElementType,
pub date: DateElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct LatestReprintNumberElementType {
pub refname: Option<LatestReprintNumberRefname>,
pub shortname: Option<LatestReprintNumberShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
#[derive(Debug)]
pub struct PublishingDetailContent275 {
pub sales_rights: Vec<SalesRightsElementType>,
pub row_sales_rights_type: Option<RowSalesRightsTypeElementType>,
}
#[derive(Debug)]
pub enum RelatedWorkRefname {
RelatedWork,
}
#[derive(Debug)]
pub enum RelatedWorkShortname {
Relatedwork,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct WorkRelationCodeElementType {
pub refname: Option<WorkRelationCodeRefname>,
pub shortname: Option<WorkRelationCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List164,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct WorkIdentifierElementType {
pub refname: Option<WorkIdentifierRefname>,
pub shortname: Option<WorkIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub work_id_type: WorkIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
#[derive(Debug)]
pub enum RelatedProductRefname {
RelatedProduct,
}
#[derive(Debug)]
pub enum RelatedProductShortname {
Relatedproduct,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductRelationCodeElementType {
pub refname: Option<ProductRelationCodeRefname>,
pub shortname: Option<ProductRelationCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List51,
}
#[derive(Debug)]
pub struct RelatedProductContent279 {
pub product_form: ProductFormElementType,
pub product_form_detail: Vec<ProductFormDetailElementType>,
}
#[derive(Debug)]
pub enum ProductionManifestRefname {
ProductionManifest,
}
#[derive(Debug)]
pub enum ProductionManifestShortname {
Productionmanifest,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CoverManifestElementType {
pub refname: Option<CoverManifestRefname>,
pub shortname: Option<CoverManifestShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub gp_product_specification: BodyManifestGpProductSpecification,
pub cover_resource: Vec<CoverResourceElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct BodyManifestElementType {
pub refname: Option<BodyManifestRefname>,
pub shortname: Option<BodyManifestShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub gp_product_specification: BodyManifestGpProductSpecification,
pub body_resource: Vec<BodyResourceElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct InsertManifestElementType {
pub refname: Option<InsertManifestRefname>,
pub shortname: Option<InsertManifestShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub gp_product_specification: BodyManifestGpProductSpecification,
pub insert_point: InsertPointElementType,
pub insert_resource: Vec<InsertResourceElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SupplementManifestElementType {
pub refname: Option<SupplementManifestRefname>,
pub shortname: Option<SupplementManifestShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub sequence_number: Option<SequenceNumberElementType>,
pub sales_outlet: Vec<SalesOutletElementType>,
pub content_319: SupplementManifestContent319,
}
#[derive(Debug)]
pub enum MarketReferenceRefname {
MarketReference,
}
#[derive(Debug)]
pub enum MarketReferenceShortname {
X587,
}
#[derive(Debug)]
pub enum MarketRefname {
Market,
}
#[derive(Debug)]
pub enum MarketShortname {
Market,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TerritoryElementType {
pub refname: Option<TerritoryRefname>,
pub shortname: Option<TerritoryShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: TerritoryElementTypeContent,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub enum TerritoryElementTypeContent {
Content341(TerritoryContent341),
Content342(TerritoryContent342),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SalesRestrictionElementType {
pub refname: Option<SalesRestrictionRefname>,
pub shortname: Option<SalesRestrictionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub sales_restriction_type: SalesRestrictionTypeElementType,
pub sales_outlet: Vec<SalesOutletElementType>,
pub sales_restriction_note: Vec<SalesRestrictionNoteElementType>,
pub start_date: Option<StartDateElementType>,
pub end_date: Option<EndDateElementType>,
}
#[derive(Debug)]
pub enum MarketPublishingDetailRefname {
MarketPublishingDetail,
}
#[derive(Debug)]
pub enum MarketPublishingDetailShortname {
Marketpublishingdetail,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PublisherRepresentativeElementType {
pub refname: Option<PublisherRepresentativeRefname>,
pub shortname: Option<PublisherRepresentativeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub agent_role: AgentRoleElementType,
pub content_267: PublisherRepresentativeContent267,
pub telephone_number: Vec<TelephoneNumberElementType>,
pub fax_number: Vec<FaxNumberElementType>,
pub email_address: Vec<EmailAddressElementType>,
pub website: Vec<WebsiteElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct MarketPublishingStatusElementType {
pub refname: Option<MarketPublishingStatusRefname>,
pub shortname: Option<MarketPublishingStatusShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List68,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct MarketPublishingStatusNoteElementType {
pub refname: Option<MarketPublishingStatusNoteRefname>,
pub shortname: Option<MarketPublishingStatusNoteShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<MarketPublishingStatusNoteElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum MarketPublishingStatusNoteElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct MarketDateElementType {
pub refname: Option<MarketDateRefname>,
pub shortname: Option<MarketDateShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub market_date_role: MarketDateRoleElementType,
pub date: DateElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct PromotionCampaignElementType {
pub refname: Option<PromotionCampaignRefname>,
pub shortname: Option<PromotionCampaignShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<PromotionCampaignElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum PromotionCampaignElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct InitialPrintRunElementType {
pub refname: Option<InitialPrintRunRefname>,
pub shortname: Option<InitialPrintRunShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<InitialPrintRunElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum InitialPrintRunElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct ReprintDetailElementType {
pub refname: Option<ReprintDetailRefname>,
pub shortname: Option<ReprintDetailShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<ReprintDetailElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum ReprintDetailElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct CopiesSoldElementType {
pub refname: Option<CopiesSoldRefname>,
pub shortname: Option<CopiesSoldShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<CopiesSoldElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum CopiesSoldElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct BookClubAdoptionElementType {
pub refname: Option<BookClubAdoptionRefname>,
pub shortname: Option<BookClubAdoptionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<BookClubAdoptionElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum BookClubAdoptionElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
#[derive(Debug)]
pub enum SupplyDetailRefname {
SupplyDetail,
}
#[derive(Debug)]
pub enum SupplyDetailShortname {
Supplydetail,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SupplierElementType {
pub refname: Option<SupplierRefname>,
pub shortname: Option<SupplierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub supplier_role: SupplierRoleElementType,
pub content_322: SupplierContent322,
pub telephone_number: Vec<TelephoneNumberElementType>,
pub fax_number: Vec<FaxNumberElementType>,
pub email_address: Vec<EmailAddressElementType>,
pub website: Vec<WebsiteElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SupplyContactElementType {
pub refname: Option<SupplyContactRefname>,
pub shortname: Option<SupplyContactShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub supply_contact_role: SupplyContactRoleElementType,
pub content_327: SupplyContactContent327,
pub contact_name: Option<ContactNameElementType>,
pub telephone_number: Vec<TelephoneNumberElementType>,
pub fax_number: Vec<FaxNumberElementType>,
pub email_address: Vec<EmailAddressElementType>,
pub content_329: Option<ProductContactContent242>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SupplierOwnCodingElementType {
pub refname: Option<SupplierOwnCodingRefname>,
pub shortname: Option<SupplierOwnCodingShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub supplier_code_type: SupplierCodeTypeElementType,
pub supplier_code_type_name: Option<SupplierCodeTypeNameElementType>,
pub supplier_code_value: SupplierCodeValueElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ReturnsConditionsElementType {
pub refname: Option<ReturnsConditionsRefname>,
pub shortname: Option<ReturnsConditionsShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub returns_code_type: ReturnsCodeTypeElementType,
pub returns_code_type_name: Option<ReturnsCodeTypeNameElementType>,
pub returns_code: ReturnsCodeElementType,
pub returns_note: Vec<ReturnsNoteElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductAvailabilityElementType {
pub refname: Option<ProductAvailabilityRefname>,
pub shortname: Option<ProductAvailabilityShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List65,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SupplyDateElementType {
pub refname: Option<SupplyDateRefname>,
pub shortname: Option<SupplyDateShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub supply_date_role: SupplyDateRoleElementType,
pub date: DateElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct OrderTimeElementType {
pub refname: Option<OrderTimeRefname>,
pub shortname: Option<OrderTimeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct NewSupplierElementType {
pub refname: Option<NewSupplierRefname>,
pub shortname: Option<NewSupplierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content_215: NewSupplierContent215,
pub telephone_number: Vec<TelephoneNumberElementType>,
pub fax_number: Vec<FaxNumberElementType>,
pub email_address: Vec<EmailAddressElementType>,
pub website: Vec<WebsiteElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct StockElementType {
pub refname: Option<StockRefname>,
pub shortname: Option<StockShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub location_identifier: Vec<LocationIdentifierElementType>,
pub location_name: Vec<LocationNameElementType>,
pub content_308: StockContent308,
pub on_order_detail: Vec<OnOrderDetailElementType>,
pub velocity: Vec<VelocityElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PackQuantityElementType {
pub refname: Option<PackQuantityRefname>,
pub shortname: Option<PackQuantityShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PalletQuantityElementType {
pub refname: Option<PalletQuantityRefname>,
pub shortname: Option<PalletQuantityShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
#[derive(Debug)]
pub struct SupplyDetailContent333 {
pub order_quantity_minimum: Vec<OrderQuantityMinimumElementType>,
pub order_quantity_multiple: Option<OrderQuantityMultipleElementType>,
}
#[derive(Debug)]
pub enum SupplyDetailContent334 {
UnpricedItemType(UnpricedItemTypeElementType),
Price(Vec<PriceElementType>),
}
#[derive(Debug)]
pub enum SenderIdentifierRefname {
SenderIdentifier,
}
#[derive(Debug)]
pub enum SenderIdentifierShortname {
Senderidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SenderIdTypeElementType {
pub refname: Option<SenderIdTypeRefname>,
pub shortname: Option<SenderIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List44,
}
#[derive(Debug)]
pub enum AddresseeIdentifierRefname {
AddresseeIdentifier,
}
#[derive(Debug)]
pub enum AddresseeIdentifierShortname {
Addresseeidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AddresseeIdTypeElementType {
pub refname: Option<AddresseeIdTypeRefname>,
pub shortname: Option<AddresseeIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List44,
}
///Name identifier type
#[derive(Debug)]
pub enum List44 {
///Proprietary name ID scheme
///For example, a publisher’s own name, contributor or imprint ID scheme. Note that a distinctive IDTypeName is required with proprietary identifiers
_01,
///Proprietary
///Deprecated – use code 01
_02,
///DNB publisher identifier
///Deutsche Nationalbibliothek publisher identifier
_03,
///Börsenverein Verkehrsnummer
///(de: Verkehrsnummer ded Börsenverein des deutschen Buchhandels)
_04,
///German ISBN Agency publisher identifier
///(de: MVB-Kennnummer)
_05,
///GLN
///GS1 global location number (formerly EAN location number)
_06,
///SAN
///Book trade Standard Address Number – US, UK etc
_07,
///MARC organization code
///MARC code list for organizations – see http://www.loc.gov/marc/organizations/orgshome.html
_08,
///Centraal Boekhuis Relatie ID
///Trading party identifier used in the Netherlands
_10,
///Distributeurscode Boekenbank
///Flemish supplier code. Only for use in ONIX 3.0 or later
_12,
///Fondscode Boekenbank
///Flemish publisher code
_13,
///Y-tunnus
///Business Identity Code (Finland). See http://www.ytj.fi/ (in Finnish)
_15,
///ISNI
///International Standard Name Identifier. A sixteen digit number. Usually presented with spaces or hyphens dividing the number into four groups of four digits, but in ONIX the spaces or hyphens should be omitted. See https://isni.org/
_16,
///PND
///Personennamendatei – person name authority file used by Deutsche Nationalbibliothek and in other German-speaking countries. See http://www.dnb.de/standardisierung/normdateien/pnd.htm (German) or http://www.dnb.de/eng/standardisierung/normdateien/pnd.htm (English). Deprecated in favor of the GND
_17,
///NACO
///A control number assigned to a Library of Congress Control Number (LCCN) Name Authority / NACO record
_18,
///Japanese Publisher identifier
///Publisher identifier administered by Japanese ISBN Agency
_19,
///GKD
///Gemeinsame Körperschaftsdatei – Corporate Body Authority File in the German-speaking countries. See http://www.dnb.de/standardisierung/normdateien/gkd.htm (German) or http://www.dnb.de/eng/standardisierung/normdateien/gkd.htm (English). Deprecated in favor of the GND
_20,
///ORCID
///Open Researcher and Contributor ID. A sixteen digit number. Usually presented with hyphens dividing the number into four groups of four digits, but in ONIX the hyphens should be omitted. See http://www.orcid.org/
_21,
///GAPP Publisher Identifier
///Publisher identifier maintained by the Chinese ISBN Agency (GAPP)
_22,
///VAT Identity Number
///Identifier for a business organization for VAT purposes, eg within the EU’s VIES system. See http://ec.europa.eu/taxation_customs/vies/faqvies.do for EU VAT ID formats, which vary from country to country. Generally these consist of a two-letter country code followed by the 8–12 digits of the national VAT ID. Some countries include one or two letters within their VAT ID. See http://en.wikipedia.org/wiki/VAT_identification_number for non-EU countries that maintain similar identifiers. Spaces, dashes etc should be omitted
_23,
///JP Distribution Identifier
///4-digit business organization identifier controlled by the Japanese Publication Wholesalers Association
_24,
///GND
///Gemeinsame Normdatei – Joint Authority File in the German-speaking countries. See http://www.dnb.de/EN/gnd (English). Combines the PND, SWD and GKD into a single authority file, and should be used in preference
_25,
///DUNS
///Dunn and Bradstreet Universal Numbering System, see http://www.dnb.co.uk/dandb-duns-number
_26,
///Ringgold ID
///Ringgold organizational identifier, see http://www.ringgold.com/identify.html
_27,
///Identifiant Editeur Electre
///French Electre publisher identifier
_28,
///EIDR Party ID
///Entertainment Identifier Registry party identifier (a DOI beginning ‘10.5237/’ with a suffix of 8 hexadecimal digits and one hyphen, and without the https://doi.org/ or the older http://dx.doi.org/), for example ‘10.5237/C9F6-F41F’ (Sam Raimi). See http://eidr.org
_29,
///Identifiant Marque Electre
///French Electre imprint Identifier
_30,
///VIAF ID
///Virtual Internet Authority File. IDValue should be a number. The URI form of the identifier can be created by prefixing the number with ‘https://viaf.org/viaf/’. See https://viaf.org
_31,
///FundRef DOI
///DOI used in CrossRef’s Open Funder Registry list of academic research funding bodies, for example ‘10.13039/100010269’ (Wellcome Trust). Use of RORs for funder identifiers is now preferred. See https://www.crossref.org/services/funder-registry/
_32,
///BNE CN
///Control number assigned to a Name Authority record by the Biblioteca Nacional de España
_33,
///BNF Control Number
///Numéro de la notice de personne BNF
_34,
///ARK
///Archival Resource Key, as a URL (including the address of the ARK resolver provided by eg a national library)
_35,
///Nasjonalt autoritetsregister
///Nasjonalt autoritetsregister for navn – Norwegian national authority file for personal and corporate names. Only for use in ONIX 3.0 or later
_36,
///GRID
///Global Research Identifier Database ID (see https://www.grid.ac). Only for use in ONIX 3.0 or later. Deprecated – ROR is now generally preferred
_37,
///IDRef
///Party ID from Identifiers and Standards for Higher Education and Research (fr: Identifiants et Référentiels pour l’enseignement supérieur et la recherche). Only for use in ONIX 3.0 or later. See https://www.idref.fr
_38,
///IPI
///Party ID from CISAC’s proprietary Interested Party Information scheme, used primarily in rights and royalties administration. Only for use in ONIX 3.0 or later
_39,
///ROR
///Research organization registry identifier (see https://ror.org), leading 0 followed by 8 alphanumeric characters (including 2-digit checksum). Only for use in ONIX 3.0 or later
_40,
///EORI
///Economic Operators Registration and Identification, identifier for businesses that import into or export from the EU. Only for use in ONIX 3.0 or later
_41,
///LEI
///Legal Entity Identifier, administered by the Global LEI Foundation, as 20 alphanumeric characters without spaces or hyphens. Only for use in ONIX 3.0 or later
_42,
///SIREN
///French business identifier, issued by the National Institute of Statistics and Economic Studies (INSEE). 9 digits, without spaces. Only for use in ONIX 3.0 or later
_43,
///SIRET
///French business and location identifier, issued by the National Institute of Statistics and Economic Studies (INSEE). 14 digits (the SIREN plus a further five digits), without spaces, or occasionally an alphanumeric code. Only for use in ONIX 3.0 or later
_44,
///Chinese Participant identifier
///Chinese Participant identifier on the Publishing and distribution public service platform. 12-digits (or 11 digits plus X), usually presented with a / and hyphens dividing the number into groups of three, four and four digits plus a check digit, but in ONIX the / and hyphens should be omitted. Only for use in ONIX 3.0 or later
_45,
}
#[derive(Debug)]
pub enum RecordSourceIdTypeRefname {
RecordSourceIdType,
}
#[derive(Debug)]
pub enum RecordSourceIdTypeShortname {
X311,
}
#[derive(Debug)]
pub enum IdTypeNameRefname {
IdTypeName,
}
#[derive(Debug)]
pub enum IdTypeNameShortname {
B233,
}
#[derive(Debug)]
pub enum IdValueRefname {
IdValue,
}
#[derive(Debug)]
pub enum IdValueShortname {
B244,
}
///Product identifier type
#[derive(Debug)]
pub enum List5 {
///Proprietary product ID scheme
///For example, a publisher’s or wholesaler’s product number or SKU. Note that a distinctive IDTypeName is required with proprietary identifiers
_01,
///ISBN-10
///International Standard Book Number, pre-2007 (10 digits, or 9 digits plus X, without spaces or hyphens) – now Deprecated in ONIX for Books, except where providing historical information for compatibility with legacy systems. It should only be used in relation to products published before 2007 – when ISBN-13 superseded it – and should never be used as the ONLY identifier (it should always be accompanied by the correct GTIN-13 / ISBN-13)
_02,
///GTIN-13
///GS1 Global Trade Item Number, formerly known as EAN article number (13 digits, without spaces or hyphens)
_03,
///UPC
///UPC product number (12 digits, without spaces or hyphens)
_04,
///ISMN-10
///International Standard Music Number, pre-2008 (M plus nine digits, without spaces or hyphens) – now Deprecated in ONIX for Books, except where providing historical information for compatibility with legacy systems. It should only be used in relation to products published before 2008 – when ISMN-13 superseded it – and should never be used as the ONLY identifier (it should always be accompanied by the correct GTIN-12 / ISMN-13)
_05,
///DOI
///Digital Object Identifier (variable length and character set, beginning ‘10.’ and without https://doi.org/ or the older http://dx.doi.org/)
_06,
///LCCN
///Library of Congress Control Number in normalized form (up to 12 characters, alphanumeric)
_13,
///GTIN-14
///GS1 Global Trade Item Number (14 digits, without spaces or hyphens)
_14,
///ISBN-13
///International Standard Book Number, from 2007 (13 digits starting 978 or 9791–9799, without spaces or hyphens)
_15,
///Legal deposit number
///The number assigned to a publication as part of a national legal deposit process
_17,
///URN
///Uniform Resource Name: note that in trade applications an ISBN must be sent as a GTIN-13 and, where required, as an ISBN-13 – it should not be sent as a URN
_22,
///OCLC number
///A unique number assigned to a bibliographic item by OCLC
_23,
///Co-publisher’s ISBN-13
///An ISBN-13 assigned by a co-publisher. The ‘main’ ISBN sent with ProductIDType codes 03 and/or 15 should always be the ISBN that is used for ordering from the supplier identified in SupplyDetail. However, ISBN rules allow a co-published title to carry more than one ISBN. The co-publisher should be identified in an instance of the Publisher composite, with the applicable PublishingRole code
_24,
///ISMN-13
///International Standard Music Number, from 2008 (13-digit number starting 9790, without spaces or hyphens)
_25,
///ISBN-A
///Actionable ISBN, in fact a special DOI incorporating the ISBN-13 within the DOI syntax. Begins ‘10.978.’ or ‘10.979.’ and includes a / character between the registrant element (publisher prefix) and publication element of the ISBN, eg 10.978.000/1234567. Note the ISBN-A should always be accompanied by the ISBN itself, using ProductIDType codes 03 and/or 15
_26,
///JP e-code
///E-publication identifier controlled by JPOIID’s Committee for Research and Management of Electronic Publishing Codes. 20 alphanumeric characters, without spaces, beginning with the ISBN ‘registrant element’
_27,
///OLCC number
///Unique number assigned by the Chinese Online Library Cataloging Center (see http://olcc.nlc.gov.cn)
_28,
///JP Magazine ID
///Japanese magazine identifier, similar in scope to ISSN but identifying a specific issue of a serial publication. Five digits to identify the periodical, plus a hyphen and two digits to identify the issue
_29,
///UPC-12+5
///Used only with comic books and other products which use the UPC extension to identify individual issues or products. Do not use where the UPC-12 itself identifies the specific product, irrespective of any 5-digit extension – use code 04 instead
_30,
///BNF Control number
///Numéro de la notice bibliographique BNF
_31,
///ISSN-13
///International Standard Serial Number expressed as a GTIN-13, with optional 2- or 5-digit barcode extension (ie 13, 15 or 18 digits starting 977, without spaces or hyphens, with BarcodeType codes 02, 12 or 05), and only when the extended ISSN is used specifically as a product identifier (ie when the two publisher-defined ‘variant’ digits within the ISSN-13 itself and/or the 2- or 5-digit barcode extension are used to identify a single issue of a serial publication for separate sale). Only for use in ONIX 3.0 or later
_34,
///ARK
///Archival Resource Key, as a URL (including the address of the ARK resolver provided by eg a national library)
_35,
}
#[derive(Debug)]
pub enum ProductIdTypeRefname {
ProductIdType,
}
#[derive(Debug)]
pub enum ProductIdTypeShortname {
B221,
}
///Barcode indicator
#[derive(Debug)]
pub enum List141 {
///Not barcoded
_00,
///Barcoded, scheme unspecified
_01,
///GTIN-13
///Barcode uses 13-digit EAN symbology (version NR without 5-digit extension). See (eg) https://bic.org.uk/wp-content/uploads/2022/11/2019.05.31-Bar-Coding-for-Books-rev-09.pdf or https://www.bisg.org/barcoding-guidelines-for-the-us-book-industry
_02,
///GTIN-13+5 (US dollar price encoded)
///EAN symbology (version NK, first digit of 5-digit extension is 1–5)
_03,
///GTIN-13+5 (CAN dollar price encoded)
///EAN symbology (version NK, first digit of 5-digit extension is 6)
_04,
///GTIN-13+5 (no price encoded)
///EAN symbology (version NF, 5-digit extension is 90000–98999 for proprietary use – extension does not indicate a price)
_05,
///UPC-12 (item-specific)
///AKA item/price
_06,
///UPC-12+5 (item-specific)
///AKA item/price
_07,
///UPC-12 (price-point)
///AKA price/item
_08,
///UPC-12+5 (price-point)
///AKA price/item
_09,
///GTIN-13+5 (UK Pound Sterling price encoded)
///EAN symbology (version NK, first digit of 5-digit extension is 0)
_10,
///GTIN-13+5 (other price encoded)
///EAN symbology (version NK, price currency by local agreement)
_11,
///GTIN-13+2
///EAN symbology (two-digit extension, normally indicating periodical issue number)
_12,
///GTIN-13+5
///EAN symbology (five-digit extension, normally indicating periodical issue number)
_13,
}
#[derive(Debug)]
pub enum BarcodeTypeRefname {
BarcodeType,
}
#[derive(Debug)]
pub enum BarcodeTypeShortname {
X312,
}
///Position on product
#[derive(Debug)]
pub enum List142 {
///Unknown / unspecified
///Position unknown or unspecified
_00,
///Cover 4
///The back cover of a book (or book jacket) – the recommended position
_01,
///Cover 3
///The inside back cover of a book
_02,
///Cover 2
///The inside front cover of a book
_03,
///Cover 1
///The front cover of a book
_04,
///On spine
///The spine of a book
_05,
///On box
///Used only for boxed products
_06,
///On tag
///Used only for products fitted with hanging tags
_07,
///On bottom
///Not be used for books unless they are contained within outer packaging
_08,
///On back
///Not be used for books unless they are contained within outer packaging
_09,
///On outer sleeve / back
///Used only for products packaged in outer sleeves
_10,
///On removable wrapping
///Used only for products packaged in shrink-wrap or other removable wrapping
_11,
}
#[derive(Debug)]
pub enum PositionOnProductRefname {
PositionOnProduct,
}
#[derive(Debug)]
pub enum PositionOnProductShortname {
X313,
}
///Product composition
#[derive(Debug)]
pub enum List2 {
///Single-component retail product
_00,
///Single-component, not available separately
///Used only when an ONIX record is required for a component-as-an-item, even though it is not currently available as such
_01,
///Multiple-component retail product
///Multiple-component product retailed as a whole
_10,
///Multiple-item collection, retailed as separate parts
///Used only when an ONIX record is required for a collection-as-a-whole, even though it is not currently retailed as such
_11,
///Trade-only product
///Product available to the book trade, but not for retail sale, and not carrying retail items, eg empty dumpbin, empty counterpack, promotional material
_20,
///Multiple-item trade-only pack
///Product available to the book trade, but not for general retail sale as a whole. It carries multiple components for retailing as separate items, eg shrink-wrapped trade pack, filled dumpbin, filled counterpack
_30,
///Multiple-item pack
///Carrying multiple components, primarily for retailing as separate items. The pack may be split and retailed as separate items OR retailed as a single item. Use instead of Multiple-item trade-only pack (code 30) if the data provider specifically wishes to make explicit that the pack may optionally be retailed as a whole
_31,
}
#[derive(Debug)]
pub enum ProductCompositionRefname {
ProductComposition,
}
#[derive(Debug)]
pub enum ProductCompositionShortname {
X314,
}
///Product form
#[derive(Debug)]
pub enum List150 {
///Undefined
_00,
///Audio
///Audio recording – detail unspecified. Use only when the form is unknown and no further detail can be provided. Prefer AZ plus ProductFormDescription if detail is available but no other A* code applies
Aa,
///Audio cassette
///Audio cassette (analogue)
Ab,
///CD-Audio
///Audio compact disc: use for ‘Red book’ discs (conventional audio CD) and SACD, and use coding in ProductFormDetail to specify the format, if required
Ac,
///DAT
///Digital audio tape cassette
Ad,
///Audio disc
///Audio disc (excluding CD-Audio): use for ‘Yellow book’ (CD-Rom-style) discs, including for example mp3 CDs, and use coding in ProductFormDetail to specify the format of the data on the disc
Ae,
///Audio tape
///Audio tape (analogue open reel tape)
Af,
///MiniDisc
///Sony MiniDisc format
Ag,
///CD-Extra
///Audio compact disc with part CD-ROM content, also termed CD-Plus or Enhanced-CD: use for ‘Blue book’ and ‘Yellow/Red book’ two-session discs
Ah,
///DVD Audio
Ai,
///Downloadable audio file
///Digital audio recording downloadable to the purchaser’s own device(s)
Aj,
///Pre-recorded digital audio player
///For example, Playaway audiobook and player: use coding in ProductFormDetail to specify the recording format, if required
Ak,
///Pre-recorded SD card
///For example, Audiofy audiobook chip
Al,
///LP
///‘Long player’. Vinyl disc (analogue), typically 12 inches diameter and played at 33⅓rpm
Am,
///Downloadable and online audio file
///Digital audio recording available both by download to the purchaser’s own device(s) and by online (eg streamed) access
An,
///Online audio file
///Digital audio recording available online (eg streamed), not downloadable to the purchaser’s own device(s)
Ao,
///Other audio format
///Other audio format not specified by AB to AO. Further detail is expected in ProductFormDescription, as ProductFormDetail and ProductFormFeature are unlikely to be sufficient
Az,
///Book
///Book – detail unspecified. Use only when the form is unknown and no further detail can be provided. Prefer BZ plus ProductFormDescription if detail is available but no other B* code applies
Ba,
///Hardback
///Hardback or cased book
Bb,
///Paperback / softback
///Paperback or other softback book
Bc,
///Loose-leaf
///Loose-leaf book
Bd,
///Spiral bound
///Spiral, comb or coil bound book
Be,
///Pamphlet
///Pamphlet, stapled (de: ‘geheftet’). Includes low-extent wire-stitched books bound without a distinct spine (eg many comic book ‘floppies’)
Bf,
///Leather / fine binding
///Use ProductFormDetail to provide additional description
Bg,
///Board book
///Child’s book with all pages printed on board
Bh,
///Rag book
///Child’s book with all pages printed on textile
Bi,
///Bath book
///Child’s book printed on waterproof material
Bj,
///Novelty book
///A book whose novelty consists wholly or partly in a format which cannot be described by any other available code – a ‘conventional’ format code is always to be preferred; one or more Product Form Detail codes, eg from the B2nn group, should be used whenever possible to provide additional description
Bk,
///Slide bound
///Slide bound book
Bl,
///Big book
///Extra-large format for teaching etc; this format and terminology may be specifically UK; required as a top-level differentiator
Bm,
///Part-work (fascículo)
///A part-work issued with its own ISBN and intended to be collected and bound into a complete book
Bn,
///Fold-out book or chart
///Concertina-folded booklet or chart, designed to fold to pocket or regular page size, and usually bound within distinct board or card covers (de: ‘Leporello’)
Bo,
///Foam book
///A children’s book whose cover and pages are made of foam
Bp,
///Other book format
///Other book format or binding not specified by BB to BP. Further detail is expected in ProductFormDescription, as ProductFormDetail and ProductFormFeature are unlikely to be sufficient
Bz,
///Sheet map
///Sheet map – detail unspecified. Use only when the form is unknown and no further detail can be provided. Prefer CZ plus ProductFormDescription if detail is available but no other C* code applies
Ca,
///Sheet map, folded
Cb,
///Sheet map, flat
Cc,
///Sheet map, rolled
///See ProductPackaging and Codelist 80 for ‘rolled in tube’
Cd,
///Globe
///Globe or planisphere
Ce,
///Other cartographic
///Other cartographic format not specified by CB to CE. Further detail is expected in ProductFormDescription, as ProductFormDetail and ProductFormFeature are unlikely to be sufficient
Cz,
///Digital (on physical carrier)
///Digital content delivered on a physical carrier (detail unspecified). Use only when the form is unknown and no further detail can be provided. Prefer DZ plus ProductFormDescription if detail is available but no other D* code applies
Da,
///CD-ROM
Db,
///CD-I
///CD interactive: use for ‘Green book’ discs
Dc,
///Game cartridge
De,
///Diskette
///AKA ‘floppy disc’
Df,
///DVD-ROM
Di,
///Secure Digital (SD) Memory Card
Dj,
///Compact Flash Memory Card
Dk,
///Memory Stick Memory Card
Dl,
///USB Flash Drive
Dm,
///Double-sided CD/DVD
///Double-sided disc, one side Audio CD/CD-ROM, other side DVD
Dn,
///BR-ROM
///(Blu Ray ROM)
Do,
///Other digital carrier
///Other carrier of digital content not specified by DB to DO. Further detail is expected in ProductFormDescription, as ProductFormDetail and ProductFormFeature are unlikely to be sufficient
Dz,
///Digital (delivered electronically)
///Digital content delivered electronically (delivery method unspecified). Use only when the form and delivery method is unknown, or when no other E* code applies and the delivery method is described in ProductFormDescription. Note, use ProductFormDetail to specify file format
Ea,
///Digital download and online
///Digital content available both by download and by online access
Eb,
///Digital online
///Digital content accessed online only (eg streamed), not downloadable to the purchaser’s own device(s)
Ec,
///Digital download
///Digital content delivered by download only
Ed,
///Film or transparency
///Film or transparency – detail unspecified. Use only when the form is unknown and no further detail can be provided. Prefer FZ plus ProductFormDescription if detail is available but no other F* code applies
Fa,
///Slides
///Photographic transparencies mounted for projection
Fc,
///OHP transparencies
///Transparencies for overhead projector
Fd,
///Filmstrip
///Photographic transparencies, unmounted but cut into short multi-frame strips
Fe,
///Film
///Continuous movie film as opposed to filmstrip
Ff,
///Other film or transparency format
///Other film or transparency format not specified by FB to FF. Further detail is expected in ProductFormDescription, as ProductFormDetail and ProductFormFeature are unlikely to be sufficient
Fz,
///Digital product license
///Digital product license (delivery method unspecified). Use only when the form is unknown, or when no other L* code applies and the delivery method is described in ProductFormDescription
La,
///Digital product license key
///Digital product license delivered through the retail supply chain as a physical ‘key’, typically a card or booklet containing a code enabling the purchaser to download the associated product
Lb,
///Digital product license code
///Digital product license delivered by email or other electronic distribution, typically providing a code enabling the purchaser to activate, upgrade or extend the license supplied with the associated product
Lc,
///Microform
///Microform – detail unspecified. Use only when the form is unknown and no further detail can be provided. Prefer MZ plus ProductFormDescription if detail is available but no other M* code applies
Ma,
///Microfiche
Mb,
///Microfilm
///Roll microfilm
Mc,
///Other microform
///Other microform not specified by MB or MC. Further detail is expected in ProductFormDescription, as ProductFormDetail and ProductFormFeature are unlikely to be sufficient
Mz,
///Miscellaneous print
///Miscellaneous printed material – detail unspecified. Use only when the form is unknown and no further detail can be provided. Prefer PZ plus ProductFormDescription if detail is available but no other P* code applies
Pa,
///Address book
///May use ProductFormDetail codes P201 to P204 to specify binding
Pb,
///Calendar
Pc,
///Cards
///Cards, flash cards (eg for teaching reading), revision cards, divination, playing or trading cards
Pd,
///Copymasters
///Copymasters, photocopiable sheets
Pe,
///Diary or journal
///May use ProductFormDetail codes P201 to P204 to specify binding
Pf,
///Frieze
///Narrow strip-shaped printed sheet used mostly for education or children’s products (eg depicting alphabet, number line, procession of illustrated characters etc). Usually intended for horizontal display
Pg,
///Kit
///Parts for post-purchase assembly, including card, wood or plastic parts or model components, interlocking construction blocks, beads and other crafting materials etc
Ph,
///Sheet music
///May use ProductFormDetail codes P201 to P204 to specify binding
Pi,
///Postcard book or pack
///Including greeting cards and packs. For bound books (usually with perforated sheets to remove cards), may use ProductFormDetail codes P201 to P204 to specify binding
Pj,
///Poster
///Poster for retail sale – see also XF
Pk,
///Record book
///Record book (eg ‘birthday book’, ‘baby book’): binding unspecified; may use ProductFormDetail codes P201 to P204 to specify binding
Pl,
///Wallet or folder
///Wallet, folder or box (containing loose sheets etc, or empty): it is preferable to code the contents and treat ‘wallet’ (or folder / box) as packaging in ProductPackaging with Codelist 80, but if this is not possible (eg where the product is empty and intended for storing other loose items) the product as a whole may be coded as a ‘wallet’. For binders intended for loose leaf or partwork publications intended to be updateable, see codes BD, BN
Pm,
///Pictures or photographs
Pn,
///Wallchart
Po,
///Stickers
Pp,
///Plate (lámina)
///A book-sized (as opposed to poster-sized) sheet, usually in color or high quality print
Pq,
///Notebook / blank book
///A book with all pages blank for the buyer’s own use; may use ProductFormDetail codes P201 to P204 to specify binding
Pr,
///Organizer
///May use ProductFormDetail codes P201 to P204 to specify binding
Ps,
///Bookmark
Pt,
///Leaflet
///Folded but unbound
Pu,
///Book plates
///Ex libris’ book labels and packs
Pv,
///Other printed item
///Other printed item not specified by PB to PQ. Further detail is expected in ProductFormDescription, as ProductFormDetail and ProductFormFeature are unlikely to be sufficient
Pz,
///Multiple-component retail product
///Presentation unspecified: format of product components must be given in ProductPart. Use only when the packaging of the product is unknown, or when no other S* code applies and the presentation is described in ProductFormDescription
Sa,
///Multiple-component retail product, boxed
///Format of product components must be given in ProductPart
Sb,
///Multiple-component retail product, slip-cased
///Format of product components must be given in ProductPart
Sc,
///Multiple-component retail product, shrink-wrapped
///Format of product components must be given in ProductPart. Use code XL for a shrink-wrapped pack for trade supply, where the retail items it contains are intended for sale individually
Sd,
///Multiple-component retail product, loose
///Format of product components must be given in ProductPart
Se,
///Multiple-component retail product, part(s) enclosed
///Multiple component product where subsidiary product part(s) is/are supplied as enclosures to the primary part, eg a book with a CD packaged in a sleeve glued within the back cover. Format of product components must be given in ProductPart
Sf,
///Multiple-component retail product, entirely digital
///Multiple component product where all parts are digital, and delivered as separate files, eg a group of individual EPUB files, an EPUB with a PDF, an e-book with a license to access a range of online resources, etc. Format of product components must be given in ProductPart
Sg,
///Video
///Video – detail unspecified. Use only when the form is unknown and no further detail can be provided. Prefer VZ plus ProductFormDescription if detail is available but no other V* code applies
Va,
///Videodisc
///eg Laserdisc
Vf,
///DVD video
///DVD video: specify TV standard in ProductFormDetail
Vi,
///VHS video
///VHS videotape: specify TV standard in ProductFormDetail
Vj,
///Betamax video
///Betamax videotape: specify TV standard in ProductFormDetail
Vk,
///VCD
///VideoCD
Vl,
///SVCD
///Super VideoCD
Vm,
///HD DVD
///High definition DVD disc, Toshiba HD DVD format
Vn,
///Blu-ray
///High definition DVD disc, Sony Blu-ray format
Vo,
///UMD Video
///Sony Universal Media disc
Vp,
///CBHD
///China Blue High-Definition, derivative of HD-DVD
Vq,
///Other video format
///Other video format not specified by VB to VQ. Further detail is expected in ProductFormDescription, as ProductFormDetail and ProductFormFeature are unlikely to be sufficient
Vz,
///Trade-only material
///Trade-only material (unspecified). Use only when the form is unknown and no further detail can be provided. Prefer XZ plus ProductFormDescription if detail is available but no other X* code applies
Xa,
///Dumpbin – empty
Xb,
///Dumpbin – filled
///Dumpbin with contents. ISBN (where applicable) and format of contained items must be given in ProductPart
Xc,
///Counterpack – empty
Xd,
///Counterpack – filled
///Counterpack with contents. ISBN (where applicable) and format of contained items must be given in ProductPart
Xe,
///Poster, promotional
///Promotional poster for display, not for sale – see also PK
Xf,
///Shelf strip
Xg,
///Window piece
///Promotional piece for shop window display
Xh,
///Streamer
Xi,
///Spinner – empty
Xj,
///Large book display
///Large scale facsimile of book for promotional display
Xk,
///Shrink-wrapped pack
///A quantity pack with its own product code, usually for trade supply only: the retail items it contains are intended for sale individually. ISBN (where applicable) and format of contained items must be given in ProductPart. For products or product bundles supplied individually shrink-wrapped for retail sale, use code SD
Xl,
///Boxed pack
///A quantity pack with its own product code, usually for trade supply only: the retail items it contains are intended for sale individually. ISBN (where applicable) and format of contained items must be given in ProductPart. For products or product bundles boxed individually for retail sale, use code SB
Xm,
///Pack (outer packaging unspecified)
///A quantity pack with its own product code, usually for trade supply only: the retail items it contains are intended for sale individually. ISBN (where applicable) and format of contained items must be given in ProductPart. Use only when the pack is neither shrinp-wrapped nor boxed
Xn,
///Spinner – filled
///Spinner with contents. ISBN(s) (where applicable) and detail of contained items must be given in ProductPart
Xo,
///Other point of sale – including retail product
///Other point of sale material not specified by XB to XO, supplied with included product(s) for retail sale. The retail product(s) must be described in ProductPart. Further detail of the POS material is expected in ProductFormDescription, as ProductFormDetail and ProductFormFeature are unlikely to be sufficient
Xy,
///Other point of sale
///Other point of sale material not specified by XB to XY, promotional or decorative. Further detail is expected in ProductFormDescription, as ProductFormDetail and ProductFormFeature are unlikely to be sufficient
Xz,
///General merchandise
///General merchandise, book accessories and non-book products – unspecified. Use only when the form is unknown and no further detail can be provided. Prefer ZX, ZY or ZZ, plus ProductFormDescription if detail is available but no other Z* code applies
Za,
///Doll or figure
///Including action figures, figurines
Zb,
///Soft toy
///Soft or plush toy
Zc,
///Toy
///Including educational toys (where no other code is relevant)
Zd,
///Game
///Board game, or other game (except computer game: see DE and other D* codes)
Ze,
///T-shirt
Zf,
///E-book reader
///Dedicated e-book reading device, typically with mono screen
Zg,
///Tablet computer
///General purpose tablet computer, typically with color screen
Zh,
///Audiobook player
///Dedicated audiobook player device, typically including book-related features like bookmarking
Zi,
///Jigsaw
///Jigsaw or similar ‘shapes’ puzzle
Zj,
///Mug
///For example, branded, promotional or tie-in drinking mug, cup etc
Zk,
///Tote bag
///For example, branded, promotional or tie-in bag
Zl,
///Tableware
///For example, branded, promotional or tie-in plates, bowls etc (note for mugs and cups, use code ZK)
Zm,
///Umbrella
///For example, branded, promotional or tie-in umbrella
Zn,
///Paints, crayons, pencils
///Coloring set, including pens, chalks, etc
Zo,
///Handicraft kit
///Handicraft kit or set, eg sewing, crochet, weaving, basketry, beadwork, leather, wood or metalworking, pottery and glassworking, candlemaking etc
Zp,
///Other toy/game accessories
///Other toy, game and puzzle items not specified by ZB to ZQ, generally accessories to other products etc. Further detail is expected in ProductFormDescription, as ProductFormDetail and ProductFormFeature are unlikely to be sufficient
Zx,
///Other apparel
///Other apparel items not specified by ZB to ZQ, including branded, promotional or tie-in scarves, caps, aprons, dress-up costumes etc. Further detail is expected in ProductFormDescription, as ProductFormDetail and ProductFormFeature are unlikely to be sufficient
Zy,
///Other merchandise
///Other branded, promotional or tie-in merchandise not specified by ZB to ZY. Further detail is expected in ProductFormDescription, as ProductFormDetail and ProductFormFeature are unlikely to be sufficient
Zz,
}
#[derive(Debug)]
pub enum ProductFormRefname {
ProductForm,
}
#[derive(Debug)]
pub enum ProductFormShortname {
B012,
}
///Product form detail
#[derive(Debug)]
pub enum List175 {
///CD standard audio format
///CD ‘red book’ format
A101,
///SACD super audio format
A102,
///MP3 format
///MPEG-1/2 Audio Layer III file
A103,
///WAV format
A104,
///Real Audio format
A105,
///WMA
///Windows Media Audio format
A106,
///AAC
///Advanced Audio Coding format
A107,
///Ogg/Vorbis
///Vorbis audio format in the Ogg container
A108,
///Audible
///Audio format proprietary to Audible.com
A109,
///FLAC
///Free lossless audio codec
A110,
///AIFF
///Audio Interchangeable File Format
A111,
///ALAC
///Apple Lossless Audio Codec
A112,
///W3C Audiobook format
///Audiobook package format
A113,
///DAISY 2: full audio with title only (no navigation)
///Deprecated, as does not meet DAISY 2 standard. Use conventional audiobook codes instead
A201,
///DAISY 2: full audio with navigation (no text)
A202,
///DAISY 2: full audio with navigation and partial text
A203,
///DAISY 2: full audio with navigation and full text
A204,
///DAISY 2: full text with navigation and partial audio
///Reading systems may provide full audio via text-to-speech
A205,
///DAISY 2: full text with navigation and no audio
///Reading systems may provide full audio via text-to-speech
A206,
///DAISY 3: full audio with title only (no navigation)
///Deprecated, as does not meet DAISY 3 standard. Use conventional audiobook codes instead
A207,
///DAISY 3: full audio with navigation (no text)
A208,
///DAISY 3: full audio with navigation and partial text
A209,
///DAISY 3: full audio with navigation and full text
A210,
///DAISY 3: full text with navigation and partial audio
///Reading systems may provide full audio via text-to-speech
A211,
///DAISY 3: full text with navigation and no audio
///Reading systems may provide full audio via text-to-speech
A212,
///Standalone audio
A301,
///Readalong audio
///Audio intended exclusively for use alongside a printed copy of the book. Most often a children’s product. Normally contains instructions such as ‘turn the page now’ and other references to the printed item, and is usually sold packaged together with a printed copy
A302,
///Playalong audio
///Audio intended for musical accompaniment, eg ‘Music minus one’, etc, often used for music learning. Includes singalong backing audio for musical learning or for Karaoke-style entertainment
A303,
///Speakalong audio
///Audio intended for language learning, which includes speech plus gaps intended to be filled by the listener
A304,
///Synchronized audio
///Audio synchronized to text within an e-publication, for example an EPUB3 with audio overlay. Synchronization at least at paragraph level, and covering the full content
A305,
///Sound effects
///Incidental sounds added to the audiobook narration (eg background environmental sounds)
A310,
///Background music
///Incidental music added to the audiobook narration (eg to heighten atmosphere). Do not use where the music is a primary part of the audio
A311,
///Without background sounds
///Pre-recorded audiobook narration does not contain any background sounds, including music, sound effects, etc, though music and effects may be present if isolated from the speech (ie the sounds do not overlap)
A312,
///64kbits/s
///Constant or average bit rate (eg of an mp3 or AAC audio file) 64kbits/second or more. Note the bit rate is the total across all channels, not a per channel rate
A400,
///128kbits/s
///Constant or average bit rate 128bbits/second or more
A401,
///192kbits/s
A402,
///256kbits/s
A403,
///320kbits/s
A404,
///Mono
///Includes ‘stereo’ where channels are identical
A410,
///Stereo
///Includes ‘joint stereo’
A420,
///Stereo 2.1
///Stereo plus low-frequency channel
A421,
///Surround 4.1
///Five-channel audio (including low-frequency channel)
A441,
///Surround 5.1
///Six-channel audio (including low-frequency channel)
A451,
///Dolby Atmos
///Multi-channel ‘spatial’ audio (eg for 7.1.4 speaker arrangements or processed for headphone delivery)
A471,
///Mass market (rack) paperback
///In North America, a category of paperback characterized partly by page size (typically from 6¾ up to 7⅛ x 4¼ inches) and partly by target market and terms of trade. Use with Product Form code BC
B101,
///Trade paperback (US)
///In North America, a category of paperback characterized partly by page size (larger than rack-sized) and partly by target market and terms of trade. AKA ‘quality paperback’, and including textbooks. Most paperback books sold in North America except ‘mass-market’ (B101) and ‘tall rack’ (B107) are correctly described with this code. Use with Product Form code BC
B102,
///Digest format paperback
///In North America, a category of paperback characterized by page size (typically 7 x 5 inches) and generally used for children’s books; use with Product Form code BC. Note: was wrongly shown as B102 (duplicate entry) in Issue 3
B103,
///A-format paperback
///In UK and IE, a category of paperback characterized by page size (normally 178 x 111 mm approx); use with Product Form code BC
B104,
///B-format paperback
///In UK and IE, a category of paperback characterized by page size (normally 198 x 129 mm approx); use with Product Form code BC
B105,
///Trade paperback (UK)
///In UK and IE, a category of paperback characterized largely by size (usually in traditional hardback dimensions), and often used for paperback originals or retailer/travel/export-exclusives; use with Product Form code BC
B106,
///Tall rack paperback (US)
///In North America, a category of paperback characterized partly by page size (typically 7½ x 4¼ inches) and partly by target market and terms of trade; use with Product Form code BC
B107,
///A5 size Tankobon
///Japanese A-series size, 210 x 148mm. A tankobon is a complete collected story originally published in serialized form (eg in a magazine)
B108,
///JIS B5 size Tankobon
///Japanese B-series size, 257 x 182mm
B109,
///JIS B6 size Tankobon
///Japanese B-series size, 182 x 128mm
B110,
///A6 size Bunko
///Japanese A-series size, 148 x 105mm
B111,
///B40-dori Shinsho
///Japanese format, 182x103mm or 173x105mm
B112,
///Pocket (Sweden, Norway, France)
///A Swedish, Norwegian, French paperback format, of no particular fixed size. Use with Product Form Code BC
B113,
///Storpocket (Sweden)
///A Swedish paperback format, use with Product Form Code BC. In Finnish, Jättipokkari
B114,
///Kartonnage (Sweden)
///A Swedish hardback format, use with Product Form Code BB
B115,
///Flexband (Sweden)
///A Swedish softback format, use with Product Form Code BC
B116,
///Mook / Bookazine
///A softback book in the format of a magazine, usually sold like a book. Use with Product Form code BC
B117,
///Dwarsligger
///Also called ‘Flipback’. A softback book in a specially compact proprietary format with pages printed in landscape on very thin paper and bound along the long (top) edge (ie parallel with the lines of text). Use with Product Form code BC – see www.dwarsligger.com
B118,
///46 size
///Japanese format, 188 x 127mm
B119,
///46-Henkei size
///Japanese format, approximately 188 x 127mm
B120,
///A4
///297 x 210mm
B121,
///A4-Henkei size
///Japanese format, approximately 297 x 210mm
B122,
///A5-Henkei size
///Japanese format, approximately 210 x 146mm
B123,
///B5-Henkei size
///Japanese format, approximately 257 x 182mm
B124,
///B6-Henkei size
///Japanese format, approximately 182 x 128mm
B125,
///AB size
///257 x 210mm
B126,
///JIS B7 size
///Japanese B-series size, 128 x 91mm
B127,
///Kiku size
///Japanese format, 218 x 152mm or 227 x 152mm
B128,
///Kiku-Henkei size
///Japanese format
B129,
///JIS B4 size
///Japanese B-series size, 364 x 257 mm
B130,
///Paperback (DE)
///German large paperback format, greater than about 205mm high, with flaps. Use with Product form code BC
B131,
///Libro de bolsillo
///Spanish pocket paperback. Use with Product form code BC
B132,
///Pocket-sized
///Pocket-sized format, usually less than about 205mm high, without necessarily implying a particular trade category (de: ,Taschenbuch‘; it: «Tascabile / Supertascabile»; es: «libro de bolsillo»; fr: « livre de poche » etc). Use with Product form code BB or BC. See also List 12 code 04
B133,
///A5
///210 x 148mm
B134,
///Mass market max paperback
///In North America, a category of paperback characterized partly by page size (typically 7⅛ x 4¾ inches) and partly by target market and terms of trade. Use with Product Form code BC
B135,
///Comic book size (US)
///Standard 10.25 x 6.625in size approx (260 x 170mm)
B139,
///Comic album size (Euro)
///Standard 240 x 320mm size approx
B140,
///B4-Henkei size
///Japanese format, approximately 364 x 257 mm
B141,
///Coloring / join-the-dot book
B201,
///Lift-the-flap book
B202,
///Miniature book
B204,
///Moving picture / flicker book
B205,
///Pop-up book
B206,
///Scented / ‘smelly’ book
B207,
///Sound story / ‘noisy’ book
B208,
///Sticker book
B209,
///Touch-and-feel book
///A book whose pages have a variety of textured inserts designed to stimulate tactile exploration: see also B214 and B215
B210,
///Die-cut book
///A book which is cut into a distinctive non-rectilinear shape and/or in which holes or shapes have been cut internally. (‘Die-cut’ is used here as a convenient shorthand, and does not imply strict limitation to a particular production process)
B212,
///Book-as-toy
///A book which is also a toy, or which incorporates a toy as an integral part. (Do not, however, use B213 for a multiple-item product which includes a book and a toy as separate items)
B213,
///Soft-to-touch book
///A book whose cover has a soft textured finish, typically over board
B214,
///Fuzzy-felt book
///A book with detachable felt pieces and textured pages on which they can be arranged
B215,
///Press-out pieces
///A book containing pages with die-cut or press-out pieces that can be used as a jigsaw, as puzzle or game pieces, play pieces (eg paper dolls) etc
B216,
///Picture book
///Picture book, generally for children though also occasionally for teens or adults, with few words per illustration: use with applicable Product form code
B221,
///‘Carousel’ book
///(aka ‘Star’ book). Tax treatment of products may differ from that of products with similar codes such as Book as toy or Pop-up book)
B222,
///Pull-the-tab book
///A book with movable card ‘tabs’ within the pages. Pull a tab to reveal or animate part of a picture (distinct from a ‘lift-the-flap’ book, where flaps simply reveal hidden pictures, and not a ‘pop-up’ book with 3D paper engineering)
B223,
///‘Wordless’ book
///Picture book, generally for children though also used in augmentative and alternative education, or for teens and adults, without text in the body of the book. Also ‘silent books’, wordless graphic novels and comic books: use with applicable Product Form code
B224,
///Cut-out pieces
///A book containing pages with pieces intended to be cut out (not pre-cut or press-out – see B216) that can be used as puzzle or game pieces, play pieces etc, but which may not be suitable for young children
B225,
///Loose leaf or partwork – sheets / parts and binder / wallet
///Use with Product Form code BD, BN or PM
B301,
///Loose leaf or partwork – binder / wallet only
///Use with Product Form code BD, BN or PM
B302,
///Loose leaf or partwork – sheets / parts only
///Use with Product Form code BD, BN or PM
B303,
///Sewn
///AKA stitched; for ‘saddle-sewn’, prefer code B310
B304,
///Unsewn / adhesive bound
///Including ‘perfect bound’, ‘glued’
B305,
///Library binding
///Strengthened cloth-over-boards binding intended for libraries: use with Product form code BB
B306,
///Reinforced binding
///Strengthened binding, not specifically intended for libraries: use with Product form code BB or BC
B307,
///Half bound
///Highest quality material used on spine and corners only. Must be accompanied by a code specifying a material, eg ‘half-bound real leather’
B308,
///Quarter bound
///Highest quality material used on spine only. Must be accompanied by a code specifying a material, eg ‘quarter bound real leather’
B309,
///Saddle-sewn
///AKA ‘saddle-stitched’ or ‘wire-stitched’
B310,
///Comb bound
///Round or oval plastic forms in a clamp-like configuration: use with Product Form code BE
B311,
///Wire-O
///Twin loop metal wire spine: use with Product Form code BE
B312,
///Concealed wire
///Cased over Coiled or Wire-O binding: use with Product Form code BE and Product Form Detail code B312 or B314
B313,
///Coiled wire bound
///Spiral wire bound. Use with product form code BE. The default if a spiral binding type is not stated. Cf. Comb and Wire-O binding
B314,
///Trade binding
///Hardcover binding intended for general consumers rather than libraries, use with Product form code BB. The default if a hardcover binding detail is not stated. cf. Library binding
B315,
///Swiss binding
///Cover is attached to the book block along only one edge of the spine, allowing the cover to lay flat
B316,
///Notched binding
///Refinement of perfect binding, with notches cut in the spine of the book block prior to glueing, to improve adhesion and durability
B317,
///Lay-flat binding
///Hardcover or softcover where interior spreads lay flat across the spine
B318,
///Flush cut binding
///Hardcover where the cover boards are trimmed flush with the trimmed book block
B319,
///Rounded spine
///Hardcover where the spine is rounded during binding
B320,
///Square spine
///Hardcover where the spine is straight
B321,
///Self-covered
///Covers do not use a distinctive stock, but are the same as the body pages. Use for example with Product form BF, to indicate a pamphlet does not use a card or distinct paper cover. See also B416 (for card covers) and B418 (for distinct paper covers)
B400,
///Cloth over boards
///Cotton, linen or other woven fabric over boards. Use with ProductForm BB
B401,
///Paper over boards
///Cellulose-based or similar non-woven material, which may be printed and may be embossed with an artificial cloth or leather-like texture, over boards. Use with ProductForm BB
B402,
///Leather, real
///Covered with leather created by tanning animal hide. May be ‘full-grain’ using the entire thickness of the hide, ‘top grain’ using the outer layer of the hide, or ‘split’ using the inner layers of the hide. Split leather may be embossed with an artificial grain or texture. Use with ProductForm BG, and if appropriate with codes B308 or B309 (otherwise ‘full-bound’ is implied)
B403,
///Leather, imitation
///Covered with synthetic leather-like material – polymer or non-animal fibre over a textile backing, usually coated and embossed with an artificial grain or texture. Leatherette, pleather etc. Use with ProductForm BB (or BG if particularly high-quality), and if appropriate with codes B308 or B309 (otherwise ‘full-bound’ is implied)
B404,
///Leather, bonded
///Covered with leather reconstituted from a pulp made from shredded animal hide, layered on a fibre or textile backing, coated and usually embossed with an artificial grain or texture. Use with ProductForm BG, and if appropriate with codes B308 or B309 (otherwise ‘full-bound’ is implied)
B405,
///Vellum
///Pages made with prepared but untanned animal skin (usually calf, occasionally goat or sheep). Includes parchment, a thicker and less refined form of animal skin, but not ‘paper vellum’ or vegetable parchment made from synthetic or plant fibres
B406,
///Head and tail bands
///Capital bands, either decorative or functional. Use ProductFormFeature to specify the color
B407,
///Decorated page edges
///Colored, stained, gilded, patterned, abstract or illustrated sprayed edges. Use ProductFormFeature to specify the color, and optionally, use SupportingResource to provide an image of the decoration
B419,
///Decorated endpapers
///Colored, patterned, printed, abstract or illustrated endpapers or of inside front and back covers. Use ProductFormFeature to specify the color, and optionally, use SupportingResource to provide an image of the decoration
B408,
///Cloth
///Cloth, not necessarily over boards – cf B401
B409,
///Imitation cloth
///Spanish ‘simil-tela’
B410,
///Velvet
B411,
///Flexible plastic / vinyl cover
///AKA ‘flexibound’: use with Product Form code BC
B412,
///Plastic-covered
///Separate outer plastic cover, often transparent and allowing the cover to show through. Typically has pockets into which the cover tucks. See also B412, where the cover itself is plastic or vinyl
B413,
///Vinyl-covered
///Separate outer vinyl cover. See also B412, where the cover itself is plastic or vinyl
B414,
///Laminated cover
///Book, laminating material unspecified, often termed PLC or PPC (printed laminated case, printed paper case) when used with Product form BB. Use L101 for ‘whole product laminated’, eg a laminated sheet map or wallchart
B415,
///Card cover
///With card cover (like a typical paperback). As distinct from a self-cover or more elaborate binding. Use for example with Product form BF, to indicate a pamphlet is bound within a card cover. See also B400 (for self-covers) and B418 (for distinct paper covers)
B416,
///Duplex-printed cover
///Printed both inside and outside the front and/or back cover
B417,
///Paper cover
///Cover uses a distinct, usually heavier (thicker) paper than the interior pages. Use for example with Product form BF, to indicate a pamphlet is bound within a paper cover. See also B400 (for self-covers) and B416 (for card covers)
B418,
///Delicate cover / jacket finish
///Cover or jacket finish may merit special handling or packaging during distribution and fulfilment, for example because of gloss varnish which may hold fingerprints or matt laminate liable to scuffing
B420,
///Embossed cover
///Embossing (or debossing) used on cover or jacket
B421,
///With dust jacket
///Type unspecified
B501,
///With printed dust jacket
///Used to distinguish from B503
B502,
///With translucent dust cover
///With translucent paper or plastic protective cover
B503,
///With flaps
///For paperback with flaps
B504,
///With thumb index
B505,
///With ribbon marker(s)
///If the number of markers is significant, it can be stated as free text in ProductFormDescription. Use ProductFormFeature to specify the color
B506,
///With zip fastener
B507,
///With button snap fastener
B508,
///With leather edge lining
///AKA yapp edge?
B509,
///Rough front
///With edge trimming such that the front edge is ragged, not neatly and squarely trimmed: AKA deckle edge, feather edge, uncut edge, rough cut
B510,
///Foldout
///With one or more gatefold or foldout sections bound in
B511,
///Wide margin
///Pages include extra-wide margin specifically intended for hand-written annotations
B512,
///With fastening strap
///Book with attached loop for fixing to baby stroller, cot, chair etc
B513,
///With perforated pages
///With one or more pages perforated and intended to be torn out for use
B514,
///Acid-free paper
///Printed on acid-free or alkaline buffered paper conforming with ISO 9706
B515,
///Archival paper
///Printed on acid-free or alkaline buffered paper with a high cotton content, conforming with ISO 11108
B516,
///With elasticated strap
///Strap acts as closure or as page marker
B517,
///With serialized authenticity token
///For example, holographic sticker such as the banderol used in the Turkish book trade
B518,
///With dust jacket poster
///Jacket in the form of a pamphlet or poster, specifically intended to be removed and read or used separately from the book
B519,
///Rounded corners
///Usually die-cut rounding to foredge corners of cover (and/or to foredge page corners). See B212 for elaborate die-cutting
B520,
///Splashproof
///Water-resistant or ‘waterproof’ cover and pages
B521,
///Mineral paper
///Pages composed of ‘mineral paper’ comprised of HDPE plastic and ground calcium carbonate, eg Stonepaper
B522,
///With accessibility claim ticket
///For example, cut-out claim form such as the ‘text data request ticket’ used in the Japanese book trade
B523,
///Plastic paper
///Pages composed of microporous sheets comprised of non-woven HDPE or HDPP fibers, or of non-porous HDPP film, eg Tyvek or Yupo
B524,
///Turn-around book
///A book in which half the content is printed upside-down, to be read the other way round. Also known as a ‘flip-book’ or ‘tête-bêche’ (Fr) binding, it has two front covers and a single spine. Usually an omnibus of two works
B601,
///Unflipped manga format
///Manga with pages and panels in the sequence of (right-to-left flowing) Japanese-style design
B602,
///Back-to-back book
///A book in which half the content is printed so as to be read from the other cover. All content is printed the same way up. Also known as ‘dos-à-dos’ (Fr) binding, it has two front covers and two spines. Usually an omnibus of two works
B603,
///Flipped manga format
///Manga with pages and panels in the sequence mirrored from Japanese-style design (thus flowing left-to-right)
B604,
///Variant turn-around book
///A book in which half the content is read the other way round from ‘back’ to ‘front’. A variant on ‘flip-book’ or ‘tête-bêche’ (fr) binding where the text is in two languages with different page progression (eg English and Arabic) and neither needs to be upside down, it has two front covers and a single spine. Usually an omnibus of a work and a derived translated work
B605,
///Page progression LTR
///Pages are ordered left to right (the left page in a spread is read before the right). Note this does not specifically mean text on the page is also read left to right
B606,
///Page progression RTL
///Pages are ordered right to left
B607,
///Page progression TTB
///Pages are ordered top to bottom, with the spine oriented horizontally. See also Dwarsligger (code B118), a proprietary variation of this format
B608,
///Page progression other
///Pages are ordered bottom to top, with the spine oriented horizontally, or in a way for which there is no other code
B609,
///Syllabification
///Text shows syllable breaks
B610,
///Upper case only
///For bicameral scripts, body text is upper case only
B611,
///UK Uncontracted Braille
///Single letters only. Was formerly identified as UK Braille Grade 1
B701,
///UK Contracted Braille
///With some letter combinations. Was formerly identified as UK Braille Grade 2
B702,
///US Braille
///For US Braille, prefer codes B704 and B705 as appropriate
B703,
///US Uncontracted Braille
B704,
///US Contracted Braille
B705,
///Unified English Braille
///For UEB, prefer codes B708 and B709 as appropriate
B706,
///Moon
///Moon embossed alphabet, used by some print-impaired readers who have difficulties with Braille
B707,
///Unified English Uncontracted Braille
B708,
///Unified English Contracted Braille
B709,
///Tactile images
///Eg charts, diagrams, maps, or other tactile graphics or illustrations that are embossed or textured for accessibility purposes
B750,
///Lenticular images
///Image-changing effect, ‘3D’ images, ‘tilt cards’, printed with tiny lenses
B751,
///Anaglyph images
///Stereoscopic 3D effect (eg of images) as viewed through red/green filters
B752,
///Raised 3D relief
///Physical 3D relief (eg of a map, globe) reflects height of terrain etc
C750,
///Real Video format
///Proprietary RealNetworks format. Includes Real Video packaged within a .rm RealMedia container
D101,
///Quicktime format
D102,
///AVI format
D103,
///Windows Media Video format
D104,
///MPEG-4
D105,
///MS-DOS
///Use with an applicable Product Form code D*; note that more detail of operating system requirements can be given in a Product Form Feature composite
D201,
///Windows
///Use with an applicable Product Form code D*; see note on D201
D202,
///Macintosh
///Use with an applicable Product Form code D*; see note on D201
D203,
///UNIX / LINUX
///Use with an applicable Product Form code D*; see note on D201
D204,
///Other operating system(s)
///Use with an applicable Product Form code D*; see note on D201
D205,
///Palm OS
///Use with an applicable Product Form code D*; see note on D201
D206,
///Windows Mobile
///Use with an applicable Product Form code D*; see note on D201
D207,
///Microsoft XBox
///Use with Product Form code DB or DI as applicable
D301,
///Nintendo Gameboy Color
///Use with Product Form code DE or DB as applicable
D302,
///Nintendo Gameboy Advanced
///Use with Product Form code DE or DB as applicable
D303,
///Nintendo Gameboy
///Use with Product Form code DE or DB as applicable
D304,
///Nintendo Gamecube
///Use with Product Form code DE or DB as applicable
D305,
///Nintendo 64
///Use with Product Form code DE or DB as applicable
D306,
///Sega Dreamcast
///Use with Product Form code DE or DB as applicable
D307,
///Sega Genesis/Megadrive
///Use with Product Form code DE or DB as applicable
D308,
///Sega Saturn
///Use with Product Form code DE or DB as applicable
D309,
///Sony PlayStation 1
///Use with Product Form code DB as applicable
D310,
///Sony PlayStation 2
///Use with Product Form code DB or DI as applicable
D311,
///Nintendo Dual Screen
///Use with Product Form code DE as applicable
D312,
///Sony PlayStation 3
///Use with Product Form code DB, DI, DO or E* as applicable
D313,
///Microsoft Xbox 360
///Use with Product Form code DB, DI or VN as applicable
D314,
///Nintendo Wii
///Use with Product Form code DA or E* as applicable
D315,
///Sony PlayStation Portable (PSP)
///Use with Product Form code DL or VL as applicable
D316,
///Sony PlayStation 3
///Use with Product Form code DB, DI, DO or E* as applicable. Deprecated – use D313
D317,
///Sony PlayStation 4
///Use with Product Form code DB, DI, DO or E* as applicable
D318,
///Sony PlayStation Vita
///Use with Product Form code DA or E* as applicable
D319,
///Microsoft Xbox One
///Use with Product Form code DB, DI, DO or E* as applicable
D320,
///Nintendo Switch
///Use with Product Form code DE or DB as applicable
D321,
///Nintendo Wii U
///Use with Product Form code DE or DB as applicable
D322,
///Sony PlayStation 5
///Use with Product Form code DB, DI, DO or E* as applicable
D323,
///Microsoft Xbox Series X / S
///Use with Product Form code DB, DI, DO or E* as applicable
D324,
///Other
///No code allocated for this e-publication format yet
E100,
///EPUB
///The Open Publication Structure / OPS Container Format standard of the International Digital Publishing Forum (IDPF) [File extension .epub]
E101,
///OEB
///The Open EBook format of the IDPF, a predecessor of the full EPUB format, still (2008) supported as part of the latter [File extension .opf]. Includes EPUB format up to and including version 2 – but prefer code E101 for EPUB 2, and always use code E101 for EPUB 3
E102,
///DOC
///Microsoft Word binary document format [File extension .doc]
E103,
///DOCX
///Office Open XML / Microsoft Word XML document format (ISO/IEC 29500:2008) [File extension .docx]
E104,
///HTML
///HyperText Mark-up Language [File extension .html, .htm]
E105,
///ODF
///Open Document Format [File extension .odt]
E106,
///PDF
///Portable Document Format (ISO 32000-1:2008) [File extension .pdf]
E107,
///PDF/A
///PDF archiving format defined by ISO 19005-1:2005 [File extension .pdf]
E108,
///RTF
///Rich Text Format [File extension .rtf]
E109,
///SGML
///Standard Generalized Mark-up Language
E110,
///TCR
///A compressed text format mainly used on Psion handheld devices [File extension .tcr]
E111,
///TXT
///Text file format [File extension .txt]. Typically ASCII or Unicode UTF-8/16
E112,
///XHTML
///Extensible Hypertext Markup Language [File extension .xhtml, .xht, .xml, .html, .htm]
E113,
///zTXT
///A compressed text format mainly used on Palm handheld devices [File extension .pdb – see also E121, E125, E130]
E114,
///XPS
///XML Paper Specification format [File extension .xps]
E115,
///Amazon Kindle
///A format proprietary to Amazon for use with its Kindle reading devices or software readers [File extensions .azw, .mobi, .prc etc]. Prefer code E148 for Print Replica files
E116,
///BBeB
///A Sony proprietary format for use with the Sony Reader and LIBRIé reading devices [File extension .lrf]
E117,
///DXReader
///A proprietary format for use with DXReader software
E118,
///EBL
///A format proprietary to the Ebook Library service
E119,
///Ebrary
///A format proprietary to the Ebrary service
E120,
///eReader
///A proprietary format for use with eReader (AKA ‘Palm Reader’) software on various hardware platforms [File extension .pdb – see also E114, E125, E130]
E121,
///Exebook
///A proprietary format with its own reading system for Windows platforms [File extension .exe]
E122,
///Franklin eBookman
///A proprietary format for use with the Franklin eBookman reader
E123,
///Gemstar Rocketbook
///A proprietary format for use with the Gemstar Rocketbook reader [File extension .rb]
E124,
///iSilo
///A proprietary format for use with iSilo software on various hardware platforms [File extension .pdb – see also E114, E121, E130]
E125,
///Microsoft Reader
///A proprietary format for use with Microsoft Reader software on Windows and Pocket PC platforms [File extension .lit]
E126,
///Mobipocket
///A proprietary format for use with Mobipocket software on various hardware platforms [File extensions .mobi, .prc]. Includes Amazon Kindle formats up to and including version 7 – but prefer code E116 for version 7, and always use E116 for KF8
E127,
///MyiLibrary
///A format proprietary to the MyiLibrary service
E128,
///NetLibrary
///A format proprietary to the NetLibrary service
E129,
///Plucker
///A proprietary format for use with Plucker reader software on Palm and other handheld devices [File extension .pdb – see also E114, E121, E125]
E130,
///VitalBook
///A format proprietary to the VitalSource service
E131,
///Vook
///A proprietary digital product combining text and video content and available to be used online or as a downloadable application for a mobile device – see www.vook.com
E132,
///Google Edition
///An epublication made available by Google in association with a publisher; readable online on a browser-enabled device and offline on designated ebook readers
E133,
///Book ‘app’ for iOS
///Epublication packaged as application for iOS (eg Apple iPhone, iPad etc), containing both executable code and content. Use ProductContentType to describe content, and ProductFormFeatureType to list detailed technical requirements
E134,
///Book ‘app’ for Android
///Epublication packaged as application for Android (eg Android phone or tablet), containing both executable code and content. Use ProductContentType to describe content, and ProductFormFeatureType to list detailed technical requirements
E135,
///Book ‘app’ for other operating system
///Epublication packaged as application, containing both executable code and content. Use where other ‘app’ codes are not applicable. Technical requirements such as target operating system and/or device should be provided eg in ProductFormFeatureType. Content type (text or text plus various ‘enhancements’) may be described with ProductContentType
E136,
///CEB
///Founder Apabi’s proprietary basic e-book format
E139,
///CEBX
///Founder Apabi’s proprietary XML e-book format
E140,
///iBook
///Apple’s iBook format (a proprietary extension of EPUB), can only be read on Apple iOS devices
E141,
///ePIB
///Proprietary format based on EPUB used by Barnes and Noble for fixed-format e-books, readable on NOOK devices and Nook reader software
E142,
///SCORM
///Sharable Content Object Reference Model, standard content and packaging format for e-learning objects
E143,
///EBP
///E-book Plus (proprietary Norwegian e-book format)
E144,
///Page Perfect
///Proprietary format based on PDF used by Barnes and Noble for fixed-format e-books, readable on some NOOK devices and Nook reader software
E145,
///BRF
///(Braille-ready file) Electronic Braille file
E146,
///Erudit
///Proprietary XML format for articles, see for example https://www.cairn.info/services-aux-editeurs.php
E147,
///Amazon Kindle Print Replica
///A format proprietary to Amazon for use with its Kindle reading devices or software readers. Essentially a PDF embedded within a KF8 format file
E148,
///Comic Book Archive
///Format for comic books, consisting primarily of sequentially-named PNG or JPEG images in a zip container
E149,
///EPUB/A
E150,
///Reflowable
///Use this and/or code E201 when a particular e-publication type (specified using codes E100 and upwards) is reflowable or has both fixed layout and reflowable sections or variants, to indicate which option is included in this product
E200,
///Fixed format
///Use this and possibly code E200 when a particular e-publication type (specified using codes E100 and upwards) is fixed layout or has both fixed layout and reflowable sections or variants, to indicate which option is included in this product
E201,
///Readable offline
///All e-publication resources are included within the e-publication package
E202,
///Requires network connection
///E-publication requires a network connection to access some resources (eg an enhanced e-book where video clips are not stored within the e-publication package itself, but are delivered via an internet connection)
E203,
///Content removed
///Resources (eg images) present in other editions have been removed from this product, eg due to rights issues
E204,
///Visible page numbering
///(Mostly fixed-format) e-publication contains visible page numbers. Use with List 196 code 19 if numbering has a print-equivalent
E205,
///No preferred page progression
///For e-publications only, pages may be rendered LTR or RTL (see B606 to B609)
E206,
///Landscape
///Use for fixed-format e-books optimized for landscape display. Also include an indication of the optimal screen aspect ratio
E210,
///Portrait
///Use for fixed-format e-books optimized for portrait display. Also include an indication of the optimal screen aspect ratio
E211,
///Square
///Use for fixed-format e-books optimized for a square display
E212,
///Vertical scrolling
///Use for fixed-format e-publications optimized for vertical scrolling display (‘webtoon format’)
E213,
///5:4
///(1.25:1) Use for fixed-format e-books optimized for displays with a 5:4 aspect ratio (eg 1280x1024 pixels etc, assuming square pixels). Note that aspect ratio codes are NOT specific to actual screen dimensions or pixel counts, but to the ratios between two dimensions or two pixel counts
E221,
///4:3
///(1.33:1) Use for fixed-format e-books optimized for displays with a 4:3 aspect ratio (eg 800x600, 1024x768, 2048x1536 pixels etc)
E222,
///3:2
///(1.5:1) Use for fixed-format e-books optimized for displays with a 3:2 aspect ratio (eg 960x640, 3072x2048 pixels etc)
E223,
///16:10
///(1.6:1) Use for fixed-format e-books optimized for displays with a 16:10 aspect ratio (eg 1440x900, 2560x1600 pixels etc)
E224,
///16:9
///(1.77:1) Use for fixed-format e-books optimized for displays with a 16:9 aspect ratio (eg 1024x576, 1920x1080, 2048x1152 pixels etc)
E225,
///18:9
///(2:1) Use for fixed-format e-books optimized for displays with an 18:9 aspect ratio (eg 2160x1080, 2880x1440 pixels etc)
E226,
///21:9
///(2.37:1) Use for fixed-format e-books optimized for displays with an 21:9 (or 64:27) aspect ratio (eg 3840x1644 pixels etc)
E227,
///Laminated
///Whole product laminated (eg laminated map, fold-out chart, wallchart, etc): use B415 for book with laminated cover
L101,
///Calendar with write-in space
///(de: Nutzkalendarium) Calendar or diary has spaces intended for entering birthdays, appointments, notes etc. Use with other calendar / diary type codes
P091,
///Calendar without write-in space
///(de: Schmuckkalendarium) Calendar or diary has no spaces intended for entering birthdays, appointments, notes etc. Use with other calendar / diary type codes
P092,
///Multiple months per page
///(de: Mehrmonatskalender) Calendar has multiple months (but not whole year) per page or view. Use with other calendar / diary type codes when the time period per sheet, page or view is not the expected arrangement
P096,
///One month per page
///(de: Monatskalender) Calendar has one month per page or view
P097,
///One week per page
///(de: Wochenkalender) Calendar has one week per page or view
P098,
///One day per page
///(de: Tageskalender) Calendar has one day per page or view
P099,
///Desk calendar or diary
///Large format, usually one week per page or view. Use with Product Form code PC or PF
P101,
///Mini calendar or pocket diary
///Small format, usually one week per page or view. Use with Product Form code PC or PF
P102,
///Engagement calendar or Appointment diary
///Day planner. Usually one day per page or view, with time-of-day subdivisions (rather than just days) or adequate space to add them. Use with Product Form code PC or PF
P103,
///Day by day calendar
///Eg tear-off calendars (one day per sheet). Use with Product Form code PC
P104,
///Poster calendar
///Large single-sheet calendar intended for hanging. Use with Product Form code PC or PK
P105,
///Wall calendar
///Large calendar usually intended for hanging from the spine, typically one page per view and one month per view, with illustrations. See also P134. Use with Product Form code PC
P106,
///Perpetual calendar or diary
///Usually undated. Use with Product Form code PC or PF, and can be combined with other calendar/diary type codes
P107,
///Advent calendar
///Use with Product Form code PC, and can be combined with other calendar/diary type codes
P108,
///Bookmark calendar
///Use with Product Form code PC or PT
P109,
///Student or Academic calendar or diary
///Mid-year diary, start and end aligned with the academic year. Use with Product Form code PC or PF, and can be combined with other calendar/diary type codes
P110,
///Project calendar
///Use with Product Form code PC
P111,
///Almanac calendar
///Use with Product Form code PC
P112,
///Other calendar, diary or organiser
///A calendar, diary or organiser that is not one of the types specified elsewhere: use with Product Form code PC, PF or PS
P113,
///Other calendar or organiser product
///A product that is associated with or ancillary to a calendar or organiser, eg a deskstand for a calendar, or an insert for an organiser: use with Product Form code PC or PS
P114,
///Family planner
///Wall or poster calendar with entries for each family member. Use with Product Form code PC or PK
P115,
///Postcard calendar
///Calendar sheets detachable (usually perforated) and intended for mailing as postcards. Use with Product Form code PC
P116,
///Blank calendar
///Wall calendar without illustrations, usually one page per month, intended to be used by adding your own images (de: Bastelkalender). Use with Product Form code PC
P131,
///Panoramic calendar
///Very large wall calendar intended for hanging, usually one page per month, wide landscape orientation, with illustrations. Use with Product Form code PC
P132,
///Columnar calendar
///Very large wall calendar intended for hanging, usually one page per month, narrow portrait orientation, with illustrations. Use with Product Form code PC
P133,
///Square calendar
///(de: Broschurkalender) Wall calendar, usually intended for hanging from a page edge, typically two pages per view and one month per view, with illustrations. See also P106. Use with Product Form code PC
P134,
///Picture story cards
///Kamishibai / Cantastoria cards
P120,
///Flash cards
///For use to specify letter, word, image (etc) recognition cards for teaching reading or other classroom use. Use with Product form code PD
P121,
///Reference cards
///Quick reference cards, revision cards, recipe cards etc. Use with Product form code PD
P122,
///Recreation cards
///For use to specify cards and card decks for gaming, collecting and trading etc. Use also for divination cards. Use with Product form codes PD
P123,
///Postcards
///And postcard packs / books. Use with Product form code PJ
P124,
///Greeting cards
///And greeting card packs. Use with Product form code PJ
P125,
///Gift cards
///Physical cards which carry an intrinsic value, or which are intended to have value added to them, that may be redeemed later. For example book token cards, gift cards. Note value additions and redemption may be in a physical store or online
P126,
///Certificate cards
///Blank certificate, award or achievement cards, Use with Product form code PD
P127,
///Hardback (stationery)
///Stationery item in hardback book format
P201,
///Paperback / softback (stationery)
///Stationery item in paperback/softback book format
P202,
///Spiral bound (stationery)
///Stationery item in spiral-bound book format
P203,
///Leather / fine binding (stationery)
///Stationery item in leather-bound book format, or other fine binding
P204,
///With hanging strips
///For wall map, poster, wallchart etc
P301,
///Single-sided
///Content is printed single-sided (for wallcharts and hanging maps, calendars, etc)
P305,
///Double-sided
///Content is printed double-sided (for wallcharts and hanging maps, calendars, etc, where double-sided may not always be expected)
P306,
///PAL
///SD TV standard for video or DVD
V201,
///NTSC
///SD TV standard for video or DVD
V202,
///SECAM
///SD TV standard for video or DVD
V203,
///HD
///Up to 2K resolution (1920 or 2048 pixels wide) eg for Blu-Ray
V205,
///UHD
///Up to 4K resolution (3840 or 4096 pixels wide) eg for Ultra HD Blu-Ray
V206,
///3D video
///Eg for Blu-ray 3D
V207,
///Closed captions
///Or subtitles, where visibility may be controlled by the viewer. Use Language for the language of the captions/subtitles
V210,
///Open captions
///‘Burnt-in’ or hard captions or subtitles. Use Language for the language of the captions/subtitles
V211,
///Transcript
///Full transcript of audio and audiovisual content, supplied as a separate file (not as captions or subtitles) and included within the product. See also List 158, where a transcript is a separate resource
V212,
///Sign language interpretation
///Full signing of audio and audiovisual content included within the product
V213,
///Textual description of audio
///Closed or open captions/subtitles include descriptions of non-dialogue audio (eg background sounds, music, speaker identification) in addition to dialogue. Use in combination with V210 or V211. Use V210, V211 alone for captions/subtitles that include only dialogue. In some markets, textual description of audio is termed ‘subtitles for the deaf and hard of hearing’ (SDH)
V214,
///Audio description of video
///Also termed ‘described video’ – audio track describes the video content
V215,
///Home use
///Licensed for use in domestic contexts only
V220,
///Classroom use
///Licensed for use in education
V221,
///Wooden
///Primary material composition (eg of kit or puzzle pieces, of gameplay tokens or tiles) is wood or has wooden pieces/parts
Z101,
///Plastic
///Plastic or plastic pieces/parts
Z102,
///Board
///Card or board pieces/parts
Z103,
///3D puzzle
///Puzzle assembles into a 3D object
Z111,
///Noisy kit / puzzle / toy
///Toy makes a noise. See B208 for noisy books
Z112,
///Puppet
///Including finger / hand puppets, marionettes
Z113,
///Extra large pieces
///Designed and sized for the very young, or those with visual impairments, limited motor skills, dementia etc
Z121,
}
#[derive(Debug)]
pub enum ProductFormDetailRefname {
ProductFormDetail,
}
#[derive(Debug)]
pub enum ProductFormDetailShortname {
B333,
}
#[derive(Debug)]
pub enum ProductFormFeatureRefname {
ProductFormFeature,
}
#[derive(Debug)]
pub enum ProductFormFeatureShortname {
Productformfeature,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductFormFeatureTypeElementType {
pub refname: Option<ProductFormFeatureTypeRefname>,
pub shortname: Option<ProductFormFeatureTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List79,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductFormFeatureValueElementType {
pub refname: Option<ProductFormFeatureValueRefname>,
pub shortname: Option<ProductFormFeatureValueShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct ProductFormFeatureDescriptionElementType {
pub refname: Option<ProductFormFeatureDescriptionRefname>,
pub shortname: Option<ProductFormFeatureDescriptionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Product packaging type
#[derive(Debug)]
pub enum List80 {
///No outer packaging
///No packaging, or all smaller items enclosed inside largest item
_00,
///Slip-sleeve
///Thin card or soft plastic sleeve, much less rigid than a slip case
_01,
///Clamshell
///Packaging consisting of formed plastic sealed around each side of the product. Not to be confused with single-sided Blister pack
_02,
///Keep case
///Typical DVD-style packaging, sometimes known as an ‘Amaray’ case
_03,
///Jewel case
///Typical CD-style packaging
_05,
///Digipak
///Common CD-style packaging, a card folder with one or more panels incorporating a tray, hub or pocket to hold the disc(s)
_06,
///Shrink-wrapped (biodegradable)
///Use for products or product bundles supplied for retail sale in shrink-wrapped packaging, where the shrink-wrap film is biodegradable. For non-degradable film, see code 21. Only for use in ONIX 3.0 or later
_08,
///In box (with lid)
///Individual item, items or set in card box with separate or hinged lid: not to be confused with the commonly-used ‘boxed set’ which is more likely to be packaged in a slip case
_09,
///Slip-cased
///Slip-case for single item only (de: ‘Schuber’)
_10,
///Slip-cased set
///Slip-case for multi-volume set, also commonly referred to as ‘boxed set’ (de: ‘Kassette’)
_11,
///Tube
///Rolled in tube or cylinder: eg sheet map or poster
_12,
///Binder
///Use for miscellaneous items such as slides, microfiche, when presented in a binder
_13,
///In wallet or folder
///Use for miscellaneous items such as slides, microfiche, when presented in a wallet or folder
_14,
///Long triangular package
///Long package with triangular cross-section used for rolled sheet maps, posters etc
_15,
///Long square package
///Long package with square cross-section used for rolled sheet maps, posters, etc
_16,
///Softbox (for DVD)
_17,
///Pouch
///In pouch, eg teaching materials in a plastic bag or pouch
_18,
///Rigid plastic case
///In duroplastic or other rigid plastic case, eg for a class set
_19,
///Cardboard case
///In cardboard case, eg for a class set
_20,
///Shrink-wrapped
///Use for products or product bundles supplied for retail sale in shrink-wrapped packaging. For biodegradable shrink-wrap film, prefer code 08. For shrink-wrapped packs of multiple products for trade supply only, see code XL in List 7
_21,
///Blister pack
///A pack comprising a pre-formed plastic blister and a printed card with a heat-seal coating
_22,
///Carry case
///A case with carrying handle, typically for a set of educational books and/or learning materials
_23,
///In tin
///Individual item, items or set in metal box or can with separate or hinged lid
_24,
///With browse-prevention tape
///(ja: koguchi tome) Peelable sticker or tape sealing the foredge of a book to prevent pre-purchase reading of the content. Only for use in ONIX 3.0 or later
_25,
}
#[derive(Debug)]
pub enum ProductPackagingRefname {
ProductPackaging,
}
#[derive(Debug)]
pub enum ProductPackagingShortname {
B225,
}
#[derive(Debug)]
pub enum ProductFormDescriptionRefname {
ProductFormDescription,
}
#[derive(Debug)]
pub enum ProductFormDescriptionShortname {
B014,
}
///Trade category
#[derive(Debug)]
pub enum List12 {
///UK open market edition
///An edition from a UK publisher sold only in territories where exclusive rights are not held. Rights details should be carried in PR.21 (in ONIX 2.1) OR P.21 (in ONIX 3.0 or later) as usual
_01,
///Airport edition
///In UK, an edition intended primarily for airside sales in UK airports, though it may be available for sale in other territories where exclusive rights are not held. Rights details should be carried in PR.21 (in ONIX 2.1) OR P.21 (in ONIX 3.0 or later) as usual
_02,
///Sonderausgabe
///In Germany, a special printing sold at a lower price than the regular hardback
_03,
///Pocket book
///In countries where recognized as a distinct trade category, eg France « livre de poche », Germany ,Taschenbuch‘, Italy «tascabile», Spain «libro de bolsillo»
_04,
///International edition (US)
///Edition produced solely for sale in designated export markets
_05,
///Library audio edition
///Audio product sold in special durable packaging and with a replacement guarantee for the contained cassettes or CDs for a specified shelf-life
_06,
///US open market edition
///An edition from a US publisher sold only in territories where exclusive rights are not held. Rights details should be carried in PR.21 (in ONIX 2.1) OR P.21 (in ONIX 3.0 or later) as usual
_07,
///Livre scolaire, déclaré par l’éditeur
///In France, a category of book that has a particular legal status, claimed by the publisher
_08,
///Livre scolaire (non spécifié)
///In France, a category of book that has a particular legal status, designated independently of the publisher
_09,
///Supplement to newspaper
///Edition published for sale only with a newspaper or periodical
_10,
///Precio libre textbook
///In Spain, a school textbook for which there is no fixed or suggested retail price and which is supplied by the publisher on terms individually agreed with the bookseller
_11,
///News outlet edition
///For editions sold only through newsstands/newsagents
_12,
///US textbook
///In the US and Canada, a book that is published primarily for use by students in school or college education as a basis for study. Textbooks published for the elementary and secondary school markets are generally purchased by school districts for the use of students. Textbooks published for the higher education market are generally adopted for use in particular classes by the instructors of those classes. Textbooks are usually not marketed to the general public, which distinguishes them from trade books. Note that trade books adopted for course use are not considered to be textbooks (though a specific education edition of a trade title may be)
_13,
///E-book short
///‘Short’ e-book (sometimes also called a ‘single’), typically containing a single short story, an essay or piece of long-form journalism
_14,
///Superpocket book
///In countries where recognized as a distinct trade category, eg Italy «supertascabile». Only for use in ONIX 3.0 or later
_15,
///Beau-livre
///Category of books, usually hardcover and of a large format (A4 or larger) and printed on high-quality paper, where the primary features are illustrations, and these are more important than text. Sometimes called ‘coffee-table books’ or ‘art books’ in English. Only for use in ONIX 3.0 or later
_16,
///Podcast
///Category of audio products typically distinguished by being free of charge (but which may be monetized through advertising content) and episodic. Only for use in ONIX 3.0 or later
_17,
///Periodical
///Category of books or e-books which are single issues of a periodical publication, sold as independent products. Only for use in ONIX 3.0 or later
_18,
///Catalog
///Publisher’s or supplier’s catalog (when treated as a product in its own right). Only for use in ONIX 3.0 or later
_19,
///Atlas
///Category of books containing a linked group of plates, tables, diagrams, lists, often but not always combined with maps or a geographical theme or approach. Only for use in ONIX 3.0 or later
_20,
///Newspaper
///Daily or weekly. Only for use in ONIX 3.0 or later
_21,
}
#[derive(Debug)]
pub enum TradeCategoryRefname {
TradeCategory,
}
#[derive(Debug)]
pub enum TradeCategoryShortname {
B384,
}
///Product content type
#[derive(Debug)]
pub enum List81 {
///Text
///Readable text of the main content: this value is required, together with applicable ProductForm and ProductFormDetail values, to designate an e-book or other digital or physical product whose primary content is text. Note ‘text’ is ‘text-as-text’, not ‘text as an image’ or images of text
_10,
///Extensive links between internal content
///E-publication contains a significant number of actionable (clickable) cross-references, hyperlinked notes and annotations, or with other actionable links between largely textual elements (eg quiz/test questions, ‘choose your own ending’ etc)
_15,
///Extensive links to external content
///E-publication contains a significant number of actionable (clickable) web links to external content, downloadable resources, supplementary material, etc
_14,
///Links to external interactive content
///Publication contains actionable (clickable) links to external interactive content. Only for use in ONIX 3.0 or later
_51,
///Additional text not part of main content
///Publication contains additional textual content such as an interview, feature article, essay, bibliography, quiz/test, other background material, or text that is not included in a primary or ‘unenhanced’ version. Note ‘text’ is ‘text-as-text’, not ‘text as an image’ or images of text
_16,
///Text within images
///Including text-as-text embedded in diagrams, charts, or within images containing speech balloons, thought bubbles, captions etc. Note this does not include ‘text as an image’ or images of text (for which see code 49). Only for use in ONIX 3.0 or later
_45,
///Additional eye-readable links to external content
///Publication contains a significant number of web links (printed URLs, QR codes etc). Only for use in ONIX 3.0 or later
_41,
///Promotional text for other book product
///Publication contains supplementary text as promotional content such as, for example, a teaser chapter
_17,
///Musical notation
_11,
///Still images / graphics
///Includes any type of illustrations. Use only when no more detailed specification is provided
_07,
///Photographs
///Whether in a plate section / insert, or not
_18,
///Figures, diagrams, charts, graphs
///Including other ‘mechanical’ (ie non-photographic) illustrations
_19,
///Additional images / graphics not part of main work
///Publication is enhanced with additional images or graphical content such as supplementary photographs that are not included in a primary or ‘unenhanced’ version
_20,
///Maps and/or other cartographic content
_12,
///Chemical content
///Indicates that the publication contains chemical notations, formulae. Only for use in ONIX 3.0 or later
_47,
///Mathematical content
///Indicates that the publication contains mathematical notation, equations, formulae. Only for use in ONIX 3.0 or later
_48,
///Decorative images or graphics
///Publication contains visual content that is purely decorative and are not necessary to understanding of the content. Only for use in ONIX 3.0 or later
_46,
///Assessment material
///eg Questions or student exercises, problems, quizzes or tests (as an integral part of the work). Only for use in ONIX 3.0 or later
_42,
///Audiobook
///Audio recording of a reading of a book or other text
_01,
///Performance – spoken word
///Audio recording of a drama or other spoken word performance
_02,
///Other speech content
///eg an interview, speech, lecture or commentary / discussion, not a ‘reading’ or ‘performance’)
_13,
///Music recording
///Audio recording of a music performance, including musical drama and opera
_03,
///Other audio
///Audio recording of other sound, eg birdsong, sound effects, ASMR material
_04,
///Images of text
///At least some text – including text within other images – is ‘text as an image’ (ie a picture of text). Only for use in ONIX 3.0 or later
_49,
///Partial performance – spoken word
///Audio recording of a reading, performance or dramatization of part of the work
_21,
///Additional audio content not part of main content
///Product includes additional pre-recorded audio of any supplementary material such as full or partial reading, lecture, performance, dramatization, interview, background documentary or other audio content not included in the primary or ‘unenhanced’ version
_22,
///Promotional audio for other book product
///eg Reading of teaser chapter
_23,
///Video
///Includes Film, video, animation etc. Use only when no more detailed specification is provided. Formerly ‘Moving images’
_06,
///Video recording of a reading
_26,
///Video content without audio
///Publication contains video material with no audio recording or narration (but may have music or textual subtitles) . Only for use in ONIX 3.0 or later
_50,
///Performance – visual
///Video recording of a drama or other performance, including musical performance
_27,
///Animated / interactive illustrations
///eg animated diagrams, charts, graphs or other illustrations (usually without sound)
_24,
///Narrative animation
///eg cartoon, animatic or CGI animation (usually includes sound)
_25,
///Other video
///Other video content eg interview, not a reading or performance
_28,
///Partial performance – video
///Video recording of a reading, performance or dramatization of part of the work
_29,
///Additional video content not part of main work
///E-publication is enhanced with video recording of full or partial reading, performance, dramatization, interview, background documentary or other content not included in the primary or ‘unenhanced’ version
_30,
///Promotional video for other book product
///eg Book trailer
_31,
///Game / Puzzle
///No multi-user functionality. Formerly just ‘Game’
_05,
///Contest
///Includes some degree of multi-user functionality
_32,
///Software
///Largely ‘content free’
_08,
///Data
///Data files
_09,
///Data set plus software
_33,
///Blank pages or spaces
///Entire pages or blank spaces, forms, boxes, write-in pages etc, intended to be filled in by the reader
_34,
///Advertising content
///Use only where type of advertising content is not stated
_35,
///Advertising – first party
///‘Back ads’ – promotional content for other books (that does not include sample content of those books, cf codes 17, 23)
_37,
///Advertising – coupons
///Eg to obtain discounts on other products
_36,
///Advertising – third party display
_38,
///Advertising – third party textual
_39,
///Scripting
///E-publication contains microprograms written (eg) in JavaScript and executed within the reading system. Only for use in ONIX 3.0 or later
_40,
///Scripted pop-ups
///E-publication contains pop-ups or other functionality offering (eg) term definitions, cross-links or glossary entries [Note this should not include (eg) dictionary functionality that is part of the reading system.] Only for use in ONIX 3.0 or later
_43,
///Sequential art
///Or pictorial narrative, usually panel-based. Images displayed in a specific order for the purpose of graphic storytelling or giving information (eg graphic novels, comics and manga). May include text integrated into the image (as speech and thought bubbles, textual ‘sound’ effects, captions etc). Only for use in ONIX 3.0 or later
_44,
}
#[derive(Debug)]
pub enum PrimaryContentTypeRefname {
PrimaryContentType,
}
#[derive(Debug)]
pub enum PrimaryContentTypeShortname {
X416,
}
#[derive(Debug)]
pub enum ProductContentTypeRefname {
ProductContentType,
}
#[derive(Debug)]
pub enum ProductContentTypeShortname {
B385,
}
#[derive(Debug)]
pub enum MeasureRefname {
Measure,
}
#[derive(Debug)]
pub enum MeasureShortname {
Measure,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct MeasureTypeElementType {
pub refname: Option<MeasureTypeRefname>,
pub shortname: Option<MeasureTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List48,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct MeasurementElementType {
pub refname: Option<MeasurementRefname>,
pub shortname: Option<MeasurementShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: f64,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct MeasureUnitCodeElementType {
pub refname: Option<MeasureUnitCodeRefname>,
pub shortname: Option<MeasureUnitCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List50,
}
///Country – based on ISO 3166-1
#[derive(Debug)]
pub enum List91 {
///Andorra
Ad,
///United Arab Emirates
Ae,
///Afghanistan
Af,
///Antigua and Barbuda
Ag,
///Anguilla
Ai,
///Albania
Al,
///Armenia
Am,
///Netherlands Antilles
///Deprecated – use BQ, CW and SX as appropriate
An,
///Angola
Ao,
///Antarctica
Aq,
///Argentina
Ar,
///American Samoa
As,
///Austria
At,
///Australia
Au,
///Aruba
Aw,
///Åland Islands
Ax,
///Azerbaijan
Az,
///Bosnia and Herzegovina
Ba,
///Barbados
Bb,
///Bangladesh
Bd,
///Belgium
Be,
///Burkina Faso
Bf,
///Bulgaria
Bg,
///Bahrain
Bh,
///Burundi
Bi,
///Benin
Bj,
///Saint Barthélemy
Bl,
///Bermuda
Bm,
///Brunei Darussalam
Bn,
///Bolivia, Plurinational State of
Bo,
///Bonaire, Sint Eustatius and Saba
Bq,
///Brazil
Br,
///Bahamas
Bs,
///Bhutan
Bt,
///Bouvet Island
Bv,
///Botswana
Bw,
///Belarus
By,
///Belize
Bz,
///Canada
Ca,
///Cocos (Keeling) Islands
Cc,
///Congo, Democratic Republic of the
Cd,
///Central African Republic
Cf,
///Congo
Cg,
///Switzerland
Ch,
///Cote d’Ivoire
Ci,
///Cook Islands
Ck,
///Chile
Cl,
///Cameroon
Cm,
///China
Cn,
///Colombia
Co,
///Costa Rica
Cr,
///Serbia and Montenegro
///Deprecated, replaced by ME – Montenegro and RS – Serbia
Cs,
///Cuba
Cu,
///Cabo Verde
Cv,
///Curaçao
Cw,
///Christmas Island
Cx,
///Cyprus
Cy,
///Czechia
///Formerly Czech Republic
Cz,
///Germany
De,
///Djibouti
Dj,
///Denmark
Dk,
///Dominica
Dm,
///Dominican Republic
Do,
///Algeria
Dz,
///Ecuador
Ec,
///Estonia
Ee,
///Egypt
Eg,
///Western Sahara
Eh,
///Eritrea
Er,
///Spain
Es,
///Ethiopia
Et,
///Finland
Fi,
///Fiji
Fj,
///Falkland Islands (Malvinas)
Fk,
///Micronesia, Federated States of
Fm,
///Faroe Islands
Fo,
///France
Fr,
///Gabon
Ga,
///United Kingdom
Gb,
///Grenada
Gd,
///Georgia
Ge,
///French Guiana
Gf,
///Guernsey
Gg,
///Ghana
Gh,
///Gibraltar
Gi,
///Greenland
Gl,
///Gambia
Gm,
///Guinea
Gn,
///Guadeloupe
Gp,
///Equatorial Guinea
Gq,
///Greece
Gr,
///South Georgia and the South Sandwich Islands
Gs,
///Guatemala
Gt,
///Guam
Gu,
///Guinea-Bissau
Gw,
///Guyana
Gy,
///Hong Kong
Hk,
///Heard Island and McDonald Islands
Hm,
///Honduras
Hn,
///Croatia
Hr,
///Haiti
Ht,
///Hungary
Hu,
///Indonesia
Id,
///Ireland
Ie,
///Israel
Il,
///Isle of Man
Im,
///India
In,
///British Indian Ocean Territory
Io,
///Iraq
Iq,
///Iran, Islamic Republic of
Ir,
///Iceland
Is,
///Italy
It,
///Jersey
Je,
///Jamaica
Jm,
///Jordan
Jo,
///Japan
Jp,
///Kenya
Ke,
///Kyrgyzstan
Kg,
///Cambodia
Kh,
///Kiribati
Ki,
///Comoros
Km,
///Saint Kitts and Nevis
Kn,
///Korea, Democratic People’s Republic of
Kp,
///Korea, Republic of
Kr,
///Kuwait
Kw,
///Cayman Islands
Ky,
///Kazakhstan
Kz,
///Lao People’s Democratic Republic
La,
///Lebanon
Lb,
///Saint Lucia
Lc,
///Liechtenstein
Li,
///Sri Lanka
Lk,
///Liberia
Lr,
///Lesotho
Ls,
///Lithuania
Lt,
///Luxembourg
Lu,
///Latvia
Lv,
///Libya
Ly,
///Morocco
Ma,
///Monaco
Mc,
///Moldova, Republic of
Md,
///Montenegro
Me,
///Saint Martin (French part)
Mf,
///Madagascar
Mg,
///Marshall Islands
Mh,
///North Macedonia
///Formerly FYR Macedonia
Mk,
///Mali
Ml,
///Myanmar
Mm,
///Mongolia
Mn,
///Macao
Mo,
///Northern Mariana Islands
Mp,
///Martinique
Mq,
///Mauritania
Mr,
///Montserrat
Ms,
///Malta
Mt,
///Mauritius
Mu,
///Maldives
Mv,
///Malawi
Mw,
///Mexico
Mx,
///Malaysia
My,
///Mozambique
Mz,
///Namibia
Na,
///New Caledonia
Nc,
///Niger
Ne,
///Norfolk Island
Nf,
///Nigeria
Ng,
///Nicaragua
Ni,
///Netherlands
Nl,
///Norway
No,
///Nepal
Np,
///Nauru
Nr,
///Niue
Nu,
///New Zealand
Nz,
///Oman
Om,
///Panama
Pa,
///Peru
Pe,
///French Polynesia
Pf,
///Papua New Guinea
Pg,
///Philippines
Ph,
///Pakistan
Pk,
///Poland
Pl,
///Saint Pierre and Miquelon
Pm,
///Pitcairn
Pn,
///Puerto Rico
Pr,
///Palestine, State of
Ps,
///Portugal
Pt,
///Palau
Pw,
///Paraguay
Py,
///Qatar
Qa,
///Réunion
Re,
///Romania
Ro,
///Serbia
Rs,
///Russian Federation
Ru,
///Rwanda
Rw,
///Saudi Arabia
Sa,
///Solomon Islands
Sb,
///Seychelles
Sc,
///Sudan
Sd,
///Sweden
Se,
///Singapore
Sg,
///Saint Helena, Ascension and Tristan da Cunha
Sh,
///Slovenia
Si,
///Svalbard and Jan Mayen
Sj,
///Slovakia
Sk,
///Sierra Leone
Sl,
///San Marino
Sm,
///Senegal
Sn,
///Somalia
So,
///Suriname
Sr,
///South Sudan
Ss,
///Sao Tome and Principe
St,
///El Salvador
Sv,
///Sint Maarten (Dutch part)
Sx,
///Syrian Arab Republic
Sy,
///Eswatini
///Formerly known as Swaziland
Sz,
///Turks and Caicos Islands
Tc,
///Chad
Td,
///French Southern Territories
Tf,
///Togo
Tg,
///Thailand
Th,
///Tajikistan
Tj,
///Tokelau
Tk,
///Timor-Leste
Tl,
///Turkmenistan
Tm,
///Tunisia
Tn,
///Tonga
To,
///Türkiye
///Formerly known as Turkey
Tr,
///Trinidad and Tobago
Tt,
///Tuvalu
Tv,
///Taiwan, Province of China
Tw,
///Tanzania, United Republic of
Tz,
///Ukraine
Ua,
///Uganda
Ug,
///United States Minor Outlying Islands
Um,
///United States
Us,
///Uruguay
Uy,
///Uzbekistan
Uz,
///Holy See (Vatican City State)
Va,
///Saint Vincent and the Grenadines
Vc,
///Venezuela, Bolivarian Republic of
Ve,
///Virgin Islands, British
Vg,
///Virgin Islands, US
Vi,
///Viet Nam
Vn,
///Vanuatu
Vu,
///Wallis and Futuna
Wf,
///Samoa
Ws,
///Yemen
Ye,
///Mayotte
Yt,
///Yugoslavia
///Deprecated, replaced by ME – Montenegro and RS – Serbia
Yu,
///South Africa
Za,
///Zambia
Zm,
///Zimbabwe
Zw,
}
#[derive(Debug)]
pub enum CountryOfManufactureRefname {
CountryOfManufacture,
}
#[derive(Debug)]
pub enum CountryOfManufactureShortname {
X316,
}
///E-publication technical protection
#[derive(Debug)]
pub enum List144 {
///None
///Has no technical protection
_00,
///DRM
///Has DRM protection
_01,
///Digital watermarking
///Has digital watermarking
_02,
///Adobe DRM
///Has DRM protection applied by the Adobe CS4 Content Server Package or by the Adobe ADEPT hosted service
_03,
///Apple DRM
///Has FairPlay DRM protection applied via Apple proprietary online store
_04,
///OMA DRM
///Has OMA v2 DRM protection applied, as used to protect some mobile phone content
_05,
///Readium LCP DRM
///Has Licensed Content Protection DRM applied by a Readium License Server. See https://readium.org/lcp-specs/
_06,
///Sony DRM
///Has Sony DADC User Rights Management (URMS) DRM protection applied
_07,
}
#[derive(Debug)]
pub enum EpubTechnicalProtectionRefname {
EpubTechnicalProtection,
}
#[derive(Debug)]
pub enum EpubTechnicalProtectionShortname {
X317,
}
#[derive(Debug)]
pub enum EpubUsageConstraintRefname {
EpubUsageConstraint,
}
#[derive(Debug)]
pub enum EpubUsageConstraintShortname {
Epubusageconstraint,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EpubUsageTypeElementType {
pub refname: Option<EpubUsageTypeRefname>,
pub shortname: Option<EpubUsageTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List145,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EpubUsageStatusElementType {
pub refname: Option<EpubUsageStatusRefname>,
pub shortname: Option<EpubUsageStatusShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List146,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EpubUsageLimitElementType {
pub refname: Option<EpubUsageLimitRefname>,
pub shortname: Option<EpubUsageLimitShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub quantity: QuantityElementType,
pub epub_usage_unit: EpubUsageUnitElementType,
}
#[derive(Debug)]
pub enum EpubLicenseTypeRefname {
EpubLicense,
}
#[derive(Debug)]
pub enum EpubLicenseTypeShortname {
Epublicense,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct EpubLicenseNameElementType {
pub refname: Option<EpubLicenseNameRefname>,
pub shortname: Option<EpubLicenseNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EpubLicenseExpressionElementType {
pub refname: Option<EpubLicenseExpressionRefname>,
pub shortname: Option<EpubLicenseExpressionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub epub_license_expression_type: EpubLicenseExpressionTypeElementType,
pub epub_license_expression_type_name: Option<EpubLicenseExpressionTypeNameElementType>,
pub epub_license_expression_link: EpubLicenseExpressionLinkElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EpubLicenseDateElementType {
pub refname: Option<EpubLicenseDateRefname>,
pub shortname: Option<EpubLicenseDateShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub epub_license_date_role: EpubLicenseDateRoleElementType,
pub date: DateElementType,
}
#[derive(Debug)]
pub enum MapScaleRefname {
MapScale,
}
#[derive(Debug)]
pub enum MapScaleShortname {
B063,
}
#[derive(Debug)]
pub enum ProductClassificationRefname {
ProductClassification,
}
#[derive(Debug)]
pub enum ProductClassificationShortname {
Productclassification,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductClassificationTypeElementType {
pub refname: Option<ProductClassificationTypeRefname>,
pub shortname: Option<ProductClassificationTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List9,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct ProductClassificationTypeNameElementType {
pub refname: Option<ProductClassificationTypeNameRefname>,
pub shortname: Option<ProductClassificationTypeNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductClassificationCodeElementType {
pub refname: Option<ProductClassificationCodeRefname>,
pub shortname: Option<ProductClassificationCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PercentElementType {
pub refname: Option<PercentRefname>,
pub shortname: Option<PercentShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: f64,
}
#[derive(Debug)]
pub enum ProductPartRefname {
ProductPart,
}
#[derive(Debug)]
pub enum ProductPartShortname {
Productpart,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PrimaryPartElementType {
pub refname: Option<PrimaryPartRefname>,
pub shortname: Option<PrimaryPartShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
}
#[derive(Debug)]
pub enum ProductPartContent249 {
Content250(ProductPartContent250),
NumberOfCopies(NumberOfCopiesElementType),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CollectionElementType {
pub refname: Option<CollectionRefname>,
pub shortname: Option<CollectionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collection_type: CollectionTypeElementType,
pub collection_frequency: Option<CollectionFrequencyElementType>,
pub source_name: Option<SourceNameElementType>,
pub collection_identifier: Vec<CollectionIdentifierElementType>,
pub collection_sequence: Vec<CollectionSequenceElementType>,
pub title_detail: Vec<TitleDetailElementType>,
pub gp_authorship: Option<CollectionGpAuthorship>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct NoCollectionElementType {
pub refname: Option<NoCollectionRefname>,
pub shortname: Option<NoCollectionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
}
#[derive(Debug)]
pub enum TitleDetailRefname {
TitleDetail,
}
#[derive(Debug)]
pub enum TitleDetailShortname {
Titledetail,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TitleTypeElementType {
pub refname: Option<TitleTypeRefname>,
pub shortname: Option<TitleTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List15,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TitleElementElementType {
pub refname: Option<TitleElementRefname>,
pub shortname: Option<TitleElementShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub sequence_number: Option<SequenceNumberElementType>,
pub title_element_level: TitleElementLevelElementType,
pub content_351: TitleElementContent351,
pub subtitle: Option<SubtitleElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct TitleStatementElementType {
pub refname: Option<TitleStatementRefname>,
pub shortname: Option<TitleStatementShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<TitleStatementElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum TitleStatementElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ThesisTypeElementType {
pub refname: Option<ThesisTypeRefname>,
pub shortname: Option<ThesisTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List72,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct ThesisPresentedToElementType {
pub refname: Option<ThesisPresentedToRefname>,
pub shortname: Option<ThesisPresentedToShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Format of date data element, eg YYYYMMDD
///● Added at revision 3.0 (2010)
#[derive(Debug)]
pub struct ThesisYearElementType {
pub refname: Option<ThesisYearRefname>,
pub shortname: Option<ThesisYearShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub dateformat: Option<List55>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ContributorElementType {
pub refname: Option<ContributorRefname>,
pub shortname: Option<ContributorShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub sequence_number: Option<SequenceNumberElementType>,
pub contributor_role: Vec<ContributorRoleElementType>,
pub from_language: Vec<FromLanguageElementType>,
pub to_language: Vec<ToLanguageElementType>,
pub name_type: Option<NameTypeElementType>,
pub content_125: ContributorContent125,
pub alternative_name: Vec<AlternativeNameElementType>,
pub contributor_date: Vec<ContributorDateElementType>,
pub professional_affiliation: Vec<ProfessionalAffiliationElementType>,
pub prize: Vec<PrizeElementType>,
pub biographical_note: Vec<BiographicalNoteElementType>,
pub website: Vec<WebsiteElementType>,
pub contributor_description: Vec<ContributorDescriptionElementType>,
pub contributor_place: Vec<ContributorPlaceElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct ContributorStatementElementType {
pub refname: Option<ContributorStatementRefname>,
pub shortname: Option<ContributorStatementShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<ContributorStatementElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum ContributorStatementElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
#[derive(Debug)]
pub enum NoContributorRefname {
NoContributor,
}
#[derive(Debug)]
pub enum NoContributorShortname {
N339,
}
#[derive(Debug)]
pub enum EventRefname {
Event,
}
#[derive(Debug)]
pub enum EventShortname {
Event,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EventRoleElementType {
pub refname: Option<EventRoleRefname>,
pub shortname: Option<EventRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List20,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct EventAcronymElementType {
pub refname: Option<EventAcronymRefname>,
pub shortname: Option<EventAcronymShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EventNumberElementType {
pub refname: Option<EventNumberRefname>,
pub shortname: Option<EventNumberShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct EventThemeElementType {
pub refname: Option<EventThemeRefname>,
pub shortname: Option<EventThemeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Format of date data element, eg YYYYMMDD
///● Added at revision 3.0 (2010)
#[derive(Debug)]
pub struct EventDateElementType {
pub refname: Option<EventDateRefname>,
pub shortname: Option<EventDateShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub dateformat: Option<List55>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct EventPlaceElementType {
pub refname: Option<EventPlaceRefname>,
pub shortname: Option<EventPlaceShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
#[derive(Debug)]
pub struct DescriptiveDetailContent157 {
pub edition_type: Vec<EditionTypeElementType>,
pub content_158: Option<DescriptiveDetailContent158>,
pub edition_statement: Vec<EditionStatementElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct NoEditionElementType {
pub refname: Option<NoEditionRefname>,
pub shortname: Option<NoEditionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
}
#[derive(Debug)]
pub enum ReligiousTextRefname {
ReligiousText,
}
#[derive(Debug)]
pub enum ReligiousTextShortname {
Religioustext,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct BibleElementType {
pub refname: Option<BibleRefname>,
pub shortname: Option<BibleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub bible_contents: Vec<BibleContentsElementType>,
pub bible_version: Vec<BibleVersionElementType>,
pub study_bible_type: Option<StudyBibleTypeElementType>,
pub bible_purpose: Vec<BiblePurposeElementType>,
pub bible_text_organization: Option<BibleTextOrganizationElementType>,
pub bible_reference_location: Option<BibleReferenceLocationElementType>,
pub bible_text_feature: Vec<BibleTextFeatureElementType>,
}
#[derive(Debug)]
pub struct ReligiousTextContent282 {
pub religious_text_identifier: ReligiousTextIdentifierElementType,
pub religious_text_feature: Vec<ReligiousTextFeatureElementType>,
}
#[derive(Debug)]
pub enum LanguageRefname {
Language,
}
#[derive(Debug)]
pub enum LanguageShortname {
Language,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct LanguageRoleElementType {
pub refname: Option<LanguageRoleRefname>,
pub shortname: Option<LanguageRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List22,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct LanguageCodeElementType {
pub refname: Option<LanguageCodeRefname>,
pub shortname: Option<LanguageCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List74,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CountryCodeElementType {
pub refname: Option<CountryCodeRefname>,
pub shortname: Option<CountryCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List91,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct RegionCodeElementType {
pub refname: Option<RegionCodeRefname>,
pub shortname: Option<RegionCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List49,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ScriptCodeElementType {
pub refname: Option<ScriptCodeRefname>,
pub shortname: Option<ScriptCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List121,
}
#[derive(Debug)]
pub enum ExtentRefname {
Extent,
}
#[derive(Debug)]
pub enum ExtentShortname {
Extent,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ExtentTypeElementType {
pub refname: Option<ExtentTypeRefname>,
pub shortname: Option<ExtentTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List23,
}
#[derive(Debug)]
pub enum ExtentContent182 {
Content183(ExtentContent183),
ExtentValueRoman(ExtentValueRomanElementType),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ExtentUnitElementType {
pub refname: Option<ExtentUnitRefname>,
pub shortname: Option<ExtentUnitShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List24,
}
///Illustrated / not illustrated
#[derive(Debug)]
pub enum List152 {
///No
///Not illustrated
_01,
///Yes
///Illustrated
_02,
}
#[derive(Debug)]
pub enum IllustratedRefname {
Illustrated,
}
#[derive(Debug)]
pub enum IllustratedShortname {
X422,
}
#[derive(Debug)]
pub enum NumberOfIllustrationsRefname {
NumberOfIllustrations,
}
#[derive(Debug)]
pub enum NumberOfIllustrationsShortname {
B125,
}
#[derive(Debug)]
pub enum IllustrationsNoteRefname {
IllustrationsNote,
}
#[derive(Debug)]
pub enum IllustrationsNoteShortname {
B062,
}
///Text format
#[derive(Debug)]
pub enum List34 {
///HTML
///Other than XHTML
_02,
///XML
///Other than XHTML
_03,
///XHTML
_05,
///Default text format
///Default: plain text containing no markup tags of any kind, except for the character entities amp; and lt; that XML insists must be used to represent ampersand and less-than characters in textual data, and in the encoding declared at the head of the message or in the XML default (UTF-8 or UTF-16) if there is no explicit declaration
_06,
///Basic ASCII text
///Plain text containing no markup tags of any kind, except for the character entities amp; and lt; that XML insists must be used to represent ampersand and less-than characters in textual data, and with the character set limited to the ASCII range, i.e. valid characters whose Unicode character numbers lie between 32 (space) and 126 (tilde)
_07,
}
#[derive(Debug)]
pub enum BlockElement {
H1(AbbrElementType),
H2(AbbrElementType),
H3(AbbrElementType),
H4(AbbrElementType),
H5(AbbrElementType),
H6(AbbrElementType),
Ul(UlElementType),
Ol(OlElementType),
Dl(DlElementType),
Address(AbbrElementType),
Hr(HrElementType),
Pre(PreElementType),
Blockquote(BlockquoteElementType),
Div(DdElementType),
P(AbbrElementType),
Table(TableElementType),
}
#[derive(Debug)]
pub enum InlineElement {
Span(AbbrElementType),
Bdo(BdoElementType),
Br(BrElementType),
Img(ImgElementType),
Map(MapElementType),
Fontstyle(FontstyleElement),
Em(AbbrElementType),
Strong(AbbrElementType),
Dfn(AbbrElementType),
Code(AbbrElementType),
Samp(AbbrElementType),
Kbd(AbbrElementType),
Var(AbbrElementType),
Cite(AbbrElementType),
Abbr(AbbrElementType),
Acronym(AbbrElementType),
Q(QElementType),
Sub(AbbrElementType),
Sup(AbbrElementType),
Gloss(GlossElement),
A(AElementType),
Tt(AbbrElementType),
I(AbbrElementType),
B(AbbrElementType),
Big(AbbrElementType),
Small(AbbrElementType),
Ruby(RubyElementType),
}
#[derive(Debug)]
pub enum AncillaryContentRefname {
AncillaryContent,
}
#[derive(Debug)]
pub enum AncillaryContentShortname {
Ancillarycontent,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AncillaryContentTypeElementType {
pub refname: Option<AncillaryContentTypeRefname>,
pub shortname: Option<AncillaryContentTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List25,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct AncillaryContentDescriptionElementType {
pub refname: Option<AncillaryContentDescriptionRefname>,
pub shortname: Option<AncillaryContentDescriptionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<AncillaryContentDescriptionElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum AncillaryContentDescriptionElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct NumberElementType {
pub refname: Option<NumberRefname>,
pub shortname: Option<NumberShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
#[derive(Debug)]
pub enum SubjectRefname {
Subject,
}
#[derive(Debug)]
pub enum SubjectShortname {
Subject,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct MainSubjectElementType {
pub refname: Option<MainSubjectRefname>,
pub shortname: Option<MainSubjectShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SubjectSchemeIdentifierElementType {
pub refname: Option<SubjectSchemeIdentifierRefname>,
pub shortname: Option<SubjectSchemeIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List27,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct SubjectSchemeNameElementType {
pub refname: Option<SubjectSchemeNameRefname>,
pub shortname: Option<SubjectSchemeNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SubjectSchemeVersionElementType {
pub refname: Option<SubjectSchemeVersionRefname>,
pub shortname: Option<SubjectSchemeVersionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub enum SubjectContent315 {
Content316(SubjectContent316),
SubjectHeadingText(Vec<SubjectHeadingTextElementType>),
}
#[derive(Debug)]
pub enum NameAsSubjectRefname {
NameAsSubject,
}
#[derive(Debug)]
pub enum NameAsSubjectShortname {
Nameassubject,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct NameTypeElementType {
pub refname: Option<NameTypeRefname>,
pub shortname: Option<NameTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List18,
}
#[derive(Debug)]
pub enum NameAsSubjectContent205 {
Content206(NameAsSubjectContent206),
Content212(NameAsSubjectContent208),
GpStructuredName(AlternativeNameGpStructuredName),
GpCorporateName(NameAsSubjectGpCorporateName),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AlternativeNameElementType {
pub refname: Option<AlternativeNameRefname>,
pub shortname: Option<AlternativeNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub name_type: NameTypeElementType,
pub content_76: AlternativeNameContent76,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SubjectDateElementType {
pub refname: Option<SubjectDateRefname>,
pub shortname: Option<SubjectDateShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub subject_date_role: SubjectDateRoleElementType,
pub date: DateElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProfessionalAffiliationElementType {
pub refname: Option<ProfessionalAffiliationRefname>,
pub shortname: Option<ProfessionalAffiliationShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: ProfessionalAffiliationElementTypeContent,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub enum ProfessionalAffiliationElementTypeContent {
Content253(ProfessionalAffiliationContent253),
Content254(ProfessionalAffiliationContent254),
Affiliation(AffiliationElementType),
}
#[derive(Debug)]
pub enum AudienceRefname {
Audience,
}
#[derive(Debug)]
pub enum AudienceShortname {
Audience,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct MainAudienceElementType {
pub refname: Option<MainAudienceRefname>,
pub shortname: Option<MainAudienceShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AudienceCodeTypeElementType {
pub refname: Option<AudienceCodeTypeRefname>,
pub shortname: Option<AudienceCodeTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List29,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct AudienceCodeTypeNameElementType {
pub refname: Option<AudienceCodeTypeNameRefname>,
pub shortname: Option<AudienceCodeTypeNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
#[derive(Debug)]
pub enum AudienceContent87 {
Content88(AudienceContent88),
AudienceHeadingText(Vec<AudienceHeadingTextElementType>),
}
#[derive(Debug)]
pub enum AudienceRangeRefname {
AudienceRange,
}
#[derive(Debug)]
pub enum AudienceRangeShortname {
Audiencerange,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AudienceRangeQualifierElementType {
pub refname: Option<AudienceRangeQualifierRefname>,
pub shortname: Option<AudienceRangeQualifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List30,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AudienceRangePrecisionElementType {
pub refname: Option<AudienceRangePrecisionRefname>,
pub shortname: Option<AudienceRangePrecisionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List31,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AudienceRangeValueElementType {
pub refname: Option<AudienceRangeValueRefname>,
pub shortname: Option<AudienceRangeValueShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub struct AudienceRangeContent91 {
pub audience_range_precision: AudienceRangePrecisionElementType,
pub audience_range_value: AudienceRangeValueElementType,
}
#[derive(Debug)]
pub enum AudienceDescriptionRefname {
AudienceDescription,
}
#[derive(Debug)]
pub enum AudienceDescriptionShortname {
B207,
}
#[derive(Debug)]
pub enum ComplexityRefname {
Complexity,
}
#[derive(Debug)]
pub enum ComplexityShortname {
Complexity,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ComplexitySchemeIdentifierElementType {
pub refname: Option<ComplexitySchemeIdentifierRefname>,
pub shortname: Option<ComplexitySchemeIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List32,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ComplexityCodeElementType {
pub refname: Option<ComplexityCodeRefname>,
pub shortname: Option<ComplexityCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub enum TextContentRefname {
TextContent,
}
#[derive(Debug)]
pub enum TextContentShortname {
Textcontent,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SequenceNumberElementType {
pub refname: Option<SequenceNumberRefname>,
pub shortname: Option<SequenceNumberShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TextTypeElementType {
pub refname: Option<TextTypeRefname>,
pub shortname: Option<TextTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List153,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct TextElementType {
pub refname: Option<TextRefname>,
pub shortname: Option<TextShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<TextElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum TextElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ReviewRatingElementType {
pub refname: Option<ReviewRatingRefname>,
pub shortname: Option<ReviewRatingShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub rating: RatingElementType,
pub rating_limit: Option<RatingLimitElementType>,
pub rating_units: Vec<RatingUnitsElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct TextAuthorElementType {
pub refname: Option<TextAuthorRefname>,
pub shortname: Option<TextAuthorShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct TextSourceCorporateElementType {
pub refname: Option<TextSourceCorporateRefname>,
pub shortname: Option<TextSourceCorporateShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct TextSourceDescriptionElementType {
pub refname: Option<TextSourceDescriptionRefname>,
pub shortname: Option<TextSourceDescriptionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<TextSourceDescriptionElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum TextSourceDescriptionElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct SourceTitleElementType {
pub refname: Option<SourceTitleRefname>,
pub shortname: Option<SourceTitleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct TextSourceLinkElementType {
pub refname: Option<TextSourceLinkRefname>,
pub shortname: Option<TextSourceLinkShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ContentDateElementType {
pub refname: Option<ContentDateRefname>,
pub shortname: Option<ContentDateShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content_date_role: ContentDateRoleElementType,
pub date: DateElementType,
}
#[derive(Debug)]
pub enum CitedContentRefname {
CitedContent,
}
#[derive(Debug)]
pub enum CitedContentShortname {
Citedcontent,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CitedContentTypeElementType {
pub refname: Option<CitedContentTypeRefname>,
pub shortname: Option<CitedContentTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List156,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SourceTypeElementType {
pub refname: Option<SourceTypeRefname>,
pub shortname: Option<SourceTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List157,
}
#[derive(Debug)]
pub enum CitedContent103 {
Content104(CitedContent104),
Content105(CitedContent105),
Content107(CitedContent106),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct CitationNoteElementType {
pub refname: Option<CitationNoteRefname>,
pub shortname: Option<CitationNoteShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<CitationNoteElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum CitationNoteElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct ResourceLinkElementType {
pub refname: Option<ResourceLinkRefname>,
pub shortname: Option<ResourceLinkShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
#[derive(Debug)]
pub enum SupportingResourceRefname {
SupportingResource,
}
#[derive(Debug)]
pub enum SupportingResourceShortname {
Supportingresource,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ResourceContentTypeElementType {
pub refname: Option<ResourceContentTypeRefname>,
pub shortname: Option<ResourceContentTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List158,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ResourceModeElementType {
pub refname: Option<ResourceModeRefname>,
pub shortname: Option<ResourceModeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List159,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ResourceFeatureElementType {
pub refname: Option<ResourceFeatureRefname>,
pub shortname: Option<ResourceFeatureShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub resource_feature_type: ResourceFeatureTypeElementType,
pub feature_value: Option<FeatureValueElementType>,
pub feature_note: Vec<FeatureNoteElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ResourceVersionElementType {
pub refname: Option<ResourceVersionRefname>,
pub shortname: Option<ResourceVersionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub resource_form: ResourceFormElementType,
pub resource_version_feature: Vec<ResourceVersionFeatureElementType>,
pub resource_link: Vec<ResourceLinkElementType>,
pub epub_usage_constraint: Vec<EpubUsageConstraintElementType>,
pub epub_license: Vec<EpubLicenseWithDateType>,
pub content_date: Vec<ContentDateElementType>,
}
#[derive(Debug)]
pub enum PrizeRefname {
Prize,
}
#[derive(Debug)]
pub enum PrizeShortname {
Prize,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PrizeIdentifierElementType {
pub refname: Option<PrizeIdentifierRefname>,
pub shortname: Option<PrizeIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub prize_id_type: PrizeIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct PrizeNameElementType {
pub refname: Option<PrizeNameRefname>,
pub shortname: Option<PrizeNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PrizeYearElementType {
pub refname: Option<PrizeYearRefname>,
pub shortname: Option<PrizeYearShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct AwardingBodyElementType {
pub refname: Option<AwardingBodyRefname>,
pub shortname: Option<AwardingBodyShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PrizeCountryElementType {
pub refname: Option<PrizeCountryRefname>,
pub shortname: Option<PrizeCountryShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List91,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PrizeRegionElementType {
pub refname: Option<PrizeRegionRefname>,
pub shortname: Option<PrizeRegionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List49,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PrizeCodeElementType {
pub refname: Option<PrizeCodeRefname>,
pub shortname: Option<PrizeCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List41,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct PrizeStatementElementType {
pub refname: Option<PrizeStatementRefname>,
pub shortname: Option<PrizeStatementShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<PrizeStatementElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum PrizeStatementElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct PrizeJuryElementType {
pub refname: Option<PrizeJuryRefname>,
pub shortname: Option<PrizeJuryShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<PrizeJuryElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum PrizeJuryElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
#[derive(Debug)]
pub enum EventIdentifierRefname {
EventIdentifier,
}
#[derive(Debug)]
pub enum EventIdentifierShortname {
Eventidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EventIdTypeElementType {
pub refname: Option<EventIdTypeRefname>,
pub shortname: Option<EventIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List244,
}
///Event type
#[derive(Debug)]
pub enum List245 {
///Unspecified – see description
_00,
///Book signing
_01,
///Book reading
_02,
}
#[derive(Debug)]
pub enum EventTypeRefname {
EventType,
}
#[derive(Debug)]
pub enum EventTypeShortname {
X548,
}
///Event status
#[derive(Debug)]
pub enum List246 {
///Announced
A,
///Cancelled
///Abandoned after having previously been announced
C,
}
#[derive(Debug)]
pub enum EventStatusRefname {
EventStatus,
}
#[derive(Debug)]
pub enum EventStatusShortname {
X549,
}
///Content audience
#[derive(Debug)]
pub enum List154 {
///Unrestricted
///Any audience
_00,
///Restricted
///Distribution by agreement between the parties to the ONIX exchange (this value is provided to cover applications where ONIX content includes material which is not for general distribution)
_01,
///Booktrade
///Distributors, bookstores, publisher’s own staff etc
_02,
///End-customers
_03,
///Librarians
_04,
///Teachers
_05,
///Students
_06,
///Press
///Press or other media
_07,
///Shopping comparison service
///Where a specially formatted description is required for this audience
_08,
///Search engine index
///Text not intended for display, but may be used (in addition to any less restricted text) for indexing and search
_09,
///Bloggers
///(Including vloggers, influencers etc) Where this is distinct from end customers or the Press
_10,
}
#[derive(Debug)]
pub enum ContentAudienceRefname {
ContentAudience,
}
#[derive(Debug)]
pub enum ContentAudienceShortname {
X427,
}
#[derive(Debug)]
pub enum EventNameRefname {
EventName,
}
#[derive(Debug)]
pub enum EventNameShortname {
X516,
}
#[derive(Debug)]
pub struct PromotionalEventContent257 {
pub content_258: PromotionalEventContent258,
pub contributor_statement: Vec<ContributorStatementElementType>,
}
#[derive(Debug)]
pub enum EventDescriptionRefname {
EventDescription,
}
#[derive(Debug)]
pub enum EventDescriptionShortname {
X550,
}
#[derive(Debug)]
pub enum EventOccurrenceRefname {
EventOccurrence,
}
#[derive(Debug)]
pub enum EventOccurrenceShortname {
Eventoccurrence,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct OccurrenceDateElementType {
pub refname: Option<OccurrenceDateRefname>,
pub shortname: Option<OccurrenceDateShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub occurrence_date_role: OccurrenceDateRoleElementType,
pub date: DateElementType,
}
#[derive(Debug)]
pub struct EventOccurrenceContent173 {
pub content_174: EventOccurrenceContent174,
pub location_name: Vec<LocationNameElementType>,
pub venue_name: VenueNameElementType,
pub content_176: Option<EventOccurrenceContent176>,
pub venue_note: Vec<VenueNoteElementType>,
}
#[derive(Debug)]
pub enum EventSponsorRefname {
EventSponsor,
}
#[derive(Debug)]
pub enum EventSponsorShortname {
Eventsponsor,
}
#[derive(Debug)]
pub struct EventSponsorContent178 {
pub event_sponsor_identifier: Vec<EventSponsorIdentifierElementType>,
pub content_179: Option<CopyrightOwnerContent143>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Script of transliterated textual data element
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct PersonNameElementType {
pub refname: Option<PersonNameRefname>,
pub shortname: Option<PersonNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub textscript: Option<List121>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Script of transliterated textual data element
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct CorporateNameElementType {
pub refname: Option<CorporateNameRefname>,
pub shortname: Option<CorporateNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub textscript: Option<List121>,
pub language: Option<List74>,
pub content: String,
}
#[derive(Debug)]
pub enum WebsiteRefname {
Website,
}
#[derive(Debug)]
pub enum WebsiteShortname {
Website,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct WebsiteRoleElementType {
pub refname: Option<WebsiteRoleRefname>,
pub shortname: Option<WebsiteRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List73,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct WebsiteDescriptionElementType {
pub refname: Option<WebsiteDescriptionRefname>,
pub shortname: Option<WebsiteDescriptionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<WebsiteDescriptionElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum WebsiteDescriptionElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct WebsiteLinkElementType {
pub refname: Option<WebsiteLinkRefname>,
pub shortname: Option<WebsiteLinkShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
#[derive(Debug)]
pub enum LevelSequenceNumberRefname {
LevelSequenceNumber,
}
#[derive(Debug)]
pub enum LevelSequenceNumberShortname {
B284,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TextItemElementType {
pub refname: Option<TextItemRefname>,
pub shortname: Option<TextItemShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub text_item_type: TextItemTypeElementType,
pub text_item_identifier: Vec<TextItemIdentifierElementType>,
pub page_run: Vec<PageRunElementType>,
pub number_of_pages: Option<NumberOfPagesElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AvItemElementType {
pub refname: Option<AvItemRefname>,
pub shortname: Option<AvItemShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub av_item_type: AvItemTypeElementType,
pub av_item_identifier: Vec<AvItemIdentifierElementType>,
pub time_run: Vec<TimeRunElementType>,
pub av_duration: Option<AvDurationElementType>,
}
#[derive(Debug)]
pub struct ContentItemContent120 {
pub component_type_name: ComponentTypeNameElementType,
pub component_number: Option<ComponentNumberElementType>,
pub title_detail: Vec<TitleDetailElementType>,
}
#[derive(Debug)]
pub struct ContentItemContent121 {
pub component_number: Option<ComponentNumberElementType>,
pub title_detail: Vec<TitleDetailElementType>,
}
#[derive(Debug)]
pub enum PublisherRefname {
Publisher,
}
#[derive(Debug)]
pub enum PublisherShortname {
Publisher,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PublishingRoleElementType {
pub refname: Option<PublishingRoleRefname>,
pub shortname: Option<PublishingRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List45,
}
#[derive(Debug)]
pub enum PublisherContent263 {
Content264(PublisherContent264),
PublisherName(Vec<PublisherNameElementType>),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct FundingElementType {
pub refname: Option<FundingRefname>,
pub shortname: Option<FundingShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub funding_identifier: Vec<FundingIdentifierElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CopyrightStatementElementType {
pub refname: Option<CopyrightStatementRefname>,
pub shortname: Option<CopyrightStatementShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub copyright_type: Option<CopyrightTypeElementType>,
pub content_146: CopyrightStatementContent146,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct CopyrightStatementTextElementType {
pub refname: Option<CopyrightStatementTextRefname>,
pub shortname: Option<CopyrightStatementTextShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<CopyrightStatementTextElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum CopyrightStatementTextElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
#[derive(Debug)]
pub struct PublishingDetailContent272 {
pub imprint: Vec<ImprintElementType>,
pub publisher: Vec<PublisherElementType>,
}
#[derive(Debug)]
pub enum CityOfPublicationRefname {
CityOfPublication,
}
#[derive(Debug)]
pub enum CityOfPublicationShortname {
B209,
}
#[derive(Debug)]
pub enum CountryOfPublicationRefname {
CountryOfPublication,
}
#[derive(Debug)]
pub enum CountryOfPublicationShortname {
B083,
}
#[derive(Debug)]
pub enum ProductContactRefname {
ProductContact,
}
#[derive(Debug)]
pub enum ProductContactShortname {
Productcontact,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductContactRoleElementType {
pub refname: Option<ProductContactRoleRefname>,
pub shortname: Option<ProductContactRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List198,
}
#[derive(Debug)]
pub enum ProductContactContent240 {
Content241(ProductContactContent241),
ProductContactName(ProductContactNameElementType),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct FaxNumberElementType {
pub refname: Option<FaxNumberRefname>,
pub shortname: Option<FaxNumberShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub struct ProductContactContent242 {
pub street_address: StreetAddressElementType,
pub location_name: LocationNameElementType,
pub postal_code: Option<PostalCodeElementType>,
pub region_code: Option<RegionCodeElementType>,
pub country_code: CountryCodeElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PublishingStatusElementType {
pub refname: Option<PublishingStatusRefname>,
pub shortname: Option<PublishingStatusShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List64,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct PublishingStatusNoteElementType {
pub refname: Option<PublishingStatusNoteRefname>,
pub shortname: Option<PublishingStatusNoteShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<PublishingStatusNoteElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum PublishingStatusNoteElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
#[derive(Debug)]
pub enum PublishingDateRefname {
PublishingDate,
}
#[derive(Debug)]
pub enum PublishingDateShortname {
Publishingdate,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PublishingDateRoleElementType {
pub refname: Option<PublishingDateRoleRefname>,
pub shortname: Option<PublishingDateRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List163,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Format of date data element, eg YYYYMMDD
///● Added at revision 3.0 (2010)
#[derive(Debug)]
pub struct DateElementType {
pub refname: Option<DateRefname>,
pub shortname: Option<DateShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub dateformat: Option<List55>,
pub content: String,
}
#[derive(Debug)]
pub enum LatestReprintNumberRefname {
LatestReprintNumber,
}
#[derive(Debug)]
pub enum LatestReprintNumberShortname {
X446,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SalesRightsElementType {
pub refname: Option<SalesRightsRefname>,
pub shortname: Option<SalesRightsShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub sales_rights_type: SalesRightsTypeElementType,
pub territory: TerritoryElementType,
pub sales_restriction: Vec<SalesRestrictionElementType>,
pub product_identifier: Vec<ProductIdentifierElementType>,
pub publisher_name: Vec<PublisherNameElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct RowSalesRightsTypeElementType {
pub refname: Option<RowSalesRightsTypeRefname>,
pub shortname: Option<RowSalesRightsTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List46,
}
///Work relation
#[derive(Debug)]
pub enum List164 {
///Manifestation of
///Product A is or includes a manifestation of work X. (There is a direct parent–child relation between work X and the product). The instance of RelatedWork must include an identifier for work X
_01,
///Derived from
///Product A is or includes a manifestation of a work X which is derived (directly) from related work W in one or more of the ways specified in the former ISTC rules. (There is a relationship between a grandparent work W and a parent work X, and between that parent work and the product.) This relation type is intended to enable products with a common ‘grandparent’ work to be linked without specifying the precise nature of their derivation, and without necessarily assigning an identifier to the product’s parent work X. The instance of RelatedWork must include an identifier for work W. Codes 20–30 may be used instead to provide details of the derivation of work X from work W
_02,
///Related work is derived from this
///Product A is a manifestation of a work X from which related work Y is (directly) derived in one or more of the ways specified in the former ISTC rules. (There is a relationship between a parent work X and a child work Y, and between the parent work X and the product.) The instance of RelatedWork must include an identifier for work Y. Codes 40–50 may be used instead to provide details of the derivation of work Y from work X
_03,
///Other work in same (bibliographic) collection
///Product A is a manifestation of a work X in the same (bibliographic) collection as related work Z. (There is a relationship between the parent work X and a ‘same collection’ work Z, and between the parent work X and the product.) The instance of RelatedWork must include an identifier for work Z
_04,
///Other work by same contributor
///Product A is a manifestation of a work X by the same contributor(s) as related work Z. (There is a relationship between the parent work X and a work Z where X and Z have at least one contributor in common, and between the parent work X and the product.) The instance of RelatedWork must include an identifier for work Z
_05,
///Manifestation of original work
///Product A is or includes a manifestation of work X. (There is a direct parent–child relation between work X and the product, and work X is original, ie not a derived work of any kind – there is no work W.) The instance of RelatedWork must include an identifier for work X. See code 01 if the originality of X is unspecified or unknown
_06,
///Derived from by abridgement
///Product A is or includes a manifestation of a work X which is derived directly from related work W by abridgement. (There is a relationship between the grandparent [unabridged] work W and the parent [abridged] work X, and between the parent work X and the product.) The instance of RelatedWork must include an identifier for [unabridged] work W. EditionType of product A would normally be ABR. See code 02 if the method of derivation of X from W is unknown or unstated. The [abridged] parent work X may be identified using a separate instance of RelatedWork with relation code 01
_21,
///Derived from by annotation
///Product A is or includes a manifestation of a work X which is derived directly from related work W by annotation. The instance of RelatedWork must include an identifier for [unannotated] work W. EditionType of product X would normally be ANN, VAR etc. See code 02 if the method of derivation of X from W is unknown or unstated. The [annotated] parent work X may be identified using a separate instance of RelatedWork with relation code 01
_22,
///Derived from by compilation
///The content of the work X has been formed by compilation of work W and another work Z. The instance of RelatedWork must include an identifier for work W. EditionType of product A may be CMB. Work Z may be identified using a separate instance of RelatedWork with code 23. The compiled parent work X may be identified using a separate instance of RelatedWork with relation code 01
_23,
///Derived from by criticism
///The content of the work W has been augmented by the addition of critical commentary to form work X. The instance of RelatedWork must include an identifier for work W. EditionType of Product A would normally be CRI
_24,
///Derived from by excerption
///The content of the work X is an excerpt from work W. The instance of RelatedWork must include an identifier for [complete] work W
_25,
///Derived from by expurgation
///Offensive or unsuitable text material has been removed from work W to form work X. The instance of RelatedWork must include an identifier for [unsuitable] work W. EditionType of Product A would normally be EXP
_26,
///Derived from by addition (of non-text material)
///The content of work W has been augmented by the addition of significant non-textual elements to form work X. The instance of RelatedWork must include an identifier for [unaugmented] work W. EditionType of product A may be ILL, ENH etc
_27,
///Derived from by revision
///The content of work W has been revised and/or expanded or enlarged to form work X [including addition, deletion or replacement of text material]. The instance of RelatedWork must include an identifier for [unrevised] work W. EditionType of product A may be REV, NED, etc, or A may be numbered
_28,
///Derived from via translation
///The content of work W has been translated into another language to form work X. The instance of RelatedWork must include an identifier for [untranslated] work W
_29,
///Derived from via adaptation
///The content of work W has been adapted [into a different literary form] to form work X. The instance of RelatedWork must include an identifier for [unadapted] work W. EditionType of product A would normally be ADP, ACT etc
_30,
///Derived from by subtraction (of non-text material)
///The content of work W has been modified by the removal of significant non-textual elements to form work X. The instance of RelatedWork must include an identifier for work W
_31,
///Related work is derived from this by abridgement
///Product A is a manifestation of a work X from which the related work Y is (directly) derived by abridgement. (There is a relationship between the parent [unabridged] work X and the child [abridged] work Y, and between parent work X and the product.) The instance of RelatedWork must include the identifier for [abridged] work Y. See code 03 if the method of derivation of Y from X is unknown or unstated. The [unabridged] parent work X may be identified using a separate instance of RelatedWork with relation code 01 or 06
_41,
///Related work is derived from this by annotation
_42,
///Related work is derived from this by compilation
_43,
///Related work is derived from this by criticism
_44,
///Related work is derived from this by excerption
_45,
///Related work is derived from this by expurgation
_46,
///Related work is derived from this by addition (of non-text material)
_47,
///Related work is derived from this by revision
_48,
///Related work is derived from this via translation
_49,
///Related work is derived from this via adaptation
_50,
///Derived from this by subtraction (of non-text material)
_51,
///Manifestation of LRM work
///Product A is or includes a manifestation of an expression of LRM work X. Do not use, except as a workaround for differences between LRM works and expressions, and ONIX works in LRM library practice, and always also include a relationship to an ONIX work using code 01
_98,
///Manifestation of LRM expression
///Product A is or includes a manifestation of an LRM expression with the same content, same agents and in the same modality (text, audio, video etc) as work X. Do not use, except as a workaround for differences between LRM expressions and ONIX works in LRM library practice, and always also include a relationship to an ONIX work using code 01
_99,
}
#[derive(Debug)]
pub enum WorkRelationCodeRefname {
WorkRelationCode,
}
#[derive(Debug)]
pub enum WorkRelationCodeShortname {
X454,
}
#[derive(Debug)]
pub enum WorkIdentifierRefname {
WorkIdentifier,
}
#[derive(Debug)]
pub enum WorkIdentifierShortname {
Workidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct WorkIdTypeElementType {
pub refname: Option<WorkIdTypeRefname>,
pub shortname: Option<WorkIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List16,
}
///Product relation
#[derive(Debug)]
pub enum List51 {
///Unspecified
///Product is related to RelatedProduct in a way that cannot be specified by another code value
_00,
///Includes
///Product includes RelatedProduct (inverse of code 02)
_01,
///Is part of
///Product is part of RelatedProduct: use for ‘also available as part of’ (inverse of code 01)
_02,
///Replaces
///Product replaces, or is new edition of, RelatedProduct (inverse of code 05)
_03,
///Has companion product
///Product and RelatedProduct are companion products, intended to be used, or are usable, together (is own inverse). Only for use in ONIX 3.0 or later
_04,
///Replaced by
///Product is replaced by, or has new edition, RelatedProduct (inverse of code 03)
_05,
///Alternative format
///Product is available in an alternative format as RelatedProduct – indicates an alternative format of the same content which is or may be available (is own inverse)
_06,
///Has ancillary product
///Product has an ancillary or supplementary product RelatedProduct (inverse of code 08)
_07,
///Is ancillary to
///Product is ancillary or supplementary to RelatedProduct (inverse of code 07)
_08,
///Is remaindered as
///Product is remaindered as RelatedProduct, when a remainder merchant assigns its own identifier to the product (inverse of code 10)
_09,
///Is remainder of
///Product was originally sold as RelatedProduct, indicating the publisher’s original identifier for a title which is offered as a remainder under a different identifier (inverse of code 09)
_10,
///Is other-language version of
///Product is an other-language version of RelatedProduct (is own inverse)
_11,
///Publisher’s suggested alternative
///Product has a publisher’s suggested alternative RelatedProduct, which does not, however, carry the same content (cf 05 and 06)
_12,
///Epublication based on (print product)
///Product is an epublication based on printed product RelatedProduct. The related product is the source of any print-equivalent page numbering present in the epublication (inverse of code 27)
_13,
///POD replacement for
///Product is a POD replacement for RelatedProduct. RelatedProduct is an out-of-print product replaced by a print-on-demand version under a new ISBN (inverse of code 17)
_16,
///Replaced by POD
///Product is replaced by POD RelatedProduct. RelatedProduct is a print-on-demand replacement, under a new ISBN, for an out-of-print Product (inverse of code 16)
_17,
///Is special edition of
///Product is a special edition of RelatedProduct. Used for a special edition (de: ‘Sonderausgabe’) with different cover, binding, premium content etc – more than ‘alternative format’ – which may be available in limited quantity and for a limited time (inverse of code 19)
_18,
///Has special edition
///Product has a special edition RelatedProduct (inverse of code 18)
_19,
///Is prebound edition of
///Product is a prebound edition of RelatedProduct (In the US, a ‘prebound’ edition is ‘a book that was previously bound and has been rebound with a library quality hardcover binding. In almost all commercial cases, the book in question began as a paperback. This might also be termed ‘re-bound’) (inverse of code 21)
_20,
///Is original of prebound edition
///Product is the regular edition of which RelatedProduct is a prebound edition (inverse of code 20)
_21,
///Product by same author
///Product and RelatedProduct have a common author
_22,
///Similar product
///RelatedProduct is another product that is suggested as similar to Product (‘if you liked Product, you may also like RelatedProduct’, or vice versa). In some markets, this may be termed a ‘comparison title’ or ‘comp title’
_23,
///Is facsimile of
///Product is a facsimile edition of RelatedProduct (inverse of code 25)
_24,
///Is original of facsimile
///Product is the original edition from which a facsimile edition RelatedProduct is taken (inverse of code 24)
_25,
///Is license for
///Product is a license for a digital RelatedProduct, traded or supplied separately
_26,
///Electronic version available as
///RelatedProduct is an electronic version of print Product (inverse of code 13)
_27,
///Enhanced version available as
///RelatedProduct is an ‘enhanced’ version of Product, with additional content. Typically used to link an enhanced e-book to its original ‘unenhanced’ equivalent, but not specifically limited to linking e-books – for example, may be used to link illustrated and non-illustrated print books. Product and RelatedProduct should share the same ProductForm (inverse of code 29)
_28,
///Basic version available as
///RelatedProduct is a basic version of Product. Product and RelatedProduct should share the same ProductForm (inverse of code 28)
_29,
///Product in same collection
///RelatedProduct and Product are part of the same collection (eg two products in same series or set) (is own inverse)
_30,
///Has alternative in a different market sector
///RelatedProduct is an alternative product in another sector (of the same geographical market). Indicates an alternative that carries the same content, but available to a different set of customers, as one or both products are retailer-, channel- or market sector-specific (is own inverse)
_31,
///Has equivalent intended for a different market
///RelatedProduct is an equivalent product, often intended for another (geographical) market. Indicates an alternative that carries essentially the same content, though slightly adapted for local circumstances (as opposed to a translation – use code 11) (is own inverse)
_32,
///Has alternative intended for different market
///RelatedProduct is an alternative product, often intended for another (geographical) market. Indicates the content of the alternative is identical in all respects (is own inverse)
_33,
///Cites
///Product cites RelatedProduct (inverse of code 35)
_34,
///Is cited by
///Product is the object of a citation in RelatedProduct (inverse of code 34)
_35,
///Is signed version of
///Product is a signed copy of RelatedProduct. Use where signed copies are given a distinct product identifier and can be ordered separately, but are otherwise identical (inverse of code 38)
_37,
///Has signed version
///Product is an unsigned copy of RelatedProduct. Use where signed copies are given a distinct product identifier and can be ordered separately, but are otherwise identical (inverse of code 37)
_38,
///Has related student material
///Product is intended for teacher use, and the related product is for student use
_39,
///Has related teacher material
///Product is intended for student use, and the related product is for teacher use
_40,
///Some content shared with
///Product includes some content shared with RelatedProduct. Note the shared content does not form the whole of either product. Compare with the ‘includes’ / ‘is part of’ relationship pair (codes 01 and 02), where the shared content forms the whole of one of the products, and with the ‘alternative format’ relationship (code 06), where the shared content forms the whole of both products (code 41 is own inverse)
_41,
///Is later edition of first edition
///Product is a later edition of RelatedProduct, where the related product is the first edition
_42,
///Adapted from
///Product is an adapted (dramatized, abridged, novelized etc) version of RelatedProduct (inverse of code 44). Only for use in ONIX 3.0 or later
_43,
///Adapted as
///Product is the original from which RelatedProduct is adapted (dramatized etc) (inverse of code 43). Only for use in ONIX 3.0 or later
_44,
///Has linked product offer
///Purchases of Product may qualify for one or more copies of RelatedProduct either free of charge or at a reduced price (inverse of code 48). This may be dependent on retailer participation, upon price and upon the quantity of the Product purchased. Only for use in ONIX 3.0 or later
_45,
///May be substituted by
///If ordered, Product may (at the supplier’s discretion) be substituted and the RelatedProduct supplied instead (inverse of code 47). Only for use in ONIX 3.0 or later
_46,
///May be substituted for
///If ordered, RelatedProduct may (at the supplier’s discretion) be substituted and the Product supplied instead (inverse of code 46). Only for use in ONIX 3.0 or later
_47,
///Is linked product offer
///Purchases of RelatedProduct may qualify for one or more copies of Product either free of charge or at a reduced price (inverse of code 45). This may be dependent on retailer participation, upon price and upon the quantity of the RelatedProduct purchased. Only for use in ONIX 3.0 or later
_48,
}
#[derive(Debug)]
pub enum ProductRelationCodeRefname {
ProductRelationCode,
}
#[derive(Debug)]
pub enum ProductRelationCodeShortname {
X455,
}
#[derive(Debug)]
pub enum CoverManifestRefname {
CoverManifest,
}
#[derive(Debug)]
pub enum CoverManifestShortname {
Covermanifest,
}
#[derive(Debug)]
pub struct BodyManifestGpProductSpecification {
pub specification_bundle_name: Vec<SpecificationBundleNameElementType>,
pub specification_detail: Vec<SpecificationDetailElementType>,
pub specification_feature: Vec<SpecificationFeatureElementType>,
pub specification_description: Vec<SpecificationDescriptionElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CoverResourceElementType {
pub refname: Option<CoverResourceRefname>,
pub shortname: Option<CoverResourceShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub sequence_number: Option<SequenceNumberElementType>,
pub sales_outlet: Vec<SalesOutletElementType>,
pub content_151: CoverResourceContent151,
}
#[derive(Debug)]
pub enum BodyManifestRefname {
BodyManifest,
}
#[derive(Debug)]
pub enum BodyManifestShortname {
Bodymanifest,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct BodyResourceElementType {
pub refname: Option<BodyResourceRefname>,
pub shortname: Option<BodyResourceShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub sequence_number: Option<SequenceNumberElementType>,
pub gp_resource_specification: BodyResourceGpResourceSpecification,
}
#[derive(Debug)]
pub enum InsertManifestRefname {
InsertManifest,
}
#[derive(Debug)]
pub enum InsertManifestShortname {
Insertmanifest,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct InsertPointElementType {
pub refname: Option<InsertPointRefname>,
pub shortname: Option<InsertPointShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub insert_point_type: InsertPointTypeElementType,
pub insert_point_value: InsertPointValueElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct InsertResourceElementType {
pub refname: Option<InsertResourceRefname>,
pub shortname: Option<InsertResourceShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub sequence_number: Option<SequenceNumberElementType>,
pub sales_outlet: Vec<SalesOutletElementType>,
pub content_196: CoverResourceContent151,
}
#[derive(Debug)]
pub enum SupplementManifestRefname {
SupplementManifest,
}
#[derive(Debug)]
pub enum SupplementManifestShortname {
Supplementmanifest,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SalesOutletElementType {
pub refname: Option<SalesOutletRefname>,
pub shortname: Option<SalesOutletShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content_295: SalesOutletContent295,
}
#[derive(Debug)]
pub enum SupplementManifestContent319 {
Content320(SupplementManifestContent320),
NoSupplement(NoSupplementElementType),
}
#[derive(Debug)]
pub enum TerritoryRefname {
Territory,
}
#[derive(Debug)]
pub enum TerritoryShortname {
Territory,
}
#[derive(Debug)]
pub struct TerritoryContent341 {
pub countries_included: CountriesIncludedElementType,
pub regions_included: Option<RegionsIncludedElementType>,
pub regions_excluded: Option<RegionsExcludedElementType>,
}
#[derive(Debug)]
pub struct TerritoryContent342 {
pub regions_included: RegionsIncludedElementType,
pub countries_excluded: Option<CountriesExcludedElementType>,
pub regions_excluded: Option<RegionsExcludedElementType>,
}
#[derive(Debug)]
pub enum SalesRestrictionRefname {
SalesRestriction,
}
#[derive(Debug)]
pub enum SalesRestrictionShortname {
Salesrestriction,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SalesRestrictionTypeElementType {
pub refname: Option<SalesRestrictionTypeRefname>,
pub shortname: Option<SalesRestrictionTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List71,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct SalesRestrictionNoteElementType {
pub refname: Option<SalesRestrictionNoteRefname>,
pub shortname: Option<SalesRestrictionNoteShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<SalesRestrictionNoteElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum SalesRestrictionNoteElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Format of date data element, eg YYYYMMDD
///● Added at revision 3.0 (2010)
#[derive(Debug)]
pub struct StartDateElementType {
pub refname: Option<StartDateRefname>,
pub shortname: Option<StartDateShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub dateformat: Option<List55>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Format of date data element, eg YYYYMMDD
///● Added at revision 3.0 (2010)
#[derive(Debug)]
pub struct EndDateElementType {
pub refname: Option<EndDateRefname>,
pub shortname: Option<EndDateShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub dateformat: Option<List55>,
pub content: String,
}
#[derive(Debug)]
pub enum PublisherRepresentativeRefname {
PublisherRepresentative,
}
#[derive(Debug)]
pub enum PublisherRepresentativeShortname {
Publisherrepresentative,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AgentRoleElementType {
pub refname: Option<AgentRoleRefname>,
pub shortname: Option<AgentRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List69,
}
#[derive(Debug)]
pub enum PublisherRepresentativeContent267 {
Content268(PublisherRepresentativeContent268),
AgentName(AgentNameElementType),
}
///Market publishing status
#[derive(Debug)]
pub enum List68 {
///Unspecified
///Status is not specified (as distinct from unknown): the default if the MarketPublishingStatus element is not sent
_00,
///Cancelled
///The product was announced for publication in this market, and subsequently abandoned. A market publication date must not be sent
_01,
///Forthcoming
///Not yet published in this market, should be accompanied by expected local publication date
_02,
///Postponed indefinitely
///The product was announced for publication in this market, and subsequently postponed with no expected local publication date. A market publication date must not be sent
_03,
///Active
///The product was published in this market, and is still active in the sense that the publisher will accept orders for it, though it may or may not be immediately available, for which see SupplyDetail
_04,
///No longer our product
///Responsibility for the product in this market has been transferred elsewhere (with details of acquiring publisher representative in this market if possible in PR.25 (in ONIX 2.1) OR P.25 (in ONIX 3.0 or later))
_05,
///Out of stock indefinitely
///The product was active in this market, but is now inactive in the sense that (a) the publisher representative (local publisher or sales agent) cannot fulfill orders for it, though stock may still be available elsewhere in the supply chain, and (b) there are no current plans to bring it back into stock in this market. Code 06 does not specifically imply that returns are or are not still accepted
_06,
///Out of print
///The product was active in this market, but is now permanently inactive in this market in the sense that (a) the publisher representative (local publisher or sales agent) will not accept orders for it, though stock may still be available elsewhere in the supply chain, and (b) the product will not be made available again in this market under the same ISBN. Code 07 normally implies that the publisher will not accept returns beyond a specified date
_07,
///Inactive
///The product was active in this market, but is now permanently or indefinitely inactive in the sense that the publisher representative (local publisher or sales agent) will not accept orders for it, though stock may still be available elsewhere in the supply chain. Code 08 covers both of codes 06 and 07, and may be used where the distinction between those values is either unnecessary or meaningless
_08,
///Unknown
///The sender of the ONIX record does not know the current publishing status in this market
_09,
///Remaindered
///The product is no longer available in this market from the publisher representative (local publisher or sales agent), under the current ISBN, at the current price. It may be available to be traded through another channel, usually at a reduced price
_10,
///Withdrawn from sale
///Withdrawn from sale in this market, typically for legal reasons or to avoid giving offence
_11,
///Not available in this market
///Either no rights are held for the product in this market, or for other reasons the publisher has decided not to make it available in this market
_12,
///Active, but not sold separately
///The product is published and active in this market but, as a publishing decision, its constituent parts are not sold separately – only in an assembly or as part of a pack, eg with Product composition code 01. Also use with Product composition codes 30, 31 where depending on product composition and pricing, items in the pack may be saleable separately at retail
_13,
///Active, with market restrictions
///The product is published in this market and active, but is not available to all customer types, typically because the market is split between exclusive sales agents for different market segments. In ONIX 2.1, should be accompanied by a free-text statement in MarketRestrictionDetail describing the nature of the restriction. In ONIX 3.0 or later, the SalesRestriction composite in Group P.24 should be used
_14,
///Recalled
///Recalled in this market for reasons of consumer safety
_15,
///Temporarily withdrawn from sale
///Temporarily withdrawn from sale in this market, typically for quality or technical reasons. In ONIX 3.0 or later, must be accompanied by expected availability date coded ‘22’ within the MarketDate composite, except in exceptional circumstances where no date is known
_16,
///Permanently withdrawn from sale
///Withdrawn permanently from sale in this market. Effectively synonymous with ‘Out of print’ (code 07), but specific to downloadable and online digital products (where no ‘stock’ would remain in the supply chain). Only for use in ONIX 3.0 or later
_17,
///Active, but not sold as set
///The various constituent parts of a product are published and active in this market but, as a publishing decision, they are not sold together as a single product – eg with Product composition code 11 – and are only available as a number of individual items. Only for use in ONIX 3.0 or later
_18,
}
#[derive(Debug)]
pub enum MarketPublishingStatusRefname {
MarketPublishingStatus,
}
#[derive(Debug)]
pub enum MarketPublishingStatusShortname {
J407,
}
#[derive(Debug)]
pub enum MarketPublishingStatusNoteRefname {
MarketPublishingStatusNote,
}
#[derive(Debug)]
pub enum MarketPublishingStatusNoteShortname {
X406,
}
#[derive(Debug)]
pub enum MarketDateRefname {
MarketDate,
}
#[derive(Debug)]
pub enum MarketDateShortname {
Marketdate,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct MarketDateRoleElementType {
pub refname: Option<MarketDateRoleRefname>,
pub shortname: Option<MarketDateRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List163,
}
#[derive(Debug)]
pub enum PromotionCampaignRefname {
PromotionCampaign,
}
#[derive(Debug)]
pub enum PromotionCampaignShortname {
K165,
}
#[derive(Debug)]
pub enum InitialPrintRunRefname {
InitialPrintRun,
}
#[derive(Debug)]
pub enum InitialPrintRunShortname {
K167,
}
#[derive(Debug)]
pub enum ReprintDetailRefname {
ReprintDetail,
}
#[derive(Debug)]
pub enum ReprintDetailShortname {
K309,
}
#[derive(Debug)]
pub enum CopiesSoldRefname {
CopiesSold,
}
#[derive(Debug)]
pub enum CopiesSoldShortname {
K168,
}
#[derive(Debug)]
pub enum BookClubAdoptionRefname {
BookClubAdoption,
}
#[derive(Debug)]
pub enum BookClubAdoptionShortname {
K169,
}
#[derive(Debug)]
pub enum SupplierRefname {
Supplier,
}
#[derive(Debug)]
pub enum SupplierShortname {
Supplier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SupplierRoleElementType {
pub refname: Option<SupplierRoleRefname>,
pub shortname: Option<SupplierRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List93,
}
#[derive(Debug)]
pub enum SupplierContent322 {
Content323(NewSupplierContent216),
SupplierName(SupplierNameElementType),
}
#[derive(Debug)]
pub enum SupplyContactRefname {
SupplyContact,
}
#[derive(Debug)]
pub enum SupplyContactShortname {
Supplycontact,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SupplyContactRoleElementType {
pub refname: Option<SupplyContactRoleRefname>,
pub shortname: Option<SupplyContactRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List239,
}
#[derive(Debug)]
pub enum SupplyContactContent327 {
Content328(SupplyContactContent328),
SupplyContactName(SupplyContactNameElementType),
}
#[derive(Debug)]
pub enum SupplierOwnCodingRefname {
SupplierOwnCoding,
}
#[derive(Debug)]
pub enum SupplierOwnCodingShortname {
Supplierowncoding,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SupplierCodeTypeElementType {
pub refname: Option<SupplierCodeTypeRefname>,
pub shortname: Option<SupplierCodeTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List165,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct SupplierCodeTypeNameElementType {
pub refname: Option<SupplierCodeTypeNameRefname>,
pub shortname: Option<SupplierCodeTypeNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SupplierCodeValueElementType {
pub refname: Option<SupplierCodeValueRefname>,
pub shortname: Option<SupplierCodeValueShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub enum ReturnsConditionsRefname {
ReturnsConditions,
}
#[derive(Debug)]
pub enum ReturnsConditionsShortname {
Returnsconditions,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ReturnsCodeTypeElementType {
pub refname: Option<ReturnsCodeTypeRefname>,
pub shortname: Option<ReturnsCodeTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List53,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct ReturnsCodeTypeNameElementType {
pub refname: Option<ReturnsCodeTypeNameRefname>,
pub shortname: Option<ReturnsCodeTypeNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ReturnsCodeElementType {
pub refname: Option<ReturnsCodeRefname>,
pub shortname: Option<ReturnsCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct ReturnsNoteElementType {
pub refname: Option<ReturnsNoteRefname>,
pub shortname: Option<ReturnsNoteShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Product availability
#[derive(Debug)]
pub enum List65 {
///Cancelled
///Product was announced, and subsequently abandoned by the publisher. No expected availability date should be included in SupplyDate
_01,
///Not yet available, postponed indefinitely
///Product is not yet available from the supplier, and the publisher indicates that it has been postponed indefinitely. Should be used in preference to code 10 where the publisher has indicated that a previously-announced publication date is no longer correct, and no new date has yet been announced. No expected availability date should be included in SupplyDate. Only for use in ONIX 3.0 or later
_09,
///Not yet available
///Product is not yet available (requires expected date, either as ExpectedShipDate (ONIX 2.1) or as SupplyDate with SupplyDateRole coded ‘08’ (ONIX 3.0 or later), except in exceptional circumstances where no date is known)
_10,
///Awaiting stock
///Product is not yet available, but will be a stock item when available (requires expected date, either as ExpectedShipDate (ONIX 2.1) or as SupplyDate with SupplyDateRole coded ‘08’ (ONIX 3.0 or later), except in exceptional circumstances where no date is known). Used particularly for imports which have been published in the country of origin but have not yet arrived in the importing country
_11,
///Not yet available, will be POD
///Product is not yet available, to be published as print-on-demand only (requires expected date, either as ExpectedShipDate (ONIX 2.1) or as SupplyDate with SupplyDateRole coded ‘08’ (ONIX 3.0 or later), except in exceptional circumstances where no date is known). May apply either to a POD successor to an existing conventional edition, when the successor will be published under a different ISBN (normally because different trade terms apply); or to a title that is being published as a POD original
_12,
///Available
///Product is available from the supplier (form of availability unspecified)
_20,
///In stock
///Product is available from the supplier as a stock item
_21,
///To order
///Product is available from the supplier as a non-stock item, by special order. Where possible, an OrderTime should be included
_22,
///POD
///Product is available from the supplier by print-on-demand. If the fulfillment delay is likely to be more than 24 hours, an OrderTime should be included
_23,
///Temporarily unavailable
///Product is temporarily unavailable: temporarily unavailable from the supplier (reason unspecified) (requires expected date, either as ExpectedShipDate (ONIX 2.1) or as SupplyDate with SupplyDateRole coded ‘08’ (ONIX 3.0 or later), except in exceptional circumstances where no date is known)
_30,
///Out of stock
///Product is stock item, but is temporarily out of stock (requires expected date, either as ExpectedShipDate (ONIX 2.1) or as SupplyDate with SupplyDateRole coded ‘08’ (ONIX 3.0 or later), except in exceptional circumstances where no date is known)
_31,
///Reprinting
///Product is temporarily unavailable, and is reprinting (requires expected date, either as ExpectedShipDate (ONIX 2.1) or as SupplyDate with SupplyDateRole coded ‘08’ (ONIX 3.0 or later), except in exceptional circumstances where no date is known)
_32,
///Awaiting reissue
///Product is temporarily unavailable, awaiting reissue (requires expected date, either as ExpectedShipDate (ONIX 2.1) or as SupplyDate with SupplyDateRole coded ‘08’ (ONIX 3.0 or later), except in exceptional circumstances where no date is known)
_33,
///Temporarily withdrawn from sale
///Product is temporarily withdrawn from sale, possibly for quality or technical reasons. Requires expected availability date, either as ExpectedShipDate (ONIX 2.1) or as SupplyDate with SupplyDateRole coded ‘08’ (ONIX 3.0 or later), except in exceptional circumstances where no date is known
_34,
///Not available (reason unspecified)
///Product is not available from the supplier (for any reason)
_40,
///Not available, replaced by new product
///Product is unavailable, but a successor product or edition is or will be available from the supplier (identify successor in RelatedProduct)
_41,
///Not available, other format available
///Product is unavailable, but the same content is or will be available from the supplier in an alternative format (identify other format product in RelatedProduct)
_42,
///No longer supplied by the supplier
///Product is no longer available from the supplier. Identify new supplier in NewSupplier if possible
_43,
///Apply direct
///Product is not available to trade, apply direct to publisher
_44,
///Not sold separately
///Product must be bought as part of a set or trade pack (identify set or pack in RelatedProduct using code 02). Individual copies of the product are not available from the supplier, but packs of copies are available, and individual copies of the product may typically be sold at retail
_45,
///Withdrawn from sale
///Product is withdrawn from sale, possibly permanently. May be for legal reasons or to avoid giving offence
_46,
///Remaindered
///Product has been remaindered and is no longer available from the supplier in the normal way, but may be available under different terms and conditions in order to dispose of excess stock
_47,
///Not available, replaced by POD
///Product is out of print, but a print-on-demand edition is or will be available under a different ISBN. Use only when the POD successor has a different ISBN, normally because different trade terms apply
_48,
///Recalled
///Product has been recalled, possibly for reasons of consumer safety
_49,
///Not sold as set
///Contents of set or pack must be bought as individual items (identify contents of set or pack in RelatedProduct using code 01). Used when a collection that is not sold as a set nevertheless has its own ONIX record
_50,
///Not available, publisher indicates OP
///Product is unavailable from the supplier, no successor product or alternative format is available or planned. Use this code only when the publisher has indicated the product is out of print
_51,
///Not available, publisher no longer sells product in this market
///Product is unavailable from the supplier in this market, no successor product or alternative format is available or planned. Use this code when a publisher has indicated the product is permanently unavailable (in this market) while remaining available elsewhere
_52,
///No recent update received
///Sender has not received any recent update for this product from the publisher or supplier (for use when the sender is a data aggregator). The definition of ‘recent’ must be specified by the aggregator, or by agreement between parties to an exchange
_97,
///No longer receiving updates
///Sender is no longer receiving any updates from the publisher or supplier of this product (for use when the sender is a data aggregator)
_98,
///Contact supplier
///Product availability not known to sender
_99,
}
#[derive(Debug)]
pub enum ProductAvailabilityRefname {
ProductAvailability,
}
#[derive(Debug)]
pub enum ProductAvailabilityShortname {
J396,
}
#[derive(Debug)]
pub enum SupplyDateRefname {
SupplyDate,
}
#[derive(Debug)]
pub enum SupplyDateShortname {
Supplydate,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SupplyDateRoleElementType {
pub refname: Option<SupplyDateRoleRefname>,
pub shortname: Option<SupplyDateRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List166,
}
#[derive(Debug)]
pub enum OrderTimeRefname {
OrderTime,
}
#[derive(Debug)]
pub enum OrderTimeShortname {
J144,
}
#[derive(Debug)]
pub enum NewSupplierRefname {
NewSupplier,
}
#[derive(Debug)]
pub enum NewSupplierShortname {
Newsupplier,
}
#[derive(Debug)]
pub enum NewSupplierContent215 {
Content216(NewSupplierContent216),
SupplierName(SupplierNameElementType),
}
#[derive(Debug)]
pub enum StockRefname {
Stock,
}
#[derive(Debug)]
pub enum StockShortname {
Stock,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct LocationIdentifierElementType {
pub refname: Option<LocationIdentifierRefname>,
pub shortname: Option<LocationIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub location_id_type: LocationIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct LocationNameElementType {
pub refname: Option<LocationNameRefname>,
pub shortname: Option<LocationNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
#[derive(Debug)]
pub enum StockContent308 {
StockQuantityCoded(Vec<StockQuantityCodedElementType>),
Content309(StockContent309),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct OnOrderDetailElementType {
pub refname: Option<OnOrderDetailRefname>,
pub shortname: Option<OnOrderDetailShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub on_order: OnOrderElementType,
pub proximity: Option<ProximityElementType>,
pub expected_date: ExpectedDateElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct VelocityElementType {
pub refname: Option<VelocityRefname>,
pub shortname: Option<VelocityShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub velocity_metric: VelocityMetricElementType,
pub rate: RateElementType,
pub proximity: Option<ProximityElementType>,
}
#[derive(Debug)]
pub enum PackQuantityRefname {
PackQuantity,
}
#[derive(Debug)]
pub enum PackQuantityShortname {
J145,
}
#[derive(Debug)]
pub enum PalletQuantityRefname {
PalletQuantity,
}
#[derive(Debug)]
pub enum PalletQuantityShortname {
X545,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct OrderQuantityMinimumElementType {
pub refname: Option<OrderQuantityMinimumRefname>,
pub shortname: Option<OrderQuantityMinimumShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct OrderQuantityMultipleElementType {
pub refname: Option<OrderQuantityMultipleRefname>,
pub shortname: Option<OrderQuantityMultipleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct UnpricedItemTypeElementType {
pub refname: Option<UnpricedItemTypeRefname>,
pub shortname: Option<UnpricedItemTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List57,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceElementType {
pub refname: Option<PriceRefname>,
pub shortname: Option<PriceShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub price_identifier: Vec<PriceIdentifierElementType>,
pub price_type: Option<PriceTypeElementType>,
pub price_qualifier: Option<PriceQualifierElementType>,
pub epub_technical_protection: Vec<EpubTechnicalProtectionElementType>,
pub price_constraint: Vec<PriceConstraintElementType>,
pub epub_license: Option<EpubLicenseType>,
pub price_type_description: Vec<PriceTypeDescriptionElementType>,
pub price_per: Option<PricePerElementType>,
pub price_condition: Vec<PriceConditionElementType>,
pub minimum_order_quantity: Option<MinimumOrderQuantityElementType>,
pub batch_bonus: Vec<BatchBonusElementType>,
pub discount_coded: Vec<DiscountCodedElementType>,
pub discount: Vec<DiscountElementType>,
pub price_status: Option<PriceStatusElementType>,
pub content_221: PriceContent221,
pub currency_code: Option<CurrencyCodeElementType>,
pub territory: Option<TerritoryElementType>,
pub comparison_product_price: Vec<ComparisonProductPriceElementType>,
pub price_date: Vec<PriceDateElementType>,
pub content_225: Option<PriceContent225>,
}
#[derive(Debug)]
pub enum SenderIdTypeRefname {
SenderIdType,
}
#[derive(Debug)]
pub enum SenderIdTypeShortname {
M379,
}
#[derive(Debug)]
pub enum AddresseeIdTypeRefname {
AddresseeIdType,
}
#[derive(Debug)]
pub enum AddresseeIdTypeShortname {
M380,
}
///Product form feature type
#[derive(Debug)]
pub enum List79 {
///Color of cover
///For Product Form Feature values see code list 98
_01,
///Color of spine
///Where it is different from the overall color of the cover (see code 01). For Product Form Feature values see code list 98. Only for use in ONIX 3.0 or later
_26,
///Color of foil
///On cover or spine. For Product Form Feature values see metallic colors from code list 98. Only for use in ONIX 3.0 or later
_27,
///Color of page edges
///Sprayed / stained / gilded edges. For Product Form Feature values see code list 98. For patterned and illustrated page edges, see also List 158 code 54
_02,
///Color of endpapers
///Or of inside front and back covers. For Product Form Feature Values see Codelist 98. For patterned and illustrated endpapers, see also List 158 code 55. Only for use in ONIX 3.0 or later
_55,
///Color of ribbon marker(s)
///Use also for color of elasticated strap. For Product Form Feature Values see Codelist 98, and with multicolored or multiple ribbons, also use Product Form Feature Description. Only for use in ONIX 3.0 or later
_57,
///Color of head and tail bands
///Capital bands. For Product Form Feature Values see codelist 98, and with multicolored (eg striped) bands, use Product Form Feature Description. Only for use in ONIX 3.0 or later
_58,
///Text font
///The principal font used for body text, when this is a significant aspect of product description, eg for some Bibles, and for large print product. The accompanying ProductFormFeatureDescription is text specifying the typeface name. The font size may be specified with the font name, but is preferred separately (in points) in ProductFormFeatureValue
_03,
///Special cover material
///For Product Form Feature values see code list 99
_04,
///DVD region
///For Product Form Feature values see code list 76
_05,
///Operating system requirements
///A computer or handheld device operating system required to use a digital product, with version detail if applicable. The accompanying Product Form Feature Value is a code from List 176. Version detail, when applicable, is carried in Product Form Feature Description
_06,
///Other system requirements
///Other system requirements for a digital product, described by free text in Product Form Feature Description
_07,
///‘Point and listen’ device compatibility
///Indicates compatibility with proprietary ‘point and listen’ devices such as Ting Pen (http://www.ting.eu), the iSmart Touch and Read Pen. These devices scan invisible codes specially printed on the page to identify the book and position of the word, and the word is then read aloud by the device. The name of the compatible device (or range of devices) should be given in ProductFormFeatureDescription
_08,
///E-publication accessibility detail
///For ProductFormFeatureValue codes, see Codelist 196
_09,
///E-publication format version
///For versioned e-book file formats (or in some cases, devices). ProductFormFeatureValue should contain the version number as a period-separated list of numbers (eg ‘7’, ‘1.5’ or ‘3.10.7’). Only for use in ONIX 3.0 or later – in ONIX 2.1, use EpubTypeVersion instead. For the most common file formats, code 15 and List 220 is strongly preferred
_10,
///US CPSIA or other international hazard warning
///Hazard warning required by US Consumer Product Safety Improvement Act (CPSIA) of 2008 or other US or international legislation. Required, when applicable, for products sold in the US. The Product Form Feature Value is a code from List 143. Further explanation may be given in Product Form Feature Description
_12,
///EU General Product Safety Regulation and Toy Safety Directive hazard warning
///Product carries hazard warning, conformity notice or other text required by EU General Product Safety Regulation or Toy Safety Directive. The Product Form Feature Value is a code from List 184, and (for some codes) the exact wording of the warning or text may be given in Product Form Feature Description
_13,
///IATA Dangerous Goods warning
///Product Form Feature Description must give further details of the warning
_14,
///E-publication format version code
///For common versioned e-book formats (or in some cases, devices) – for example EPUB 2.0.1 or EPUB 3.0. ProductFormFeatureValue is a code from list 220. Only for use in ONIX 3.0 or later
_15,
///E-publication format validator version
///For common versioned e-book formats, the name and version of the validator used to check conformance. ProductFormFeatureDescription is the common name of the validator used (eg EpubCheck, Flightdeck), and ProductFormFeatureValue is the version number of the validator (eg 4.0.0a). Use with code 15 (or possibly code 10), or with EpubTypeVersion, to specify the version the e-publication conforms with
_16,
///‘Point and watch’ device/app compatibility
///Indicates compatibility with proprietary ‘point and watch‘ devices or apps. These scan invisible codes specially printed on the page, or the whole page image, to identify the book and page position. Scanning can trigger display of (for example) an augmented reality view of the page. The name of the compatible app or device (or range of apps/devices) should be given in ProductFormFeatureDescription. Only for use in ONIX 3.0 or later
_17,
///E-publication authentication and access control
///Requirement for user authentication prior to use, with detail of authentication method (user enrolment, and login passwords, location- or device-based recognition, authentication via third-party identity service etc) given in ProductFormFeatureDescription. Only for use in ONIX 3.0 or later
_18,
///Battery type and safety
///Use to describe battery requirements, types, hazards and battery safety warnings. ProductFormFeatureValue is a code from List 242. Only for use in ONIX 3.0 or later
_19,
///Battery capacity
///Total capacity (of batteries in the product) in Watt hours. ProductFormFeatureValue is an integer or decimal number (eg ‘45’, not ‘45Wh’). Only for use in ONIX 3.0 or later
_20,
///Dangerous goods
///Use to describe regulation of the product for various purposes. ProductFormFeatureValue is a code from List 243. Only for use in ONIX 3.0 or later
_21,
///Game pieces
///Number of pieces, eg for jigsaws, puzzles, kits, board games. ProductFormFeatureValue is an integer. Only for use in ONIX 3.0 or later. For pieces like cards in a pack, see Extent and code 00 from List 24
_22,
///Game players
///Number of players, for board games, card games, videogames etc. ProductFormFeatureValue must be a required (exact) number as an integer OR a range (eg ‘2–6’), optionally accompanied by the number of players as text (eg ‘suitable for 2–6 players’) in ProductFormFeatureDescription. Only for use in ONIX 3.0 or later
_23,
///Game play time
///Typical time to complete a game, for board games, card games, videogames etc, stated as an integer (in minutes) OR range (eg ‘60–90’) in ProductFormFeatureValue, optionally accompanied by the playing time as text (eg ‘typically 60–90 minutes’) in ProductFormFeatureDescription. Only for use in ONIX 3.0 or later
_24,
///Personal data requirements
///Personal data required for registration or use of the product. This can be coded in ProductFormFeatureValue (for example using a URI from SCOLOM list 044 – see http://data.education.fr/voc/scolomfr/scolomfr-voc-044) – and/or described in ProductFormFeatureDescription. Only for use in ONIX 3.0 or later
_25,
///Not FSC or PEFC certified
///Product does not carry FSC or PEFC logo. The Product Form Feature Value element is not used. The Product Form Feature Description element may carry free text indicating the grade or type of paper. The product record may also still carry a claimed Pre- and Post-Consumer Waste (PCW) percentage value (type code 37) in a separate repeat of the Product Form Feature composite
_30,
///FSC certified – pure
///Product carries FSC logo (Pure, 100%). ProductFormFeatureValue is the Certification number (ie either a Chain Of Custody (COC) number or a Trademark License number) printed on the book. Format: Chain of Custody number is two to five letters-COC-six digits (the digits should include leading zeros if necessary), eg ‘AB-COC-001234’ or ‘ABCDE-COC-123456’; Trademark License number is C followed by six digits, eg ‘C005678’ (this would normally be prefixed by ‘FSC®’ when displayed). The Product Form Feature Description element may carry free text indicating the grade or type of paper. By definition, a product certified Pure does not contain Pre- or Post-Consumer-Waste (PCW), so type code 31 can only occur on its own. Certification numbers may be checked at https://info.fsc.org/
_31,
///FSC certified – mixed sources
///Product carries FSC logo (Mixed sources, Mix). ProductFormFeatureValue is the Certification number (ie either a Chain Of Custody (COC) number or a Trademark License number) printed on the book. Format: Chain of Custody number is two to five letters-COC-six digits (the digits should include leading zeros if necessary), eg ‘AB-COC-001234’ or ‘ABCDE-COC-123456’; Trademark License number is C followed by six digits, eg ‘C005678’ (this would normally be prefixed by ‘FSC®’ when displayed). The Product Form Feature Description element may carry free text indicating the grade or type of paper. May be accompanied by a Pre- and Post-Consumer-Waste (PCW) percentage value, to be reported in another instance of ProductFormFeature with type code 36. Certification numbers may be checked at https://info.fsc.org/
_32,
///FSC certified – recycled
///Product carries FSC logo (Recycled). ProductFormFeatureValue is the Certification number (ie either a Chain Of Custody (COC) number or a Trademark License number) printed on the book. Format: Chain of Custody number is two to five letters-COC-six digits (the digits should include leading zeroes if necessary), eg ‘AB-COC-001234’ or ‘ABCDE-COC-123456’; Trademark License number is C followed by six digits, eg ‘C005678’ (this would normally be prefixed by ‘FSC®’ when displayed). The Product Form Feature Description element may carry free text indicating the grade or type of paper. May be accompanied by a Pre- and Post-Consumer-Waste (PCW) percentage value, to be reported in another instance of ProductFormFeature with type code 36, but otherwise assumed to be 100% recycled. Certification numbers may be checked at https://info.fsc.org/
_33,
///PEFC certified
///Product carries PEFC logo (certified) or equivalent from PEFC-endorsed national scheme. ProductFormFeatureValue is the Chain Of Custody (COC) number printed on the book. The Product Form Feature Description element may carry free text indicating the grade or type of paper. May be accompanied by a Post-Consumer Waste (PCW) percentage value, to be reported in another instance of ProductFormFeature with type code 36
_34,
///PEFC recycled
///Product carries PEFC logo (recycled) or equivalent from PEFC-endorsed national scheme. ProductFormFeatureValue is the Chain Of Custody (COC) number printed on the book. The Product Form Feature Description element may carry free text indicating the grade or type of paper. Should be accompanied by a Post-Consumer-Waste (PCW) percentage value, to be reported in another instance of ProductFormFeature with type code 36
_35,
///FSC or PEFC certified Pre- and Post-Consumer Waste (PCW) percentage
///The percentage of recycled Pre- and Post-Consumer-Waste (PCW) used in a product where the composition is certified by FSC, PEFC or PEFC-endorsed scheme. ProductFormFeatureValue is an integer. May occur together with type code 32, 33, 34 or 35
_36,
///Claimed Pre- and Post-Consumer Waste (PCW) percentage
///The percentage of recycled Pre- and Post-Consumer Waste (PCW) claimed to be used in a product where the composition is not certified by FSC or PEFC. Product FormFeatureValue is an integer. ProductFormFeatureDescription may carry free text supporting the claim. Must be accompanied by type code 30
_37,
///‘Green’ inks
///Vegetable-based or other environmentally-conscious inks and varnishes. ProductFormFeatureDescription may carry free text with a more detailed statement. Only for use in ONIX 3.0 or later
_38,
///‘Green’ adhesives
///Product binding uses environmentally-conscious adhesives and other binding materials. ProductFormFeatureDescription may carry free text with a more detailed statement. Only for use in ONIX 3.0 or later
_39,
///Paper produced by ‘green’ technology
///Product made from paper produced using environmentally-conscious technology. ProductFormFeatureDescription may carry free text with a more detailed statement
_40,
///Carbon/GHG emission certification scheme
///ProductFormFeatureValue is a code from List 262 identifying the particular certification scheme. ProductFormFeatureDescription may be a descriptor for some part, schedule or annex of the certification scheme, where necessary. Only for use in ONIX 3.0 or later
_41,
///Carbon/GHG emission certification / license number
///ProductFormFeatureValue is a code from List 262 identifying a particular certification scheme. ProductFormFeatureDescription is a certificate or license number used to certify compliance with the scheme. Only for use in ONIX 3.0 or later
_42,
///Carbon/GHG emission certification URL
///ProductFormFeatureValue is a code from List 262 identifying a particular certification scheme. ProductFormFeatureDescription is a URL linking to a web page certifying compliance with the scheme. Only for use in ONIX 3.0 or later
_43,
///Carbon/GHG Scope 3 certified Carbon dioxide equivalent emission
///ProductFormFeatureValue is a code from List 262 identifying a particular certification scheme. ProductFormFeatureDescription is a number specifying certified GHG emissions per copy of the product, measured in kilograms of Carbon dioxide equivalent (CO₂e) using the Scope 3 methodology of the scheme. Only for use in ONIX 3.0 or later
_44,
///Carbon/GHG Scope 2 certified Carbon dioxide equivalent emission
///Only for use in ONIX 3.0 or later
_45,
///Carbon/GHG Scope 1 certified Carbon dioxide equivalent emission
///Scope 1 emission certifications are not recommended for use. Only for use in ONIX 3.0 or later
_46,
///EUDR raw material location (interior or full product)
///For EU Deforestation regulations, location of raw material source plot (‘where the tree grew’) for the interior or main body of the product (or for the entire product, if the raw material source for the binding and other parts of the product cannot be differentiated). If there are multiple sources for the same raw material, repeat ProductFormFeature for each plot or use the ‘list of plots’ option below. Further repeats of ProductFormFeature may be used for multiple paper, card and board types. ProductFormFeatureValue is a country code from List 91 indicating the country in which the source plot is, optionally followed by a space and the name of the species, and optionally followed by a space and the date of harvest of the source plot (YYYY, YYYYMM or YYYYMMDD). The species name may itself consist of the binomial Latin name (the ‘scientific name’), or the binomial Latin name followed by a space plus the common name in parentheses. Note there can be up to four pieces of data (country, Latin name, common name and date), each space separated, but only the country is mandatory. The common name may only be included if the Latin name is also present. ProductFormFeatureDescription is a list of points defining one or more plots from which the raw material was harvested, using GPS coordinates with 6 decimal places of precision (these are real numbers, ±90 for latitude [negative numbers indicate a latitude south of the equator], ±180 excluding -180 itself for longitude [negative numbers indicate a longitude west of the Prime Greenwich meridian]). Latitude and Longitude for each point are space-separated, and multiple points are comma-separated. Multiple plots are semicolon separated, and must be in the same country. (Any supplied species name and date must also apply to all plots in the list.) (Note these GPS coordinates use decimal parts of a degree, not minutes and seconds.) ONE point defines the center of a 4 hectare plot (200m × 200m). TWO points define a line joining opposite corners of a ‘square’ plot bounded by two lines of latitude and two of longitude. THREE or more points define a simple polygon outlining the plot. Plot types with one, two or multiple points must not be mixed in a list of multiple plots. Lines and polygon edges may not cross a national boundary or the 180° line of longitude. Polygon edges may not intersect. It is good practice to ensure the polygon is drawn clockwise and is ‘closed’ (that is, that the first and last points are identical, so that for example four points define a triangle). If not closed, the closing polygon edge is implied, and to avoid ambiguity, trailing zeros in the latitude and longitude should be explicit. Only for use in ONIX 3.0 or later
_47,
///EUDR raw material location (binding)
///For endpaper, cover card or board, any other binding or covering material and any jacket (but not including any slipcase or other packaging). Only for use in ONIX 3.0 or later
_48,
///EUDR raw material location (other)
///Including any slipcase or box, retail packaging, supplementary material (but not including any packaging discarded before retail sale). Only for use in ONIX 3.0 or later
_49,
///EUDR due diligence reference
///For EU Deforestation Regulations, ProductFormFeatureValue is the ‘Due Diligence Statement’ (DDS) document reference recorded by the publisher or other organization responsible for the product when a due diligence statement is uploaded to the EU’s portal, expected to be in a format like ‘24FRXVV3VOS991’ (with an optional suffix ‘+’ and a ‘verification code’). This references the DDS for the product as a whole. There may also be a UUID acting as an internal or proprietary document reference, for which use ProductFormFeatureDescription. ProductFormFeature should be repeated if multiple DDSs apply to the product as a whole. See https://environment.ec.europa.eu/topics/forests/deforestation/regulation-deforestation-free-products_en Only for use in ONIX 3.0 or later
_50,
///EUDR associated due diligence references
///For EU Deforestation Regulation, ProductFormFeatureValue is a space-separated list of document references for DDSs (including optional verification code) created by upstream operators that are or may be referred to in the DDS for the product as a whole (ie the DDS specified using code 50). Only for use in ONIX 3.0 or later
_51,
///EUDR compliant with national law attestation
///For EU Deforestation regulations, a ‘flag’ indicating that all raw materials were produced in accordance with legal requirements of one or more countries within each of which there are one or more source plots, and that documentation to verify this is available upon request. ProductFormFeatureValue is a space-separated list of country codes from List 91. Presence of code 52 and a country code acts as an positive attestation that the product’s raw materials sourced from the specified country are compliant with the national laws of that country, but the attestation is meaningful only if there is no pre-existing DDS for the product as a whole (presence of a DDS reference already attests the product is compliant with all national laws and that documentation is available). Only for use in ONIX 3.0 or later
_52,
///EUDR deforestation-free attestation
///For EU Deforestation regulations, a ‘flag’ indicating that all raw materials used for the product are ‘deforestation-free’, and that documentation to verify this is available upon request. Presence of code 53 acts as a positive attestation that the product’s raw materials are deforestation-free, but the attestation is meaningful only if there is no pre-existing DDS for the product as a whole (presence of a DDS reference already attests the product is deforestation-free and that documentation is available). Only for use in ONIX 3.0 or later
_53,
///EUDR stock present attestation
///For EU Deforestation regulations, a ‘flag’ indicating that no (in-EU) supplier has stock that was not physically present within the EU prior to the enforcement date of the Regulation, and that documentation to verify this is available upon request. Presence of code 54 acts as a positive attestation that all copies of the product held at distributors and wholesalers within the EU pre-dates the enforcement date, but the attestation is meaningful only if there is no pre-existing DDS for the product as a whole (presence of a DDS reference already attests the product is compliant with the regulation and that documentation is available). Only for use in ONIX 3.0 or later
_54,
///EUDR beyond scope attestation
///For EU Deforestation regulations, a ‘flag’ indicating that the raw materials for the product are entirely outside the scope of the regulations for any reason, for example because a map – that would otherwise be required to conform – is printed on plastic rather than paper, or a book is made wholly of recycled raw materials (including the cover). ProductClassification may contain an additional TARIC exemption code. Ensure other Product form features agree, and that documentation is available. Only for use in ONIX 3.0 or later. No other EUDR metadata need be included
_56,
}
#[derive(Debug)]
pub enum ProductFormFeatureTypeRefname {
ProductFormFeatureType,
}
#[derive(Debug)]
pub enum ProductFormFeatureTypeShortname {
B334,
}
#[derive(Debug)]
pub enum ProductFormFeatureValueRefname {
ProductFormFeatureValue,
}
#[derive(Debug)]
pub enum ProductFormFeatureValueShortname {
B335,
}
#[derive(Debug)]
pub enum ProductFormFeatureDescriptionRefname {
ProductFormFeatureDescription,
}
#[derive(Debug)]
pub enum ProductFormFeatureDescriptionShortname {
B336,
}
///Measure type
#[derive(Debug)]
pub enum List48 {
///Height
///For a book, the overall height when standing on a shelf. For a folded map, the height when folded. For packaged products, the height of the retail packaging, and for trade-only products, the height of the trade packaging. In general, the height of a product in the form in which it is presented or packaged for retail sale
_01,
///Width
///For a book, the overall horizontal dimension of the cover when standing upright. For a folded map, the width when folded. For packaged products, the width of the retail packaging, and for trade-only products, the width of the trade packaging. In general, the width of a product in the form in which it is presented or packaged for retail sale
_02,
///Thickness
///For a book, the overall thickness of the spine. For a folded map, the thickness when folded. For packaged products, the depth of the retail packaging, and for trade-only products, the depth of the trade packaging. In general, the thickness or depth of a product in the form in which it is presented or packaged for retail sale
_03,
///Page trim height
///Overall height (code 01) is preferred for general use, as it includes the board overhang for hardbacks
_04,
///Page trim width
///Overall width (code 02) is preferred for general use, as it includes the board overhang and spine thickness for hardbacks
_05,
///Unit volume
///The volume of the product, including any retail packaging. Note the MeasureUnit is interpreted as a volumetric unit – for example code cm = cubic centimetres (ie millilitres), and code oz = (US) fluid ounces. Only for use in ONIX 3.0 or later
_06,
///Unit capacity
///Volume of the internal (fluid) contents of a product (eg of paint in a can). Note the MeasureUnit is interpreted as a volumetric unit – for example code cm = cubic centimetres (ie millilitres), and code oz = (US) fluid ounces. Only for use in ONIX 3.0 or later
_07,
///Unit weight
///The overall weight of the product, including any retail packaging
_08,
///Diameter (sphere)
///Of a globe, for example
_09,
///Unfolded/unrolled sheet height
///The height of a folded or rolled sheet map, poster etc when unfolded
_10,
///Unfolded/unrolled sheet width
///The width of a folded or rolled sheet map, poster etc when unfolded
_11,
///Diameter (tube or cylinder)
///The diameter of the cross-section of a tube or cylinder, usually carrying a rolled sheet product. Use 01 ‘Height’ for the height or length of the tube
_12,
///Rolled sheet package side measure
///The length of a side of the cross-section of a long triangular or square package, usually carrying a rolled sheet product. Use 01 ‘Height’ for the height or length of the package
_13,
///Unpackaged height
///As height, but of the product without packaging (use only for products supplied in retail packaging, must also supply overall size when packaged using code 01). Only for use in ONIX 3.0 or later
_14,
///Unpackaged width
///As width, but of the product without packaging (use only for products supplied in retail packaging, must also supply overall size when packaged using code 02). Only for use in ONIX 3.0 or later
_15,
///Unpackaged thickness
///As thickness, but of the product without packaging (use only for products supplied in retail packaging, must also supply overall size when packaged using code 03). Only for use in ONIX 3.0 or later
_16,
///Total battery weight
///Weight of batteries built-in, pre-installed or supplied with the product. Details of the batteries should be provided using ProductFormFeature. A per-battery unit weight may be calculated from the number of batteries if required. Only for use in ONIX 3.0 or later
_17,
///Total weight of Lithium
///Mass or equivalent mass of elemental Lithium within the batteries built-in, pre-installed or supplied with the product (eg a Lithium Iron phosphate battery with 160g of cathode material would have a total of around 7g of Lithium). Details of the batteries must be provided using ProductFormFeature. A per-battery unit mass of Lithium may be calculated from the number of batteries if required. Only for use in ONIX 3.0 or later
_18,
///Assembled length
///For use where product or part of product requires assembly, for example the size of a completed kit, puzzle or assembled display piece. The assembled dimensions may be larger than the product size as supplied. Use only when the unassembled dimensions as supplied (including any retail or trade packaging) are also provided using codes 01, 02 and 03. Only for use in ONIX 3.0 or later
_19,
///Assembled width
_20,
///Assembled height
_21,
///Unpackaged unit weight
///Overall unit weight (code 08) is preferred for general use, as it includes the weight of any packaging. Use Unpackaged unit weight only for products supplied in retail packaging, and must also supply overall unit weight. Only for use in ONIX 3.0 or later
_22,
///Carton length
///Includes packaging. See PackQuantity for number of copies of the product per pack, and used only when dimensions of individual copies (codes 01, 02, 03) AND PackQuantity are supplied. Note that neither orders nor deliveries have to be aligned with multiples of the pack quantity, but such orders and deliveries may be more convenient to handle. Only for use in ONIX 3.0 or later
_23,
///Carton width
_24,
///Carton height
_25,
///Carton weight
///Includes the weight of product(s) within the carton. See PackQuantity for number of copies per pack, and used only when the weight of individual copies (code 08) AND PackQuantity are supplied. Only for use in ONIX 3.0 or later
_26,
///Pallet length
///Includes pallet and packaging. See PalletQuantity for number of copies of the product per pallet, and used only when dimensions of individual copies (codes 01, 02, 03) AND PalletQuantity are supplied. Note that neither orders nor deliveries have to be aligned with multiples of the pallet quantity, but such orders and deliveries may be more convenient to handle. Only for use in ONIX 3.0 or later
_27,
///Pallet width
_28,
///Pallet height
_29,
///Pallet weight
///Includes the weight of product(s) and cartons stacked on the pallet. See PalletQuantity for the number of copies per pallet, and used only when the weight of individual copies (code 08) AND PalletQuantity are supplied. Only for use in ONIX 3.0 or later
_30,
}
#[derive(Debug)]
pub enum MeasureTypeRefname {
MeasureType,
}
#[derive(Debug)]
pub enum MeasureTypeShortname {
X315,
}
#[derive(Debug)]
pub enum MeasurementRefname {
Measurement,
}
#[derive(Debug)]
pub enum MeasurementShortname {
C094,
}
///Measure unit
#[derive(Debug)]
pub enum List50 {
///Centimeters
///Millimeters are the preferred metric unit of length
Cm,
///Grams
Gr,
///Inches (US)
In,
///Kilograms
///Grams are the preferred metric unit of weight
Kg,
///Pounds (US)
///Ounces are the preferred US customary unit of weight
Lb,
///Millimeters
Mm,
///Ounces (US)
Oz,
///Pixels
Px,
}
#[derive(Debug)]
pub enum MeasureUnitCodeRefname {
MeasureUnitCode,
}
#[derive(Debug)]
pub enum MeasureUnitCodeShortname {
C095,
}
///Usage type
#[derive(Debug)]
pub enum List145 {
///No constraints
///Allows positive indication that there are no particular constraints (that can be specified in EpubUsageConstraint). By convention, use 01 in EpubUsageStatus
_00,
///Preview
///Preview before purchase. Allows a retail customer, account holder or patron to view or listen to a proportion of the book before purchase. Also applies to borrowers making use of ‘acquisition on demand’ models in libraries, and to ‘subscription’ models where the purchase is made on behalf of the reader. Note that any Sales embargo date (in PublishingDate or MarketDate) also applies to provision of previews, unless an explicit date is provided for the preview
_01,
///Print
///Make physical copy of extract
_02,
///Copy / paste
///Make digital copy of extract
_03,
///Share
///Share product across multiple concurrent devices. Allows a retail customer, account holder or patron to read the book across multiple devices linked to the same account. Also applies to readers in library borrowing and ‘subscription’ models
_04,
///Text to speech
///‘Read aloud’ with text to speech functionality
_05,
///Lend
///Lendable by the purchaser to another device owner or account holder or patron, eg ‘Lend-to-a-friend’, or library lending (where the library product has a separate ProductIdentifier from the consumer product – but for this prefer code 16). The ‘primary’ copy becomes unusable while the secondary copy is ‘lent’ unless a number of concurrent borrowers is also specified
_06,
///Time-limited license
///E-publication license is time-limited. Use with code 02 from List 146 and either a time period in days, weeks or months in EpubUsageLimit, or a Valid until date in EpubUsageLimit. The purchased copy becomes unusable when the license expires. For clarity, a perpetual license is the default, but may be specified explicitly with code 01 from list 146, or with code 02 and a limit Quantity of 0 days
_07,
///Library loan renewal
///Maximum number of consecutive loans or loan extensions (usually from a library) to a single device owner or account holder or patron. Note that a limit of 1 indicates that a loan cannot be renewed or extended
_08,
///Multi-user license
///E-publication license is multi-user. Maximum number of concurrent users licensed to use the product should be given in EpubUsageLimit. For clarity, unlimited concurrency is the default, but may be specified explicitly with code 01 from list 146, or with code 02 and a limit Quantity of 0 users
_09,
///Preview on premises
///Preview locally before purchase. Allows a retail customer, account holder or patron to view a proportion of the book (or the whole book, if no proportion is specified) before purchase, but ONLY while located physically in the retailer’s store (eg while logged on to the store or library wifi). Also applies to patrons making use of ‘acquisition on demand’ models in libraries
_10,
///Text and data mining
///Make use of the content of the product (text, images, audio etc) or the product metadata or supporting resources for extraction of useful (and possibly new) information through automated computer analysis, or for training of tools for such analysis (including training of generative AI models). By convention, use 01 or 03 in EpubUsageStatus. Note 03 should be regarded as ‘prohibited to the full extent allowed by law’, or otherwise expressly reserved by the rightsholder, as in some jurisdictions, TDM may be subject to copyright exception (eg for not-for-profit purposes), subject to optional reservation, or allowed under ‘fair use’ doctrine
_11,
///Library loan
///Loanable by the purchaser (usually a library) to other device owner or account holder or patron, eg library lending (whether or not the library product has a separate ProductIdentifier from the consumer product). The ‘primary’ copy becomes unusable while the secondary copy is ‘on loan’ unless a number of concurrent borrowers is also specified. Use code 08 to specify any limit on loan renewals
_16,
}
#[derive(Debug)]
pub enum EpubUsageTypeRefname {
EpubUsageType,
}
#[derive(Debug)]
pub enum EpubUsageTypeShortname {
X318,
}
///Usage status
#[derive(Debug)]
pub enum List146 {
///Permitted unlimited
_01,
///Permitted subject to limit
///Limit should be specified in EpubUsageLimit or PriceConstraintLimit
_02,
///Prohibited
_03,
}
#[derive(Debug)]
pub enum EpubUsageStatusRefname {
EpubUsageStatus,
}
#[derive(Debug)]
pub enum EpubUsageStatusShortname {
X319,
}
#[derive(Debug)]
pub enum EpubUsageLimitRefname {
EpubUsageLimit,
}
#[derive(Debug)]
pub enum EpubUsageLimitShortname {
Epubusagelimit,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct QuantityElementType {
pub refname: Option<QuantityRefname>,
pub shortname: Option<QuantityShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: f64,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EpubUsageUnitElementType {
pub refname: Option<EpubUsageUnitRefname>,
pub shortname: Option<EpubUsageUnitShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List147,
}
#[derive(Debug)]
pub enum EpubLicenseNameRefname {
EpubLicenseName,
}
#[derive(Debug)]
pub enum EpubLicenseNameShortname {
X511,
}
#[derive(Debug)]
pub enum EpubLicenseExpressionRefname {
EpubLicenseExpression,
}
#[derive(Debug)]
pub enum EpubLicenseExpressionShortname {
Epublicenseexpression,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EpubLicenseExpressionTypeElementType {
pub refname: Option<EpubLicenseExpressionTypeRefname>,
pub shortname: Option<EpubLicenseExpressionTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List218,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct EpubLicenseExpressionTypeNameElementType {
pub refname: Option<EpubLicenseExpressionTypeNameRefname>,
pub shortname: Option<EpubLicenseExpressionTypeNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EpubLicenseExpressionLinkElementType {
pub refname: Option<EpubLicenseExpressionLinkRefname>,
pub shortname: Option<EpubLicenseExpressionLinkShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub enum EpubLicenseDateRefname {
EpubLicenseDate,
}
#[derive(Debug)]
pub enum EpubLicenseDateShortname {
Epublicensedate,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EpubLicenseDateRoleElementType {
pub refname: Option<EpubLicenseDateRoleRefname>,
pub shortname: Option<EpubLicenseDateRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List260,
}
///Product classification type
#[derive(Debug)]
pub enum List9 {
///WCO Harmonized System
///World Customs Organization Harmonized Commodity Coding and Description System, the basis of most other commodity code schemes. Use 6 digits, without punctuation. See https://www.wcoomd.org/en/topics/nomenclature/instrument-and-tools/hs-nomenclature-2022-edition.aspx and https://www.wcotradetools.org/en/harmonized-system
_01,
///UNSPSC
///UN Standard Product and Service Classification, including national versions adopted without any additions or changes to the codes or their meaning. Use 8 (or occasionally 10) digits, without punctuation
_02,
///HMRC
///UK Revenue and Customs classifications, based on the Harmonized System (8 or 10 digits, without punctuation, for exports from and imports into the UK respectively). See https://www.gov.uk/trade-tariff
_03,
///Warenverzeichnis für die Außenhandelsstatistik
///German export trade classification, based on the Harmonised System
_04,
///TARIC
///EU TARIC codes, an extended version of the Harmonized System primarily for imports into the EU. Use 10 digits (very occasionally 11), without punctuation. See https://taxation-customs.ec.europa.eu/customs-4/calculation-customs-duties/customs-tariff/eu-customs-tariff-taric_en
_05,
///Fondsgroep
///Centraal Boekhuis free classification field for publishers
_06,
///Sender’s product category
///A product category (not a subject classification) assigned by the sender
_07,
///GAPP Product Class
///Product classification maintained by the Chinese General Administration of Press and Publication (http://www.gapp.gov.cn)
_08,
///CPA
///Statistical Classification of Products by Activity in the European Economic Community, see http://ec.europa.eu/eurostat/ramon/nomenclatures/index.cfm?TargetUrl=LST_NOM_DTLStrNom=CPA_2008. Use 6 digits, without punctuation. For example, printed children’s books are ‘58.11.13’, but the periods are normally ommited in ONIX
_09,
///NCM
///Mercosur/Mercosul Common Nomenclature, based on the Harmonised System. Use 8 digits, without punctuation
_10,
///CPV
///Common Procurement Vocabulary (2008), used to describe products and services for public tendering and procurement within the EU. Code is a nine digit number (including the check digit), and may also include a space plus an alphanumeric code of two letters and three digits (including the supplementary check digit) from the Supplementary Vocabulary. See https://simap.ted.europa.eu/web/simap/cpv
_11,
///PKWiU
///Polish Classification of Products and Services (2015). Use a single letter followed by 2 to 7 digits, without punctuation. Only for use in ONIX 3.0 or later
_12,
///HTSUS
///US HTS (or HTSA) commodity codes for import of goods into USA (10 digits including the ‘statistical suffix’, and without punctuation). Only for use in ONIX 3.0 or later. See https://hts.usitc.gov/current
_13,
///US Schedule B
///US Schedule B commodity codes for export from USA (10 digits, without punctuation). Only for use in ONIX 3.0 or later. See http://uscensus.prod.3ceonline.com
_14,
///Clave SAT
///Mexican SAT classification, based on UN SPSC with later modifications (8 digits, without punctuation). Only for use in ONIX 3.0 or later. See https://www.sat.gob.mx/consultas/53693/catalogo-de-productos-y-servicios
_15,
///CN (EU Combined Nomenclature)
///EU Combined Nomenclature commodity codes, an extended version of the Harmonized System primarily for exports from the EU. Use 8 digits, without punctuation. Only for use in ONIX 3.0 or later. See https://trade.ec.europa.eu/access-to-markets/en/content/combined-nomenclature-0
_16,
///CCT
///Canadian Customs Tariff scheme, 8 or 10 digits for imports into and exports from Canada. Only for use in ONIX 3.0 or later. See https://www.cbsa-asfc.gc.ca/trade-commerce/tariff-tarif/menu-eng.html
_17,
///CACT
///Australian ‘Working tariff’. Combined Australian Customs Tariff Nomenclature and Statistical Classification. Only for use in ONIX 3.0 or later. See https://www.abf.gov.au/importing-exporting-and-manufacturing/tariff-classification
_18,
///NICO
///Mexican Número de Identificación Comercial, 10 digits for imports into and exports from Mexico. Only for use in ONIX 3.0 or later. See https://www.snice.gob.mx/cs/avi/snice/nico.ligie.html
_19,
///TARIC additional code
///Code for TARIC additions and exemptions, 4 alphanumeric characters (usually 1 letter, 3 digits), eg Y129 (for goods outside the scope of EUDR). Only for use in ONIX 3.0 or later
_20,
///Electre genre
///Typologie de marché géré par Electre (Market segment code maintained by Electre)
_50,
}
#[derive(Debug)]
pub enum ProductClassificationTypeRefname {
ProductClassificationType,
}
#[derive(Debug)]
pub enum ProductClassificationTypeShortname {
B274,
}
#[derive(Debug)]
pub enum ProductClassificationTypeNameRefname {
ProductClassificationTypeName,
}
#[derive(Debug)]
pub enum ProductClassificationTypeNameShortname {
X555,
}
#[derive(Debug)]
pub enum ProductClassificationCodeRefname {
ProductClassificationCode,
}
#[derive(Debug)]
pub enum ProductClassificationCodeShortname {
B275,
}
#[derive(Debug)]
pub enum PercentRefname {
Percent,
}
#[derive(Debug)]
pub enum PercentShortname {
B337,
}
#[derive(Debug)]
pub enum PrimaryPartRefname {
PrimaryPart,
}
#[derive(Debug)]
pub enum PrimaryPartShortname {
X457,
}
#[derive(Debug)]
pub struct ProductPartContent250 {
pub number_of_items_of_this_form: NumberOfItemsOfThisFormElementType,
pub number_of_copies: Option<NumberOfCopiesElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct NumberOfCopiesElementType {
pub refname: Option<NumberOfCopiesRefname>,
pub shortname: Option<NumberOfCopiesShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
#[derive(Debug)]
pub enum CollectionRefname {
Collection,
}
#[derive(Debug)]
pub enum CollectionShortname {
Collection,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CollectionTypeElementType {
pub refname: Option<CollectionTypeRefname>,
pub shortname: Option<CollectionTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List148,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CollectionFrequencyElementType {
pub refname: Option<CollectionFrequencyRefname>,
pub shortname: Option<CollectionFrequencyShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List259,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SourceNameElementType {
pub refname: Option<SourceNameRefname>,
pub shortname: Option<SourceNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CollectionIdentifierElementType {
pub refname: Option<CollectionIdentifierRefname>,
pub shortname: Option<CollectionIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collection_element_level: Option<CollectionElementLevelElementType>,
pub collection_id_type: CollectionIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CollectionSequenceElementType {
pub refname: Option<CollectionSequenceRefname>,
pub shortname: Option<CollectionSequenceShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collection_sequence_type: CollectionSequenceTypeElementType,
pub collection_sequence_type_name: Option<CollectionSequenceTypeNameElementType>,
pub collection_sequence_number: CollectionSequenceNumberElementType,
}
#[derive(Debug)]
pub enum CollectionGpAuthorship {
Content110(CollectionContent110),
NoContributor(Option<NoContributorElementType>),
}
#[derive(Debug)]
pub enum NoCollectionRefname {
NoCollection,
}
#[derive(Debug)]
pub enum NoCollectionShortname {
X411,
}
///Title type
#[derive(Debug)]
pub enum List15 {
///Undefined
_00,
///Distinctive title (book); Cover title (serial); Title of content item, collection, or resource
///The full text of the distinctive title of the item, without abbreviation or abridgement. For books, generally taken from the title page (see codes 11–15 where an alternative title is provided on cover or spine). Where the item is an omnibus edition containing two or more works by the same author, and there is no separate combined title, a distinctive title may be constructed (by the sender) by concatenating the individual titles, with suitable punctuation, as in ‘Pride and prejudice / Sense and sensibility / Northanger Abbey’. Where the title alone is not distinctive, recipients may add elements taken from a collection title and part number etc to create a distinctive title – but these elements should be provided separately by the sender
_01,
///ISSN key title of serial
///Serials only
_02,
///Title in original language
///Where the subject of the ONIX record is a translated item
_03,
///Title acronym or initialism
///For serials: an acronym or initialism of Title Type 01, eg ‘JAMA’, ‘JACM’
_04,
///Abbreviated title
///An abbreviated form of Title Type 01
_05,
///Title in other language
///A translation of Title Type 01 or 03, or an independent title, used when the work is translated into another language, sometimes termed a ‘parallel title’
_06,
///Thematic title of journal issue
///Serials only: when a journal issue is explicitly devoted to a specified topic
_07,
///Former title
///Books or serials: when an item was previously published under another title
_08,
///Distributor’s title
///For books: the title carried in a book distributor’s title file: frequently incomplete, and may include elements not properly part of the title. Usually limited in length and character set (eg to about 30 ASCII characters) for use on other e-commerce documentation
_10,
///Alternative title on cover
///An alternative title that appears on the cover of a book
_11,
///Alternative title on back
///An alternative title that appears on the back of a book
_12,
///Expanded title
///An expanded form of the title, eg the title of a school text book with grade and type and other details added to make the title meaningful, where otherwise it would comprise only the curriculum subject. This title type is required for submissions to the Spanish ISBN Agency
_13,
///Alternative title
///An alternative title that the book is widely known by, whether it appears on the book or not (including a title used in another market – but see code 06 for translations – or a working title previously used in metadata but replaced before publication)
_14,
///Alternative title on spine
///An alternative title that appears on the spine of a book. Only for use in ONIX 3.0 or later
_15,
///Translated from title
///Where the subject of the ONIX record is a translated item, but has been translated via some intermediate language. Title type 16 is distinct from title type 03. Only for use in ONIX 3.0 or later
_16,
}
#[derive(Debug)]
pub enum TitleTypeRefname {
TitleType,
}
#[derive(Debug)]
pub enum TitleTypeShortname {
B202,
}
#[derive(Debug)]
pub enum TitleElementRefname {
TitleElement,
}
#[derive(Debug)]
pub enum TitleElementShortname {
Titleelement,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TitleElementLevelElementType {
pub refname: Option<TitleElementLevelRefname>,
pub shortname: Option<TitleElementLevelShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List149,
}
#[derive(Debug)]
pub enum TitleElementContent351 {
Content352(TitleElementContent352),
Content356(TitleElementContent356),
Content360(TitleElementContent360),
TitleText(TitleTextElementType),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Script of transliterated textual data element
///● Added at revision 3.0.1
///Case of textual data, eg ALL CAPS, Title Case, Sentence case
#[derive(Debug)]
pub struct SubtitleElementType {
pub refname: Option<SubtitleRefname>,
pub shortname: Option<SubtitleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub language: Option<List74>,
pub textscript: Option<List121>,
pub textcase: Option<List14>,
pub content: String,
}
#[derive(Debug)]
pub enum TitleStatementRefname {
TitleStatement,
}
#[derive(Debug)]
pub enum TitleStatementShortname {
X478,
}
///Thesis type
#[derive(Debug)]
pub enum List72 {
///Habilitationsschrift
///Professorial dissertation (thesis for postdoctoral lecturing qualification)
_01,
///Dissertationsschrift
///Doctoral thesis
_02,
///Staatsexamensarbeit
///State examination thesis
_03,
///Magisterarbeit
///Magisters degree thesis
_04,
///Diplomarbeit
///Diploma degree thesis
_05,
///Bachelorarbeit
///Bachelors degree thesis
_06,
///Masterarbeit
///Masters degree thesis
_07,
}
#[derive(Debug)]
pub enum ThesisTypeRefname {
ThesisType,
}
#[derive(Debug)]
pub enum ThesisTypeShortname {
B368,
}
#[derive(Debug)]
pub enum ThesisPresentedToRefname {
ThesisPresentedTo,
}
#[derive(Debug)]
pub enum ThesisPresentedToShortname {
B369,
}
#[derive(Debug)]
pub enum ThesisYearRefname {
ThesisYear,
}
#[derive(Debug)]
pub enum ThesisYearShortname {
B370,
}
///Date format
#[derive(Debug)]
pub enum List55 {
///YYYYMMDD
///Common Era year, month and day (default for most dates)
_00,
///YYYYMM
///Year and month
_01,
///YYYYWW
///Year and week number
_02,
///YYYYQ
///Year and quarter (Q = 1, 2, 3, 4, with 1 = Jan to Mar)
_03,
///YYYYS
///Year and season (S = 1, 2, 3, 4, with 1 = ‘Spring’)
_04,
///YYYY
///Year (default for some dates)
_05,
///YYYYMMDDYYYYMMDD
///Spread of exact dates
_06,
///YYYYMMYYYYMM
///Spread of months
_07,
///YYYYWWYYYYWW
///Spread of week numbers
_08,
///YYYYQYYYYQ
///Spread of quarters
_09,
///YYYYSYYYYS
///Spread of seasons
_10,
///YYYYYYYY
///Spread of years
_11,
///Text string
///For complex, approximate or uncertain dates, or dates BCE. Suggested maximum length 100 characters
_12,
///YYYYMMDDThhmm
///Exact time. Use ONLY when exact times with hour/minute precision are relevant. By default, time is local. Alternatively, the time may be suffixed with an optional ‘Z’ for UTC times, or with ‘+’ or ‘-’ and an hhmm timezone offset from UTC. Times without a timezone are ‘rolling’ local times, times qualified with a timezone (using Z, + or -) specify a particular instant in time
_13,
///YYYYMMDDThhmmss
///Exact time. Use ONLY when exact times with second precision are relevant. By default, time is local. Alternatively, the time may be suffixed with an optional ‘Z’ for UTC times, or with ‘+’ or ‘-’ and an hhmm timezone offset from UTC. Times without a timezone are ‘rolling’ local times, times qualified with a timezone (using Z, + or -) specify a particular instant in time
_14,
///YYYYMMDD (H)
///Year month day (Hijri calendar)
_20,
///YYYYMM (H)
///Year and month (Hijri calendar)
_21,
///YYYY (H)
///Year (Hijri calendar)
_25,
///Text string (H)
///For complex, approximate or uncertain dates (Hijri calendar), text would usually be in Arabic script. Suggested maximum length 100 characters
_32,
}
#[derive(Debug)]
pub enum ContributorRefname {
Contributor,
}
#[derive(Debug)]
pub enum ContributorShortname {
Contributor,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ContributorRoleElementType {
pub refname: Option<ContributorRoleRefname>,
pub shortname: Option<ContributorRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List17,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct FromLanguageElementType {
pub refname: Option<FromLanguageRefname>,
pub shortname: Option<FromLanguageShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List74,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ToLanguageElementType {
pub refname: Option<ToLanguageRefname>,
pub shortname: Option<ToLanguageShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List74,
}
#[derive(Debug)]
pub enum ContributorContent125 {
Content126(ContributorContent126),
Content132(ContributorContent128),
GpStructuredName(AlternativeNameGpStructuredName),
GpCorporateName(ContributorGpCorporateName),
UnnamedPersons(UnnamedPersonsElementType),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ContributorDateElementType {
pub refname: Option<ContributorDateRefname>,
pub shortname: Option<ContributorDateShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub contributor_date_role: ContributorDateRoleElementType,
pub date: DateElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct BiographicalNoteElementType {
pub refname: Option<BiographicalNoteRefname>,
pub shortname: Option<BiographicalNoteShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<BiographicalNoteElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum BiographicalNoteElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct ContributorDescriptionElementType {
pub refname: Option<ContributorDescriptionRefname>,
pub shortname: Option<ContributorDescriptionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<ContributorDescriptionElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum ContributorDescriptionElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ContributorPlaceElementType {
pub refname: Option<ContributorPlaceRefname>,
pub shortname: Option<ContributorPlaceShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub contributor_place_relator: ContributorPlaceRelatorElementType,
pub content_136: ContributorPlaceContent136,
pub location_name: Vec<LocationNameElementType>,
}
#[derive(Debug)]
pub enum ContributorStatementRefname {
ContributorStatement,
}
#[derive(Debug)]
pub enum ContributorStatementShortname {
B049,
}
///Event role
#[derive(Debug)]
pub enum List20 {
///Publication linked to conference
///For example an academic, professional or political conference
_01,
///Complete proceedings of conference
_02,
///Selected papers from conference
_03,
///Publication linked to sporting event
///For example a competitive match, fixture series or championship
_11,
///Programme or guide for sporting event
_12,
///Publication linked to artistic event
///For example a theatrical or musical event or performance, a season of events or performances, or an exhibition of art
_21,
///Programme or guide for artistic event
_22,
///Publication linked to exposition
///For example a commercial exposition
_31,
///Programme or guide for exposition
_32,
}
#[derive(Debug)]
pub enum EventRoleRefname {
EventRole,
}
#[derive(Debug)]
pub enum EventRoleShortname {
X515,
}
#[derive(Debug)]
pub enum EventAcronymRefname {
EventAcronym,
}
#[derive(Debug)]
pub enum EventAcronymShortname {
X517,
}
#[derive(Debug)]
pub enum EventNumberRefname {
EventNumber,
}
#[derive(Debug)]
pub enum EventNumberShortname {
X518,
}
#[derive(Debug)]
pub enum EventThemeRefname {
EventTheme,
}
#[derive(Debug)]
pub enum EventThemeShortname {
X519,
}
#[derive(Debug)]
pub enum EventDateRefname {
EventDate,
}
#[derive(Debug)]
pub enum EventDateShortname {
X520,
}
#[derive(Debug)]
pub enum EventPlaceRefname {
EventPlace,
}
#[derive(Debug)]
pub enum EventPlaceShortname {
X521,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EditionTypeElementType {
pub refname: Option<EditionTypeRefname>,
pub shortname: Option<EditionTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List21,
}
#[derive(Debug)]
pub struct DescriptiveDetailContent158 {
pub edition_number: EditionNumberElementType,
pub edition_version_number: Option<EditionVersionNumberElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct EditionStatementElementType {
pub refname: Option<EditionStatementRefname>,
pub shortname: Option<EditionStatementShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<EditionStatementElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum EditionStatementElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
#[derive(Debug)]
pub enum NoEditionRefname {
NoEdition,
}
#[derive(Debug)]
pub enum NoEditionShortname {
N386,
}
#[derive(Debug)]
pub enum BibleRefname {
Bible,
}
#[derive(Debug)]
pub enum BibleShortname {
Bible,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct BibleContentsElementType {
pub refname: Option<BibleContentsRefname>,
pub shortname: Option<BibleContentsShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List82,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct BibleVersionElementType {
pub refname: Option<BibleVersionRefname>,
pub shortname: Option<BibleVersionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List83,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct StudyBibleTypeElementType {
pub refname: Option<StudyBibleTypeRefname>,
pub shortname: Option<StudyBibleTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List84,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct BiblePurposeElementType {
pub refname: Option<BiblePurposeRefname>,
pub shortname: Option<BiblePurposeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List85,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct BibleTextOrganizationElementType {
pub refname: Option<BibleTextOrganizationRefname>,
pub shortname: Option<BibleTextOrganizationShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List86,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct BibleReferenceLocationElementType {
pub refname: Option<BibleReferenceLocationRefname>,
pub shortname: Option<BibleReferenceLocationShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List87,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct BibleTextFeatureElementType {
pub refname: Option<BibleTextFeatureRefname>,
pub shortname: Option<BibleTextFeatureShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List97,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ReligiousTextIdentifierElementType {
pub refname: Option<ReligiousTextIdentifierRefname>,
pub shortname: Option<ReligiousTextIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ReligiousTextFeatureElementType {
pub refname: Option<ReligiousTextFeatureRefname>,
pub shortname: Option<ReligiousTextFeatureShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub religious_text_feature_type: ReligiousTextFeatureTypeElementType,
pub religious_text_feature_code: ReligiousTextFeatureCodeElementType,
pub religious_text_feature_description: Vec<ReligiousTextFeatureDescriptionElementType>,
}
///Language role
#[derive(Debug)]
pub enum List22 {
///Language of text
_01,
///Original language of a translated text
///Where the text in the original language is NOT part of the current product
_02,
///Language of abstracts
///Where different from language of text: used mainly for serials
_03,
///Original language in a multilingual edition
///Where the text in the original language is part of a bilingual or multilingual product
_06,
///Translated language in a multilingual edition
///Where the text in a translated language is part of a bilingual or multilingual product
_07,
///Language of audio track
///For example, on an audiobook or video product. Use for the only available audio track, or where there are multiple tracks (eg on a DVD), for an alternate language audio track that is NOT the original. (In the latter case, use code 11 for the original language audio if it is included in the product, or code 10 to identify an original language that is not present in the product)
_08,
///Language of subtitles
///For example, on a DVD or digital video with closed or open captions / subtitles
_09,
///Language of original audio track
///Where the audio in the original language is NOT part of the current product
_10,
///Original language audio track in a multilingual product
///Where the audio in the original language is part of a multilingual product with multiple audio tracks
_11,
///Language of notes
///Use for the language of footnotes, endnotes, annotations or commentary, instructions or guidance for use etc, where it is different from the language of the main text
_12,
///Language of introduction / end matter
///Use for the language of any introductory text, prologue, etc, or epilogue, end matter, etc, where it is different from the language of the main text. Only for use in ONIX 3.0 or later
_13,
///Target language of teaching / learning
///Eg for the book ‘Ingles para latinos’, English. For phrasebooks and language teaching, learning or study material. Wherever possible, the language should also be listed as the subject of the book. Only for use in ONIX 3.0 or later
_14,
///Additional vocabulary / text in this language
///Use of significant words, phrases, quotations or short passages from a language other than the main language of the text, as an integral part of the text. This does not include ‘loanwords’, academic Latin, etc. Only for use in ONIX 3.0 or later
_15,
}
#[derive(Debug)]
pub enum LanguageRoleRefname {
LanguageRole,
}
#[derive(Debug)]
pub enum LanguageRoleShortname {
B253,
}
#[derive(Debug)]
pub enum LanguageCodeRefname {
LanguageCode,
}
#[derive(Debug)]
pub enum LanguageCodeShortname {
B252,
}
#[derive(Debug)]
pub enum CountryCodeRefname {
CountryCode,
}
#[derive(Debug)]
pub enum CountryCodeShortname {
B251,
}
///Region – based on ISO 3166-2
#[derive(Debug)]
pub enum List49 {
///Australian Capital Territory
AuCt,
///New South Wales
AuNs,
///Northern Territory
AuNt,
///Queensland
AuQl,
///South Australia
AuSa,
///Tasmania
AuTs,
///Victoria
AuVi,
///Western Australia
AuWa,
///Brussels-Capital Region
///Only for use in ONIX 3.0 or later
BeBru,
///Flemish Region
///Only for use in ONIX 3.0 or later
BeVlg,
///Walloon Region
///Only for use in ONIX 3.0 or later
BeWal,
///Alberta
CaAb,
///British Columbia
CaBc,
///Manitoba
CaMb,
///New Brunswick
CaNb,
///Newfoundland and Labrador
CaNl,
///Nova Scotia
CaNs,
///Northwest Territories
CaNt,
///Nunavut
CaNu,
///Ontario
CaOn,
///Prince Edward Island
CaPe,
///Quebec
CaQc,
///Saskatchewan
CaSk,
///Yukon Territory
CaYt,
///Beijing Municipality
///Only for use in ONIX 3.0 or later
CnBj,
///Tianjin Municipality
///Only for use in ONIX 3.0 or later
CnTj,
///Hebei Province
///Only for use in ONIX 3.0 or later
CnHe,
///Shanxi Province
///Only for use in ONIX 3.0 or later
CnSx,
///Nei Mongol Autonomous Region
///Only for use in ONIX 3.0 or later
CnNm,
///Liaoning Province
///Only for use in ONIX 3.0 or later
CnLn,
///Jilin Province
///Only for use in ONIX 3.0 or later
CnJl,
///Heilongjiang Province
///Only for use in ONIX 3.0 or later
CnHl,
///Shanghai Municipality
///Only for use in ONIX 3.0 or later
CnSh,
///Jiangsu Province
///Only for use in ONIX 3.0 or later
CnJs,
///Zhejiang Province
///Only for use in ONIX 3.0 or later
CnZj,
///Anhui Province
///Only for use in ONIX 3.0 or later
CnAh,
///Fujian Province
///Only for use in ONIX 3.0 or later
CnFj,
///Jiangxi Province
///Only for use in ONIX 3.0 or later
CnJx,
///Shandong Province
///Only for use in ONIX 3.0 or later
CnSd,
///Henan Province
///Only for use in ONIX 3.0 or later
CnHa,
///Hubei Province
///Only for use in ONIX 3.0 or later
CnHb,
///Hunan Province
///Only for use in ONIX 3.0 or later
CnHn,
///Guangdong Province
///Only for use in ONIX 3.0 or later
CnGd,
///Guangxi Zhuangzu Autonomous Region
///Only for use in ONIX 3.0 or later
CnGx,
///Hainan Province
///Only for use in ONIX 3.0 or later
CnHi,
///Chongqing Municipality
///Only for use in ONIX 3.0 or later
CnCq,
///Sichuan Province
///Only for use in ONIX 3.0 or later
CnSc,
///Guizhou Province
///Only for use in ONIX 3.0 or later
CnGz,
///Yunnan Province
///Only for use in ONIX 3.0 or later
CnYn,
///Tibet Autonomous Region
///Only for use in ONIX 3.0 or later
CnXz,
///Shaanxi Province
///Only for use in ONIX 3.0 or later
CnSn,
///Gansu Province
///Only for use in ONIX 3.0 or later
CnGs,
///Qinghai Province
///Only for use in ONIX 3.0 or later
CnQh,
///Ningxia Huizu Autonomous Region
///Only for use in ONIX 3.0 or later
CnNx,
///Xinjiang Uygur Autonomous Region
///Only for use in ONIX 3.0 or later
CnXj,
///Taiwan Province
///Prefer code TW (Taiwan, Province of China) from List 91. Only for use in ONIX 3.0 or later
CnTw,
///Hong Kong Special Administrative Region
///Prefer code HK (Hong Kong) from List 91. Only for use in ONIX 3.0 or later
CnHk,
///Macau Special Administrative Region
///Prefer code MO (Macao) from List 91. Only for use in ONIX 3.0 or later
CnMo,
///Beijing Municipality
///Deprecated in favor of CN-BJ
Cn11,
///Tianjin Municipality
///Deprecated in favor of CN-TJ
Cn12,
///Hebei Province
///Deprecated in favor of CN-HE
Cn13,
///Shanxi Province
///Deprecated in favor of CN-SX
Cn14,
///Inner Mongolia Autonomous Region
///Deprecated in favor of CN-NM
Cn15,
///Liaoning Province
///Deprecated in favor of CN-LN
Cn21,
///Jilin Province
///Deprecated in favor of CN-JL
Cn22,
///Heilongjiang Province
///Deprecated in favor of CN-HL
Cn23,
///Shanghai Municipality
///Deprecated in favor of CN-SH
Cn31,
///Jiangsu Province
///Deprecated in favor of CN-JS
Cn32,
///Zhejiang Province
///Deprecated in favor of CN-ZJ
Cn33,
///Anhui Province
///Deprecated in favor of CN-AH
Cn34,
///Fujian Province
///Deprecated in favor of CN-FJ
Cn35,
///Jiangxi Province
///Deprecated in favor of CN-JX
Cn36,
///Shandong Province
///Deprecated in favor of CN-SD
Cn37,
///Henan Province
///Deprecated in favor of CN-HA
Cn41,
///Hubei Province
///Deprecated in favor of CN-HB
Cn42,
///Hunan Province
///Deprecated in favor of CN-HN
Cn43,
///Guangdong Province
///Deprecated in favor of CN-GD
Cn44,
///Guangxi Zhuang Autonomous Region
///Deprecated in favor of CN-GX
Cn45,
///Hainan Province
///Deprecated in favor of CN-HI
Cn46,
///Chongqing Municipality
///Deprecated in favor of CN-CQ
Cn50,
///Sichuan Province
///Deprecated in favor of CN-SC
Cn51,
///Guizhou Province
///Deprecated in favor of CN-GZ
Cn52,
///Yunnan Province
///Deprecated in favor of CN-YN
Cn53,
///Tibet Autonomous Region
///Deprecated in favor of CN-XZ
Cn54,
///Shaanxi Province
///Deprecated in favor of CN-SN
Cn61,
///Gansu Province
///Deprecated in favor of CN-GS
Cn62,
///Qinghai Province
///Deprecated in favor of CN-QH
Cn63,
///Ningxia Hui Autonomous Region
///Deprecated in favor of CN-NX
Cn64,
///Xinjiang Uyghur Autonomous Region
///Deprecated in favor of CN-XJ
Cn65,
///Taiwan Province
///Deprecated in favor of CN-TW, but prefer code TW (Taiwan, Province of China) from List 91
Cn71,
///Hong Kong Special Administrative Region
///Deprecated in favor of CN-HK, but prefer code HK (Hong Kong) from List 91
Cn91,
///Macau Special Administrative Region
///Deprecated in favor of CN-MO, but prefer code MO (Macao) from List 91
Cn92,
///Canary Islands
EsCn,
///Corsica
FrH,
///UK airside
///Airside outlets at UK international airports only
GbAir,
///UK airports
///All UK airports, including both airside and other outlets
GbAps,
///Channel Islands
///Deprecated, replaced by country codes GG – Guernsey, and JE – Jersey from List 91
GbCha,
///England
GbEng,
///England, Wales, Scotland
///UK excluding Northern Ireland. Deprecated – use separate region codes GB-ENG, GB-SCT, GB-WLS instead
GbEws,
///Isle of Man
///Deprecated, replaced by country code IM – Isle of Man from List 91
GbIom,
///Northern Ireland
GbNir,
///Scotland
GbSct,
///Wales
GbWls,
///Ireland airside
///Airside outlets at Irish international airports only
IeAir,
///Agrigento
ItAg,
///Alessandria
ItAl,
///Ancona
ItAn,
///Aosta
ItAo,
///Arezzo
ItAr,
///Ascoli Piceno
ItAp,
///Asti
ItAt,
///Avellino
ItAv,
///Bari
ItBa,
///Barletta-Andria-Trani
ItBt,
///Belluno
ItBl,
///Benevento
ItBn,
///Bergamo
ItBg,
///Biella
ItBi,
///Bologna
ItBo,
///Bolzano
ItBz,
///Brescia
ItBs,
///Brindisi
ItBr,
///Cagliari
ItCa,
///Caltanissetta
ItCl,
///Campobasso
ItCb,
///Carbonia-Iglesias
ItCi,
///Caserta
ItCe,
///Catania
ItCt,
///Catanzaro
ItCz,
///Chieti
ItCh,
///Como
ItCo,
///Cosenza
ItCs,
///Cremona
ItCr,
///Crotone
ItKr,
///Cuneo
ItCn,
///Enna
ItEn,
///Fermo
ItFm,
///Ferrara
ItFe,
///Firenze
ItFi,
///Foggia
ItFg,
///Forlì-Cesena
ItFc,
///Frosinone
ItFr,
///Genova
ItGe,
///Gorizia
ItGo,
///Grosseto
ItGr,
///Imperia
ItIm,
///Isernia
ItIs,
///La Spezia
ItSp,
///L’Aquila
ItAq,
///Latina
ItLt,
///Lecce
ItLe,
///Lecco
ItLc,
///Livorno
ItLi,
///Lodi
ItLo,
///Lucca
ItLu,
///Macerata
ItMc,
///Mantova
ItMn,
///Massa-Carrara
ItMs,
///Matera
ItMt,
///Medio Campidano
ItVs,
///Messina
ItMe,
///Milano
ItMi,
///Modena
ItMo,
///Monza e Brianza
ItMb,
///Napoli
ItNa,
///Novara
ItNo,
///Nuoro
ItNu,
///Ogliastra
ItOg,
///Olbia-Tempio
ItOt,
///Oristano
ItOr,
///Padova
ItPd,
///Palermo
ItPa,
///Parma
ItPr,
///Pavia
ItPv,
///Perugia
ItPg,
///Pesaro e Urbino
ItPu,
///Pescara
ItPe,
///Piacenza
ItPc,
///Pisa
ItPi,
///Pistoia
ItPt,
///Pordenone
ItPn,
///Potenza
ItPz,
///Prato
ItPo,
///Ragusa
ItRg,
///Ravenna
ItRa,
///Reggio Calabria
ItRc,
///Reggio Emilia
ItRe,
///Rieti
ItRi,
///Rimini
ItRn,
///Roma
ItRm,
///Rovigo
ItRo,
///Salerno
ItSa,
///Sassari
ItSs,
///Savona
ItSv,
///Siena
ItSi,
///Siracusa
ItSr,
///Sondrio
ItSo,
///Taranto
ItTa,
///Teramo
ItTe,
///Terni
ItTr,
///Torino
ItTo,
///Trapani
ItTp,
///Trento
ItTn,
///Treviso
ItTv,
///Trieste
ItTs,
///Udine
ItUd,
///Varese
ItVa,
///Venezia
ItVe,
///Verbano-Cusio-Ossola
ItVb,
///Vercelli
ItVc,
///Verona
ItVr,
///Vibo Valentia
ItVv,
///Vicenza
ItVi,
///Viterbo
ItVt,
///Kosovo-Metohija
RsKm,
///Vojvodina
RsVo,
///Republic of Adygeya
RuAd,
///Republic of Altay
RuAl,
///Republic of Bashkortostan
RuBa,
///Republic of Buryatiya
RuBu,
///Chechenskaya Republic
RuCe,
///Chuvashskaya Republic
RuCu,
///Republic of Dagestan
RuDa,
///Republic of Ingushetiya
RuIn,
///Kabardino-Balkarskaya Republic
RuKb,
///Republic of Kalmykiya
RuKl,
///Karachayevo-Cherkesskaya Republic
RuKc,
///Republic of Kareliya
RuKr,
///Republic of Khakasiya
RuKk,
///Republic of Komi
RuKo,
///Republic of Mariy El
RuMe,
///Republic of Mordoviya
RuMo,
///Republic of Sakha (Yakutiya)
RuSa,
///Republic of Severnaya Osetiya-Alaniya
RuSe,
///Republic of Tatarstan
RuTa,
///Republic of Tyva (Tuva)
RuTy,
///Udmurtskaya Republic
RuUd,
///Altayskiy Administrative Territory
RuAlt,
///Kamchatskiy Administrative Territory
RuKam,
///Khabarovskiy Administrative Territory
RuKha,
///Krasnodarskiy Administrative Territory
RuKda,
///Krasnoyarskiy Administrative Territory
RuKya,
///Permskiy Administrative Territory
RuPer,
///Primorskiy Administrative Territory
RuPri,
///Stavropol’skiy Administrative Territory
RuSta,
///Zabaykal’skiy Administrative Territory
RuZab,
///Amurskaya Administrative Region
RuAmu,
///Arkhangel’skaya Administrative Region
RuArk,
///Astrakhanskaya Administrative Region
RuAst,
///Belgorodskaya Administrative Region
RuBel,
///Bryanskaya Administrative Region
RuBry,
///Chelyabinskaya Administrative Region
RuChe,
///Irkutskaya Administrative Region
RuIrk,
///Ivanovskaya Administrative Region
RuIva,
///Kaliningradskaya Administrative Region
RuKgd,
///Kaluzhskaya Administrative Region
RuKlu,
///Kemerovskaya Administrative Region
RuKem,
///Kirovskaya Administrative Region
RuKir,
///Kostromskaya Administrative Region
RuKos,
///Kurganskaya Administrative Region
RuKgn,
///Kurskaya Administrative Region
RuKrs,
///Leningradskaya Administrative Region
RuLen,
///Lipetskaya Administrative Region
RuLip,
///Magadanskaya Administrative Region
RuMag,
///Moskovskaya Administrative Region
RuMos,
///Murmanskaya Administrative Region
RuMur,
///Nizhegorodskaya Administrative Region
RuNiz,
///Novgorodskaya Administrative Region
RuNgr,
///Novosibirskaya Administrative Region
RuNvs,
///Omskaya Administrative Region
RuOms,
///Orenburgskaya Administrative Region
RuOre,
///Orlovskaya Administrative Region
RuOrl,
///Penzenskaya Administrative Region
RuPnz,
///Pskovskaya Administrative Region
RuPsk,
///Rostovskaya Administrative Region
RuRos,
///Ryazanskaya Administrative Region
RuRya,
///Sakhalinskaya Administrative Region
RuSak,
///Samarskaya Administrative Region
RuSam,
///Saratovskaya Administrative Region
RuSar,
///Smolenskaya Administrative Region
RuSmo,
///Sverdlovskaya Administrative Region
RuSve,
///Tambovskaya Administrative Region
RuTam,
///Tomskaya Administrative Region
RuTom,
///Tul’skaya Administrative Region
RuTul,
///Tverskaya Administrative Region
RuTve,
///Tyumenskaya Administrative Region
RuTyu,
///Ul’yanovskaya Administrative Region
RuUly,
///Vladimirskaya Administrative Region
RuVla,
///Volgogradskaya Administrative Region
RuVgg,
///Vologodskaya Administrative Region
RuVlg,
///Voronezhskaya Administrative Region
RuVor,
///Yaroslavskaya Administrative Region
RuYar,
///Moskva City
RuMow,
///Sankt-Peterburg City
RuSpe,
///Yevreyskaya Autonomous Administrative Region
RuYev,
///Chukotskiy Autonomous District
RuChu,
///Khanty-Mansiyskiy Autonomous District
RuKhm,
///Nenetskiy Autonomous District
RuNen,
///Yamalo-Nenetskiy Autonomous District
RuYan,
///Alaska
UsAk,
///Alabama
UsAl,
///Arkansas
UsAr,
///Arizona
UsAz,
///California
UsCa,
///Colorado
UsCo,
///Connecticut
UsCt,
///District of Columbia
UsDc,
///Delaware
UsDe,
///Florida
UsFl,
///Georgia
UsGa,
///Hawaii
UsHi,
///Iowa
UsIa,
///Idaho
UsId,
///Illinois
UsIl,
///Indiana
UsIn,
///Kansas
UsKs,
///Kentucky
UsKy,
///Louisiana
UsLa,
///Massachusetts
UsMa,
///Maryland
UsMd,
///Maine
UsMe,
///Michigan
UsMi,
///Minnesota
UsMn,
///Missouri
UsMo,
///Mississippi
UsMs,
///Montana
UsMt,
///North Carolina
UsNc,
///North Dakota
UsNd,
///Nebraska
UsNe,
///New Hampshire
UsNh,
///New Jersey
UsNj,
///New Mexico
UsNm,
///Nevada
UsNv,
///New York
UsNy,
///Ohio
UsOh,
///Oklahoma
UsOk,
///Oregon
UsOr,
///Pennsylvania
UsPa,
///Rhode Island
UsRi,
///South Carolina
UsSc,
///South Dakota
UsSd,
///Tennessee
UsTn,
///Texas
UsTx,
///Utah
UsUt,
///Virginia
UsVa,
///Vermont
UsVt,
///Washington
UsWa,
///Wisconsin
UsWi,
///West Virginia
UsWv,
///Wyoming
UsWy,
///Eurozone
///Countries geographically within continental Europe which use the Euro as their sole currency. At the time of writing, this is a synonym for ‘AT BE CY EE FI FR DE ES GR HR IE IT LT LU LV MT NL PT SI SK’ (the official Eurozone 20), plus ‘AD MC SM VA ME’ and Kosovo (other Euro-using countries in continental Europe). Note some other territories using the Euro, but outside continental Europe are excluded from this list, and may need to be specified separately. ONLY valid in ONIX 3.0, and ONLY within P.26 – and this use is itself Deprecated. Use of an explicit list of countries instead of ECZ is strongly encouraged
Ecz,
///World
///In ONIX 3.0 and later, may ONLY be used in RegionsIncluded
World,
}
#[derive(Debug)]
pub enum RegionCodeRefname {
RegionCode,
}
#[derive(Debug)]
pub enum RegionCodeShortname {
B398,
}
///Text script – based on ISO 15924
#[derive(Debug)]
pub enum List121 {
///Adlam
///Only for use in ONIX 3.0 or later
Adlm,
///Afaka
///Script is not supported by Unicode
Afak,
///Caucasian Albanian
///Ancient/historic script. Only for use in ONIX 3.0 or later
Aghb,
///Ahom, Tai Ahom
///Ancient/historic script. Only for use in ONIX 3.0 or later
Ahom,
///Arabic
Arab,
///Arabic (Nastaliq variant)
///Typographic variant of Arabic. Only for use in ONIX 3.0 or later
Aran,
///Imperial Aramaic
///Ancient/historic script
Armi,
///Armenian
Armn,
///Avestan
///Ancient/historic script
Avst,
///Balinese
Bali,
///Bamun
Bamu,
///Bassa Vah
///Ancient/historic script
Bass,
///Batak
Batk,
///Bengali (Bangla)
Beng,
///Bhaiksuki
///Ancient/historic script. Only for use in ONIX 3.0 or later
Bhks,
///Blissymbols
///Script is not supported by Unicode
Blis,
///Bopomofo
Bopo,
///Brahmi
///Ancient/historic script
Brah,
///Braille
Brai,
///Buginese
Bugi,
///Buhid
Buhd,
///Chakma
Cakm,
///Unified Canadian Aboriginal Syllabics
Cans,
///Carian
///Ancient/historic script
Cari,
///Cham
Cham,
///Cherokee
Cher,
///Chorasmian
///Khwārezmian. Ancient/historic script. Only for use in ONIX 3.0 or later
Chrs,
///Cirth
///Script is not supported by Unicode
Cirt,
///Coptic
///Ancient/historic script
Copt,
///Cypro-Minoan
///Ancient/historic script. Only for use in ONIX 3.0 or later
Cpmn,
///Cypriot
///Ancient/historic script
Cprt,
///Cyrillic
Cyrl,
///Cyrillic (Old Church Slavonic variant)
///Ancient/historic, typographic variant of Cyrillic
Cyrs,
///Devanagari (Nagari)
Deva,
///Dives Akuru
///Ancient/historic script. Only for use in ONIX 3.0 or later
Diak,
///Dogra
///Only for use in ONIX 3.0 or later
Dogr,
///Deseret (Mormon)
Dsrt,
///Duployan shorthand, Duployan stenography
Dupl,
///Egyptian demotic
///Script is not supported by Unicode
Egyd,
///Egyptian hieratic
///Script is not supported by Unicode
Egyh,
///Egyptian hieroglyphs
///Ancient/historic script
Egyp,
///Elbasan
///Ancient/historic script
Elba,
///Elymaic
///Ancient/historic script. Only for use in ONIX 3.0 or later
Elym,
///Ethiopic (Ge‘ez)
Ethi,
///Khutsuri (Asomtavruli and Khutsuri)
///Georgian in Unicode
Geok,
///Georgian (Mkhedruli and Mtavruli)
Geor,
///Glagolitic
///Ancient/historic script
Glag,
///Gunjala Gondi
///Only for use in ONIX 3.0 or later
Gong,
///Masaram Gondi
///Only for use in ONIX 3.0 or later
Gonm,
///Gothic
///Ancient/historic script
Goth,
///Grantha
///Ancient/historic script
Gran,
///Greek
Grek,
///Gujarati
Gujr,
///Gurmukhi
Guru,
///Han with Bopomofo
///See Hani, Bopo. Only for use in ONIX 3.0 or later
Hanb,
///Hangul (Hangŭl, Hangeul)
Hang,
///Han (Hanzi, Kanji, Hanja)
Hani,
///Hanunoo (Hanunóo)
Hano,
///Han (Simplified variant)
///Subset of Hani
Hans,
///Han (Traditional variant)
///Subset of Hani
Hant,
///Hatran
///Ancient/historic script. Only for use in ONIX 3.0 or later
Hatr,
///Hebrew
Hebr,
///Hiragana
Hira,
///Anatolian Hieroglyphs (Luwian Hieroglyphs, Hittite Hieroglyphs)
///Ancient/historic script. Only for use in ONIX 3.0 or later
Hluw,
///Pahawh Hmong
Hmng,
///Nyiakeng Puachue Hmong
///Only for use in ONIX 3.0 or later
Hmnp,
///Japanese syllabaries (alias for Hiragana + Katakana)
///See Hira, Kana
Hrkt,
///Old Hungarian (Hungarian Runic)
///Ancient/historic script
Hung,
///Indus (Harappan)
///Script is not supported by Unicode
Inds,
///Old Italic (Etruscan, Oscan, etc.)
///Ancient/historic script
Ital,
///Jamo (alias for Jamo subset of Hangul)
///Subset of Hang. Only for use in ONIX 3.0 or later
Jamo,
///Javanese
Java,
///Japanese (alias for Han + Hiragana + Katakana)
///See Hani, Hira and Kana
Jpan,
///Jurchen
///Script is not supported by Unicode
Jurc,
///Kayah Li
Kali,
///Katakana
Kana,
///Kawi
///Ancient/historic script. Only for use in ONIX 3.0 or later
Kawi,
///Kharoshthi
///Ancient/historic script
Khar,
///Khmer
Khmr,
///Khojki
///Ancient/historic script
Khoj,
///Khitan large script
///Script is not supported by Unicode. Only for use in ONIX 3.0 or later
Kitl,
///Khitan small script
///Only for use in ONIX 3.0 or later
Kits,
///Kannada
Knda,
///Korean (alias for Hangul + Han)
///See Hani and Hang
Kore,
///Kpelle
///Script is not supported by Unicode
Kpel,
///Kaithi
///Ancient/historic script
Kthi,
///Tai Tham (Lanna)
Lana,
///Lao
Laoo,
///Latin (Fraktur variant)
///Typographic variant of Latin
Latf,
///Latin (Gaelic variant)
///Typographic variant of Latin
Latg,
///Latin
Latn,
///Leke
///Script is not supported by Unicode. Only for use in ONIX 3.0 or later
Leke,
///Lepcha (Róng)
Lepc,
///Limbu
Limb,
///Linear A
///Ancient/historic script
Lina,
///Linear B
///Ancient/historic script
Linb,
///Lisu (Fraser)
Lisu,
///Loma
///Script is not supported by Unicode
Loma,
///Lycian
///Ancient/historic script
Lyci,
///Lydian
///Ancient/historic script
Lydi,
///Mahajani
///Ancient/historic script. Only for use in ONIX 3.0 or later
Mahj,
///Makasar
///Only for use in ONIX 3.0 or later
Maka,
///Mandaic, Mandaean
Mand,
///Manichaean
///Ancient/historic script
Mani,
///Marchen
///Ancient/historic script. Only for use in ONIX 3.0 or later
Marc,
///Mayan hieroglyphs
///Script is not supported by Unicode
Maya,
///Medefaidrin (Oberi Okaime, Oberi Ɔkaimɛ)
///Script is not supported by Unicode. Only for use in ONIX 3.0 or later
Medf,
///Mende Kikakui
Mend,
///Meroitic Cursive
///Ancient/historic script
Merc,
///Meroitic Hieroglyphs
///Ancient/historic script
Mero,
///Malayalam
Mlym,
///Modi, Moḍī
///Ancient/historic script. Only for use in ONIX 3.0 or later
Modi,
///Mongolian
///Includes Clear, Manchu scripts
Mong,
///Moon (Moon code, Moon script, Moon type)
///Script is not supported by Unicode
Moon,
///Mro, Mru
Mroo,
///Meitei Mayek (Meithei, Meetei)
Mtei,
///Multani
///Ancient/historic script. Only for use in ONIX 3.0 or later
Mult,
///Myanmar (Burmese)
Mymr,
///Nag Mundari
///Only for use in ONIX 3.0 or later
Nagm,
///Nandinagari
///Ancient/historic script. Only for use in ONIX 3.0 or later
Nand,
///Old North Arabian (Ancient North Arabian)
///Ancient/historic script
Narb,
///Nabatean
///Ancient/historic script
Nbat,
///Newa, Newar, Newari, Nepāla lipi
///Only for use in ONIX 3.0 or later
Newa,
///Nakhi Geba (’Na-’Khi ²Ggŏ-¹baw, Naxi Geba)
///Script is not supported by Unicode
Nkgb,
///N’Ko
Nkoo,
///Nüshu
Nshu,
///Ogham
///Ancient/historic script
Ogam,
///Ol Chiki (Ol Cemet’, Ol, Santali)
Olck,
///Old Turkic, Orkhon Runic
///Ancient/historic script
Orkh,
///Oriya (Odia)
Orya,
///Osage
///Only for use in ONIX 3.0 or later
Osge,
///Osmanya
Osma,
///Old Uyghur
///Ancient/historic script. Only for use in ONIX 3.0 or later
Ougr,
///Palmyrene
///Ancient/historic script
Palm,
///Pau Cin Hau
///Only for use in ONIX 3.0 or later
Pauc,
///Old Permic
///Ancient/historic script
Perm,
///Phags-pa
///Ancient/historic script
Phag,
///Inscriptional Pahlavi
///Ancient/historic script
Phli,
///Psalter Pahlavi
///Ancient/historic script
Phlp,
///Book Pahlavi
///Script is not supported by Unicode
Phlv,
///Phoenician
///Ancient/historic script
Phnx,
///Klingon (KLI plqaD)
///Script is not supported by Unicode. Only for use in ONIX 3.0 or later
Piqd,
///Miao (Pollard)
Plrd,
///Inscriptional Parthian
///Ancient/historic script
Prti,
///Reserved for private use (start)
Qaaa,
///Picture Communication Symbols (PCS)
///ONIX local code for graphical symbols used in augmentative and alternative communication and education, not listed in ISO 15924. Only for use in ONIX 3.0 or later
Qabp,
///Widgit symbols
///ONIX local code for graphical symbols used in augmentative and alternative communication and education, not listed in ISO 15924. Only for use in ONIX 3.0 or later
Qabw,
///Reserved for private use (end)
Qabx,
///Rejang (Redjang, Kaganga)
Rjng,
///Rongorongo
///Script is not supported by Unicode
Roro,
///Runic
///Ancient/historic script
Runr,
///Samaritan
Samr,
///Sarati
///Script is not supported by Unicode
Sara,
///Old South Arabian
///Ancient/historic script
Sarb,
///Saurashtra
Saur,
///SignWriting
Sgnw,
///Shavian (Shaw)
Shaw,
///Sharada, Śāradā
Shrd,
///Siddham, Siddhaṃ, Siddhamātṛkā
///Ancient/historic script. Only for use in ONIX 3.0 or later
Sidd,
///Khudawadi, Sindhi
Sind,
///Sinhala
Sinh,
///Sogdian
///Ancient/historic script. Only for use in ONIX 3.0 or later
Sogd,
///Old Sogdian
///Ancient/historic script. Only for use in ONIX 3.0 or later
Sogo,
///Sora Sompeng
Sora,
///Soyombo
///Only for use in ONIX 3.0 or later
Soyo,
///Sundanese
Sund,
///Syloti Nagri
Sylo,
///Syriac
Syrc,
///Syriac (Estrangelo variant)
///Typographic variant of Syriac
Syre,
///Syriac (Western variant)
///Typographic variant of Syriac
Syrj,
///Syriac (Eastern variant)
///Typographic variant of Syriac
Syrn,
///Tagbanwa
Tagb,
///Takri, Ṭākrī, Ṭāṅkrī
Takr,
///Tai Le
Tale,
///New Tai Lue
Talu,
///Tamil
Taml,
///Tangut
///Ancient/historic script
Tang,
///Tai Viet
Tavt,
///Telugu
Telu,
///Tengwar
///Script is not supported by Unicode
Teng,
///Tifinagh (Berber)
Tfng,
///Tagalog (Baybayin, Alibata)
Tglg,
///Thaana
Thaa,
///Thai
Thai,
///Tibetan
Tibt,
///Tirhuta
Tirh,
///Tangsa
///Only for use in ONIX 3.0 or later
Tnsa,
///Toto
///Only for use in ONIX 3.0 or later
Toto,
///Ugaritic
///Ancient/historic script
Ugar,
///Vai
Vaii,
///Visible Speech
///Script is not supported by Unicode
Visp,
///Vithkuqi
///Ancient/historic script. Only for use in ONIX 3.0 or later
Vith,
///Warang Citi (Varang Kshiti)
Wara,
///Wancho
///Only for use in ONIX 3.0 or later
Wcho,
///Woleai
///Script is not supported by Unicode
Wole,
///Old Persian
///Ancient/historic script
Xpeo,
///Cuneiform, Sumero-Akkadian
///Ancient/historic script
Xsux,
///Yezidi
///Ancient/historic script. Only for use in ONIX 3.0 or later
Yezi,
///Yi
Yiii,
///Zanabazar Square (Zanabazarin Dörböljin Useg, Xewtee Dörböljin Bicig, Horizontal Square Script)
///Only for use in ONIX 3.0 or later
Zanb,
///Mathematical notation
///Not a script in Unicode
Zmth,
///Symbols (Emoji variant)
///Not a script in Unicode. Only for use in ONIX 3.0 or later
Zsye,
///Symbols
///Not a script in Unicode
Zsym,
///Code for unwritten documents
///Not a script in Unicode
Zxxx,
///Code for inherited script
Zinh,
///Code for undetermined script
Zyyy,
///Code for uncoded script
Zzzz,
}
#[derive(Debug)]
pub enum ScriptCodeRefname {
ScriptCode,
}
#[derive(Debug)]
pub enum ScriptCodeShortname {
X420,
}
///Extent type
#[derive(Debug)]
pub enum List23 {
///Main content page count
///The highest-numbered page in a single numbered sequence of main content, usually the highest Arabic-numbered page in a book; or, for books without page numbers or (rarely) with multiple numbered sequences of main content, the total number of pages that carry the main content of the book. Note that this may include numbered but otherwise blank pages (eg pages inserted to ensure chapters start on a recto page) and may exclude unnumbered (but contentful) pages such as those in inserts/plate sections. It should exclude pages of back matter (eg any index) even when their numbering sequence continues from the main content. Either this or the Content Page count is the preferred page count for most books for the general reader. For books with substantial front and/or back matter, include also Front matter (03) and Back matter (04) page counts, or Total numbered pages (05). For books with inserts (plate sections), also include Total unnumbered insert page count whenever possible
_00,
///Total text length
///Number of words or characters of natural language text
_02,
///Front matter page count
///The total number of numbered (usually Roman-numbered) pages that precede the main content of a book. This usually consists of various title and imprint pages, table of contents, an introduction, preface, foreword, etc
_03,
///Back matter page count
///The total number of numbered (often Roman-numbered) pages that follow the main content of a book. This usually consists of an afterword, appendices, endnotes, index, etc. It excludes extracts or ‘teaser’ material from other works, and blank (or advertising) pages that are present only for convenience of printing and binding
_04,
///Total numbered pages
///The sum of all Roman- and Arabic-numbered pages. Note that this may include numbered but otherwise blank pages (eg pages inserted to ensure chapters start on a recto page) and may exclude unnumbered (but contentful) pages such as those in inserts/plate sections. It is the sum of the main content (00), front matter (03) and back matter (04) page counts
_05,
///Production page count
///The total number of pages in a book, including unnumbered pages, front matter, back matter, etc. This includes any extracts or ‘teaser’ material from other works, and blank pages at the back that carry no content and are present only for convenience of printing and binding
_06,
///Absolute page count
///The total number of pages of the book counting the cover as page 1. This page count type should be used only for digital publications delivered with fixed pagination
_07,
///Number of pages in print counterpart
///The total number of pages (equivalent to the Content page count, code 11) in the print counterpart of a digital product delivered without fixed pagination, or of an audio product
_08,
///Duration
///Total duration in time, expressed in the specified extent unit. This is the ‘running time’ equivalent of code 11
_09,
///Notional number of pages in digital product
///An estimate of the number of ‘pages’ in a digital product delivered without fixed pagination, and with no print counterpart, given as an indication of the size of the work. Equivalent to code 08, but exclusively for digital or audio products
_10,
///Content page count
///The sum of all Roman- and Arabic-numbered and contentful unnumbered pages. Sum of page counts with codes 00, 03, 04 and 12, and also the sum of 05 and 12
_11,
///Total unnumbered insert page count
///The total number of unnumbered pages with content inserted within the main content of a book – for example inserts/plate sections that are not numbered
_12,
///Duration of introductory matter
///Duration in time, expressed in the specified extent units, of introductory matter. This is the ‘running time’ equivalent of code 03, and comprises any significant amount of running time represented by a musical intro, announcements, titles, introduction or other material prefacing the main content
_13,
///Duration of main content
///Duration in time, expressed in the specified extent units, of the main content. This is the ‘running time’ equivalent of code 00, and excludes time represented by announcements, titles, introduction or other prefatory material or ‘back matter’
_14,
///Duration of back matter
///Duration in time, expressed in the specified extent units, of any content that follows the main content of a book. This may consist of an afterword, appendices, endnotes, end music etc. It excludes extracts or ‘teaser’ material from other works. This is the ‘running time’ equivalent of code 04
_15,
///Production duration
///Duration in time, expressed in the specified extent units, of the complete content of a book. This is the ‘running time’ equivalent of code 06, and includes time represented by musical themes, announcements, titles, introductory and other prefatory material, plus ‘back matter’ such as any afterword, appendices, plus any extracts or ‘teaser’ material from other works
_16,
///Number of cards
///In a pack of educational flash cards, playing cards, postcards, greeting cards etc. Only for use in ONIX 3.0 or later
_17,
///Number of write-in pages
///Count of the number of pages within the main content page count that are blank or substantially blank, intended for the reader to fill in (eg in a journal). Only for use in ONIX 3.0 or later
_18,
///Filesize
///Approximate size of a digital file or package (in the form it is downloaded), expressed in the specified extent unit
_22,
///Storage filesize
///Approximate size of storage space required for a digital file or package in the form in which it is usually stored for use on a device, where this is different from the download filesize (see code 22), and expressed in the specified extent unit. Only for use in ONIX 3.0 or later
_23,
}
#[derive(Debug)]
pub enum ExtentTypeRefname {
ExtentType,
}
#[derive(Debug)]
pub enum ExtentTypeShortname {
B218,
}
#[derive(Debug)]
pub struct ExtentContent183 {
pub extent_value: ExtentValueElementType,
pub extent_value_roman: Option<ExtentValueRomanElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ExtentValueRomanElementType {
pub refname: Option<ExtentValueRomanRefname>,
pub shortname: Option<ExtentValueRomanShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Extent unit
#[derive(Debug)]
pub enum List24 {
///Physical pieces
///Unbound sheets or leaves, where ‘pages’ is not appropriate. For example a count of the individual number of cards in a pack. Only for use in ONIX 3.0 or later. For number of pieces in eg a jigsaw, kit, board game, see ProductFormFeature and code 22 from list 79
_00,
///Characters
///Approximate number of characters (including spaces) of natural language text. Only for use in ONIX 3.0 or later
_01,
///Words
///Approximate number of words of natural language text
_02,
///Pages
_03,
///Hours (integer and decimals)
_04,
///Minutes (integer and decimals)
_05,
///Seconds (integer only)
_06,
///Tracks
///Of an audiobook on CD (or a similarly divided selection of audio files). Conventionally, each track is 3–6 minutes of running time, and track counts are misleading and inappropriate if the average track duration is significantly more or less than this. Note that track breaks are not necessarily aligned with structural breaks in the text (eg chapter breaks)
_11,
///Discs
///Of an audiobook on multiple Red Book audio CDs. Conventionally, each disc is 60–70 minutes of running time, and disc counts are misleading and inappropriate if the average disc duration is significantly more or less than this (for example if the discs are Yellow Book CDs containing mp3 files). Note that disc breaks are not necessarily aligned with structural breaks in the text (eg chapter breaks). Only for use in ONIX 3.0 or later
_12,
///Hours HHH
///Fill with leading zeroes if any elements are missing
_14,
///Hours and minutes HHHMM
///Fill with leading zeroes if any elements are missing
_15,
///Hours minutes seconds HHHMMSS
///Fill with leading zeroes if any elements are missing. If centisecond precision is required, use HHHMMSScc. Only for use in ONIX 3.0 or later
_16,
///Bytes
_17,
///Kbytes
_18,
///Mbytes
_19,
///Chapters
///Number of chapters (or other similar subdivisions) of the content. Only for use in ONIX 3.0 or later
_31,
}
#[derive(Debug)]
pub enum ExtentUnitRefname {
ExtentUnit,
}
#[derive(Debug)]
pub enum ExtentUnitShortname {
B220,
}
#[derive(Debug)]
pub struct AbbrElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub text_before: Option<Text>,
pub inline: Vec<Mixed<InlineElement>>,
}
#[derive(Debug)]
pub struct UlElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub li: Vec<DdElementType>,
}
#[derive(Debug)]
pub struct OlElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub type_: Option<Type>,
pub start: Option<i32>,
pub li: Vec<DdElementType>,
}
#[derive(Debug)]
pub struct DlElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub content: Vec<DlElementTypeContent>,
}
#[derive(Debug)]
pub enum DlElementTypeContent {
Dt(AbbrElementType),
Dd(DdElementType),
}
#[derive(Debug)]
pub struct HrElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
}
#[derive(Debug)]
pub struct PreElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub content: Vec<PreElementTypeContent>,
}
#[derive(Debug)]
pub enum PreElementTypeContent {
A(AElementType),
Br(BrElementType),
Span(AbbrElementType),
Bdo(BdoElementType),
Map(MapElementType),
Tt(AbbrElementType),
I(AbbrElementType),
B(AbbrElementType),
Phrase(PhraseElement),
Gloss(GlossElement),
Text(Text),
}
#[derive(Debug)]
pub struct BlockquoteElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub cite: Option<String>,
pub block: Vec<BlockElement>,
}
#[derive(Debug)]
pub struct DdElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub content: Vec<DdElementTypeContent>,
}
#[derive(Debug)]
pub enum DdElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
#[derive(Debug)]
pub struct TableElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub summary: Option<String>,
pub width: Option<String>,
pub border: Option<String>,
pub frame: Option<TFrame>,
pub rules: Option<TRules>,
pub cellspacing: Option<String>,
pub cellpadding: Option<String>,
pub caption: Option<AbbrElementType>,
pub content_48: Option<TableContent48>,
pub thead: Option<TbodyElementType>,
pub tfoot: Option<TbodyElementType>,
pub content_49: TableContent49,
}
#[derive(Debug)]
pub struct BdoElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Dir,
pub text_before: Option<Text>,
pub inline: Vec<Mixed<InlineElement>>,
}
#[derive(Debug)]
pub struct BrElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
}
#[derive(Debug)]
pub struct ImgElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub src: String,
pub alt: String,
pub longdesc: Option<String>,
pub height: Option<String>,
pub width: Option<String>,
pub usemap: Option<String>,
pub ismap: Option<Ismap>,
}
#[derive(Debug)]
pub struct MapElementType {
pub lang: Option<String>,
pub dir: Option<Dir>,
pub id: String,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub name: Option<String>,
pub content: Vec<MapElementTypeContent>,
}
#[derive(Debug)]
pub enum MapElementTypeContent {
Block(BlockElement),
Area(AreaElementType),
}
#[derive(Debug)]
pub enum FontstyleElement {
Tt(Box<AbbrElementType>),
I(Box<AbbrElementType>),
B(Box<AbbrElementType>),
Big(Box<AbbrElementType>),
Small(Box<AbbrElementType>),
}
#[derive(Debug)]
pub struct QElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub cite: Option<String>,
pub text_before: Option<Text>,
pub inline: Vec<Mixed<InlineElement>>,
}
#[derive(Debug)]
pub enum GlossElement {
Ruby(RubyElementType),
}
#[derive(Debug)]
pub struct AElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub charset: Option<String>,
pub type_: Option<String>,
pub name: Option<String>,
pub href: Option<String>,
pub hreflang: Option<String>,
pub rel: Option<String>,
pub rev: Option<String>,
pub accesskey: Option<String>,
pub shape: Shape,
pub coords: Option<String>,
pub tabindex: Option<String>,
pub onfocus: Option<String>,
pub onblur: Option<String>,
pub content: Vec<AElementTypeContent>,
}
#[derive(Debug)]
pub enum AElementTypeContent {
Special(SpecialElement),
Fontstyle(FontstyleElement),
Phrase(PhraseElement),
Gloss(GlossElement),
Text(Text),
}
#[derive(Debug)]
pub struct RubyElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub content: RubyElementTypeContent,
}
#[derive(Debug)]
pub enum RubyElementTypeContent {
Content59(RubyContent59),
Content62(RubyContent62),
}
///Illustration and other content type
#[derive(Debug)]
pub enum List25 {
///Unspecified, see description
///See description in the AncillaryContentDescription element
_00,
///Illustrations, black and white
_01,
///Illustrations, color
_02,
///Halftones, black and white
///Including black and white photographs
_03,
///Halftones, color
///Including color photographs
_04,
///Line drawings, black and white
_05,
///Line drawings, color
_06,
///Tables, black and white
_07,
///Tables, color
_08,
///Illustrations, unspecified
_09,
///Halftones, unspecified
///Including photographs
_10,
///Tables, unspecified
_11,
///Line drawings, unspecified
_12,
///Halftones, duotone
_13,
///Maps
_14,
///Frontispiece
_15,
///Diagrams
_16,
///Figures
_17,
///Charts
_18,
///Recorded music items
///Recorded music extracts or examples, or complete recorded work(s), accompanying textual or other content
_19,
///Printed music items
///Printed music extracts or examples, or complete music score(s), accompanying textual or other content
_20,
///Graphs
///To be used in the mathematical sense of a diagram that represents numerical values plotted against an origin and axes, cf codes 16 and 18
_21,
///Plates, unspecified
///‘Plates’ means illustrations that are on separate pages bound into the body of a book
_22,
///Plates, black and white
///‘Plates’ means illustrations that are on separate pages bound into the body of a book
_23,
///Plates, color
///‘Plates’ means illustrations that are on separate pages bound into the body of a book
_24,
///Index
_25,
///Bibliography
_26,
///Inset maps
///Larger-scale inset maps of places or features of interest included in a map product
_27,
///GPS grids
///GPS grids included in a map product
_28,
///Glossary
_29,
///Table of contents
///Only for use in ONIX 3.0 or later
_30,
///Gazetteer
///Geographical index. Only for use in ONIX 3.0 or later
_31,
}
#[derive(Debug)]
pub enum AncillaryContentTypeRefname {
AncillaryContentType,
}
#[derive(Debug)]
pub enum AncillaryContentTypeShortname {
X423,
}
#[derive(Debug)]
pub enum AncillaryContentDescriptionRefname {
AncillaryContentDescription,
}
#[derive(Debug)]
pub enum AncillaryContentDescriptionShortname {
X424,
}
#[derive(Debug)]
pub enum NumberRefname {
Number,
}
#[derive(Debug)]
pub enum NumberShortname {
B257,
}
#[derive(Debug)]
pub enum MainSubjectRefname {
MainSubject,
}
#[derive(Debug)]
pub enum MainSubjectShortname {
X425,
}
///Subject scheme identifier
#[derive(Debug)]
pub enum List27 {
///Dewey
///Dewey Decimal Classification
_01,
///Abridged Dewey
_02,
///LC classification
///US Library of Congress classification
_03,
///LC subject heading
///US Library of Congress subject heading
_04,
///NLM classification
///US National Library of Medicine medical classification
_05,
///MeSH heading
///US National Library of Medicine Medical subject heading
_06,
///NAL subject heading
///US National Agricultural Library subject heading
_07,
///AAT
///Getty Art and Architecture Thesaurus heading
_08,
///UDC
///Universal Decimal Classification
_09,
///BISAC Subject Heading
///BISAC Subject Headings are used in the North American market to categorize books based on topical content. They serve as a guideline for shelving books in physical stores and browsing books in online stores. See https://www.bisg.org/complete-bisac-subject-headings-list
_10,
///BISAC Regional theme
///A geographical qualifier used with a BISAC subject category
_11,
///BIC subject category
///Deprecated. The BIC subject category scheme is obsolete, see https://bic.org.uk/resources/BIC-Standard-Subject-Categories/
_12,
///BIC geographical qualifier
///Deprecated
_13,
///BIC language qualifier (language as subject)
///Deprecated
_14,
///BIC time period qualifier
///Deprecated
_15,
///BIC educational purpose qualifier
///Deprecated
_16,
///BIC reading level and special interest qualifier
///Deprecated
_17,
///DDC-Sachgruppen der Deutschen Nationalbibliografie
///Used for German National Bibliography since 2004 (100 subjects). Is different from value 30. See https://www.dnb.de/SharedDocs/Downloads/DE/Professionell/Erschliessen/ddcSachgruppenDNBAb2013.html (in German)
_18,
///LC fiction genre heading
_19,
///Keywords
///For indexing and search purposes, not normally intended for display. Where multiple keywords or keyword phrases are sent, this should be in a single instance of the SubjectHeadingText element, and it is recommended that they should be separated by semi-colons (this is consistent with Library of Congress preferred practice)
_20,
///BIC children’s book marketing category
///See PA/BIC CBMC guidelines at https://bic.org.uk/resources/childrens-books-marketing-classifications/
_21,
///BISAC Merchandising Theme
///BISAC Merchandising Themes are used in addition to BISAC Subject Headings to denote an audience to which a work may be of particular appeal, a time of year or event for which a work may be especially appropriate, or to further describe fictional works that have been subject-coded by genre
_22,
///Publisher’s own category code
///Which is not in itself a subject scheme, but describes other attributes of the content, as specified in SubjectSchemeName
_23,
///Proprietary subject scheme
///For example, a publisher’s or retailer’s own subject coding scheme. Note that a distinctive SubjectSchemeName is required with proprietary coding schemes
_24,
///Tabla de materias ISBN
///Latin America
_25,
///Warengruppen-Systematik des deutschen Buchhandels
///See https://vlb.de/assets/images/wgsneuversion2_0.pdf (in German)
_26,
///SWD
///Schlagwortnormdatei – Subject Headings Authority File in the German-speaking countries. See http://www.dnb.de/standardisierung/normdateien/swd.htm (in German) and http://www.dnb.de/eng/standardisierung/normdateien/swd.htm (English). Deprecated in favor of the GND
_27,
///Thèmes Electre
///Subject classification used by Electre (France)
_28,
///CLIL Classification thématique
///France. A four-digit number, see https://clil.centprod.com/listeActive.html (in French)
_29,
///DNB-Sachgruppen
///Deutsche Bibliothek subject groups. Used for German National Bibliography until 2003 (65 subjects). Is different from value 18. See http://www.dnb.de/service/pdf/ddc_wv_alt_neu.pdf (in German)
_30,
///NUGI
///Nederlandse Uniforme Genre-Indeling (former Dutch book trade classification)
_31,
///NUR
///Nederlandstalige Uniforme Rubrieksindeling (Dutch book trade classification, from 2002), see http://www.boek.nl/nur (in Dutch)
_32,
///ECPA Christian Book Category
///Former ECPA Christian Product Category Book Codes, consisting of up to three x 3-letter blocks, for Super Category, Primary Category and Sub-Category, previously at http://www.ecpa.org/ECPA/cbacategories.xls. No longer maintained by the ECPA. Deprecated
_33,
///SISO
///Schema Indeling Systematische Catalogus Openbare Bibliotheken (Dutch library classification)
_34,
///Korean Decimal Classification (KDC)
///A modified Dewey Decimal Classification used in the Republic of Korea
_35,
///DDC Deutsch 22
///German Translation of Dewey Decimal Classification 22. Also known as DDC 22 ger. See http://www.ddc-deutsch.de/produkte/uebersichten/
_36,
///Bokgrupper
///Norwegian book trade product categories (Bokgrupper) administered by the Norwegian Publishers Association (http://www.forleggerforeningen.no/)
_37,
///Varegrupper
///Norwegian bookselling subject categories (Bokhandelens varegrupper) administered by the Norwegian Booksellers Association (http://bokhandlerforeningen.no/)
_38,
///Læreplaner-KL06
///Norwegian school curriculum version. Deprecated
_39,
///Nippon Decimal Classification
///Japanese subject classification scheme
_40,
///BSQ
///BookSelling Qualifier: Russian book trade classification
_41,
///ANELE Materias
///Spain: subject coding scheme of the Asociación Nacional de Editores de Libros y Material de Enseñanza
_42,
///Utdanningsprogram
///Codes for Norwegian ‘utdanningsprogram’ used in secondary education. See: http://www.udir.no/. (Formerly labelled ‘Skolefag’)
_43,
///Programområde
///Codes for Norwegian ‘programområde’ used in secondary education. See http://www.udir.no/. (Formerly labelled ‘Videregående’ or ‘Programfag’)
_44,
///Undervisningsmateriell
///Norwegian list of categories for books and other material used in education
_45,
///Norsk DDK
///Norwegian version of Dewey Decimal Classification
_46,
///Varugrupper
///Swedish bookselling subject categories
_47,
///SAB
///Swedish classification scheme
_48,
///Läromedelstyp
///Swedish bookselling educational subject type
_49,
///Förhandsbeskrivning
///Swedish publishers preliminary subject classification
_50,
///Spanish ISBN UDC subset
///Controlled subset of UDC codes used by the Spanish ISBN Agency
_51,
///ECI subject categories
///Subject categories defined by El Corte Inglés and used widely in the Spanish book trade
_52,
///Soggetto CCE
///Classificazione commerciale editoriale (Italian book trade subject category based on BIC). CCE documentation available at https://www.ie-online.it/CCE2_2.0.pdf
_53,
///Qualificatore geografico CCE
///CCE Geographical qualifier
_54,
///Qualificatore di lingua CCE
///CCE Language qualifier
_55,
///Qualificatore di periodo storico CCE
///CCE Time Period qualifier
_56,
///Qualificatore di livello scolastico CCE
///CCE Educational Purpose qualifier
_57,
///Qualificatore di età di lettura CCE
///CCE Reading Level Qualifier
_58,
///VdS Bildungsmedien Fächer
///Subject code list of the German association of educational media publishers, formerly at http://www.bildungsmedien.de/service/onixlisten/unterrichtsfach_onix_codelist27_value59_0408.pdf. Deprecated – use Thema subject category (eg YPA – Educational: Arts, general) instead, and add a Thema language qualifier (eg 2ACB – English) for language teaching
_59,
///Fagkoder
///Norwegian primary and secondary school subject categories (fagkoder), see http://www.udir.no/
_60,
///JEL classification
///Journal of Economic Literature classification scheme
_61,
///CSH
///National Library of Canada subject heading (English)
_62,
///RVM
///Répertoire de vedettes-matière Bibliothèque de l’Université Laval) (French)
_63,
///YSA
///Finnish General Thesaurus (Finnish: Yleinen suomalainen asiasanasto). See https://finto.fi/ysa/fi/ (in Finnish). Deprecated. No longer updated, and replaced by YSO (see code 71)
_64,
///Allärs
///Swedish translation of the Finnish General Thesaurus (Swedish: Allmän tesaurus på svenska). See https://finto.fi/allars/sv/ (in Swedish). Deprecated. No longer updated, and replaced by YSO (see code 71)
_65,
///YKL
///Finnish Public Libraries Classification System (Finnish: Yleisten kirjastojen luokitusjärjestelmä). See https://finto.fi/ykl/fi/ (in Finnish), https://finto.fi/ykl/sv/ (in Swedish), https://finto.fi/ykl/en/ (in English)
_66,
///MUSA
///Finnish Music Thesaurus (Finnish: Musiikin asiasanasto). See https://finto.fi/musa/fi/ (in Finnish). Deprecated, and replaced by YSO (see code 71)
_67,
///CILLA
///Swedish translation of the Finnish Music Thesaurus (Swedish: Specialtesaurus för musik). See https://finto.fi/musa/sv/ (in Swedish). Deprecated, and replaced by YSO (see code 71)
_68,
///Kaunokki
///Finnish thesaurus for fiction (Finnish: Fiktiivisen aineiston asiasanasto). See https://finto.fi/kaunokki/fi/ (in Finnish). Deprecated. No longer updated, and replaced by Kauno and SLM (see codes D0 and D1)
_69,
///Bella
///Swedish translation of the Finnish thesaurus for fiction (Swedish: Specialtesaurus för fiktivt material:). See https://finto.fi/kaunokki/sv/ (in Swedish). Deprecated. No longer updated, and replaced by Kauno and SLM (see codes D0 and D1)
_70,
///YSO
///General Finnish Ontology (Finnish: Yleinen suomalainen ontologia). See https://finto.fi/yso/fi/ (in Finnish), https://finto.fi/yso/sv/ (in Swedish), https://finto.fi/yso/en/ (in English)
_71,
///PTO
///Finnish Geospatial Domain Ontology (Finnish: Paikkatieto ontologia). See https://finto.fi/pto/fi/ (in Finnish), https://finto.fi/pto/sv/ (in Swedish), https://finto.fi/pto/en/ (in English)
_72,
///Suomalainen kirja-alan luokitus
///Finnish book trade categorization
_73,
///Sears
///Sears List of Subject Headings
_74,
///BIC E4L
///BIC E4Libraries Category Headings, formerly at http://www.bic.org.uk/51/E4libraries-Subject-Category-Headings/ but replaced by UK Standard Library Categories (code 92). Deprecated
_75,
///CSR
///Code Sujet Rayon: subject categories used by bookstores in France
_76,
///Suomalainen oppiaineluokitus
///Finnish school subject categories. See https://www.onixkeskus.fi/media/f/5722
_77,
///Japanese book trade C-Code
///See https://isbn.jpo.or.jp/doc/08.pdf#page=44 (in Japanese)
_78,
///Japanese book trade Genre Code
_79,
///Fiktiivisen aineiston lisäluokitus
///Finnish fiction genre classification. See https://finto.fi/ykl/fi/page/fiktioluokka (in Finnish), https://finto.fi/ykl/sv/page/fiktioluokka (in Swedish), https://finto.fi/ykl/en/page/fiktioluokka (in English)
_80,
///Arabic Subject heading scheme
_81,
///Arabized BIC subject category
///Arabized version of BIC subject category scheme developed by ElKotob.com
_82,
///Arabized LC subject headings
///Arabized version of Library of Congress scheme
_83,
///Bibliotheca Alexandrina Subject Headings
///Classification scheme used by Library of Alexandria
_84,
///Postal code
///Location defined by postal code. Format is two-letter country code (from List 91), space, postal code. Note some postal codes themselves contain spaces, eg ‘GB N7 9DP’ or ‘US 10125’
_85,
///GeoNames ID
///ID number for geographical place, as defined at http://www.geonames.org (eg 2825297 is Stuttgart, Germany, see http://www.geonames.org/2825297)
_86,
///NewBooks Subject Classification
///Used for classification of academic and specialist publication in German-speaking countries. See http://www.newbooks-services.com/de/top/unternehmensportrait/klassifikation-und-mapping.html (German) and http://www.newbooks-services.com/en/top/about-newbooks/classification-mapping.html (English)
_87,
///Chinese Library Classification
///Subject classification maintained by the Editorial Board of Chinese Library Classification. See http://cct.nlc.gov.cn for access to details of the scheme
_88,
///NTCPDSAC Classification
///Subject classification for Books, Audiovisual products and E-publications formulated by China National Technical Committee 505
_89,
///Season and Event Indicator
///German code scheme indicating association with seasons, holidays, events (eg Autumn, Back to School, Easter)
_90,
///GND
///(de: Gemeinsame Normdatei) Integrated Authority File used in the German-speaking countries. See https://www.dnb.de/DE/Professionell/Standardisierung/GND/gnd_node.html (German) and https://www.dnb.de/EN/Professionell/Standardisierung/GND/gnd_node.html (English). Combines the PND, SWD and GKD into a single authority file, and should be used in preference to the older codes
_91,
///BIC UKSLC
///UK Standard Library Categories, the successor to BIC’s E4L classification scheme. See https://bic.org.uk/resources/uk-standard-library-categories/
_92,
///Thema subject category
///International multilingual subject category scheme – see https://ns.editeur.org/thema
_93,
///Thema place qualifier
_94,
///Thema language qualifier
_95,
///Thema time period qualifier
_96,
///Thema educational purpose qualifier
_97,
///Thema interest age / special interest qualifier
_98,
///Thema style qualifier
_99,
///Ämnesord
///Swedish subject categories maintained by Bokrondellen
A2,
///Statystyka Książek Papierowych, Mówionych I Elektronicznych
///Polish Statistical Book and E-book Classification
A3,
///CCSS
///Common Core State Standards curriculum alignment, for links to US educational standards. SubjectCode uses the full dot notation. See http://www.corestandards.org/developers-and-publishers
A4,
///Rameau
///French library subject headings
A5,
///Nomenclature discipline scolaire
///French educational subject classification, URI http://data.education.fr/voc/scolomfr/scolomfr-voc-015GTPX
A6,
///ISIC
///International Standard Industry Classification, a classification of economic activities. Use for books that are about a particular industry or economic activity. SubjectCode should be a single letter denoting an ISIC section OR a 2-, 3- or 4-digit number denoting an ISIC division, group or class. See http://unstats.un.org/unsd/cr/registry/isic-4.asp
A7,
///LC Children’s Subject Headings
///Library of Congress Children’s Subject Headings: LCSHAC supplementary headings for Children’s books
A8,
///Ny Läromedel
///Swedish bookselling educational subject
A9,
///EuroVoc
///EuroVoc multilingual thesaurus. SubjectCode should be a EuroVoc concept dc:identifier (for example, 2777, ‘refrigerated products’). See http://eurovoc.europa.eu
B0,
///BISG Educational Taxonomy
///Controlled vocabulary for educational objectives. See https://www.bisg.org/products/recommendations-for-citing-educational-standards-and-objectives-in-metadata
B1,
///Keywords (not for display)
///For indexing and search purposes, MUST not be displayed. Where multiple keywords or keyword phrases are sent, this should be in a single instance of the SubjectHeadingText element, and it is recommended that they should be separated by semi-colons. Use of code B2 should be very rare: use B2 in preference to code 20 only where it is important to show the keyword list is specifically NOT for display to purchasers (eg some keywords for a medical textbook may appear offensive if displayed out of context)
B2,
///Nomenclature Diplôme
///French higher and vocational educational subject classification, URI http://data.education.fr/voc/scolomfr/scolomfr-voc-029
B3,
///Key character names
///For fiction and non-fiction, one or more key names, provided – like keywords – for indexing and search purposes. Where multiple character names are sent, this should be in a single instance of SubjectHeadingText, and multiple names should be separated by semi-colons. Note NameAsSubject should be used for people who are the central subject of the book. Code B4 may be used for names of lesser importance
B4,
///Key place names
///For fiction and non-fiction, one or more key names, provided – like keywords – for indexing and search purposes. Where multiple place names are sent, this should in a single instance of SubjectHeadingText, and multiple names should be separated by semi-colons. Only for use in ONIX 3.0 or later
B5,
///FAST
///Faceted Application of Subject Terminology, OCLC subject scheme derived from LCSH (see code 04). See https://fast.oclc.org/fast/. Codes are up to 8 digits, for example 1726640 for Historical fiction (see https://id.worldcat.org/fast/1726640). Only for use in ONIX 3.0 or later
B6,
///NGSS
///Next Generation Science Standards for K-12 education in the USA (https://www.nextgenscience.org). SubjectCode is a code such as 4-PS3-2. Only for use in ONIX 3.0 or later
B7,
///MVB-Lesemotive
///MVB classification of ‘reading rationales’, which classify unconscious motives that lead to a book purchase. Categories are assigned and maintained by MVB. Only for use in ONIX 3.0 or later. See https://vlb.de/lesemotive
B8,
///LOPS21 Subject module
///Finnish Suomalainen oppiaineluokitus. Only for use in ONIX 3.0 or later
B9,
///Læreplaner-LK20
///Codes for Norwegian curriculum for primary and secondary education. Only for use in ONIX 3.0 or later. See Læreplaner-LK20 at https://www.udir.no/om-udir/data/kl06-grep/
C0,
///Kompetansemål-LK20
///Codes for competency aims in the Norwegian curriculum for primary and secondary education. Only for use in ONIX 3.0 or later. See Kompetansemål-LK20 at https://www.udir.no/om-udir/data/kl06-grep/
C1,
///Kompetansemålsett-LK20
///Codes for sets of competency aims in the Norwegian curriculum for primary and secondary education. Only for use in ONIX 3.0 or later. See Kompetansemålsett-LK20 at https://www.udir.no/om-udir/data/kl06-grep/
C2,
///Tverrfaglige temaer-LK20
///Codes for interdisciplinary topics in the Norwegian curriculum for primary and secondary education. Only for use in ONIX 3.0 or later. See Tverrfaglige temaer-LK20 at https://www.udir.no/om-udir/data/kl06-grep/
C3,
///CLIL – Type d’article scolaire
///Only for use in ONIX 3.0 or later
C4,
///GAR – Type pédagogique
///Gestionnaire d’Accès aux resources – see https://gar.education.fr/ Only for use in ONIX 3.0 or later
C5,
///ISCED-F
///UNESCO ISCED Fields of education and training (2013), eg SubjectCode 0222 is ‘History and archaeology’. Only for use in ONIX 3.0 or later. See http://uis.unesco.org/sites/default/files/documents/international-standard-classification-of-education-fields-of-education-and-training-2013-detailed-field-descriptions-2015-en.pdf
C6,
///Klassifikationen von Spielen, Puzzles und Spielwaren
///German category scheme for games, puzzles and toys. Only for use in ONIX 3.0 or later. See https://www.ludologie.de/fileadmin/user_upload/PDFs/211126_Kategorisierung_von_Spielen_Puzzles_und_Spielwaren.pdf
C7,
///NBVok NTSF
///National Library of Norway genre and form thesaurus. Only for use in ONIX 3.0 or later. See https://www.nb.no/nbvok/ntsf
C8,
///JPRO Genre
///Subject / genre code used in Japan. Only for use in ONIX 3.0 or later
C9,
///KAUNO
///Finnish Ontology for fiction (Finnish: Fiktiivisen aineiston ontologia). See https://finto.fi/kauno/fi/ (in Finnish), https://finto.fi/kauno/sv/ (in Swedish), https://finto.fi/kauno/en/ (in English). Only for use in ONIX 3.0 or later
D0,
///SLM
///Finnish genre and form vocabulary (Finnish: Suomalainen lajityyppi ja muotosanasto). See https://finto.fi/slm/fi/ (in Finnish), https://finto.fi/slm/sv/ (in Swedish), https://finto.fi/slm/en/ (in English). Only for use in ONIX 3.0 or later
D1,
///YSO-places
///General Finnish Ontology for Places (Finnish: Yleinen suomalainen ontologia – paikat). See https://finto.fi/yso-paikat/fi/ (in Finnish), https://finto.fi/yso-paikat/sv/ (in Swedish), https://finto.fi/yso-paikat/en/ (in English). Only for use in ONIX 3.0 or later
D2,
///Norske emneord
///See https://www.nb.no/nbvok/nb/. Only for use in ONIX 3.0 or later
D3,
///Austlang
///Controlled vocabulary and alphanumeric codes for Aboriginal and Torres Strait Islander languages and peoples, maintained by the Australian Institute of Aboriginal and Torres Strait Islander Studies (AIATSIS), for use where the book is about a language or the people that traditionally speak it. Only for use in ONIX 3.0 or later. See https://collection.aiatsis.gov.au/austlang
D4,
}
#[derive(Debug)]
pub enum SubjectSchemeIdentifierRefname {
SubjectSchemeIdentifier,
}
#[derive(Debug)]
pub enum SubjectSchemeIdentifierShortname {
B067,
}
#[derive(Debug)]
pub enum SubjectSchemeNameRefname {
SubjectSchemeName,
}
#[derive(Debug)]
pub enum SubjectSchemeNameShortname {
B171,
}
#[derive(Debug)]
pub enum SubjectSchemeVersionRefname {
SubjectSchemeVersion,
}
#[derive(Debug)]
pub enum SubjectSchemeVersionShortname {
B068,
}
#[derive(Debug)]
pub struct SubjectContent316 {
pub subject_code: SubjectCodeElementType,
pub subject_heading_text: Vec<SubjectHeadingTextElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct SubjectHeadingTextElementType {
pub refname: Option<SubjectHeadingTextRefname>,
pub shortname: Option<SubjectHeadingTextShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Person / organization name type
#[derive(Debug)]
pub enum List18 {
///Unspecified
///Usually the name as it is presented on the book
_00,
///Pseudonym
///May be used to give a well-known pseudonym, where the primary name is a ‘real’ name
_01,
///Authority-controlled name
_02,
///Earlier name
///Use only within AlternativeName
_03,
///‘Real’ name
///May be used to identify a well-known ‘real’ name, where the primary name is a pseudonym or is unnamed
_04,
///Transliterated / translated form of primary name
///Use only within AlternativeName, when the primary name type is unspecified, for names in a different script or language
_05,
///Later name
///Use only within AlternativeName
_06,
///Fictional character name
///Use only within NameAsSubject to indicate the subject is fictional, or in AlternativeName alongside UnnamedPersons to indicate a human-like name for a synthetic voice or AI. Only for use in ONIX 3.0 or later
_07,
///Acronym / initialism
///Use only within AlternativeName with a corporate name to indicate the name is an acronym, initialism or short abbreviation for the full name. Only for use in ONIX 3.0 or later
_08,
}
#[derive(Debug)]
pub enum NameTypeRefname {
NameType,
}
#[derive(Debug)]
pub enum NameTypeShortname {
X414,
}
#[derive(Debug)]
pub struct NameAsSubjectContent206 {
pub name_identifier: Vec<NameIdentifierElementType>,
pub content_207: Option<NameAsSubjectContent207>,
}
#[derive(Debug)]
pub struct NameAsSubjectContent208 {
pub gp_unstructured_name: NameAsSubjectGpUnstructuredName,
pub gp_structured_name: Option<AlternativeNameGpStructuredName>,
}
#[derive(Debug)]
pub struct AlternativeNameGpStructuredName {
pub titles_before_names: Option<TitlesBeforeNamesElementType>,
pub names_before_key: Option<NamesBeforeKeyElementType>,
pub prefix_to_key: Option<PrefixToKeyElementType>,
pub key_names: KeyNamesElementType,
pub names_after_key: Option<NamesAfterKeyElementType>,
pub suffix_to_key: Option<SuffixToKeyElementType>,
pub letters_after_names: Option<LettersAfterNamesElementType>,
pub titles_after_names: Option<TitlesAfterNamesElementType>,
}
#[derive(Debug)]
pub enum NameAsSubjectGpCorporateName {
Content211(AlternativeNameContent82),
CorporateNameInverted(Vec<CorporateNameInvertedElementType>),
}
#[derive(Debug)]
pub enum AlternativeNameRefname {
AlternativeName,
}
#[derive(Debug)]
pub enum AlternativeNameShortname {
Alternativename,
}
#[derive(Debug)]
pub enum AlternativeNameContent76 {
Content77(AlternativeNameContent77),
Content83(AlternativeNameContent79),
GpStructuredName(AlternativeNameGpStructuredName),
GpCorporateName(AlternativeNameGpCorporateName),
}
#[derive(Debug)]
pub enum SubjectDateRefname {
SubjectDate,
}
#[derive(Debug)]
pub enum SubjectDateShortname {
Subjectdate,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SubjectDateRoleElementType {
pub refname: Option<SubjectDateRoleRefname>,
pub shortname: Option<SubjectDateRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List177,
}
#[derive(Debug)]
pub enum ProfessionalAffiliationRefname {
ProfessionalAffiliation,
}
#[derive(Debug)]
pub enum ProfessionalAffiliationShortname {
Professionalaffiliation,
}
#[derive(Debug)]
pub struct ProfessionalAffiliationContent253 {
pub professional_position: Vec<ProfessionalPositionElementType>,
pub affiliation_identifier: Vec<AffiliationIdentifierElementType>,
pub affiliation: Option<AffiliationElementType>,
}
#[derive(Debug)]
pub struct ProfessionalAffiliationContent254 {
pub affiliation_identifier: Vec<AffiliationIdentifierElementType>,
pub affiliation: Option<AffiliationElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct AffiliationElementType {
pub refname: Option<AffiliationRefname>,
pub shortname: Option<AffiliationShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
#[derive(Debug)]
pub enum MainAudienceRefname {
MainAudience,
}
#[derive(Debug)]
pub enum MainAudienceShortname {
X583,
}
///Audience code type
#[derive(Debug)]
pub enum List29 {
///ONIX audience codes
///Using a code from List 28
_01,
///Proprietary audience scheme
///For example, a publisher’s or retailer’s own audience coding scheme. Note that a distinctive AudienceCodeTypeName is required with proprietary coding schemes
_02,
///MPAA rating
///Motion Picture Association of America rating applied to movies
_03,
///BBFC rating
///British Board of Film Classification rating applied to movies
_04,
///FSK rating
///German FSK (Freiwillige Selbstkontrolle der Filmwirtschaft) rating applied to movies
_05,
///BTLF audience code
///French Canadian audience code list, used by BTLF for Memento
_06,
///Electre audience code
///Audience code used by Electre (France)
_07,
///ANELE Tipo
///Spain: educational audience and material type code of the Asociación Nacional de Editores de Libros y Material de Enseñanza
_08,
///AVI
///Code list used to specify reading levels for children’s books, used in Flanders, and formerly in the Netherlands – see also code 18
_09,
///USK rating
///German USK (Unterhaltungssoftware Selbstkontrolle) rating applied to video or computer games
_10,
///AWS
///Audience code used in Flanders
_11,
///Schulform
///Type of school: codelist formerly maintained by VdS Bildungsmedien eV, the German association of educational media publishers at http://www.bildungsmedien.de/service/onixlisten/schulform_onix_codelist29_value12_0408.pdf. Deprecated – use Thema educational purpose qualifier (eg 4Z-DE-BA – for German Elementary School) in Subject instead
_12,
///Bundesland
///School region: codelist maintained by VdS Bildungsmedien eV, the German association of educational media publishers, indicating where products are licensed to be used in schools. See http://www.bildungsmedien.de/service/onixlisten/bundesland_onix_codelist29_value13_0408.pdf. Deprecated
_13,
///Ausbildungsberuf
///Occupation: codelist for vocational training materials formerly maintained by VdS Bildungsmedien eV, the German association of educational media publishers at http://www.bildungsmedien.de/service/onixlisten/ausbildungsberufe_onix_codelist29_value14_0408.pdf. Deprecated – use Thema educational purpose qualifier (eg 4Z-DE-UH – for specific German professional/vocational qualifications and degrees) in Subject instead
_14,
///Suomalainen kouluasteluokitus
///Finnish school or college level
_15,
///CBG age guidance
///UK Publishers Association, Children’s Book Group, coded indication of intended reader age, carried on book covers
_16,
///BookData audience code
///Audience code used in NielsenIQ BookData services
_17,
///AVI (revised)
///Code list used to specify reading levels for children’s books, used in the Netherlands – see also code 09
_18,
///Lexile measure
///Lexile measure (the Lexile measure in AudienceCodeValue may optionally be prefixed by the Lexile code). Examples might be ‘880L’, ‘AD0L’ or ‘HL600L’. Deprecated – use Complexity instead
_19,
///Fry Readability score
///Fry readability metric based on number of sentences and syllables per 100 words. Expressed as a number from 1 to 15 in AudienceCodeValue. Deprecated – use Complexity instead
_20,
///Japanese Children’s audience code
///Children’s audience code (対象読者), two-digit encoding of intended target readership from 0–2 years up to High School level
_21,
///ONIX Adult audience rating
///Publisher’s rating indicating suitability for a particular adult audience, using a code from List 203. Should only be used when the ONIX Audience code indicates a general adult audience (code 01 from List 28)
_22,
///Common European Framework of Reference for Language Learning (CEFR)
///Codes A1 to C2 indicating standardized level of language learning or teaching material, from beginner to advanced, defined by the Council of Europe (see http://www.coe.int/lang-CEFR)
_23,
///Korean Publication Ethics Commission rating
///Rating used in Korea to control selling of books and e-books to minors. Current values are 0 (suitable for all) and 19 (only for sale to ages 19+). See http://www.kpec.or.kr/english/
_24,
///IoE Book Band
///UK Institute of Education Book Bands for Guided Reading scheme (see http://www.ioe.ac.uk/research/4664.html). AudienceCodeValue is a color, eg ‘Pink A’ or ‘Copper’. Deprecated – use Complexity instead
_25,
///FSK Lehr-/Infoprogramm
///Used for German videos/DVDs with educational or informative content; value for AudienceCodeValue must be either ‘Infoprogramm gemäß § 14 JuSchG’ or ‘Lehrprogramm gemäß § 14 JuSchG’
_26,
///Intended audience language
///Where this is different from the language of the text of the book recorded in Language. AudienceCodeValue should be a value from List 74
_27,
///PEGI rating
///Pan European Game Information rating used primarily for video games
_28,
///Gymnasieprogram
///Code indicating the intended curriculum (eg Naturvetenskapsprogrammet, Estetica programmet) in Swedish higher secondary education
_29,
///ISCED 2011
///International Standard Classification of Education levels (2011), eg AudienceCodeValue 253 is ‘Lower secondary vocational education, level completion without direct access to upper secondary education’. Only for use in ONIX 3.0 or later. See http://uis.unesco.org/en/topic/international-standard-classification-education-isced
_30,
}
#[derive(Debug)]
pub enum AudienceCodeTypeRefname {
AudienceCodeType,
}
#[derive(Debug)]
pub enum AudienceCodeTypeShortname {
B204,
}
#[derive(Debug)]
pub enum AudienceCodeTypeNameRefname {
AudienceCodeTypeName,
}
#[derive(Debug)]
pub enum AudienceCodeTypeNameShortname {
B205,
}
#[derive(Debug)]
pub struct AudienceContent88 {
pub audience_code_value: AudienceCodeValueElementType,
pub audience_heading_text: Vec<AudienceHeadingTextElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct AudienceHeadingTextElementType {
pub refname: Option<AudienceHeadingTextRefname>,
pub shortname: Option<AudienceHeadingTextShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Audience range qualifier
#[derive(Debug)]
pub enum List30 {
///US school grade range
///Values for AudienceRangeValue are specified in List 77
_11,
///UK school grade
///Values are to be defined by BIC for England and Wales, Scotland and N Ireland
_12,
///Reading speed, words per minute
///Values in AudienceRangeValue must be integers
_15,
///Interest age, months
///For use up to 36 months only, or up to 42 months in Audience range value (2) only: values in AudienceRangeValue must be integers. Should not be used when an Audience range with qualifier code 17 is present
_16,
///Interest age, years
///Values in AudienceRangeValue must be integers
_17,
///Reading age, years
///Values in AudienceRangeValue must be integers
_18,
///Spanish school grade
///Spain: combined grade and region code, maintained by the Ministerio de Educación
_19,
///Skoletrinn
///Norwegian educational level for primary and secondary education
_20,
///Nivå
///Swedish educational qualifier (code)
_21,
///Italian school grade
_22,
///Schulform
///Deprecated – assigned in error: see List 29
_23,
///Bundesland
///Deprecated – assigned in error: see List 29
_24,
///Ausbildungsberuf
///Deprecated – assigned in error: see List 29
_25,
///Canadian school grade range
///Values for AudienceRangeValue are specified in List 77
_26,
///Finnish school grade range
_27,
///Finnish Upper secondary school course
///Lukion kurssi
_28,
///Chinese School Grade range
///Values are P, K, 1–17 (including college-level audiences), see List 227
_29,
///French school cycles / classes
///Detailed French educational level classification. Values are defined by ScoLOMFR, see http://data.education.fr/voc/scolomfr/scolomfr-voc-022 – Cycles de l’enseignement scolaire. See also code 34
_30,
///Brazil Education level
///Nível de Educação do Brasil, see List 238. Only for use in ONIX 3.0 or later
_31,
///French educational levels
///Basic French educational level classification. Values are defined by ScoLOMFR. Only for use in ONIX 3.0 or later. See http://data.education.fr/voc/scolomfr/scolomfr-voc-012
_32,
///Finnish Upper secondary school course (2021+)
///Only for use in ONIX 3.0 or later
_33,
///Detailed French educational levels
///Detailed French educational level classification. Values are defined by ScoLOMFR. Only for use in ONIX 3.0 or later. See http://data.education.fr/voc/scolomfr/scolomfr-voc-022 – Niveau éducatif détaillé. See also code 30
_34,
}
#[derive(Debug)]
pub enum AudienceRangeQualifierRefname {
AudienceRangeQualifier,
}
#[derive(Debug)]
pub enum AudienceRangeQualifierShortname {
B074,
}
///Audience range precision
#[derive(Debug)]
pub enum List31 {
///Exact
///May only be used in Audience range precision (1), and when no Audience range precision (2) is present
_01,
///From
///May only be used in Audience range precision (1)
_03,
///To
///May be used in Audience range precision (1) when no Audience range precision (2) is present, or in Audience range precision (2) when Audience range precision (1) is code 03
_04,
}
#[derive(Debug)]
pub enum AudienceRangePrecisionRefname {
AudienceRangePrecision,
}
#[derive(Debug)]
pub enum AudienceRangePrecisionShortname {
B075,
}
#[derive(Debug)]
pub enum AudienceRangeValueRefname {
AudienceRangeValue,
}
#[derive(Debug)]
pub enum AudienceRangeValueShortname {
B076,
}
///Complexity scheme identifier
#[derive(Debug)]
pub enum List32 {
///Lexile code
///For example AD or HL. Deprecated in ONIX 3 – use code 06 instead
_01,
///Lexile number
///For example 880L. Deprecated in ONIX 3 – use code 06 instead
_02,
///Fry Readability score
///Fry readability metric based on number of sentences and syllables per 100 words. Expressed as an integer from 1 to 15 in ComplexityCode
_03,
///IoE Book Band
///UK Institute of Education Book Bands for Guided Reading scheme (see https://www.ucl.ac.uk/reading-recovery-europe/ilc/publications/which-book-why). ComplexityCode is a color, eg ‘Pink A’ or ‘Copper’
_04,
///Fountas Pinnell Text Level Gradient
///ComplexityCode is a code from ‘A’ to Z+’. See http://www.fountasandpinnellleveledbooks.com/aboutLeveledTexts.aspx
_05,
///Lexile measure
///The Lexile measure in ComplexityCode combines MetaMetrics’ Lexile number (for example 620L or 880L) and optionally the Lexile code (for example AD or HL). Examples might be ‘880L’, ‘AD0L’ or ‘HL600L’. Applies to English text. See https://lexile.com/about-lexile/lexile-overview/
_06,
///ATOS for Books
///Advantage-TASA Open Standard book readability score, used for example within the Renaissance Learning Accelerated Reader scheme. ComplexityCode is the ‘Book Level’, a real number between 0 and 17. See http://www.renaissance.com/products/accelerated-reader/atos-analyzer
_07,
///Flesch-Kincaid Grade Level
///Flesch-Kincaid Grade Level Formula, a standard readability measure based on the weighted number of syllables per word and words per sentence. ComplexityCode is a real number typically between about -1 and 20
_08,
///Guided Reading Level
///Use this code for books levelled by the publisher or a third party using the Fountas and Pinnell Guided Reading methodology
_09,
///Reading Recovery Level
///Used for books aimed at K-2 literacy intervention. ComplexityCode is an integer between 1 and 20
_10,
///LIX
///Swedish ‘läsbarhetsindex’ readability index used in Scandinavia. Only for use in ONIX 3.0 or later
_11,
///Lexile Audio measure
///Lexile Audio measure from MetaMetrics’ Framework for Listening. The code in ComplexityCode indicates the difficulty of comprehension of audio material (for example 600L or 1030L). Only for use in ONIX 3.0 or later. See https://lexile.global/the-lexile-framework-for-listening/
_12,
///Lexile measure (Spanish)
///Metametrics’ Lexile measure for Spanish text. See https://lexile.com/educators/understanding-lexile-measures/lexile-measures-spanish/ Only for use in ONIX 3.0 or later
_13,
}
#[derive(Debug)]
pub enum ComplexitySchemeIdentifierRefname {
ComplexitySchemeIdentifier,
}
#[derive(Debug)]
pub enum ComplexitySchemeIdentifierShortname {
B077,
}
#[derive(Debug)]
pub enum ComplexityCodeRefname {
ComplexityCode,
}
#[derive(Debug)]
pub enum ComplexityCodeShortname {
B078,
}
#[derive(Debug)]
pub enum SequenceNumberRefname {
SequenceNumber,
}
#[derive(Debug)]
pub enum SequenceNumberShortname {
B034,
}
///Text type
#[derive(Debug)]
pub enum List153 {
///Sender-defined text
///To be used only in circumstances where the parties to an exchange have agreed to include text which (a) is not for general distribution, and (b) cannot be coded elsewhere. If more than one type of text is sent, it must be identified by tagging within the text itself
_01,
///Short description/annotation
///Of the product. Limited to a maximum of 350 characters. In ONIX 3.0, this is assumed to include markup characters. In ONIX 3.1 and later, this limit does not include markup
_02,
///Description
///Of the product. Length unrestricted
_03,
///Table of contents
///Used for a table of contents sent as a single text field, which may or may not carry structure expressed using XHTML
_04,
///Primary cover copy
///Primary descriptive blurb usually taken from the back cover or jacket, or occasionally from the cover/jacket flaps. See also code 27
_05,
///Review quote
///A quote taken from a review of the product or of the work in question where there is no need to take account of different editions
_06,
///Review quote: previous edition
///A quote taken from a review of a previous edition of the work
_07,
///Review quote: previous work
///A quote taken from a review of a previous work by the same author(s) or in the same series
_08,
///Endorsement
///A quote usually provided by a celebrity or another author to promote a new book, not from a review
_09,
///Promotional headline
///A promotional phrase which is intended to headline a description of the product
_10,
///Feature
///Text describing a feature of a product to which the publisher wishes to draw attention for promotional purposes. Each separate feature should be described by a separate repeat, so that formatting can be applied at the discretion of the receiver of the ONIX record, or multiple features can be described using appropriate XHTML markup
_11,
///Biographical note
///A note referring to all contributors to a product – NOT linked to a single contributor
_12,
///Publisher’s notice
///A statement included by a publisher in fulfillment of contractual obligations, such as a disclaimer, sponsor statement, or legal notice of any sort. Note that the inclusion of such a notice cannot and does not imply that a user of the ONIX record is obliged to reproduce it
_13,
///Excerpt
///A short excerpt from the main text of the work
_14,
///Index
///Used for an index sent as a single text field, which may be structured using XHTML
_15,
///Short description/annotation for collection
///(of which the product is a part.) Limited to a maximum of 350 characters
_16,
///Description for collection
///(of which the product is a part.) Length unrestricted
_17,
///New feature
///As code 11 but used for a new feature of this edition or version
_18,
///Version history
_19,
///Open access statement
///Short summary statement of open access status and any related conditions (eg ‘Open access – no commercial use’), primarily for marketing purposes. Should always be accompanied by a link to the complete license (see EpubLicense or code 99 in List 158)
_20,
///Digital exclusivity statement
///Short summary statement that the product is available only in digital formats (eg ‘Digital exclusive’). If a non-digital version is planned, ContentDate should be used to specify the date when exclusivity will end (use content date role code 15). If a non-digital version is available, the statement should not be included
_21,
///Official recommendation
///For example a recommendation or approval provided by a ministry of education or other official body. Use Text to provide details and ideally use TextSourceCorporate to name the approver
_22,
///JBPA description
///Short description in format specified by Japanese Book Publishers Association
_23,
///schema.org snippet
///JSON-LD snippet suitable for use within an HTML script type="application/ld+json" tag, containing structured metadata suitable for use with schema.org
_24,
///Errata
_25,
///Introduction
///Introduction, preface or the text of other preliminary material, sent as a single text field, which may be structured using XHTML
_26,
///Secondary cover copy
///Secondary descriptive blurb taken from the cover/jacket flaps, or occasionally from the back cover or jacket, used only when there are two separate texts and the primary text is included using code 05
_27,
///Full cast and credit list
///For use with dramatized audiobooks, filmed entertainment etc, for a cast list sent as a single text field, which may or may not carry structure expressed using XHTML
_28,
///Bibliography
///Complete list of books by the author(s), supplied as a single text field, which may be structured using (X)HTML
_29,
///Abstract
///Formal summary of content (normally used with academic and scholarly content only)
_30,
///Rules or instructions
///Eg for a game or kit – as supplied with the product
_31,
///List of contents
///Eg for a game, kit. Note: use code 04 for a Table of Contents of a book
_32,
///Short description/annotation for imprint
///Length limited to a maximum of 350 characters
_33,
///Description for imprint
///Length unrestricted
_34,
///Short description/annotation for publisher
///Length limited to a maximum of 350 characters
_35,
///Description for publisher
///Length unrestricted
_36,
///Cover line
///(US) Reading line – line of usually explanatory copy on cover, somewhat like a subtitle but not on the title page and added by the publisher, eg ‘with 125 illustrated recipes’
_37,
}
#[derive(Debug)]
pub enum TextTypeRefname {
TextType,
}
#[derive(Debug)]
pub enum TextTypeShortname {
X426,
}
#[derive(Debug)]
pub enum TextRefname {
Text,
}
#[derive(Debug)]
pub enum TextShortname {
D104,
}
#[derive(Debug)]
pub enum ReviewRatingRefname {
ReviewRating,
}
#[derive(Debug)]
pub enum ReviewRatingShortname {
Reviewrating,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct RatingElementType {
pub refname: Option<RatingRefname>,
pub shortname: Option<RatingShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: f64,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct RatingLimitElementType {
pub refname: Option<RatingLimitRefname>,
pub shortname: Option<RatingLimitShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct RatingUnitsElementType {
pub refname: Option<RatingUnitsRefname>,
pub shortname: Option<RatingUnitsShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
#[derive(Debug)]
pub enum TextAuthorRefname {
TextAuthor,
}
#[derive(Debug)]
pub enum TextAuthorShortname {
D107,
}
#[derive(Debug)]
pub enum TextSourceCorporateRefname {
TextSourceCorporate,
}
#[derive(Debug)]
pub enum TextSourceCorporateShortname {
B374,
}
#[derive(Debug)]
pub enum TextSourceDescriptionRefname {
TextSourceDescription,
}
#[derive(Debug)]
pub enum TextSourceDescriptionShortname {
X557,
}
#[derive(Debug)]
pub enum SourceTitleRefname {
SourceTitle,
}
#[derive(Debug)]
pub enum SourceTitleShortname {
X428,
}
#[derive(Debug)]
pub enum TextSourceLinkRefname {
TextSourceLink,
}
#[derive(Debug)]
pub enum TextSourceLinkShortname {
X581,
}
#[derive(Debug)]
pub enum ContentDateRefname {
ContentDate,
}
#[derive(Debug)]
pub enum ContentDateShortname {
Contentdate,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ContentDateRoleElementType {
pub refname: Option<ContentDateRoleRefname>,
pub shortname: Option<ContentDateRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List155,
}
///Cited content type
#[derive(Debug)]
pub enum List156 {
///Review
///The full text of a review in a third-party publication in any medium
_01,
///Bestseller list
_02,
///Media mention
///Other than a review
_03,
///‘One locality, one book’ program
///Inclusion in a program such as ‘Chicago Reads’, ‘Seattle Reads’, ‘Canada Reads’, ‘One Dublin, one book’
_04,
///Curated list
///For example a ‘best books of the year’ or ‘25 books you should have read’ list, without regard to their bestseller status
_05,
///Commentary / discussion
///For example a third party podcast episode, social media message, newsletter issue, other commentary (see also code 03 for very brief items)
_06,
///Interview
///Interview, for example with a contributor, in a third-party publication in any medium
_07,
}
#[derive(Debug)]
pub enum CitedContentTypeRefname {
CitedContentType,
}
#[derive(Debug)]
pub enum CitedContentTypeShortname {
X430,
}
///Content source type
#[derive(Debug)]
pub enum List157 {
///Printed media
_01,
///Website
_02,
///Radio
_03,
///TV
_04,
}
#[derive(Debug)]
pub enum SourceTypeRefname {
SourceType,
}
#[derive(Debug)]
pub enum SourceTypeShortname {
X431,
}
#[derive(Debug)]
pub struct CitedContent104 {
pub review_rating: ReviewRatingElementType,
pub source_title: Vec<SourceTitleElementType>,
}
#[derive(Debug)]
pub struct CitedContent105 {
pub source_title: Vec<SourceTitleElementType>,
pub content_106: Option<CitedContent106>,
}
#[derive(Debug)]
pub struct CitedContent106 {
pub list_name: Vec<ListNameElementType>,
pub position_on_list: Option<PositionOnListElementType>,
}
#[derive(Debug)]
pub enum CitationNoteRefname {
CitationNote,
}
#[derive(Debug)]
pub enum CitationNoteShortname {
X434,
}
#[derive(Debug)]
pub enum ResourceLinkRefname {
ResourceLink,
}
#[derive(Debug)]
pub enum ResourceLinkShortname {
X435,
}
///Resource content type
#[derive(Debug)]
pub enum List158 {
///Front cover
///2D
_01,
///Back cover
///2D
_02,
///Spine image
///2D, portrait orientation
_56,
///Cover / pack
///Not limited to front or back, including 3D perspective
_03,
///Contributor picture
///Photograph or portrait of contributor(s)
_04,
///Collection image / artwork
_05,
///Collection logo
_06,
///Product image / artwork
///For example, an isolated image from the front cover (without text), image of a completed jigsaw
_07,
///Product logo
_08,
///Publisher logo
_09,
///Imprint logo
_10,
///Contributor interview
_11,
///Contributor presentation
///Contributor presentation and/or commentary
_12,
///Contributor reading
_13,
///Contributor event schedule
///Link to a schedule in iCalendar format
_14,
///Sample content
///For example: a short excerpt, sample text or a complete sample chapter, page images, screenshots etc
_15,
///Widget
///A ‘look inside’ feature presented as a small embeddable application
_16,
///Review
///Review text held in a separate downloadable file, not in the ONIX record. Equivalent of code 06 in List 153. Use the TextContent composite for review quotes carried in the ONIX record. Use the CitedContent composite for a third-party review which is referenced from the ONIX record. Use SupportingResource for review text offered as a separate file resource for reproduction as part of promotional material for the product
_17,
///Commentary / discussion
///For example a publisher’s podcast episode, social media message, newsletter issue, other commentary
_18,
///Reading group guide
_19,
///Teacher’s guide
///Including associated teacher / instructor resources
_20,
///Feature article
///Feature article provided by publisher
_21,
///Character ‘interview’
///Fictional character ‘interview’
_22,
///Wallpaper / screensaver
_23,
///Press release
_24,
///Table of contents
///A table of contents held in a separate downloadable file, not in the ONIX record. Equivalent of code 04 in List 153. Use the TextContent composite for a table of contents carried in the ONIX record. Use SupportingResource for text offered as a separate file resource
_25,
///Trailer
///A promotional video (or audio), similar to a movie trailer (sometimes referred to as a ‘book trailer’)
_26,
///Cover thumbnail
///Intended ONLY for transitional use, where ONIX 2.1 records referencing existing thumbnail assets of unknown pixel size are being re-expressed in ONIX 3.0. Use code 01 for all new cover assets, and where the pixel size of older assets is known
_27,
///Full content
///The full content of the product (or the product itself), supplied for example to support full-text search or indexing
_28,
///Full cover
///Includes cover, back cover, spine and – where appropriate – any flaps
_29,
///Master brand logo
_30,
///Description
///Descriptive text in a separate downloadable file, not in the ONIX record. Equivalent of code 03 in List 153. Use the TextContent composite for descriptions carried in the ONIX record. Use SupportingResource for text offered as a separate file resource for reproduction as part of promotional material for the product
_31,
///Index
///Index text held in a separate downloadable file, not in the ONIX record. Equivalent of code 15 in List 153. Use the TextContent composite for index text carried in the ONIX record. Use SupportingResource for an index offered as a separate file resource
_32,
///Student’s guide
///Including associated student / learner resources
_33,
///Publisher’s catalogue
///For example a PDF or other digital representation of a publisher’s ‘new titles’ or range catalog
_34,
///Online advertisement panel
///For example a banner ad for the product. Pixel dimensions should typically be included in ResourceVersionFeature
_35,
///Online advertisement page
///(de: ‘Búhnenbild’)
_36,
///Promotional event material
///For example, posters, logos, banners, advertising templates for use in connection with a promotional event
_37,
///Digital review copy
///Availability of a digital review, evaluation or sample copy, or a digital proof copy, which may be limited to authorized users or account holders, but should otherwise be fully readable and functional
_38,
///Instructional material
///For example, a video, PDF, web page or app showing how to assemble, use or maintain the product, that is separate from the product itself
_39,
///Errata
_40,
///Introduction
///Introduction, preface or other preliminary material in a separate resource file
_41,
///Collection description
///Descriptive material in a separate resource file, not in the ONIX record. Equivalent of code 17 in List 153. Use the TextContent composite for collection descriptions carried in the ONIX record. Use SupportingResource for material (which need not be solely only) offered as a separate file resource for reproduction as part of promotional material for the product and collection
_42,
///Bibliography
///Complete list of books by the author(s), supplied as a separate resource file
_43,
///Abstract
///Formal summary of content (normally used with academic and scholarly content only)
_44,
///Cover holding image
///Image that may be used for promotional purposes in place of a front cover, ONLY where the front cover itself cannot be provided or used for any reason. Typically, holding images may comprise logos, artwork or an unfinished front cover image. Senders should ensure removal of the holding image from the record as soon as a cover image is available. Recipients must ensure replacement of the holding image with the cover image when it is supplied
_45,
///Rules or instructions
///Eg for a game or kit – as supplied with the product
_46,
///Transcript
///Full transcript of audio or video content of the product
_47,
///Full cast and credit list
///For use with dramatized audiobooks, filmed entertainment etc, for a cast list sent as a separate resource file, not in the ONIX record. Equivalent of code 28 in List 153
_48,
///Image for social media
///Image – not specifically a cover image or artwork, contributor image, or logo – explicitly intended for use in social media
_49,
///Supplementary learning resources
///Eg downloadable worksheets, home learning materials
_50,
///Cover flap image
///2D, front or back flap image
_51,
///Warning label
///Image of any warning label or hazard warning text on product or packaging, eg as required for EU General or Toy Safety, or for battery safety purposes
_52,
///Product safety contacts
///Document giving full contact detail, including postal addresses, for product safety contacts at publisher or supplier. Deprecated, except for use in ONIX 3.0
_53,
///Page edge deco image
///2D image of edge decoration (see also List 79 code 02)
_54,
///Endpaper deco image
///2D image of endpaper (or inside front and back cover) decoration (see also List 79 code 55)
_55,
///License
///Link to a license covering permitted usage of the product content. Deprecated in favor of EpubLicense. This was a temporary workaround in ONIX 3.0, and use of EpubLicense is strongly preferred. Not for use in ONIX 3.1 or later
_99,
}
#[derive(Debug)]
pub enum ResourceContentTypeRefname {
ResourceContentType,
}
#[derive(Debug)]
pub enum ResourceContentTypeShortname {
X436,
}
///Resource mode
#[derive(Debug)]
pub enum List159 {
///Application
///An executable together with data on which it operates
_01,
///Audio
///A sound recording
_02,
///Image
///A still image
_03,
///Text
///Readable text, with or without associated images etc
_04,
///Video
///Moving images, with or without accompanying sound
_05,
///Multi-mode
///A website or other supporting resource delivering content in a variety of modes
_06,
}
#[derive(Debug)]
pub enum ResourceModeRefname {
ResourceMode,
}
#[derive(Debug)]
pub enum ResourceModeShortname {
X437,
}
#[derive(Debug)]
pub enum ResourceFeatureRefname {
ResourceFeature,
}
#[derive(Debug)]
pub enum ResourceFeatureShortname {
Resourcefeature,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ResourceFeatureTypeElementType {
pub refname: Option<ResourceFeatureTypeRefname>,
pub shortname: Option<ResourceFeatureTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List160,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct FeatureValueElementType {
pub refname: Option<FeatureValueRefname>,
pub shortname: Option<FeatureValueShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct FeatureNoteElementType {
pub refname: Option<FeatureNoteRefname>,
pub shortname: Option<FeatureNoteShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<FeatureNoteElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum FeatureNoteElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
#[derive(Debug)]
pub enum ResourceVersionRefname {
ResourceVersion,
}
#[derive(Debug)]
pub enum ResourceVersionShortname {
Resourceversion,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ResourceFormElementType {
pub refname: Option<ResourceFormRefname>,
pub shortname: Option<ResourceFormShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List161,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ResourceVersionFeatureElementType {
pub refname: Option<ResourceVersionFeatureRefname>,
pub shortname: Option<ResourceVersionFeatureShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub resource_version_feature_type: ResourceVersionFeatureTypeElementType,
pub feature_value: Option<FeatureValueElementType>,
pub feature_note: Vec<FeatureNoteElementType>,
}
#[derive(Debug)]
pub enum PrizeIdentifierRefname {
PrizeIdentifier,
}
#[derive(Debug)]
pub enum PrizeIdentifierShortname {
Prizeidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PrizeIdTypeElementType {
pub refname: Option<PrizeIdTypeRefname>,
pub shortname: Option<PrizeIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List263,
}
#[derive(Debug)]
pub enum PrizeNameRefname {
PrizeName,
}
#[derive(Debug)]
pub enum PrizeNameShortname {
G126,
}
#[derive(Debug)]
pub enum PrizeYearRefname {
PrizeYear,
}
#[derive(Debug)]
pub enum PrizeYearShortname {
G127,
}
#[derive(Debug)]
pub enum AwardingBodyRefname {
AwardingBody,
}
#[derive(Debug)]
pub enum AwardingBodyShortname {
X584,
}
#[derive(Debug)]
pub enum PrizeCountryRefname {
PrizeCountry,
}
#[derive(Debug)]
pub enum PrizeCountryShortname {
G128,
}
#[derive(Debug)]
pub enum PrizeRegionRefname {
PrizeRegion,
}
#[derive(Debug)]
pub enum PrizeRegionShortname {
X556,
}
///Prize or award achievement
#[derive(Debug)]
pub enum List41 {
///Winner
_01,
///Runner-up
///Named as being in second place
_02,
///Commended
///Cited as being worthy of special attention at the final stage of the judging process, but not named specifically as winner or runner-up. Possible terminology used by a particular prize includes ‘specially commended’ or ‘honored’
_03,
///Short-listed
///Title named by the judging process to be one of the final list of candidates, such as a ‘short-list’ from which the winner is selected, or a title named as ‘finalist’
_04,
///Long-listed
///Title named by the judging process to be one of the preliminary list of candidates, such as a ‘long-list’ from which first a shorter list or set of finalists is selected, and then the winner is announced
_05,
///Joint winner
///Or co-winner
_06,
///Nominated
///Selected by judging panel or an official nominating process for final consideration for a prize, award or honor for which no ‘short-list’ or ‘long list’ exists
_07,
}
#[derive(Debug)]
pub enum PrizeCodeRefname {
PrizeCode,
}
#[derive(Debug)]
pub enum PrizeCodeShortname {
G129,
}
#[derive(Debug)]
pub enum PrizeStatementRefname {
PrizeStatement,
}
#[derive(Debug)]
pub enum PrizeStatementShortname {
X503,
}
#[derive(Debug)]
pub enum PrizeJuryRefname {
PrizeJury,
}
#[derive(Debug)]
pub enum PrizeJuryShortname {
G343,
}
///Event identifier type
#[derive(Debug)]
pub enum List244 {
///Proprietary event ID scheme
///Note that a distinctive IDTypeName is required with proprietary event identifiers
_01,
}
#[derive(Debug)]
pub enum EventIdTypeRefname {
EventIdType,
}
#[derive(Debug)]
pub enum EventIdTypeShortname {
X547,
}
#[derive(Debug)]
pub enum PromotionalEventContent258 {
Content259(PromotionalEventContent259),
Contributor(Vec<ContributorElementType>),
}
#[derive(Debug)]
pub enum OccurrenceDateRefname {
OccurrenceDate,
}
#[derive(Debug)]
pub enum OccurrenceDateShortname {
Occurrencedate,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct OccurrenceDateRoleElementType {
pub refname: Option<OccurrenceDateRoleRefname>,
pub shortname: Option<OccurrenceDateRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List247,
}
#[derive(Debug)]
pub enum EventOccurrenceContent174 {
Content175(ContributorPlaceContent137),
RegionCode(RegionCodeElementType),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct VenueNameElementType {
pub refname: Option<VenueNameRefname>,
pub shortname: Option<VenueNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
#[derive(Debug)]
pub struct EventOccurrenceContent176 {
pub street_address: StreetAddressElementType,
pub postal_code: Option<PostalCodeElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct VenueNoteElementType {
pub refname: Option<VenueNoteRefname>,
pub shortname: Option<VenueNoteShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<VenueNoteElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum VenueNoteElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EventSponsorIdentifierElementType {
pub refname: Option<EventSponsorIdentifierRefname>,
pub shortname: Option<EventSponsorIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub event_sponsor_id_type: EventSponsorIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
#[derive(Debug)]
pub enum CopyrightOwnerContent143 {
PersonName(PersonNameElementType),
CorporateName(CorporateNameElementType),
}
#[derive(Debug)]
pub enum PersonNameRefname {
PersonName,
}
#[derive(Debug)]
pub enum PersonNameShortname {
B036,
}
#[derive(Debug)]
pub enum CorporateNameRefname {
CorporateName,
}
#[derive(Debug)]
pub enum CorporateNameShortname {
B047,
}
///Website role
#[derive(Debug)]
pub enum List73 {
///Unspecified, see website description
_00,
///Publisher’s corporate website
///See also codes 17 and 18
_01,
///Publisher’s website for a specified work
///A publisher’s informative and/or promotional webpage relating to a specified work (book, journal, online resource or other publication type)
_02,
///Online hosting service home page
///A webpage giving access to an online content hosting service as a whole
_03,
///Journal home page
///A webpage giving general information about a serial, in print or electronic format or both
_04,
///Online resource ‘available content’ page
///A webpage giving direct access to the content that is available online for a specified resource version. Generally used for content available online under subscription terms
_05,
///Contributor’s own website
///A webpage maintained by an author or other contributor about their publications and personal background
_06,
///Publisher’s website relating to specified contributor
///A publisher’s webpage devoted to a specific author or other contributor
_07,
///Other publisher’s website relating to specified contributor
///A webpage devoted to a specific author or other contributor, and maintained by a publisher other than the publisher of the item described in the ONIX record
_08,
///Third-party website relating to specified contributor
///A webpage devoted to a specific author or other contributor, and maintained by a third party (eg a fan site)
_09,
///Contributor’s own website for specified work
///A webpage maintained by an author or other contributor and specific to an individual work
_10,
///Other publisher’s website relating to specified work
///A webpage devoted to an individual work, and maintained by a publisher other than the publisher of the item described in the ONIX record
_11,
///Third-party website relating to specified work
///A webpage devoted to an individual work, and maintained by a third party (eg a fan site)
_12,
///Contributor’s own website for group or series of works
///A webpage maintained by an author or other contributor and specific to a group or series of works
_13,
///Publisher’s website relating to group or series of works
///A publisher’s webpage devoted to a group or series of works
_14,
///Other publisher’s website relating to group or series of works
///A webpage devoted to a group or series of works, and maintained by a publisher other than the publisher of the item described in the ONIX record
_15,
///Third-party website relating to group or series of works (eg a fan site)
///A webpage devoted to a group or series of works, and maintained by a third party (eg a fan site)
_16,
///Publisher’s B2B website
///Use instead of code 01 to specify a publisher’s website for trade users
_17,
///Publisher’s B2C website
///Use instead of code 01 to specify a publisher’s website for end customers (consumers)
_18,
///Author blog
///For example, a Blogger or Tumblr URL, a Wordpress website or other blog URL
_23,
///Web page for author presentation / commentary
_24,
///Web page for author interview
_25,
///Web page for author reading
_26,
///Web page for cover material
_27,
///Web page for sample content
_28,
///Web page for full content
///Use this value in the Website composite (typically within Publisher or SupplyDetail) when sending a link to a webpage at which a digital product is available for download and/or online access
_29,
///Web page for other commentary / discussion
///For example a subscribable podcast hosting site, social media message, newsletter issue, other commentary
_30,
///Transfer-URL
///URL needed by the German National Library for direct access, harvesting and storage of an electronic resource
_31,
///DOI Website Link
///Link needed by German Books in Print (VLB) for DOI registration and ONIX DOI conversion
_32,
///Supplier’s corporate website
///A corporate website operated by a distributor or other supplier (not the publisher)
_33,
///Supplier’s B2B website
///A website operated by a distributor or other supplier (not the publisher) and aimed at trade customers
_34,
///Supplier’s B2C website
///A website operated by a distributor or other supplier (not the publisher) and aimed at consumers
_35,
///Supplier’s website for a specified work
///A distributor or supplier’s webpage describing a specified work
_36,
///Supplier’s B2B website for a specified work
///A distributor or supplier’s webpage describing a specified work, and aimed at trade customers
_37,
///Supplier’s B2C website for a specified work
///A distributor or supplier’s webpage describing a specified work, and aimed at consumers
_38,
///Supplier’s website for a group or series of works
///A distributor or supplier’s webpage describing a group or series of works
_39,
///URL of full metadata description
///For example an ONIX or MARC record for the product, available online
_40,
///Social networking URL for specific work or product
///For example, a Facebook, Instagram, Youtube, Pinterest, Tiktok (including Booktok), Twitter (latterly, X) or similar URL for the product or work
_41,
///Author’s social networking URL
///For example, a Facebook, Instagram, Youtube, Pinterest, Tiktok (including Booktok), Twitter (latterly, X) or similar page for the contributor
_42,
///Publisher’s social networking URL
///For example, a Facebook, Instagram, Youtube, Pinterest, Tiktok (including Booktok), Twitter (latterly, X) or similar page
_43,
///Social networking URL for specific article, chapter or content item
///For example, a Facebook, Instagram, Youtube, Pinterest, Tiktok (including Booktok), Twitter (latterly, X) or similar page. Use only in the context of a specific content item (eg within ContentItem)
_44,
///Publisher’s or third party website for permissions requests
///For example, a service offering click-through licensing of extracts
_45,
///Publisher’s or third party website for privacy statement
///For example, a page providing details related to GDPR. Only for use in ONIX 3.0 or later
_46,
///Publisher’s website for digital preservation
///The URL of the publisher’s preservation service, or a more specific URL for access to its preservation metadata, to provide confirmation of the preservation status of the product. WebsiteDescription may contain the name of the service. Only for use in ONIX 3.0 or later
_47,
///Third-party website for digital preservation
///The URL of the preservation service (eg https://clockss.org), or a more specific URL for access to its preservation metadata, to provide confirmation of the preservation status of the product. WebsiteDescription may contain the name of the service. Only for use in ONIX 3.0 or later
_48,
///Product website for environmental responsibility statement
///The URL of a web page describing the environmental and sustainability policy, or carbon neutrality status, that applies to the specific product. Only for use in ONIX 3.0 or later
_49,
///Organization’s website for environmental responsibility statement
///The URL of a web page describing the environmental and sustainability policies, carbon neutrality status, etc of the organization (publisher, supplier etc). For environmental sustainability of the product itself, see List 79. Only for use in ONIX 3.0 or later
_50,
///Legal deposit website for digital preservation
///The URL of a digital legal deposit service (eg https://www.legaldeposit.org.uk), or a more specific URL for access to its preservation metadata, to provide confirmation of the digital legal deposit status of the product. WebsiteDescription may contain the name of the service. Only for use in ONIX 3.0 or later
_51,
///Publisher’s or third party contact form
///For example, a web page providing an interactive contact form for safety-related issues. Only for use in ONIX 3.0 or later
_52,
///Organization’s website for corporate social responsibility
///The URL of a web page describing the CSR policies, including corporate ethics, governance and human rights or modern slavery statements, of the organization, but see code 50 for sustainability. Only for use in ONIX 3.0 or later
_53,
}
#[derive(Debug)]
pub enum WebsiteRoleRefname {
WebsiteRole,
}
#[derive(Debug)]
pub enum WebsiteRoleShortname {
B367,
}
#[derive(Debug)]
pub enum WebsiteDescriptionRefname {
WebsiteDescription,
}
#[derive(Debug)]
pub enum WebsiteDescriptionShortname {
B294,
}
#[derive(Debug)]
pub enum WebsiteLinkRefname {
WebsiteLink,
}
#[derive(Debug)]
pub enum WebsiteLinkShortname {
B295,
}
#[derive(Debug)]
pub enum TextItemRefname {
TextItem,
}
#[derive(Debug)]
pub enum TextItemShortname {
Textitem,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TextItemTypeElementType {
pub refname: Option<TextItemTypeRefname>,
pub shortname: Option<TextItemTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List42,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TextItemIdentifierElementType {
pub refname: Option<TextItemIdentifierRefname>,
pub shortname: Option<TextItemIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub text_item_id_type: TextItemIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PageRunElementType {
pub refname: Option<PageRunRefname>,
pub shortname: Option<PageRunShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub first_page_number: FirstPageNumberElementType,
pub last_page_number: Option<LastPageNumberElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct NumberOfPagesElementType {
pub refname: Option<NumberOfPagesRefname>,
pub shortname: Option<NumberOfPagesShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
#[derive(Debug)]
pub enum AvItemRefname {
AvItem,
}
#[derive(Debug)]
pub enum AvItemShortname {
Avitem,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AvItemTypeElementType {
pub refname: Option<AvItemTypeRefname>,
pub shortname: Option<AvItemTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List240,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AvItemIdentifierElementType {
pub refname: Option<AvItemIdentifierRefname>,
pub shortname: Option<AvItemIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub av_item_id_type: AvItemIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TimeRunElementType {
pub refname: Option<TimeRunRefname>,
pub shortname: Option<TimeRunShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub start_time: StartTimeElementType,
pub end_time: Option<EndTimeElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AvDurationElementType {
pub refname: Option<AvDurationRefname>,
pub shortname: Option<AvDurationShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct ComponentTypeNameElementType {
pub refname: Option<ComponentTypeNameRefname>,
pub shortname: Option<ComponentTypeNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ComponentNumberElementType {
pub refname: Option<ComponentNumberRefname>,
pub shortname: Option<ComponentNumberShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Publishing role
#[derive(Debug)]
pub enum List45 {
///Publisher
_01,
///Co-publisher
///Use where two or more publishers co-publish the exact same product, either under a single ISBN (in which case both publishers are co-publishers), or under different ISBNs (in which case the publisher of THIS ISBN is the publisher and the publishers of OTHER ISBNs are co-publishers. Note this is different from publication of ‘co-editions’
_02,
///Sponsor
_03,
///Publisher of original-language version
///Of a translated work
_04,
///Host/distributor of electronic content
_05,
///Published for/on behalf of
_06,
///Published in association with
///Use also for ‘Published in cooperation with’
_07,
///New or acquiring publisher
///When ownership of a product is transferred from one publisher to another
_09,
///Publishing group
///The group to which a publisher (publishing role 01) belongs: use only if a publisher has been identified with role code 01
_10,
///Publisher of facsimile original
///The publisher of the edition of which a product is a facsimile
_11,
///Repackager of prebound edition
///The repackager of a prebound edition that has been assigned its own identifier. (In the US, a ‘prebound edition’ is a book that was previously bound, normally as a paperback, and has been rebound with a library-quality hardcover binding by a supplier other than the original publisher.) Required when the EditionType is coded PRB. The original publisher should be named as the ‘publisher’
_12,
///Former publisher
///When ownership of a product is transferred from one publisher to another (complement of code 09)
_13,
///Publication funder
///Body funding publication fees, if different from the body funding the underlying research. Intended primarily for use with open access publications
_14,
///Research funder
///Body funding the research on which publication is based, if different from the body funding the publication. Intended primarily for use with open access publications
_15,
///Funding body
///Body funding research and publication. Intended primarily for use with open access publications
_16,
///Printer
///Organization responsible for printing a printed product. Supplied primarily to meet legal deposit requirements, and may apply only to the first impression. The organization may also be responsible for binding, when a separate binder is not specified
_17,
///Binder
///Organization responsible for binding a printed product (where distinct from the printer). Supplied primarily to meet legal deposit requirements, and may apply only to the first impression
_18,
///Manufacturer
///Organization primarily responsible for physical manufacture of a product, when neither Printer nor Binder is directly appropriate (for example, with disc or tape products, or digital products on a physical carrier)
_19,
///Previous publisher
///Use for the publisher of earlier manifestations of the work. Only for use in ONIX 3.0 or later
_21,
}
#[derive(Debug)]
pub enum PublishingRoleRefname {
PublishingRole,
}
#[derive(Debug)]
pub enum PublishingRoleShortname {
B291,
}
#[derive(Debug)]
pub struct PublisherContent264 {
pub publisher_identifier: Vec<PublisherIdentifierElementType>,
pub publisher_name: Vec<PublisherNameElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Script of transliterated textual data element
///● Added at revision 3.0.1
#[derive(Debug)]
pub struct PublisherNameElementType {
pub refname: Option<PublisherNameRefname>,
pub shortname: Option<PublisherNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub language: Option<List74>,
pub textscript: Option<List121>,
pub content: String,
}
#[derive(Debug)]
pub enum FundingRefname {
Funding,
}
#[derive(Debug)]
pub enum FundingShortname {
Funding,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct FundingIdentifierElementType {
pub refname: Option<FundingIdentifierRefname>,
pub shortname: Option<FundingIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub funding_id_type: FundingIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
#[derive(Debug)]
pub enum CopyrightStatementRefname {
CopyrightStatement,
}
#[derive(Debug)]
pub enum CopyrightStatementShortname {
Copyrightstatement,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CopyrightTypeElementType {
pub refname: Option<CopyrightTypeRefname>,
pub shortname: Option<CopyrightTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List219,
}
#[derive(Debug)]
pub enum CopyrightStatementContent146 {
Content147(CopyrightStatementContent147),
CopyrightOwner(Vec<CopyrightOwnerElementType>),
}
#[derive(Debug)]
pub enum CopyrightStatementTextRefname {
CopyrightStatementText,
}
#[derive(Debug)]
pub enum CopyrightStatementTextShortname {
X588,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ImprintElementType {
pub refname: Option<ImprintRefname>,
pub shortname: Option<ImprintShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: ImprintElementTypeContent,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub enum ImprintElementTypeContent {
Content190(ImprintContent190),
ImprintName(ImprintNameElementType),
}
///Product contact role
#[derive(Debug)]
pub enum List198 {
///Metadata contact
///For queries and feedback concerning the metadata record itself
_00,
///Accessibility request contact
///Eg for requests for supply of mutable digital files for conversion to other formats
_01,
///Promotional contact
///Eg for requests relating to interviews, author events
_02,
///Advertising contact
///Eg for co-op advertising
_03,
///Review copy contact
///Eg for requests for review copies
_04,
///Evaluation copy contact
///Eg for requests for approval or evaluation copies (particularly within education)
_05,
///Permissions contact
///Eg for requests to reproduce or repurpose parts of the publication
_06,
///Return authorization contact
///Eg for use where authorization must be gained from the publisher rather than the distributor or wholesaler
_07,
///CIP / Legal deposit contact
///Eg for legal deposit or long-term preservation
_08,
///Rights and licensing contact
///Eg for subrights licensing, collective licensing
_09,
///Product safety contact
///Eg for EU General product safety regulation (GPSR) compliance. See https://commission.europa.eu/business-economy-euro/product-safety-and-requirements/product-safety/general-product-safety-regulation_en
_10,
///Product raw materials contact
///Eg for EU Deforestation regulation (EUDR) compliance. See https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32023R1115qid=1687867231461
_11,
///Customer services contact
///For general enquiries
_99,
}
#[derive(Debug)]
pub enum ProductContactRoleRefname {
ProductContactRole,
}
#[derive(Debug)]
pub enum ProductContactRoleShortname {
X482,
}
#[derive(Debug)]
pub struct ProductContactContent241 {
pub product_contact_identifier: Vec<ProductContactIdentifierElementType>,
pub product_contact_name: Option<ProductContactNameElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductContactNameElementType {
pub refname: Option<ProductContactNameRefname>,
pub shortname: Option<ProductContactNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub enum FaxNumberRefname {
FaxNumber,
}
#[derive(Debug)]
pub enum FaxNumberShortname {
J271,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct StreetAddressElementType {
pub refname: Option<StreetAddressRefname>,
pub shortname: Option<StreetAddressShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PostalCodeElementType {
pub refname: Option<PostalCodeRefname>,
pub shortname: Option<PostalCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Publishing status
#[derive(Debug)]
pub enum List64 {
///Unspecified
///Status is not specified (as distinct from unknown): the default if the PublishingStatus element is not sent. Also to be used in applications where the element is considered mandatory, but the sender of the ONIX message chooses not to pass on status information
_00,
///Cancelled
///The product was announced, and subsequently abandoned; the PublicationDate element in ONIX 2.1 or its equivalent in PublishingDate in ONIX 3.0 or later must not be sent
_01,
///Forthcoming
///Not yet published; must be accompanied by the expected date in PublicationDate in ONIX 2.1, or its equivalent in the PublishingDate composite in ONIX 3.0 or later
_02,
///Postponed indefinitely
///The product was announced, and subsequently postponed with no expected publication date; the PublicationDate element in ONIX 2.1, or its equivalent as a PublishingDate composite in ONIX 3.0 or later, must not be sent
_03,
///Active
///The product was published, and is still active in the sense that the publisher will accept orders for it, though it may or may not be immediately available, for which see SupplyDetail
_04,
///No longer our product
///Ownership of the product has been transferred to another publisher (with details of acquiring publisher if possible in PR.19 (ONIX 2.1) OR P.19 (ONIX 3.0 or later))
_05,
///Out of stock indefinitely
///The product was active, but is now inactive in the sense that (a) the publisher cannot fulfill orders for it, though stock may still be available elsewhere in the supply chain, and (b) there are no current plans to bring it back into stock. Use this code for ‘reprint under consideration’. Code 06 does not specifically imply that returns are or are not still accepted
_06,
///Out of print
///The product was active, but is now permanently inactive in the sense that (a) the publisher will not accept orders for it, though stock may still be available elsewhere in the supply chain, and (b) the product will not be made available again under the same ISBN. Code 07 normally implies that the publisher will not accept returns beyond a specified date
_07,
///Inactive
///The product was active, but is now permanently or indefinitely inactive in the sense that the publisher will not accept orders for it, though stock may still be available elsewhere in the supply chain. Code 08 covers both of codes 06 and 07, and may be used where the distinction between those values is either unnecessary or meaningless
_08,
///Unknown
///The sender of the ONIX record does not know the current publishing status
_09,
///Remaindered
///The product is no longer available from the current publisher, under the current ISBN, at the current price. It may be available to be traded through another channel. A Publishing Status code 10 ‘Remaindered’ usually but not always means that the publisher has decided to sell off excess inventory of the book. Copies of books that are remaindered are often made available in the supply chain at a reduced price. However, such remainders are often sold under a product identifier that differs from the ISBN on the full-priced copy of the book. A Publishing Status code 10 ‘Remaindered’ on a given product record may or may not be followed by a Publishing Status code 06 ‘Out of Stock Indefinitely’ or 07 ‘Out of Print’: the practice varies from one publisher to another. Some publishers may revert to a Publishing Status code 04 ‘Active’ if a desired inventory level on the product in question has subsequently been reached. No change in rights should ever be inferred from this (or any other) Publishing Status code value
_10,
///Withdrawn from sale
///Withdrawn, typically for legal reasons or to avoid giving offence
_11,
///Recalled
///Recalled for reasons of consumer safety. Deprecated, use code 15 instead
_12,
///Active, but not sold separately
///The product is published and active but, as a publishing decision, its constituent parts are not sold separately – only in an assembly or as part of a pack, eg with Product composition code 01. Also use with Product composition codes 30, 31 where depending on product composition and pricing, items in the pack may or may not be saleable separately at retail
_13,
///Recalled
///Recalled for reasons of consumer safety
_15,
///Temporarily withdrawn from sale
///Withdrawn temporarily, typically for quality or technical reasons. In ONIX 3.0 or later, must be accompanied by expected availability date coded ‘22’ within the PublishingDate composite, except in exceptional circumstances where no date is known
_16,
///Permanently withdrawn from sale
///Withdrawn permanently from sale in all markets. Effectively synonymous with ‘Out of print’ (code 07), but specific to downloadable and online digital products (where no ‘stock’ would remain in the supply chain)
_17,
///Active, but not sold as set
///The various constituent parts of a product are published and active but, as a publishing decision, they are not sold together as a single product – eg with Product composition code 11 – and are only available as a number of individual items. Only for use in ONIX 3.0 or later
_18,
}
#[derive(Debug)]
pub enum PublishingStatusRefname {
PublishingStatus,
}
#[derive(Debug)]
pub enum PublishingStatusShortname {
B394,
}
#[derive(Debug)]
pub enum PublishingStatusNoteRefname {
PublishingStatusNote,
}
#[derive(Debug)]
pub enum PublishingStatusNoteShortname {
B395,
}
///Publishing date role
#[derive(Debug)]
pub enum List163 {
///Publication date
///Nominal date of publication. This date is primarily used for planning, promotion and other business process purposes, and is not necessarily the first date for retail sales or fulfillment of pre-orders. In the absence of a sales embargo date, retail sales and pre-order fulfillment may begin as soon as stock is available to the retailer
_01,
///Sales embargo date
///If there is an embargo on retail sales (in the market) before a certain date, the date from which the embargo is lifted and retail sales and fulfillment of pre-orders are permitted. (In some markets, this may be termed a ‘strict on-sale date’.) In the absence of an embargo date, retail sales and pre-order fulfillment may begin as soon as stock is available to the retailer
_02,
///Public announcement date
///Date when a new product may be announced to the general public. Prior to the announcement date, the product data is intended for internal use by the recipient and supply chain partners only. After the announcement date, or in the absence of an announcement date, the planned product may be announced to the public as soon as metadata is available
_09,
///Trade announcement date
///Date when a new product may be announced to the book trade only. Prior to the announcement date, the product information is intended for internal use by the recipient only. After the announcement date, or in the absence of a trade announcement date, the planned product may be announced to supply chain partners (but not necessarily made public – see the Public announcement date) as soon as metadata is available
_10,
///Date of first publication
///Date when the work incorporated in a product was first published. For works in translation, see also Date of first publication in original language (code 20)
_11,
///Latest reprint date
///Date when a product was most recently reprinted
_12,
///Out-of-print / permanently withdrawn date
///Date when a product was (or will be) declared out-of-print, permanently withdrawn from sale or deleted
_13,
///Latest reissue date
///Date when a product was most recently reissued
_16,
///Publication date of print counterpart
///Date of publication of a printed book which is the direct print counterpart to a digital product. The counterpart product may be included in RelatedProduct using code 13
_19,
///Date of first publication in original language
///Date when the original language version of work incorporated in a product was first published (note, use only on works in translation – see code 11 for first publication date in the translated language)
_20,
///Forthcoming reissue date
///Date when a product will be reissued
_21,
///Expected availability date after temporary withdrawal
///Date when a product that has been temporary withdrawn from sale or recalled for any reason is expected to become available again, eg after correction of quality or technical issues
_22,
///Review embargo date
///Date from which reviews of a product may be published eg in newspapers and magazines or online. Provided to the book trade for information only: newspapers and magazines are not expected to be recipients of ONIX metadata
_23,
///Publisher’s reservation order deadline
///Latest date on which an order may be placed with the publisher for guaranteed delivery prior to the publication date. May or may not be linked to a special reservation or pre-publication price
_25,
///Forthcoming reprint date
///Date when a product will be reprinted
_26,
///Preorder embargo date
///Earliest date a retail ‘preorder’ can be placed (in the market), where this is distinct from the public announcement date. In the absence of a preorder embargo, advance orders can be placed as soon as metadata is available to the consumer (this would be the public announcement date, or in the absence of a public announcement date, the earliest date metadata is available to the retailer)
_27,
///Transfer date
///Date of acquisition of product by new publisher (use with publishing roles 09 and 13)
_28,
///Date of production
///For an audiovisual work (eg on DVD)
_29,
///Streaming embargo date
///For digital products that are available to end customers both as a download and streamed, the earliest date the product can be made available on a stream, where the streamed version becomes available later than the download. For the download, see code 02 if it is embargoed or code 01 if there is no embargo
_30,
///Subscription embargo date
///For digital products that are available to end customers both as purchases and as part of a subscription package, the earliest date the product can be made available by subscription, where the product may not be included in a subscription package until some while after publication. For ordinary sales, see code 02 if there is a sales embargo or code 01 if there is no embargo
_31,
///Download embargo date
///For digital products that are available to end customers both as a download and streamed, the earliest date the product can be made available via download, where the download version becomes available later than the stream. For any embargo on the stream, see code 02
_32,
///Purchase embargo date
///For digital products that are available to end customers both as purchases and as part of a subscription package, the earliest date the product can be made available to purchase, where the product may not be purchased until some while after it becomes available via the subscription. For any embargo on the subscription, see code 02
_33,
///CIP date
///Date by which CIP copy is required for inclusion in the product
_35,
}
#[derive(Debug)]
pub enum PublishingDateRoleRefname {
PublishingDateRole,
}
#[derive(Debug)]
pub enum PublishingDateRoleShortname {
X448,
}
#[derive(Debug)]
pub enum DateRefname {
Date,
}
#[derive(Debug)]
pub enum DateShortname {
B306,
}
#[derive(Debug)]
pub enum SalesRightsRefname {
SalesRights,
}
#[derive(Debug)]
pub enum SalesRightsShortname {
Salesrights,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SalesRightsTypeElementType {
pub refname: Option<SalesRightsTypeRefname>,
pub shortname: Option<SalesRightsTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List46,
}
///Sales rights type
#[derive(Debug)]
pub enum List46 {
///Sales rights unknown or unstated for any reason
///May only be used with the ROWSalesRightsType element
_00,
///For sale with exclusive rights in the specified countries or territories
_01,
///For sale with non-exclusive rights in the specified countries or territories
_02,
///Not for sale in the specified countries or territories (reason unspecified)
_03,
///Not for sale in the specified countries (but publisher holds exclusive rights in those countries or territories)
_04,
///Not for sale in the specified countries (publisher holds non-exclusive rights in those countries or territories)
_05,
///Not for sale in the specified countries (because publisher does not hold rights in those countries or territories)
_06,
///For sale with exclusive rights in the specified countries or territories (sales restriction applies)
///Only for use with ONIX 3.0. Deprecated
_07,
///For sale with non-exclusive rights in the specified countries or territories (sales restriction applies)
///Only for use with ONIX 3.0. Deprecated
_08,
}
#[derive(Debug)]
pub enum RowSalesRightsTypeRefname {
RowSalesRightsType,
}
#[derive(Debug)]
pub enum RowSalesRightsTypeShortname {
X456,
}
///Work identifier type
#[derive(Debug)]
pub enum List16 {
///Proprietary work ID scheme
///For example, a publisher’s own work ID scheme. Note that a distinctive IDTypeName is required with proprietary identifiers
_01,
///ISBN-10
///10-character ISBN of manifestation of work, when this is the only work identifier available – now Deprecated in ONIX for Books, except where providing historical information for compatibility with legacy systems. It should only be used in relation to products published before 2007 – when ISBN-13 superseded it – and should never be used as the ONLY identifier (it should always be accompanied by the correct GTIN-13 / ISBN-13 of the manifestation of the work)
_02,
///DOI
///Digital Object Identifier (variable length and character set, beginning ‘10.’ and without https://doi.org/ or the older http://dx.doi.org/)
_06,
///ISTC
///International Standard Text Code (16 characters: numerals and letters A–F, unhyphenated). Deprecated: the ISTC was withdrawn as a standard in 2021
_11,
///ISBN-13
///13-character ISBN of a manifestation of work, when this is the only work identifier available (13 digits, without spaces or hyphens)
_15,
///ISRC
///International Standard Recording Code
_18,
///EIDR Content ID
///Entertainment Identifier Registry identifier for an audiovisual work, eg a movie, TV series (a DOI beginning ‘10.5240/’ with a suffix of 21 hexadecimal digits and five hyphens, and without https://doi.org/ or the older http://dx.doi.org/). See ui.eidr.org/search. Only for use in ONIX 3.0 or later
_31,
///GLIMIR
///Global Library Manifestation Identifier, OCLC’s ‘manifestation cluster’ ID
_32,
///OWI
///OCLC Work Identifier
_33,
///ISCC
///International Standard Content Code, a ‘similarity hash’ derived algorithmically from the content itself (see https://iscc.codes). IDValue is a sequence comprising the Meta-Code and Content-Code ISCC-UNITSs generated from a digital manifestation of the work, as a variable-length case-insensitive alphanumeric string (or 27 characters including one hyphen if using ISCC v1.0, but this is deprecated). Note alphabetic characters in v1.x ISCCs use Base32 encoding and are conventionally upper case. The ‘ISCC:’ prefix is omitted. Only for use in ONIX 3.0 or later
_39,
}
#[derive(Debug)]
pub enum WorkIdTypeRefname {
WorkIdType,
}
#[derive(Debug)]
pub enum WorkIdTypeShortname {
B201,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SpecificationBundleNameElementType {
pub refname: Option<SpecificationBundleNameRefname>,
pub shortname: Option<SpecificationBundleNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub specification_bundle_name_type_name: SpecificationBundleNameTypeNameElementType,
pub specification_bundle_name_value: SpecificationBundleNameValueElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SpecificationDetailElementType {
pub refname: Option<SpecificationDetailRefname>,
pub shortname: Option<SpecificationDetailShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List248,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SpecificationFeatureElementType {
pub refname: Option<SpecificationFeatureRefname>,
pub shortname: Option<SpecificationFeatureShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub specification_feature_type: SpecificationFeatureTypeElementType,
pub specification_feature_value: Option<SpecificationFeatureValueElementType>,
pub specification_feature_description: Vec<SpecificationFeatureDescriptionElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct SpecificationDescriptionElementType {
pub refname: Option<SpecificationDescriptionRefname>,
pub shortname: Option<SpecificationDescriptionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
#[derive(Debug)]
pub enum CoverResourceRefname {
CoverResource,
}
#[derive(Debug)]
pub enum CoverResourceShortname {
Coverresource,
}
#[derive(Debug)]
pub enum CoverResourceContent151 {
GpResourceSpecification(BodyResourceGpResourceSpecification),
NoResource(NoResourceElementType),
}
#[derive(Debug)]
pub enum BodyResourceRefname {
BodyResource,
}
#[derive(Debug)]
pub enum BodyResourceShortname {
Bodyresource,
}
#[derive(Debug)]
pub struct BodyResourceGpResourceSpecification {
pub resource_identifier: Vec<ResourceIdentifierElementType>,
pub resource_role: Option<ResourceRoleElementType>,
pub resource_file_detail: Vec<ResourceFileDetailElementType>,
pub resource_file_feature: Vec<ResourceFileFeatureElementType>,
pub resource_file_description: Vec<ResourceFileDescriptionElementType>,
pub resource_file_content_description: Vec<ResourceFileContentDescriptionElementType>,
pub resource_file_link: Vec<ResourceFileLinkElementType>,
pub resource_file_date: Vec<ResourceFileDateElementType>,
}
#[derive(Debug)]
pub enum InsertPointRefname {
InsertPoint,
}
#[derive(Debug)]
pub enum InsertPointShortname {
Insertpoint,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct InsertPointTypeElementType {
pub refname: Option<InsertPointTypeRefname>,
pub shortname: Option<InsertPointTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List255,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct InsertPointValueElementType {
pub refname: Option<InsertPointValueRefname>,
pub shortname: Option<InsertPointValueShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub enum InsertResourceRefname {
InsertResource,
}
#[derive(Debug)]
pub enum InsertResourceShortname {
Insertresource,
}
#[derive(Debug)]
pub enum SalesOutletRefname {
SalesOutlet,
}
#[derive(Debug)]
pub enum SalesOutletShortname {
Salesoutlet,
}
#[derive(Debug)]
pub enum SalesOutletContent295 {
Content296(SalesOutletContent296),
SalesOutletName(SalesOutletNameElementType),
}
#[derive(Debug)]
pub struct SupplementManifestContent320 {
pub product_identifier: Vec<ProductIdentifierElementType>,
pub product_form: ProductFormElementType,
pub product_form_detail: Vec<ProductFormDetailElementType>,
pub product_form_description: Vec<ProductFormDescriptionElementType>,
pub measure: Vec<MeasureElementType>,
pub cover_manifest: Option<CoverManifestElementType>,
pub body_manifest: BodyManifestElementType,
pub insert_manifest: Vec<InsertManifestElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct NoSupplementElementType {
pub refname: Option<NoSupplementRefname>,
pub shortname: Option<NoSupplementShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CountriesIncludedElementType {
pub refname: Option<CountriesIncludedRefname>,
pub shortname: Option<CountriesIncludedShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: DtCountryCodeList,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct RegionsIncludedElementType {
pub refname: Option<RegionsIncludedRefname>,
pub shortname: Option<RegionsIncludedShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: DtRegionCodeList,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct RegionsExcludedElementType {
pub refname: Option<RegionsExcludedRefname>,
pub shortname: Option<RegionsExcludedShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: DtRegionCodeList,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CountriesExcludedElementType {
pub refname: Option<CountriesExcludedRefname>,
pub shortname: Option<CountriesExcludedShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: DtCountryCodeList,
}
///Sales restriction type
#[derive(Debug)]
pub enum List71 {
///Unspecified – see text
///Restriction must be described in SalesRestrictionDetail (ONIX 2.1) or SalesRestrictionNote (ONIX 3.0 or later)
_00,
///Retailer exclusive / own brand
///Sales rights (or market distribution rights) apply to sales through designated retailer(s), which must be identified or named in an instance of the SalesOutlet composite. Use only when it is not possible to assign the more explicit codes 04 or 05
_01,
///Through office supplies outlets only
///Sales rights (or market distribution rights) apply to sales though office supplies channels. Specific outlet(s) may be identified or named in an instance of the SalesOutlet composite
_02,
///Internal publisher use only: do not list
///For an ISBN that is assigned for a publisher’s internal purposes. Should not appear in ONIX messages sent externally, and if sent inadvertently, data recipients should not list the product in their catalogs
_03,
///Retailer exclusive
///Sales rights (or market distribution rights) apply to sales (under the publisher’s brand / imprint) through the designated retailer(s), which must be identified or named in an instance of the SalesOutlet composite
_04,
///Retailer own brand
///Sales rights (or market distribution rights) apply to sales (under the retailer’s own brand / imprint) through the designated retailer(s), which must be identified or named in an instance of the SalesOutlet composite
_05,
///To libraries only
///Sales rights (or market distribution rights) apply to supplies to libraries (public and national libraries, libraries in educational institutions)
_06,
///To schools only
///Sales rights (or market distribution rights) apply to supplies to schools (primary and secondary education)
_07,
///Indiziert
///Indexed for the German market – in Deutschland indiziert
_08,
///Except to libraries
///Sales rights (or market distribution rights) apply to supplies other than to libraries
_09,
///Through news outlets only
///Sales rights (or market distribution rights) apply to sales though news outlet channels (newsstands / newsagents)
_10,
///Retailer exception
///Sales rights (or market distribution rights) apply to sales other than through designated retailer(s), which must be identified or named in the SalesOutlet composite
_11,
///Except to subscription services
///Sales rights (or market distribution rights) apply to supplies other than to organizations or services offering consumers subscription access to a catalog of books
_12,
///To subscription services only
///Sales rights (or market distribution rights) apply to supplies to organizations or services offering consumers subscription access to a catalog of books
_13,
///Except through online retail
///Sales rights (or market distribution rights) apply to sales other than through online retail channels
_14,
///Through online retail only
///Sales rights (or market distribution rights) apply to sales through online retail channels
_15,
///Except to schools
///Sales rights (or market distribution rights) apply to supplies other than to schools. Only for use in ONIX 3.0 or later
_16,
///Through Inventoryless POD
///POD copies may be manufactured at any time, either to fulfill a customer order immediately or to replace a minimal stockholding (ie near-inventoryless). Only for use in ONIX 3.0 or later
_17,
///Through Stock Protection POD
///POD copies may be manufactured only to fulfill a customer order immediately while out of stock and awaiting delivery of further stock from the supplier. Only for use in ONIX 3.0 or later
_18,
///Except through POD
///Not eligible for POD. Only for use in ONIX 3.0 or later
_19,
///Except to some subscription services
///Sales rights (or market distribution rights) apply to all supplies through retailers, and to the designated subscription services, which must be identified or named in an instance of the SalesOutlet composite. Only for use in ONIX 3.0 or later
_20,
///Subscription service exclusive
///Sales rights (or market distribution rights) apply to supplies to the designated subscription service(s), which must be identified or named in an instance of the SalesOutlet composite. Only for use in ONIX 3.0 or later
_21,
///To education only
///Sales rights (or market distribution rights) apply to supplies to educational institutions only (primary, secondary, tertiary, adult, vocational and professional etc). Only for use in ONIX 3.0 or later
_22,
///Except to education
///Sales rights (or market distribution rights) apply to supplies other than to educational institutions. Only for use in ONIX 3.0 or later
_23,
///No restrictions on sales
///Positive indication that no sales restrictions apply, for example to indicate the product may be sold both online and in bricks-and mortar retail, or to subscription services and non-subscription customers. Only for use in ONIX 3.0 or later
_99,
}
#[derive(Debug)]
pub enum SalesRestrictionTypeRefname {
SalesRestrictionType,
}
#[derive(Debug)]
pub enum SalesRestrictionTypeShortname {
B381,
}
#[derive(Debug)]
pub enum SalesRestrictionNoteRefname {
SalesRestrictionNote,
}
#[derive(Debug)]
pub enum SalesRestrictionNoteShortname {
X453,
}
#[derive(Debug)]
pub enum StartDateRefname {
StartDate,
}
#[derive(Debug)]
pub enum StartDateShortname {
B324,
}
#[derive(Debug)]
pub enum EndDateRefname {
EndDate,
}
#[derive(Debug)]
pub enum EndDateShortname {
B325,
}
///Agent role
#[derive(Debug)]
pub enum List69 {
///Publisher acts as own sales agent
///Normally omitted, but required in some countries to provide positive indication the publisher acts as its own sales agent (FR: auto-diffuseur) in a specified market. Only for use in ONIX 3.0 or later
_01,
///Exclusive sales agent
///Publisher’s exclusive sales agent in a specified territory
_05,
///Non-exclusive sales agent
///Publisher’s non-exclusive sales agent in a specified territory
_06,
///Local publisher
///Publisher for a specified territory
_07,
///Sales agent
///Publisher’s sales agent in a specific territory. Use only where exclusive / non-exclusive status is not known. Prefer 05 or 06 as appropriate, where possible
_08,
}
#[derive(Debug)]
pub enum AgentRoleRefname {
AgentRole,
}
#[derive(Debug)]
pub enum AgentRoleShortname {
J402,
}
#[derive(Debug)]
pub struct PublisherRepresentativeContent268 {
pub agent_identifier: Vec<AgentIdentifierElementType>,
pub agent_name: Option<AgentNameElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct AgentNameElementType {
pub refname: Option<AgentNameRefname>,
pub shortname: Option<AgentNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub language: Option<List74>,
pub content: String,
}
#[derive(Debug)]
pub enum MarketDateRoleRefname {
MarketDateRole,
}
#[derive(Debug)]
pub enum MarketDateRoleShortname {
J408,
}
///Supplier role
#[derive(Debug)]
pub enum List93 {
///Unspecified
///Default
_00,
///Publisher to resellers
///Publisher as supplier to retail trade outlets
_01,
///Publisher’s exclusive distributor to resellers
_02,
///Publisher’s non-exclusive distributor to resellers
_03,
///Wholesaler to retailers
///Wholesaler supplying retail trade outlets
_04,
///Sales agent
///Deprecated – use MarketRepresentation (ONIX 2.1) or MarketPublishingDetail (ONIX 3.0 or later) to specify a sales agent
_05,
///Publisher’s distributor to retailers
///In a specified supply territory. Use only where exclusive/non-exclusive status is not known. Prefer 02 or 03 as appropriate, where possible
_06,
///POD supplier
///Where a POD product is supplied to retailers and/or consumers direct from a POD source
_07,
///Retailer
_08,
///Publisher to end-customers
///Publisher as supplier direct to consumers and/or institutional customers
_09,
///Exclusive distributor to end-customers
///Intermediary as exclusive distributor direct to consumers and/or institutional customers
_10,
///Non-exclusive distributor to end-customers
///Intermediary as non-exclusive distributor direct to consumers and/or institutional customers
_11,
///Distributor to end-customers
///Use only where exclusive/non-exclusive status is not known. Prefer 10 or 11 as appropriate, where possible
_12,
///Exclusive distributor to resellers and end-customers
///Intermediary as exclusive distributor to retailers and direct to consumers and/or institutional customers. Only for use in ONIX 3.0 or later
_13,
///Non-exclusive distributor to resellers and end-customers
///Intermediary as non-exclusive distributor to retailers and direct to consumers and/or institutional customers. Only for use in ONIX 3.0 or later
_14,
///Distributor to resellers and end-customers
///Use only where exclusive/non-exclusive status is not known. Prefer codes 13 or 14 as appropriate whenever possible. Only for use in ONIX 3.0 or later
_15,
}
#[derive(Debug)]
pub enum SupplierRoleRefname {
SupplierRole,
}
#[derive(Debug)]
pub enum SupplierRoleShortname {
J292,
}
#[derive(Debug)]
pub struct NewSupplierContent216 {
pub supplier_identifier: Vec<SupplierIdentifierElementType>,
pub supplier_name: Option<SupplierNameElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct SupplierNameElementType {
pub refname: Option<SupplierNameRefname>,
pub shortname: Option<SupplierNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub language: Option<List74>,
pub content: String,
}
///Supply contact role
#[derive(Debug)]
pub enum List239 {
///Return authorization contact
///Eg for use where authorization must be gained from the supplier (distributor or wholesaler)
_07,
///Product safety contact
///Eg for EU General product safety regulation (GPSR) compliance where the supplier acts on behalf of the publisher or publisher representative as an importer into the EU. See https://commission.europa.eu/business-economy-euro/product-safety-and-requirements/product-safety/general-product-safety-regulation_en
_10,
///Product raw materials contact
///Eg for EU Deforestation regulation (EUDR) compliance where the supplier acts on behalf of the publisher or publisher representative as an importer into the EU. See https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32023R1115qid=1687867231461
_11,
///Customer services contact
///For general enquiries
_99,
}
#[derive(Debug)]
pub enum SupplyContactRoleRefname {
SupplyContactRole,
}
#[derive(Debug)]
pub enum SupplyContactRoleShortname {
X537,
}
#[derive(Debug)]
pub struct SupplyContactContent328 {
pub supply_contact_identifier: Vec<SupplyContactIdentifierElementType>,
pub supply_contact_name: Option<SupplyContactNameElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SupplyContactNameElementType {
pub refname: Option<SupplyContactNameRefname>,
pub shortname: Option<SupplyContactNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Supplier own code type
#[derive(Debug)]
pub enum List165 {
///Supplier’s sales classification
///A rating applied by a supplier (typically a wholesaler) to indicate its assessment of the expected or actual sales performance of a product
_01,
///Supplier’s bonus eligibility
///A supplier’s coding of the eligibility of a product for a bonus scheme on overall sales
_02,
///Publisher’s sales classification
///A rating applied by the publisher to indicate a sales category (eg backlist/frontlist, core stock etc). Use only when the publisher is not the ‘supplier’
_03,
///Supplier’s pricing restriction classification
///A classification applied by a supplier to a product sold on Agency terms, to indicate that retail price restrictions are applicable
_04,
///Supplier’s sales expectation
///Code is the ISBN of another book that had sales (both in terms of copy numbers and customer profile) comparable to that the distributor or supplier estimates for the product. SupplierCodeValue must be an ISBN-13 or GTIN-13
_05,
///Publisher’s sales expectation
///Code is the ISBN of another book that had sales (both in terms of copy numbers and customer profile) comparable to that the publisher estimates for the product. SupplierCodeValue must be an ISBN-13 or GTIN-13
_06,
///Supplier’s order routing eligibility
///Code indicates whether an order can be placed with the supplier indirectly via an intermediary system. The code name type indicates the specific intermediate order aggregation/routing platform and the code indicates the eligibility
_07,
}
#[derive(Debug)]
pub enum SupplierCodeTypeRefname {
SupplierCodeType,
}
#[derive(Debug)]
pub enum SupplierCodeTypeShortname {
X458,
}
#[derive(Debug)]
pub enum SupplierCodeTypeNameRefname {
SupplierCodeTypeName,
}
#[derive(Debug)]
pub enum SupplierCodeTypeNameShortname {
X513,
}
#[derive(Debug)]
pub enum SupplierCodeValueRefname {
SupplierCodeValue,
}
#[derive(Debug)]
pub enum SupplierCodeValueShortname {
X459,
}
///Returns conditions code type
#[derive(Debug)]
pub enum List53 {
///Proprietary returns coding scheme
///Note that a distinctive ReturnsCodeTypeName is required with proprietary coding schemes. Only for use in ONIX 3.0 or later
_00,
///French book trade returns conditions code
///Maintained by CLIL (Commission Interprofessionnel du Livre). Returns conditions values in ReturnsCode should be taken from the CLIL list
_01,
///BISAC Returnable Indicator code
///Maintained by BISAC: Returns conditions values in ReturnsCode should be taken from List 66
_02,
///UK book trade returns conditions code
///NOT CURRENTLY USED – BIC has decided that it will not maintain a code list for this purpose, since returns conditions are usually at least partly based on the trading relationship
_03,
///ONIX Returns conditions code
///Returns conditions values in ReturnsCode should be taken from List 204
_04,
}
#[derive(Debug)]
pub enum ReturnsCodeTypeRefname {
ReturnsCodeType,
}
#[derive(Debug)]
pub enum ReturnsCodeTypeShortname {
J268,
}
#[derive(Debug)]
pub enum ReturnsCodeTypeNameRefname {
ReturnsCodeTypeName,
}
#[derive(Debug)]
pub enum ReturnsCodeTypeNameShortname {
X460,
}
#[derive(Debug)]
pub enum ReturnsCodeRefname {
ReturnsCode,
}
#[derive(Debug)]
pub enum ReturnsCodeShortname {
J269,
}
#[derive(Debug)]
pub enum ReturnsNoteRefname {
ReturnsNote,
}
#[derive(Debug)]
pub enum ReturnsNoteShortname {
X528,
}
///Supply date role
#[derive(Debug)]
pub enum List166 {
///Sales embargo date
///If there is an embargo on retail sales (of copies from the supplier) before a certain date and this is later than any general or market-wide embargo date, the date from which the embargo is lifted and retail sales and fulfillment of pre-orders are permitted. Use code 02 here ONLY in the exceptional case when the embargo is supplier-specific. More general market-wide or global sales embargos should be specified in MarketDate or PublishingDate codes. In the absence of any supplier-specific, market-wide or general embargo date, retail sales and pre-order fulfillment may begin as soon as stock is available to the retailer
_02,
///Expected availability date
///The date on which physical stock is expected to be available to be shipped from the supplier to retailers, or a digital product is expected to be released by the publisher or digital asset distributor to retailers or their retail platform providers
_08,
///Last date for returns
///Last date when returns will be accepted, generally for a product which is being remaindered or put out of print
_18,
///Reservation order deadline
///Latest date on which an order may be placed for guaranteed delivery prior to the publication date. May or may not be linked to a special reservation or pre-publication price
_25,
///Last redownload date
///Latest date on which existing owners or licensees may download or re-download a copy of the product. Existing users may continue to use their local copy of the product
_29,
///Last TPM date
///Date on which any required technical protection measures (DRM) support will be withdrawn. DRM-protected products may not be usable after this date
_30,
///Expected warehouse date
///The date on which physical stock is expected to be delivered to the supplier from the manufacturer or from a primary distributor. For the distributor or wholesaler (the supplier) this is the ‘goods in’ date, as contrasted with the Expected availability date, code 08, which is the ‘goods out’ date
_34,
///New supplier start date
///First date on which the supplier specified in NewSupplier will accept orders. Note the first date would typically be the day after the old supplier end date, but they may overlap if there is an agreement to forward any orders between old and new supplier for fulfillment
_50,
///Supplier end date
///Last date on which the supplier specified in Supplier will accept orders. New supplier should be specified where available. Note last date would typically be the day before the new supplier start date, but they may overlap if there is an agreement to forward any orders between old and new supplier for fulfillment
_51,
}
#[derive(Debug)]
pub enum SupplyDateRoleRefname {
SupplyDateRole,
}
#[derive(Debug)]
pub enum SupplyDateRoleShortname {
X461,
}
#[derive(Debug)]
pub enum LocationIdentifierRefname {
LocationIdentifier,
}
#[derive(Debug)]
pub enum LocationIdentifierShortname {
Locationidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct LocationIdTypeElementType {
pub refname: Option<LocationIdTypeRefname>,
pub shortname: Option<LocationIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List92,
}
#[derive(Debug)]
pub enum LocationNameRefname {
LocationName,
}
#[derive(Debug)]
pub enum LocationNameShortname {
J349,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct StockQuantityCodedElementType {
pub refname: Option<StockQuantityCodedRefname>,
pub shortname: Option<StockQuantityCodedShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub stock_quantity_code_type: StockQuantityCodeTypeElementType,
pub stock_quantity_code_type_name: Option<StockQuantityCodeTypeNameElementType>,
pub stock_quantity_code: StockQuantityCodeElementType,
}
#[derive(Debug)]
pub struct StockContent309 {
pub on_hand: OnHandElementType,
pub proximity: Option<ProximityElementType>,
pub content_310: Option<StockContent310>,
pub content_311: Option<StockContent311>,
pub content_312: Option<StockContent312>,
}
#[derive(Debug)]
pub enum OnOrderDetailRefname {
OnOrderDetail,
}
#[derive(Debug)]
pub enum OnOrderDetailShortname {
Onorderdetail,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct OnOrderElementType {
pub refname: Option<OnOrderRefname>,
pub shortname: Option<OnOrderShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProximityElementType {
pub refname: Option<ProximityRefname>,
pub shortname: Option<ProximityShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List215,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Format of date data element, eg YYYYMMDD
///● Added at revision 3.0 (2010)
#[derive(Debug)]
pub struct ExpectedDateElementType {
pub refname: Option<ExpectedDateRefname>,
pub shortname: Option<ExpectedDateShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub dateformat: Option<List55>,
pub content: String,
}
#[derive(Debug)]
pub enum VelocityRefname {
Velocity,
}
#[derive(Debug)]
pub enum VelocityShortname {
Velocity,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct VelocityMetricElementType {
pub refname: Option<VelocityMetricRefname>,
pub shortname: Option<VelocityMetricShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List216,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct RateElementType {
pub refname: Option<RateRefname>,
pub shortname: Option<RateShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: i32,
}
#[derive(Debug)]
pub enum OrderQuantityMinimumRefname {
OrderQuantityMinimum,
}
#[derive(Debug)]
pub enum OrderQuantityMinimumShortname {
X532,
}
#[derive(Debug)]
pub enum OrderQuantityMultipleRefname {
OrderQuantityMultiple,
}
#[derive(Debug)]
pub enum OrderQuantityMultipleShortname {
X533,
}
///Unpriced item type
#[derive(Debug)]
pub enum List57 {
///Free of charge
_01,
///Price to be announced
_02,
///Not sold separately
///Not sold separately at retail
_03,
///Contact supplier
///May be used for books that do not carry a recommended retail price; when goods can only be ordered ‘in person’ from a sales representative; when an ONIX file is ‘broadcast’ rather than sent one-to-one to a single trading partner; or for digital products offered on subscription or with pricing which is too complex to specify in ONIX
_04,
///Not sold as set
///When a collection that is not sold as a set nevertheless has its own ONIX record
_05,
///Revenue share
///Unpriced, but available via a pre-determined revenue share agreement
_06,
///Calculated from contents
///Price calculated as sum of individual prices of components listed as Product parts. Only for use in ONIX 3.0 or later
_07,
///Supplier does not supply
///The supplier does not operate, or does not offer this product, in this part of the market as indicated by Territory. Use when other prices apply in different parts of the market (eg when the market is global, but the particular supplier does not operate outside its domestic territory). Use code 04 when the supplier does supply but has not set a price for part of the market. Only for use in ONIX 3.0 or later
_08,
}
#[derive(Debug)]
pub enum UnpricedItemTypeRefname {
UnpricedItemType,
}
#[derive(Debug)]
pub enum UnpricedItemTypeShortname {
J192,
}
#[derive(Debug)]
pub enum PriceRefname {
Price,
}
#[derive(Debug)]
pub enum PriceShortname {
Price,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceIdentifierElementType {
pub refname: Option<PriceIdentifierRefname>,
pub shortname: Option<PriceIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub price_id_type: PriceIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceTypeElementType {
pub refname: Option<PriceTypeRefname>,
pub shortname: Option<PriceTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List58,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceQualifierElementType {
pub refname: Option<PriceQualifierRefname>,
pub shortname: Option<PriceQualifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List59,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceConstraintElementType {
pub refname: Option<PriceConstraintRefname>,
pub shortname: Option<PriceConstraintShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub price_constraint_type: PriceConstraintTypeElementType,
pub price_constraint_status: PriceConstraintStatusElementType,
pub price_constraint_limit: Vec<PriceConstraintLimitElementType>,
}
///Details of an end user license agreement for a digital product
///● Is extended by OTHER complexType EpubLicenseWithDateType>
///● Added at revision 3.0.2
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EpubLicenseType {
pub refname: Option<EpubLicenseTypeRefname>,
pub shortname: Option<EpubLicenseTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub epub_license_name: Vec<EpubLicenseNameElementType>,
pub epub_license_expression: Vec<EpubLicenseExpressionElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct PriceTypeDescriptionElementType {
pub refname: Option<PriceTypeDescriptionRefname>,
pub shortname: Option<PriceTypeDescriptionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PricePerElementType {
pub refname: Option<PricePerRefname>,
pub shortname: Option<PricePerShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List60,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceConditionElementType {
pub refname: Option<PriceConditionRefname>,
pub shortname: Option<PriceConditionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub price_condition_type: PriceConditionTypeElementType,
pub price_condition_quantity: Vec<PriceConditionQuantityElementType>,
pub product_identifier: Vec<ProductIdentifierElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct MinimumOrderQuantityElementType {
pub refname: Option<MinimumOrderQuantityRefname>,
pub shortname: Option<MinimumOrderQuantityShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct BatchBonusElementType {
pub refname: Option<BatchBonusRefname>,
pub shortname: Option<BatchBonusShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub batch_quantity: BatchQuantityElementType,
pub free_quantity: FreeQuantityElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct DiscountCodedElementType {
pub refname: Option<DiscountCodedRefname>,
pub shortname: Option<DiscountCodedShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub discount_code_type: DiscountCodeTypeElementType,
pub discount_code_type_name: Option<DiscountCodeTypeNameElementType>,
pub discount_code: DiscountCodeElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct DiscountElementType {
pub refname: Option<DiscountRefname>,
pub shortname: Option<DiscountShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub discount_type: Option<DiscountTypeElementType>,
pub content_160: Option<DiscountContent160>,
pub content_161: DiscountContent161,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceStatusElementType {
pub refname: Option<PriceStatusRefname>,
pub shortname: Option<PriceStatusShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List61,
}
#[derive(Debug)]
pub enum PriceContent221 {
Content222(PriceContent222),
UnpricedItemType(UnpricedItemTypeElementType),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CurrencyCodeElementType {
pub refname: Option<CurrencyCodeRefname>,
pub shortname: Option<CurrencyCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List96,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ComparisonProductPriceElementType {
pub refname: Option<ComparisonProductPriceRefname>,
pub shortname: Option<ComparisonProductPriceShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub product_identifier: Vec<ProductIdentifierElementType>,
pub price_type: Option<PriceTypeElementType>,
pub price_amount: PriceAmountElementType,
pub currency_code: Option<CurrencyCodeElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceDateElementType {
pub refname: Option<PriceDateRefname>,
pub shortname: Option<PriceDateShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub price_date_role: PriceDateRoleElementType,
pub date: DateElementType,
}
#[derive(Debug)]
pub struct PriceContent225 {
pub printed_on_product: PrintedOnProductElementType,
pub position_on_product: Option<PositionOnProductElementType>,
}
#[derive(Debug)]
pub enum QuantityRefname {
Quantity,
}
#[derive(Debug)]
pub enum QuantityShortname {
X320,
}
///Unit of usage
#[derive(Debug)]
pub enum List147 {
///Copies
///Maximum number of copies that may be made of a permitted extract
_01,
///Characters
///Maximum number of characters in a permitted extract for a specified usage
_02,
///Words
///Maximum number of words in a permitted extract for a specified usage
_03,
///Pages
///Maximum number of pages in a permitted extract for a specified usage
_04,
///Percentage
///Maximum percentage of total content in a permitted extract for a specified usage
_05,
///Devices
///Maximum number of devices in ‘share group’
_06,
///Concurrent users
///Maximum number of concurrent users. NB where the number of concurrent users is specifically not limited, set the number of concurrent users to zero
_07,
///Users
///Maximum number of licensed individual users, independent of concurrency of use
_15,
///Concurrent classes
///Maximum number of licensed concurrent classes of user. A ‘class’ is a group of learners attending a specific course or lesson and generally taught as a group
_19,
///Classes
///Maximum number of licensed classes of learners, independent of concurrency of use and the number of users per class
_20,
///Institutions
///Maximum number of licensed institutions, independent of concurrency of use and the number of classes or individuals per institution
_31,
///Percentage per time period
///Maximum percentage of total content which may be used in a specified usage per time period; the time period being specified as another EpubUsageLimit Quantity
_08,
///Days
///Maximum time period in days (beginning from product purchase or activation)
_09,
///Weeks
///Maximum time period in weeks
_13,
///Months
///Maximum time period in months
_14,
///Hours minutes and seconds
///Maximum amount of time in hours, minutes and seconds allowed in a permitted extract for a specified usage, in the format HHHMMSS (7 digits, with leading zeros if necessary)
_16,
///Days (fixed start)
///Maximum time period in days (beginning from the product publication date). In effect, this defines a fixed end date for the license independent of the purchase or activation date
_27,
///Weeks (fixed start)
///Maximum time period in weeks
_28,
///Months (fixed start)
///Maximum time period in months
_29,
///Times
///Maximum number of times a specified usage event may occur (in the lifetime of the product)
_10,
///Times per day
///Maximum frequency a specified usage event may occur (per day)
_22,
///Times per month
///Maximum frequency a specified usage event may occur (per month)
_23,
///Times per year
///Maximum frequency a specified usage event may occur (per year)
_24,
///Dots per inch
///Maximum resolution of printed or copy/pasted extracts
_21,
///Dots per cm
///Maximum resolution of printed or copy/pasted extracts
_26,
///Allowed usage start page
///Page number where allowed usage begins. Quantity should contain an absolute page number, counting the cover as page 1. (This type of page numbering should not be used where the e-publication has no fixed pagination). Use with (max number of) Pages, Percentage of content, or End page to specify pages allowed in Preview
_11,
///Allowed usage end page
///Page number at which allowed usage ends. Quantity should contain an absolute page number, counting the cover as page 1. (This type of page numbering should not be used where the e-publication has no fixed pagination). Use with Start page to specify pages allowed in a preview
_12,
///Allowed usage start time
///Time at which allowed usage begins. Quantity should contain an absolute time, counting from the beginning of an audio or video product, in the format HHHMMSS or HHHMMSScc. Use with Time, Percentage of content, or End time to specify time-based extract allowed in Preview
_17,
///Allowed usage end time
///Time at which allowed usage ends. Quantity should contain an absolute time, counting from the beginning of an audio or video product, in the format HHHMMSS or HHHMMSScc. Use with Start time to specify time-based extract allowed in Preview
_18,
///Valid from
///The date from which the usage constraint applies. Quantity is in the format YYYYMMDD
_98,
///Valid to
///The date until which the usage constraint applies. Quantity is in the format YYYYMMDD
_99,
}
#[derive(Debug)]
pub enum EpubUsageUnitRefname {
EpubUsageUnit,
}
#[derive(Debug)]
pub enum EpubUsageUnitShortname {
X321,
}
///License expression type
#[derive(Debug)]
pub enum List218 {
///Human readable
///Document (eg Word file, PDF or web page) intended for the lay reader
_01,
///Professional readable
///Document (eg Word file, PDF or web page) intended for the legal specialist reader
_02,
///Human readable additional license
///Document (eg Word file, PDF or web page) intended for the lay reader, expressing an additional license that may be separately obtained covering uses of the content that are not granted by the intrinsic product license (the license expressed by code 01)
_03,
///Professional readable additional license
///Document (eg Word file, PDF or web page) intended for the legal specialist reader, expressing an additional license that may be separately obtained covering uses of the content that are not granted by the intrinsic product license (the license expressed by code 02)
_04,
///ONIX-PL
_10,
///ODRL
///Open Digital Rights Language (ODRL) in JSON-LD format. Used for example to express TDM licenses using the W3C TDM Reservation Protocol
_20,
///ODRL additional license
///Open Digital Rights Language (ODRL) in JSON-LD format. Used for example to express additional TDM licenses that may be separately obtained covering uses of the content that are not granted by the intrinsic product license (the license expressed by code 20), using the W3C TDM Reservation Protocol
_21,
}
#[derive(Debug)]
pub enum EpubLicenseExpressionTypeRefname {
EpubLicenseExpressionType,
}
#[derive(Debug)]
pub enum EpubLicenseExpressionTypeShortname {
X508,
}
#[derive(Debug)]
pub enum EpubLicenseExpressionTypeNameRefname {
EpubLicenseExpressionTypeName,
}
#[derive(Debug)]
pub enum EpubLicenseExpressionTypeNameShortname {
X509,
}
#[derive(Debug)]
pub enum EpubLicenseExpressionLinkRefname {
EpubLicenseExpressionLink,
}
#[derive(Debug)]
pub enum EpubLicenseExpressionLinkShortname {
X510,
}
///Epublication license date role
#[derive(Debug)]
pub enum List260 {
///Valid from
///Date on which a license becomes effective
_14,
///Valid until
///Date on which a license ceases to be effective
_15,
///From… until date
///Combines From date and Until date to define a period (both dates are inclusive). Use for example with dateformat 06
_24,
}
#[derive(Debug)]
pub enum EpubLicenseDateRoleRefname {
EpubLicenseDateRole,
}
#[derive(Debug)]
pub enum EpubLicenseDateRoleShortname {
X585,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct NumberOfItemsOfThisFormElementType {
pub refname: Option<NumberOfItemsOfThisFormRefname>,
pub shortname: Option<NumberOfItemsOfThisFormShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
#[derive(Debug)]
pub enum NumberOfCopiesRefname {
NumberOfCopies,
}
#[derive(Debug)]
pub enum NumberOfCopiesShortname {
X323,
}
///Collection type
#[derive(Debug)]
pub enum List148 {
///Unspecified (default)
///Collection type is not determined
_00,
///Publisher collection
///The collection is a bibliographic collection (eg a series or set (Fr. série)) defined and identified by a publisher, either on the product itself or in product information supplied by the publisher. The books in the collection generally share a subject, narrative, design style or authorship. They may have a specific order, or the collection may be unordered
_10,
///Collection éditoriale
///The collection is a bibliographic collection defined and identified by a publisher, either on the product itself or in product information supplied by the publisher, where the books in the collection have no specific order (other than order of publication), shared subject, narrative, style or shared authorship, and are grouped by the publisher largely for marketing purposes. The collection has many of the characteristics of an imprint or marque. Used primarily in French book publishing, to distinguish between ‘série’ (using the normal code 10) and ‘collection’ (code 11), and where the collection éditoriale is not an imprint
_11,
///Ascribed collection
///The collection has been defined and identified by a party in the metadata supply chain other than the publisher, typically an aggregator
_20,
}
#[derive(Debug)]
pub enum CollectionTypeRefname {
CollectionType,
}
#[derive(Debug)]
pub enum CollectionTypeShortname {
X329,
}
///Collection frequency code
#[derive(Debug)]
pub enum List259 {
///Unknown
U,
///Irregular
///No fixed publication schedule
I,
///Regular
///New products in the collection are regularly scheduled, but less frequently than once every two years
R,
///Biennial
///Once every two years
E,
///Annual
///Yearly
A,
///Biannual
///Twice a year, or once per academic semester
B,
///Triannual
///Three times a year, or once per academic term
T,
///Quarterly
///Four times a year
Q,
///Bimonthly
///Six times per year
S,
///Monthly
///Once every month, or approximately twelve times per year
M,
///Fortnightly
///Once every two weeks, or approximately twenty five times per year
F,
///Weekly
///Or approximately fifty times per year
W,
///Daily, or more frequently than weekly
///At least twice a week
D,
///No future publications
///Positive indication that the product is the last to be published in the collection, or that no further publications are planned
X,
}
#[derive(Debug)]
pub enum CollectionFrequencyRefname {
CollectionFrequency,
}
#[derive(Debug)]
pub enum CollectionFrequencyShortname {
X582,
}
#[derive(Debug)]
pub enum SourceNameRefname {
SourceName,
}
#[derive(Debug)]
pub enum SourceNameShortname {
X330,
}
#[derive(Debug)]
pub enum CollectionIdentifierRefname {
CollectionIdentifier,
}
#[derive(Debug)]
pub enum CollectionIdentifierShortname {
Collectionidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CollectionElementLevelElementType {
pub refname: Option<CollectionElementLevelRefname>,
pub shortname: Option<CollectionElementLevelShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List149,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CollectionIdTypeElementType {
pub refname: Option<CollectionIdTypeRefname>,
pub shortname: Option<CollectionIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List13,
}
#[derive(Debug)]
pub enum CollectionSequenceRefname {
CollectionSequence,
}
#[derive(Debug)]
pub enum CollectionSequenceShortname {
Collectionsequence,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CollectionSequenceTypeElementType {
pub refname: Option<CollectionSequenceTypeRefname>,
pub shortname: Option<CollectionSequenceTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List197,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct CollectionSequenceTypeNameElementType {
pub refname: Option<CollectionSequenceTypeNameRefname>,
pub shortname: Option<CollectionSequenceTypeNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CollectionSequenceNumberElementType {
pub refname: Option<CollectionSequenceNumberRefname>,
pub shortname: Option<CollectionSequenceNumberShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Title element level
#[derive(Debug)]
pub enum List149 {
///Product
///The title element refers to an individual product
_01,
///Collection level
///The title element refers to the top level of a bibliographic collection
_02,
///Subcollection
///The title element refers to an intermediate level of a bibliographic collection that comprises two or more ‘sub-collections’
_03,
///Content item
///The title element refers to a content item within a product, eg a work included in a combined or ‘omnibus’ edition, or a chapter in a book. Generally used only for titles within ContentItem (Block 3)
_04,
///Master brand
///The title element names a multimedia franchise, licensed property or master brand where the use of the brand spans multiple collections and product forms, and possibly multiple imprints and publishers. It need not have a hierarchical relationship with title elements at other levels, or with other master brands. Used only for branded media properties carrying, for example, a children’s character brand or film franchise branding
_05,
///Sub-subcollection
///The title element refers to an intermediate level of a bibliographic collection that is a subdivision of a sub-collection (a third level of collective identity)
_06,
///Universe
///The title element names a ‘universe’, where parallel or intersecting narratives spanning multiple works and multiple characters occur in the same consistent fictional setting. It need not have a hierarchical relationship with title elements at other levels, in particular with master brands. Used primarily for comic books, but applicable to other fiction where appropriate
_07,
}
#[derive(Debug)]
pub enum TitleElementLevelRefname {
TitleElementLevel,
}
#[derive(Debug)]
pub enum TitleElementLevelShortname {
X409,
}
#[derive(Debug)]
pub struct TitleElementContent352 {
pub part_number: PartNumberElementType,
pub year_of_annual: Option<YearOfAnnualElementType>,
pub content_353: Option<TitleElementContent353>,
}
#[derive(Debug)]
pub struct TitleElementContent356 {
pub year_of_annual: YearOfAnnualElementType,
pub content_357: Option<TitleElementContent357>,
}
#[derive(Debug)]
pub struct TitleElementContent360 {
pub content_361: TitleElementContent355,
pub title_without_prefix: TitleWithoutPrefixElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Script of transliterated textual data element
///● Added at revision 3.0.1
///Case of textual data, eg ALL CAPS, Title Case, Sentence case
#[derive(Debug)]
pub struct TitleTextElementType {
pub refname: Option<TitleTextRefname>,
pub shortname: Option<TitleTextShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub language: Option<List74>,
pub textscript: Option<List121>,
pub textcase: Option<List14>,
pub content: String,
}
#[derive(Debug)]
pub enum SubtitleRefname {
Subtitle,
}
#[derive(Debug)]
pub enum SubtitleShortname {
B029,
}
///Text case flag
#[derive(Debug)]
pub enum List14 {
///Undefined
///Default
_00,
///Sentence case
///Initial capitals on first word and subsequently on proper names only, eg ‘The conquest of Mexico’
_01,
///Title case
///Initial capitals on first word and subsequently on all significant words (nouns, pronouns, adjectives, verbs, adverbs, subordinate conjunctions) thereafter. Unless they appear as the first word, articles, prepositions and coordinating conjunctions remain lower case, eg ‘The Conquest of Mexico’
_02,
///All capitals
///For example, ‘THE CONQUEST OF MEXICO’. Use only when Sentence or Title case are not possible (for example because of system limitations). Do NOT use simply because title is (correctly) in all caps (eg ‘BBQ USA’)
_03,
}
///Contributor role code
#[derive(Debug)]
pub enum List17 {
///By (author)
///Author of a textual work
A01,
///With
///With or as told to: ‘ghost’ or secondary author of a literary work (for clarity, should not be used for true ‘ghost’ authors who are not credited on the book and whose existence is secret)
A02,
///Screenplay by
///Writer of screenplay or script (film or video)
A03,
///Libretto by
///Writer of libretto (opera): see also A31
A04,
///Lyrics by
///Author of lyrics (song): see also A31
A05,
///By (composer)
///Composer of music
A06,
///By (artist)
///Visual artist when named as the primary creator of, eg, a book of reproductions of artworks
A07,
///By (photographer)
///Photographer when named as the primary creator of, eg, a book of photographs
A08,
///Created by
///For example of an editorial concept, of a board game, etc
A09,
///From an idea by
///For example of a plot idea. Implies a less direct association or active participation than ‘created by’
A10,
///Designed by
A11,
///Illustrated by
///Artist when named as the creator of artwork which illustrates a text, or the originator (sometimes ‘penciller’ for collaborative art) of the artwork of a graphic novel or comic book
A12,
///Photographs by
///Photographer when named as the creator of photographs which illustrate a text
A13,
///Text by
///Author of text which accompanies art reproductions or photographs, or which is part of a graphic novel or comic book
A14,
///Preface by
///Author of preface
A15,
///Prologue by
///Author of prologue
A16,
///Summary by
///Author of summary
A17,
///Supplement by
///Author of supplement
A18,
///Afterword by
///Author of afterword
A19,
///Notes by
///Author of notes or annotations: see also A29
A20,
///Commentaries by
///Author of commentaries on the main text
A21,
///Epilogue by
///Author of epilogue
A22,
///Foreword by
///Author of foreword
A23,
///Introduction by
///Author of introduction: see also A29
A24,
///Footnotes by
///Author/compiler of footnotes
A25,
///Memoir by
///Author of memoir accompanying main text
A26,
///Experiments by
///Person who carried out experiments reported in the text
A27,
///Interpreted through
///Use with narratives drawn from an oral tradition, where no ‘ownership’ of the narrative is claimed. See also B33. Only for use in ONIX 3.0 or later
A28,
///Introduction and notes by
///Author of introduction and notes: see also A20 and A24
A29,
///Software written by
///Writer of computer programs ancillary to the text
A30,
///Book and lyrics by
///Author of the textual content of a musical drama: see also A04 and A05
A31,
///Contributions by
///Author of additional contributions to the text
A32,
///Appendix by
///Author of appendix
A33,
///Index by
///Compiler of index
A34,
///Drawings by
A35,
///Cover design or artwork by
///Use also for the cover artist of a graphic novel or comic book if named separately
A36,
///Preliminary work by
///Responsible for preliminary work on which the work is based
A37,
///Original author
///Author of the first edition (usually of a standard work) who is not an author of the current edition
A38,
///Maps by
///Maps drawn or otherwise contributed by
A39,
///Inked or colored by
///Use for secondary creators when separate persons are named as having respectively drawn and inked/colored/finished artwork, eg for a graphic novel or comic book. Use with A12 for ‘drawn by’. Use A40 for ‘finished by’, but prefer more specific codes A46 to A48 instead of A40 unless the more specific secondary roles are inappropriate, unclear or unavailable
A40,
///Paper engineering by
///Designer or paper engineer of die-cuts, press-outs or of pop-ups in a pop-up book, who may be different from the illustrator
A41,
///Continued by
///Use where a standard work is being continued by somebody other than the original author
A42,
///Interviewer
A43,
///Interviewee
A44,
///Comic script by
///Writer of dialogue, captions in a comic book (following an outline by the primary writer)
A45,
///Inker
///Renders final comic book line art based on work of the illustrator or penciller (code A12). Preferred to code A40
A46,
///Colorist
///Provides comic book color art and effects. Preferred to code A40
A47,
///Letterer
///Creates comic book text balloons and other text elements (where this is a distinct role from script writer and/or illustrator), or creates calligraphy in non-comic products
A48,
///Cover inker
///Renders final comic book cover line art based on work of the cover designer (code A36), where different from the inker of the interior line art. Only for use in ONIX 3.0 or later
A49,
///Cover colorist
///Provides comic book cover color art and effects, where different from the colorist of the interior art and effects. Only for use in ONIX 3.0 or later
A50,
///Research by
///Person or organization responsible for performing research on which the work is based. Only for use in ONIX 3.0 or later
A51,
///Original character design
///(for comic books). Only for use in ONIX 3.0 or later
A52,
///Other primary creator
///Other type of primary creator not specified above
A99,
///Edited by
B01,
///Revised by
B02,
///Retold by
B03,
///Abridged by
B04,
///Adapted by
///See also B22 (Dramatized by)
B05,
///Translated by
B06,
///As told by
B07,
///Translated with commentary by
///This code applies where a translator has provided a commentary on issues relating to the translation. If the translator has also provided a commentary on the work itself, codes B06 and A21 should be used
B08,
///Series edited by
///Name of a series editor when the product belongs to a series
B09,
///Edited and translated by
B10,
///Editor-in-chief
B11,
///Guest editor
B12,
///Volume editor
B13,
///Editorial board member
B14,
///Editorial coordination by
B15,
///Managing editor
B16,
///Founded by
///Usually the founder editor of a serial publication (de: Begruendet von)
B17,
///Prepared for publication by
B18,
///Associate editor
B19,
///Consultant editor
///Use also for ‘advisory editor’, ‘series advisor’, ‘editorial consultant’ etc
B20,
///General editor
B21,
///Dramatized by
///See also B05 (Adapted by)
B22,
///General rapporteur
///In Europe, an expert editor who takes responsibility for the legal content of a collaborative law volume
B23,
///Literary editor
///Editor who is responsible for establishing the text used in an edition of a literary work, where this is recognized as a distinctive role (es: editor literario)
B24,
///Arranged by (music)
B25,
///Technical editor
///Responsible for the technical accuracy and language, may also be involved in coordinating and preparing technical material for publication
B26,
///Thesis advisor or supervisor
B27,
///Thesis examiner
B28,
///Scientific editor
///Responsible overall for the scientific content of the publication
B29,
///Historical advisor
///Only for use in ONIX 3.0 or later
B30,
///Original editor
///Editor of the first edition (usually of a standard work) who is not an editor of the current edition. Only for use in ONIX 3.0 or later
B31,
///Translation revised by
///Where possible, use with B06 for the original translator. Only for use in ONIX 3.0 or later
B32,
///Transcribed by
///As told to. Use with narratives drawn from an oral tradition, and with B03 (Retold by), B07 (As told by) or A28 (Interpreted through). Only for use in ONIX 3.0 or later
B33,
///Sensitivity reader / editor
///Reader or editor responsible for ensuring the text is free of offensive, potentially offensive or insensitive language, is inclusive and free from bias, and avoids stereotypical characterization. Only for use in ONIX 3.0 or later
B34,
///Image descriptions by
///Creator of alternative image descriptions for accessibility purposes. Only for use in ONIX 3.0 or later
B35,
///Other adaptation by
///Other type of adaptation or editing not specified above
B99,
///Compiled by
///For puzzles, directories, statistics, etc
C01,
///Selected by
///For textual material (eg for an anthology)
C02,
///Non-text material selected by
///Eg for a collection of photographs etc
C03,
///Curated by
///Eg for an exhibition
C04,
///Other compilation by
///Other type of compilation not specified above
C99,
///Producer
///Of a film, of a theatrical or multimedia production, of dramatized audio etc
D01,
///Director
///Of a film, of a theatrical or multimedia production, of dramatized audio etc
D02,
///Conductor
///Conductor of a musical performance
D03,
///Choreographer
///Of a dance performance. Only for use in ONIX 3.0 or later
D04,
///Other direction by
///Other type of direction not specified above
D99,
///Actor
///Performer in a dramatized production (including a voice actor in an audio production)
E01,
///Dancer
E02,
///Narrator
///Where the narrator is a character in a dramatized production (including a voice actor in an audio production). For the ‘narrator’ of a non-dramatized audiobook, use code E07
E03,
///Commentator
E04,
///Vocal soloist
///Singer etc
E05,
///Instrumental soloist
E06,
///Read by
///Reader of recorded text, as in an audiobook
E07,
///Performed by (orchestra, band, ensemble)
///Name of a musical group in a performing role
E08,
///Speaker
///Of a speech, lecture etc
E09,
///Presenter
///Introduces and links other contributors and material, eg within a documentary
E10,
///Introduction read by
///Reader of recorded introduction (or other ‘front matter’) in an audiobook. Only for use in ONIX 3.0 or later
E11,
///Performed by
///Other type of performer not specified above: use for a recorded performance which does not fit a category above, eg a performance by a stand-up comedian
E99,
///Filmed/photographed by
///Cinematographer, etc
F01,
///Editor (film or video)
F02,
///Other recording by
///Other type of recording not specified above
F99,
///Assisted by
///Contributor must follow another contributor with any contributor role, and placement should therefore be controlled by contributor sequence numbering to ensure the correct association
Z01,
///Honored/dedicated to
Z02,
///Enacting jurisdiction
///For publication of laws, regulations, rulings etc. Only for use in ONIX 3.0 or later
Z03,
///Peer reviewed
///Use with UnnamedPersons code 02 as a ‘flag’ to indicate the publication is anonymously peer-reviewed. Only for use in ONIX 3.0 or later
Z04,
///Posthumously completed by
///Contributor must follow another (posthumous) contributor with any contributor role, and placement should therefore be controlled by contributor sequence numbering to ensure the correct association. Only for use in ONIX 3.0 or later
Z05,
///In association with
///Contributor must follow another contributor with any contributor role, and placement should therefore be controlled by contributor sequence numbering to ensure the correct association. See also ‘published in association with’ in List 45. Only for use in ONIX 3.0 or later
Z06,
///(Various roles)
///For use ONLY with ‘et al’ or ‘Various’ within UnnamedPersons, where the roles of the multiple contributors vary
Z98,
///Other
///Other creative responsibility not falling within A to F above
Z99,
}
#[derive(Debug)]
pub enum ContributorRoleRefname {
ContributorRole,
}
#[derive(Debug)]
pub enum ContributorRoleShortname {
B035,
}
#[derive(Debug)]
pub enum FromLanguageRefname {
FromLanguage,
}
#[derive(Debug)]
pub enum FromLanguageShortname {
X412,
}
#[derive(Debug)]
pub enum ToLanguageRefname {
ToLanguage,
}
#[derive(Debug)]
pub enum ToLanguageShortname {
X413,
}
#[derive(Debug)]
pub struct ContributorContent126 {
pub name_identifier: Vec<NameIdentifierElementType>,
pub content_127: Option<ContributorContent127>,
}
#[derive(Debug)]
pub struct ContributorContent128 {
pub gp_unstructured_name: ContributorGpUnstructuredName,
pub gp_structured_name: Option<AlternativeNameGpStructuredName>,
}
#[derive(Debug)]
pub enum ContributorGpCorporateName {
Content131(AlternativeNameContent82),
CorporateNameInverted(Vec<CorporateNameInvertedElementType>),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct UnnamedPersonsElementType {
pub refname: Option<UnnamedPersonsRefname>,
pub shortname: Option<UnnamedPersonsShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List19,
}
#[derive(Debug)]
pub enum ContributorDateRefname {
ContributorDate,
}
#[derive(Debug)]
pub enum ContributorDateShortname {
Contributordate,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ContributorDateRoleElementType {
pub refname: Option<ContributorDateRoleRefname>,
pub shortname: Option<ContributorDateRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List177,
}
#[derive(Debug)]
pub enum BiographicalNoteRefname {
BiographicalNote,
}
#[derive(Debug)]
pub enum BiographicalNoteShortname {
B044,
}
#[derive(Debug)]
pub enum ContributorDescriptionRefname {
ContributorDescription,
}
#[derive(Debug)]
pub enum ContributorDescriptionShortname {
B048,
}
#[derive(Debug)]
pub enum ContributorPlaceRefname {
ContributorPlace,
}
#[derive(Debug)]
pub enum ContributorPlaceShortname {
Contributorplace,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ContributorPlaceRelatorElementType {
pub refname: Option<ContributorPlaceRelatorRefname>,
pub shortname: Option<ContributorPlaceRelatorShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List151,
}
#[derive(Debug)]
pub enum ContributorPlaceContent136 {
Content137(ContributorPlaceContent137),
RegionCode(RegionCodeElementType),
}
///Edition type
#[derive(Debug)]
pub enum List21 {
///Abridged edition
///Content has been shortened: use for abridged, shortened, concise, condensed
Abr,
///Acting edition
///Version of a play or script intended for use of those directly involved in a production, usually including full stage directions in addition to the text of the script
Act,
///Adapted edition
///Content has been adapted to serve a different purpose or audience, or from one medium to another: use for dramatization, novelization etc. Use EditionStatement to describe the exact nature of the adaptation
Adp,
///Alternate
///Do not use. Deprecated, but retained in the list for reasons of backwards compatibility. Not for use in ONIX 3.0 or later
Alt,
///Annotated edition
///Content is augmented by the addition of notes
Ann,
///Bilingual edition
///Both languages should be specified in the Language group. Use MLL for an edition in more than two languages
Bll,
///Bilingual ‘facing page’ edition
///Use only where the two languages are presented in parallel on facing pages, or in parallel columns of text on a single page (otherwise use BLL). Both languages should be specified in the Language group
Blp,
///Braille edition
///Braille edition
Brl,
///Budget edition
///Product sold at lower price than other editions, usually with lower quality paper or binding to reduce production costs. Only for use in ONIX 3.0 or later
Bud,
///Combined volume
///An edition in which two or more works also published separately are combined in a single volume; AKA ‘omnibus edition’, or in comic books a ‘trade paperback’ (fr: ‘intégrale’)
Cmb,
///Critical edition
///Content includes critical commentary on the text
Cri,
///Coursepack
///Content was compiled for a specified educational course
Csp,
///Digital original
///A digital product that, at the time of publication, has or had no physical counterpart and that is or was not expected to have a physical counterpart for a reasonable time (recommended at least 30 days following publication)
Dgo,
///Enhanced edition
///Use for e-publications that have been enhanced with additional text, speech, other audio, video, interactive or other content
Enh,
///Enlarged edition
///Content has been enlarged or expanded from that of a previous edition, with significant additions to the original content
Enl,
///Easy-to-read edition
///Book which uses highly simplified wording, clear page layout and typography to ensure the content can be understood by those with intellectual disabilities. See https://www.inclusion-europe.eu/easy-to-read for guidelines. See also SMP for editions with simplified language. Only for use in ONIX 3.0 or later
Etr,
///Expurgated edition
///‘Offensive’ content has been removed
Exp,
///Facsimile edition
///Exact reproduction of the content and format of a previous edition
Fac,
///Festschrift
///A collection of writings published in honor of a person, an institution or a society
Fst,
///High readability edition
///Edition optimized for high readability, typically featuring colored or tinted page backgrounds to reduce contrast, extra letter, word and line spacing to reduce crowding and isolate individual words, simplified page layouts and an open, sans serif font (or occasionally, an unusual font design) intended to aid readability. Sometimes labelled ‘dyslexia-friendly’. See also code SMP if the text itself is simplified, and codes LTE or ULP if the type size is significantly larger than normal. Only for use in ONIX 3.0 or later
Hre,
///Illustrated edition
///Content includes extensive illustrations which are not part of other editions
Ill,
///International edition
///A product aimed specifically at markets other than the country of original publication, usually titled as an ‘International edition’ and with specification and/or content changes
Int,
///Large type / large print edition
///Large print edition, print sizes 14 to 19pt – see also ULP
Lte,
///Microprint edition
///A printed edition in a type size too small to be read without a magnifying glass
Mcp,
///Media tie-in
///An edition published to coincide with the release of a film, TV program, or electronic game based on the same work. Use EditionStatement to describe the exact nature of the tie-in
Mdt,
///Multilingual edition
///All languages should be specified in the ‘Language’ group. Use BLL for a bilingual edition
Mll,
///New edition
///Where no other information is given, or no other coded type or edition numbering is applicable
Ned,
///Edition with numbered copies
///A limited or collectors’ edition in which each copy is individually numbered, and the actual number of copies is strictly limited. Note that the supplier may limit the number of orders fulfilled per retail outlet. Use EditionStatement to give details of the number of copies printed
Num,
///Paperback original
///A product published in any form of soft cover, that at the time of publication, has or had no counterpart in any other format, and that is or was not expected to have such a counterpart for a reasonable time (recommended at least 30 days following publication). Only for use in ONIX 3.0 or later
Pbo,
///Prebound edition
///Book that was previously bound, normally as a paperback, and has been rebound with, for example, a library-quality hardcover binding, or a lay-flat binding, by a supplier other than the original publisher. See also the Publisher and RelatedProduct composites for other aspects of the treatment of prebound editions in ONIX
Prb,
///Revised edition
///Content has been revised from that of a previous edition (often used when there has been no corresponding increment in the edition number, or no edition numbering is available)
Rev,
///School edition
///An edition intended specifically for use in schools
Sch,
///Signed edition
///Individually autographed by the author(s)
Sig,
///Simplified language edition
///An edition that uses simplified language, usually for second or additional language learners. See ETR for highly simplified editions for readers with intellectual disabilities
Smp,
///Special edition
///Use for anniversary, collectors’, de luxe, gift, limited (but prefer codes NUM or UNN as appropriate), autographed (but prefer code SIG as appropriate) edition. Use EditionStatement to describe the exact nature of the special edition
Spe,
///Student edition
///Where a text is available in both student and teacher’s editions
Stu,
///Teacher’s edition
///Where a text is available in both student and teacher’s editions; use also for instructor’s or leader’s editions, and for editions intended exclusively for educators where no specific student edition is available
Tch,
///Unabridged edition
///Where a title has also been published in an abridged edition; also for audiobooks, regardless of whether an abridged audio version also exists
Ubr,
///Ultra large print edition
///For print sizes 20pt and above, and with typefaces designed for the visually impaired – see also LTE
Ulp,
///Edition with unnumbered copies
///A limited or collectors’ edition in which each copy is not individually numbered – but where the actual number of copies is strictly limited. Note that the supplier may limit the number of orders fulfilled per retail outlet. Use EditionStatement to give details of the number of copies printed
Unn,
///Unexpurgated edition
///Content previously considered ‘offensive’ has been restored
Uxp,
///Variorum edition
///Content includes notes by various commentators, and/or includes and compares several variant texts of the same work
Var,
///Vorlesebücher
///Readaloud edition – specifically intended and designed for reading aloud (to children). Only for use in ONIX 3.0 or later
Vor,
}
#[derive(Debug)]
pub enum EditionTypeRefname {
EditionType,
}
#[derive(Debug)]
pub enum EditionTypeShortname {
X419,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EditionNumberElementType {
pub refname: Option<EditionNumberRefname>,
pub shortname: Option<EditionNumberShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EditionVersionNumberElementType {
pub refname: Option<EditionVersionNumberRefname>,
pub shortname: Option<EditionVersionNumberShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub enum EditionStatementRefname {
EditionStatement,
}
#[derive(Debug)]
pub enum EditionStatementShortname {
B058,
}
///Bible contents
#[derive(Debug)]
pub enum List82 {
///Apocrypha (Catholic canon)
///The seven portions of the Apocrypha added to the Catholic canon at the Council of Trent in 1546: Tobit; Judith; Wisdom of Solomon; Sirach (Ecclesiasticus); Baruch, including the Letter of Jeremiah; I and II Maccabees; Extra portions of Esther and Daniel (Additions to Esther; the Prayer of Azariah; Song of the Three Jews; Susannah; Bel and the Dragon). These are not generally included in the Protestant canon
Ap,
///Apocrypha (canon unspecified)
///A collection of Apocryphal texts, canon not specified
Aq,
///Additional Apocryphal texts: Greek Orthodox canon
///I Esdras; Prayer of Manasseh; Psalm 151; III Maccabees
Ax,
///Additional Apocryphal texts: Slavonic Orthodox canon
///I and II Esdras; Prayer of Manasseh; Psalm 151; III and IV Maccabees
Ay,
///Additional Apocryphal texts
///Additional Apocryphal texts included in some Bible versions: I and II Esdras; Prayer of Manasseh
Az,
///General canon with Apocrypha (Catholic canon)
///The 66 books included in the Protestant, Catholic and Orthodox canons, together with the seven portions of the Apocrypha included in the Catholic canon. (Equivalent to OT plus NT plus AP)
Ga,
///General canon with Apocryphal texts (canon unspecified)
///The 66 books included in the Protestant, Catholic and Orthodox canons, together with Apocryphal texts, canon not specified. (Equivalent to OT plus NT plus AQ)
Gc,
///General canon
///The 66 books included in the Protestant, Catholic and Orthodox canons, 39 from the Old Testament and 27 from the New Testament. The sequence of books may differ in different canons. (Equivalent to OT plus NT)
Ge,
///Gospels
///The books of Matthew, Mark, Luke and John
Gs,
///Old Testament
///Those 39 books which were included in the Jewish canon by the rabbinical academy established at Jamma in 90 CE. Also known as the Jewish or Hebrew scriptures
Ot,
///New Testament
///The 27 books included in the Christian canon through the Easter Letter of Athanasius, Bishop of Alexandria and also by a general council of the Christian church held near the end of the 4th century CE
Nt,
///New Testament with Psalms and Proverbs
///Includes the 27 books of the New Testament plus Psalms and Proverbs from the Old Testament. Equivalent to NT plus PP)
Np,
///Paul’s Epistles
///The books containing the letters of Paul to the various early Christian churches
Pe,
///Psalms and Proverbs
///The book of Psalms and the book of Proverbs combined
Pp,
///Psalms
///The book of Psalms
Ps,
///Pentateuch
///The first five books of the Bible: Genesis, Exodus, Numbers, Leviticus, Deuteronomy. Also applied to the Torah
Pt,
///Other portions
///Selected books of either the OT or NT not otherwise noted
Zz,
}
#[derive(Debug)]
pub enum BibleContentsRefname {
BibleContents,
}
#[derive(Debug)]
pub enum BibleContentsShortname {
B352,
}
///Bible version
#[derive(Debug)]
pub enum List83 {
///Alberto Vaccari
///Alberto Vaccari – Pontificio Istituto Biblico
Alv,
///Amplified
///A translation based on the American Standard Version and showing multiple options for the translation of ancient text. Published in full in 1965. Sponsored by the Lockman Foundation
Amp,
///Antonio Martini
///Most popular Catholic Bible translation in Italian prior to the CEI translation in 1971
Anm,
///American Standard
///A 1901 translation using verbal equivalence techniques with the purpose of Americanizing the REV
Asv,
///Biblia de las Americas
///(LBLA) Spanish translation by the Lockman Foundation, first published in 1986 and updated in 1995, 1997. Only for use in ONIX 3.0 or later
Bla,
///Nueva Biblia de las Americas
///(NBLA) Updated Spanish translation by the Lockman Foundation, first published in 2005. Also known as Nueva Biblia Latinoamericana de Hoy (NBLH), Nueva Biblia de los Hispanos (NBH), and Nueva Biblia Latinoamericana (NBL). Only for use in ONIX 3.0 or later
Blb,
///Common English Bible
///2011 contemporary English translation of the Bible sponsored by the US-based Christian Resources Development Corporation. The translation includes Old Testament, Apocrypha and New Testament, and is aimed to be accessible to most English readers (minimum 7th grade reading age)
Ceb,
///Conferenza Episcopale Italiana
///Italian Episcopal Conference 1971 translation suitable for Italian Catholic liturgy. (Includes minor 1974 revision)
Cei,
///Conferenza Episcopale Italiana 2008
///New translation of the C.E.I. first published in 2008 – the version most widely used by the Italian Catholic Church
Cen,
///Contemporary English
///A translation completed in 1995 and sponsored by the American Bible Society under the leadership of Barclay Newman
Cev,
///Concordata
///1968 Interfaith version promoted by the Italian Bible Society. Has a Catholic ‘imprimateur’, but its ecumenical approach has Jewish, Protestant and Christian Orthodox approval
Cnc,
///Diodati
///Version based on original documents, edited by Giovanni Diodati in 1607, revised by Diodati in 1641 and again in 1894. It is the reference version for many Italian Protestants
Ddi,
///Nuova Diodati
///Revision of the Diodati Bible dating to the 1990s, aiming at highest fidelity to original ancient Greek (New Testament) and Hebrew (Old Testament) texts
Ddn,
///Douay-Rheims
///An early (1580-1609) English translation from the Latin Vulgate designed for Catholics and performed by George Martin
Dou,
///Einheitsübersetzung
///A German translation of the Bible for use in Roman Catholic churches
Ein,
///English Standard
///An update of the Revised Standard Version that makes ‘modest’ use of gender-free terminology
Esv,
///Biblia (1776)
///Finnish Bible translation
Fbb,
///Raamattu (1933/1938)
///Finnish Bible translation
Fra,
///Raamattu kansalle
///Finnish Bible translation
Frk,
///Raamattu (1992)
///Finnish Bible translation
Frm,
///God’s Word
///A 1995 translation by the World Bible Publishing Company using the English language in a manner to communicate to the late 20th century American
Gdw,
///Geneva
///An early (1560) English version of the Bible translated by William Whittingham with strong Protestant leanings
Gen,
///Good News
///A translation sponsored by the American Bible Society. The New Testament was first published (as ‘Today’s English Version’ TEV) in 1966. The Old Testament was completed in 1976, and the whole was published as the ‘Good News Bible’
Gnb,
///Galbiati, Penna, Rossano – UTET
///Version edited by E. Galbiati, A. Penna and P. Rossano, and published by UTET. This version, based on original texts, is rich in notes and has been used as the basis for CEI translation
Gpr,
///Original Greek
///New Testament text in an original Greek version
Grk,
///Garofano, Rinaldi – Marietti
///Richly annotated 1963 Version edited by S. Garofano and S. Rinaldi, and published by Marietti
Grm,
///Original Hebrew
///Old Testament text in an original Hebrew version
Hbr,
///Holman Christian Standard
///Published by Broadman and Holman this translation rejects all forms of gender-neutral wording and is written with strong influences from the Southern Baptist perspective of biblical scholarship
Hcs,
///International Children’s
///A translation completed in 1986 targeting readability at the US third grade level
Icb,
///Traduzione Interconfessionale in Lingua Corrente
///Interconfessional translation resulting from 1985 effort by Catholic and Protestant scholars, aimed at delivering an easy-to-understand message
Ilc,
///Jerusalem
///A translation designed for English speaking Catholics based on the original languages. It is based on French as well as ancient texts and was first published in 1966
Jer,
///King James
///A translation commissioned by King James I of England and first published in 1611
Kjv,
///21st Century King James
///A verbal translation led by William Prindele. Published in 1994, it was designed to modernize the language of the King James Version based on Webster’s New International Dictionary, 2nd edition, unabridged
Kjt,
///Living Bible
///A paraphrase translation led by Kenneth N Taylor and first published in 1972
Lvb,
///Luzzi
///1924 translation by Giovanni Luzzi, Professor at the Waldensian Faculty of Theology in Rome, who revised the 17th Century Diodati version
Lzz,
///Message Bible
///A paraphrase translation of the New Testament by Eugene Peterson first published in 1993
Msg,
///New American
///A translation aimed at Catholic readers first published in its entirety in 1970. A revised New Testament was issued in 1986 as the 2nd Edition. The 3rd Edtion was published in 1991 with a revision to Psalms. The 4th Edition (also known as the New American Bible Revised Edition) was published in 2011, incorporating revisions to the Old Testament
Nab,
///New American Standard
///A translation commissioned by the Lockman Foundation. The New Testament was published in 1960 followed by the entire Bible in 1971
Nas,
///New American Standard, Updated
///A 1995 translation using more modern language than the NASB
Nau,
///Bibelen 1895
///Norwegian Bible translation
Nba,
///Bibelen 1930
///Norwegian Bible translation
Nbb,
///Bibelen 1938
///Norwegian Bible translation
Nbc,
///Bibelen 1978-85
///Norwegian Bible translation
Nbd,
///Bibelen 1978
///Norwegian Bible translation
Nbe,
///Bibelen 1985
///Norwegian Bible translation
Nbf,
///Norsk Bibel 88
///Norwegian Bible translation
Nbg,
///Bibelen 1978-85/rev. 2005
///Norwegian Bible translation
Nbh,
///Bibelen 2011
///Norwegian Bible translation
Nbi,
///Norsk Bibel 88/rev. 2007
///Norwegian Bible translation. Only for use in ONIX 3.0 or later
Nbj,
///Fauskanger 2015
///Norwegian Bible translation with commentary. Only for use in ONIX 3.0 or later
Nbk,
///Bibelen 2011/rev. 2024
///Norwegian Bible translation, 2024 update of Bibelen 2011. Only for use in ONIX 3.0 or later
Nbl,
///Pollestad 2023
///Norwegian Bible translation. Only for use in ONIX 3.0 or later
Nbp,
///New Century
///A translation inspired by the International Children’s version. First published by World Publishing in 1991
Ncv,
///New English
///A translation first issued in 1961 (New Testament) and 1970 (complete Bible) as a result of a proposal at the 1946 General Assembly of the Church of Scotland
Neb,
///Bibelen Guds ord
///Norwegian Bible translation
Ngo,
///New International
///A translation underwritten by Biblica (formerly the International Bible Society, and previously the New York Bible Society). The New Testament was published in 1973 followed by the entire Bible in 1978. The NIV text was revised in 1984 and again in 2011
Niv,
///New International Reader’s
///A 1996 translation designed for people with limited literacy in English and based on the NIV
Nir,
///New Jerusalem
///A revision of the Jerusalem Bible. First published in 1986
Njb,
///New King James
///A version issued by Thomas Nelson Publishers in 1982-83 designed to update the language of the King James Version while maintaining the phrasing and rhythm and using the same sources as its predecessor
Nkj,
///Bibelen, nynorsk
///Norwegian ‘nynorsk’ Bible translation
Nnk,
///New Living
///A translation sponsored by Tyndale House and first released in 1996. It is considered a revision and updating of the Living Bible
Nlv,
///New Revised Standard
///A revision of the Revised Standard based on ancient texts but updating language to American usage of the 1980s
Nrs,
///Nueva Traducción Viviente
///A Spanish translation from the original Greek and Hebrew, sponsored by Tyndale House
Ntv,
///Novissima Versione della Bibbia
///Nuovissima version – a Catholic-oriented translation in modern Italian, edited by a group including Carlo Martini, Gianfranco Ravasi and Ugo Vanni and first published (in 48 volumes, 1967-1980) by Edizioni San Paolo
Nvb,
///Nueva Biblia al Dia
///A Spanish translation from the original Greek and Hebrew, sponsored by the International Bible Society/Sociedad Bíblica Internacional
Nvd,
///Nueva Version Internacional
///A Spanish translation underwritten by the International Bible Society
Nvi,
///New Testament in Modern English (Phillips)
///An idiomatic translation by J B Phillips, first completed in 1966
Php,
///Revised English
///A 1989 revision of the NEB. A significant effort was made to reduce the British flavor present in the NEB
Reb,
///Revised Version
///The first major revision of the King James Version, the Revised Version incorporates insights from early manuscripts discovered between 1611 and 1870, and corrects readings in the KJV which nineteenth-century scholarship deemed mistaken. The New Testament was published in 1881, the Old Testament in 1885, and the Apocrypha in 1895
Rev,
///Revised Standard
///A translation authorized by the National Council of Churches of Christ in the USA. The New Testament was published in 1946 followed by a complete Protestant canon in 1951
Rsv,
///Reina Valera
///A Spanish translation based on the original texts
Rvl,
///Bibel 2000
///Swedish Bible translation
Sbb,
///Bibelen, samisk
///Norwegian ‘samisk’ Bible translation
Smk,
///Today’s English
///A translation of the New Testament sponsored by the American Bible Society and first published in 1966. It was incorporated into the ‘Good News Bible’ (GNB) in 1976
Tev,
///Today’s New International
///An updating of the New International Version. The New Testament was published in 2002, and the entire Bible in 2005. Superseded by the 2011 NIV update
Tni,
///Other
///Other translations not otherwise noted
Zzz,
}
#[derive(Debug)]
pub enum BibleVersionRefname {
BibleVersion,
}
#[derive(Debug)]
pub enum BibleVersionShortname {
B353,
}
///Study Bible type
#[derive(Debug)]
pub enum List84 {
///Cambridge Annotated
///Contains the work of Howard Clark Kee including a summary of the development of the canon, introductions to the books, notes and cross references. Originally published in 1993, NRSV
Cam,
///Life Application
///A project of Tyndale House Publishers and Zondervan intended to help readers apply the Bible to daily living. Living Bible, King James, New International, NASB
Lif,
///Macarthur
///A King James version study Bible with notes by James Macarthur first published in 1997
Mac,
///Oxford Annotated
///A study Bible originally published in the 1960s and based on the RSV / NRSV
Oxf,
///Studiebibel, Det Nye testamentet
///Norwegian study Bible, New Testament
Nnt,
///New Oxford Annotated
///Published in 1991 and based on the New Revised Standard version
Nox,
///Norsk studiebibel
///Norwegian study Bible
Nsb,
///Ryrie
///Based on the work of Charles C. Ryrie. King James, NI, NASB
Ryr,
///Scofield
///A study Bible based on the early 20th century work of C.I. Scofield. Based on the King James version
Sco,
///Spirit Filled
///A transdenominational study Bible for persons from the Pentecostal/Charismatic traditions
Spr,
}
#[derive(Debug)]
pub enum StudyBibleTypeRefname {
StudyBibleType,
}
#[derive(Debug)]
pub enum StudyBibleTypeShortname {
B389,
}
///Bible purpose
#[derive(Debug)]
pub enum List85 {
///Award
///A Bible (or selected Biblical text) designed for presentation from a religious organization
Aw,
///Baby
///A Bible (or selected Biblical text) designed to be a gift to commemorate a child’s birth
Bb,
///Bride
///A special gift Bible (or selected Biblical text) designed for the bride on her wedding day. Usually white
Br,
///Confirmation
///A Bible (or selected Biblical text) designed to be used in the confirmation reading or as a gift to a confirmand
Cf,
///Children’s
///A text Bible (or selected Biblical text) designed in presentation and readability for a child
Ch,
///Compact
///A small Bible (or selected Biblical text) with a trim height of five inches or less
Cm,
///Cross-reference
///A Bible (or selected Biblical text) which includes text conveying cross-references to related scripture passages
Cr,
///Daily readings
///A Bible (or selected Biblical text) laid out to provide readings for each day of the year
Dr,
///Devotional
///A Bible (or selected Biblical text) containing devotional content together with the scripture
Dv,
///Family
///A Bible (or selected Biblical text) containing family record pages and/or additional study material for family devotion
Fm,
///General/Text
///A standard Bible (or selected Biblical text) of any version with no distinguishing characteristics beyond the canonical text
Gt,
///Gift
///A Bible (or selected Biblical text) designed for gift or presentation, often including a presentation page
Gf,
///Lectern/Pulpit
///A large Bible (or selected Biblical text) with large print designed for use in reading scriptures in public worship from either the pulpit or lectern
Lp,
///Men’s
///A Bible (or selected Biblical text) especially designed with helps and study guides oriented to the adult male
Mn,
///Primary school
///A Bible (or selected Biblical text) designed for use in primary school
Ps,
///Pew
///Usually inexpensive but sturdy, a Bible (or selected Biblical text) designed for use in church pews
Pw,
///Scholarly
///A Bible (or selected Biblical text) including texts in Greek and/or Hebrew and designed for scholarly study
Sc,
///Slimline
Sl,
///Student
///A Bible (or selected Biblical text) with study articles and helps especially for use in the classroom
St,
///Study
///A Bible (or selected Biblical text) with many extra features, e.g. book introductions, dictionary, concordance, references, maps, etc., to help readers better understand the scripture
Su,
///Wedding gift
///A special gift Bible (or selected Biblical text) designed as a gift to the couple on their wedding day
Wg,
///Women’s
///A devotional or study Bible (or selected Biblical text) with helps targeted at the adult woman
Wm,
///Youth
///A Bible (or selected Biblical text) containing special study and devotional helps designed specifically for the needs of teenagers
Yt,
}
#[derive(Debug)]
pub enum BiblePurposeRefname {
BiblePurpose,
}
#[derive(Debug)]
pub enum BiblePurposeShortname {
B354,
}
///Bible text organization
#[derive(Debug)]
pub enum List86 {
///Chronological
///A Bible with the text organized in the order in which events are believed to have happened
Chr,
///Chain reference
///A Bible which explores keywords or themes by referring text to preceding or following text
Cha,
///Interlinear
///A Bible or other text in which different versions are printed one line above the other, so that the variations can easily be detected
Int,
///Parallel
///A Bible with two or more versions printed side by side
Par,
///Standard
///A Bible in which the text is presented in the traditional order
Stn,
}
#[derive(Debug)]
pub enum BibleTextOrganizationRefname {
BibleTextOrganization,
}
#[derive(Debug)]
pub enum BibleTextOrganizationShortname {
B355,
}
///Bible reference location
#[derive(Debug)]
pub enum List87 {
///Center column
///References are printed in a narrow column in the center of the page between two columns of text
Ccl,
///Page end
///References are printed at the foot of the page
Pge,
///Side column
///References are printed in a column to the side of the scripture
Sid,
///Verse end
///References are printed at the end of the applicable verse
Ver,
///Unknown
///The person creating the ONIX record does not know where the references are located
Unk,
///Other
///Other locations not otherwise identified
Zzz,
}
#[derive(Debug)]
pub enum BibleReferenceLocationRefname {
BibleReferenceLocation,
}
#[derive(Debug)]
pub enum BibleReferenceLocationShortname {
B356,
}
///Bible text feature
#[derive(Debug)]
pub enum List97 {
///Red letter
///Words spoken by Christ are printed in red
Rl,
}
#[derive(Debug)]
pub enum BibleTextFeatureRefname {
BibleTextFeature,
}
#[derive(Debug)]
pub enum BibleTextFeatureShortname {
B357,
}
#[derive(Debug)]
pub enum ReligiousTextIdentifierRefname {
ReligiousTextIdentifier,
}
#[derive(Debug)]
pub enum ReligiousTextIdentifierShortname {
B376,
}
#[derive(Debug)]
pub enum ReligiousTextFeatureRefname {
ReligiousTextFeature,
}
#[derive(Debug)]
pub enum ReligiousTextFeatureShortname {
Religioustextfeature,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ReligiousTextFeatureTypeElementType {
pub refname: Option<ReligiousTextFeatureTypeRefname>,
pub shortname: Option<ReligiousTextFeatureTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List89,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ReligiousTextFeatureCodeElementType {
pub refname: Option<ReligiousTextFeatureCodeRefname>,
pub shortname: Option<ReligiousTextFeatureCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List90,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub struct ReligiousTextFeatureDescriptionElementType {
pub refname: Option<ReligiousTextFeatureDescriptionRefname>,
pub shortname: Option<ReligiousTextFeatureDescriptionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textformat: Option<List34>,
pub content: Vec<ReligiousTextFeatureDescriptionElementTypeContent>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Markup of textual data element (eg No markup [either Ascii, or 'according to the encoding'], HTML or XHTML)
#[derive(Debug)]
pub enum ReligiousTextFeatureDescriptionElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ExtentValueElementType {
pub refname: Option<ExtentValueRefname>,
pub shortname: Option<ExtentValueShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: f64,
}
#[derive(Debug)]
pub enum ExtentValueRomanRefname {
ExtentValueRoman,
}
#[derive(Debug)]
pub enum ExtentValueRomanShortname {
X421,
}
#[derive(Debug)]
pub enum Dir {
Ltr,
Rtl,
}
#[derive(Debug)]
pub enum Type {
_1,
A,
ALowerCase,
I,
ILowerCase,
}
#[derive(Debug)]
pub enum PhraseElement {
Em(Box<AbbrElementType>),
Strong(Box<AbbrElementType>),
Dfn(Box<AbbrElementType>),
Code(Box<AbbrElementType>),
Samp(Box<AbbrElementType>),
Kbd(Box<AbbrElementType>),
Var(Box<AbbrElementType>),
Cite(Box<AbbrElementType>),
Abbr(Box<AbbrElementType>),
Acronym(Box<AbbrElementType>),
Q(Box<QElementType>),
Sub(Box<AbbrElementType>),
Sup(Box<AbbrElementType>),
}
#[derive(Debug)]
pub enum TFrame {
Void,
Above,
Below,
Hsides,
Lhs,
Rhs,
Vsides,
Box,
Border,
}
#[derive(Debug)]
pub enum TRules {
None,
Groups,
Rows,
Cols,
All,
}
#[derive(Debug)]
pub enum TableContent48 {
Col(Vec<ColElementType>),
Colgroup(Vec<ColgroupElementType>),
}
#[derive(Debug)]
pub struct TbodyElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub align: Option<Align>,
pub char: Option<String>,
pub charoff: Option<String>,
pub valign: Option<Valign>,
pub tr: Vec<TrElementType>,
}
#[derive(Debug)]
pub enum TableContent49 {
Tbody(Vec<TbodyElementType>),
Tr(Vec<TrElementType>),
}
#[derive(Debug)]
pub enum Ismap {
Ismap,
}
#[derive(Debug)]
pub struct AreaElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub shape: Shape,
pub coords: Option<String>,
pub href: Option<String>,
pub nohref: Option<Nohref>,
pub alt: String,
}
#[derive(Debug)]
pub enum Shape {
Rect,
Circle,
Poly,
Default,
}
#[derive(Debug)]
pub enum SpecialElement {
Span(Box<AbbrElementType>),
Bdo(Box<BdoElementType>),
Br(BrElementType),
Img(ImgElementType),
Map(Box<MapElementType>),
}
#[derive(Debug)]
pub struct RubyContent59 {
pub rb: RbElementType,
pub content_60: RubyContent60,
}
#[derive(Debug)]
pub struct RubyContent62 {
pub rbc: RbcElementType,
pub rtc: Option<RtcElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SubjectCodeElementType {
pub refname: Option<SubjectCodeRefname>,
pub shortname: Option<SubjectCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub enum SubjectHeadingTextRefname {
SubjectHeadingText,
}
#[derive(Debug)]
pub enum SubjectHeadingTextShortname {
B070,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct NameIdentifierElementType {
pub refname: Option<NameIdentifierRefname>,
pub shortname: Option<NameIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub name_id_type: NameIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
#[derive(Debug)]
pub enum NameAsSubjectContent207 {
Content208(NameAsSubjectContent208),
GpStructuredName(AlternativeNameGpStructuredName),
GpCorporateName(NameAsSubjectGpCorporateName),
}
#[derive(Debug)]
pub struct NameAsSubjectGpUnstructuredName {
pub content_209: NameAsSubjectContent209,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Script of transliterated textual data element
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct TitlesBeforeNamesElementType {
pub refname: Option<TitlesBeforeNamesRefname>,
pub shortname: Option<TitlesBeforeNamesShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub textscript: Option<List121>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Script of transliterated textual data element
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct NamesBeforeKeyElementType {
pub refname: Option<NamesBeforeKeyRefname>,
pub shortname: Option<NamesBeforeKeyShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub textscript: Option<List121>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Script of transliterated textual data element
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct PrefixToKeyElementType {
pub refname: Option<PrefixToKeyRefname>,
pub shortname: Option<PrefixToKeyShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub textscript: Option<List121>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Script of transliterated textual data element
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct KeyNamesElementType {
pub refname: Option<KeyNamesRefname>,
pub shortname: Option<KeyNamesShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub textscript: Option<List121>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Script of transliterated textual data element
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct NamesAfterKeyElementType {
pub refname: Option<NamesAfterKeyRefname>,
pub shortname: Option<NamesAfterKeyShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub textscript: Option<List121>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Script of transliterated textual data element
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct SuffixToKeyElementType {
pub refname: Option<SuffixToKeyRefname>,
pub shortname: Option<SuffixToKeyShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub textscript: Option<List121>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Script of transliterated textual data element
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct LettersAfterNamesElementType {
pub refname: Option<LettersAfterNamesRefname>,
pub shortname: Option<LettersAfterNamesShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub textscript: Option<List121>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Script of transliterated textual data element
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct TitlesAfterNamesElementType {
pub refname: Option<TitlesAfterNamesRefname>,
pub shortname: Option<TitlesAfterNamesShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub textscript: Option<List121>,
pub language: Option<List74>,
pub content: String,
}
#[derive(Debug)]
pub struct AlternativeNameContent82 {
pub corporate_name: Vec<CorporateNameElementType>,
pub corporate_name_inverted: Vec<CorporateNameInvertedElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Script of transliterated textual data element
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct CorporateNameInvertedElementType {
pub refname: Option<CorporateNameInvertedRefname>,
pub shortname: Option<CorporateNameInvertedShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub textscript: Option<List121>,
pub language: Option<List74>,
pub content: String,
}
#[derive(Debug)]
pub struct AlternativeNameContent77 {
pub name_identifier: Vec<NameIdentifierElementType>,
pub content_78: Option<AlternativeNameContent78>,
}
#[derive(Debug)]
pub struct AlternativeNameContent79 {
pub gp_unstructured_name: AlternativeNameGpUnstructuredName,
pub gp_structured_name: Option<AlternativeNameGpStructuredName>,
}
#[derive(Debug)]
pub enum AlternativeNameGpCorporateName {
Content82(AlternativeNameContent82),
CorporateNameInverted(Vec<CorporateNameInvertedElementType>),
}
///Person / organization date role
#[derive(Debug)]
pub enum List177 {
///Date of birth
_50,
///Date of death
_51,
///Flourished around
///(‘Floruit’). To date the height of or most productive period during a career
_56,
}
#[derive(Debug)]
pub enum SubjectDateRoleRefname {
SubjectDateRole,
}
#[derive(Debug)]
pub enum SubjectDateRoleShortname {
X534,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct ProfessionalPositionElementType {
pub refname: Option<ProfessionalPositionRefname>,
pub shortname: Option<ProfessionalPositionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AffiliationIdentifierElementType {
pub refname: Option<AffiliationIdentifierRefname>,
pub shortname: Option<AffiliationIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub affiliation_id_type: AffiliationIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
#[derive(Debug)]
pub enum AffiliationRefname {
Affiliation,
}
#[derive(Debug)]
pub enum AffiliationShortname {
B046,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AudienceCodeValueElementType {
pub refname: Option<AudienceCodeValueRefname>,
pub shortname: Option<AudienceCodeValueShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub enum AudienceHeadingTextRefname {
AudienceHeadingText,
}
#[derive(Debug)]
pub enum AudienceHeadingTextShortname {
X578,
}
#[derive(Debug)]
pub enum RatingRefname {
Rating,
}
#[derive(Debug)]
pub enum RatingShortname {
X525,
}
#[derive(Debug)]
pub enum RatingLimitRefname {
RatingLimit,
}
#[derive(Debug)]
pub enum RatingLimitShortname {
X526,
}
#[derive(Debug)]
pub enum RatingUnitsRefname {
RatingUnits,
}
#[derive(Debug)]
pub enum RatingUnitsShortname {
X527,
}
///Content date role
#[derive(Debug)]
pub enum List155 {
///Publication date
///Nominal date of publication (of the content item or supporting resource)
_01,
///Broadcast date
///Date when a TV or radio program was / will be broadcast
_04,
///From date
///Date from which a content item or supporting resource may be referenced or used. The content is embargoed until this date
_14,
///Until date
///Date until which a content item or supporting resource may be referenced or used
_15,
///Last updated
///Date when a resource was last changed or updated
_17,
///From… until date
///Combines From date and Until date to define a period (both dates are inclusive). Use for example with dateformat 06
_24,
///Available from
///Date from which a supporting resource is available for download. Note that this date also implies that it can be immediately displayed to the intended audience, unless a From date (code 14) is also supplied and is later than the Available from date
_27,
///Available until
///Date until which a supporting resource is available for download. Note that this date does not imply it must be removed from display to the intended audience on this date – for this, use Until date (code 15)
_28,
///Associated start date
///Start date referenced by the supporting resource, for example, the ‘earliest exam date’ for an official recommendation
_31,
///Associated end date
///End date referenced by the supporting resource, for example, the ‘latest exam date’ for an official recommendation
_32,
}
#[derive(Debug)]
pub enum ContentDateRoleRefname {
ContentDateRole,
}
#[derive(Debug)]
pub enum ContentDateRoleShortname {
X429,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct ListNameElementType {
pub refname: Option<ListNameRefname>,
pub shortname: Option<ListNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PositionOnListElementType {
pub refname: Option<PositionOnListRefname>,
pub shortname: Option<PositionOnListShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
///Resource feature type
#[derive(Debug)]
pub enum List160 {
///Required credit
///Credit that must be displayed when a resource is used (eg ‘Photo Jerry Bauer’ or ‘© Magnum Photo’). Credit text should be carried in FeatureNote
_01,
///Caption
///Explanatory caption that may accompany a resource (eg use to identify an author in a photograph). Caption text should be carried in FeatureNote
_02,
///Copyright holder
///Copyright holder of resource (indicative only, as the resource can be used without consultation). Copyright text should be carried in FeatureNote
_03,
///Length in minutes
///Approximate length in minutes of an audio or video resource. FeatureValue should contain the length of time as an integer number of minutes
_04,
///ISNI of resource contributor
///Use to link resource such as a contributor image to a contributor unambiguously. Use for example with Resource Content types 04, 11–14 from List 158, particularly where the product has more than a single contributor. FeatureValue contains the 16-digit ISNI, which must match an ISNI given in an instance of Contributor
_05,
///Proprietary ID of resource contributor
///Use to link resource such as a contributor image to a contributor unambiguously. Use for example with Resource Content types 04, 11–14 from List 158, particularly where the product has more than a single contributor. FeatureValue contains the proprietary ID, which must match a proprietary ID given in an instance of Contributor
_06,
///Resource alternative text
///FeatureNote is Alternative text for the resource, which might be presented to visually-impaired readers
_07,
///Background color of image resource
///FeatureValue is a 24-bit RGB or 32-bit RBGA color in hexadecimal, eg fff2de for an opaque warm cream. Used when the resource – for example a 3D image of the product – includes a background, or if used with an alpha channel, when the image is irregularly shaped or contains a semi-transparent shadow thrown against a background
_08,
///Attribute of product image resource
///FeatureValue is an ONIX code from List 256 that describes an attribute of a product image resource (eg perspective of 3D view, content)
_09,
///Background color of page
///FeatureValue is a 24-bit RGB color in hexadecimal, eg ffc300 for a rich yellow-orange, used when the resource supplier requests a specific background color be displayed behind the resource on a web page
_10,
///ORCID of resource contributor
///Use to link resource such as a contributor image to a contributor unambiguously, for example with Resource Content types 04, 11–14 from List 158, particularly where the product has more than a single contributor. FeatureValue contains the 16-digit ISNI, which must match an ORCID given in an instance of Contributor
_11,
}
#[derive(Debug)]
pub enum ResourceFeatureTypeRefname {
ResourceFeatureType,
}
#[derive(Debug)]
pub enum ResourceFeatureTypeShortname {
X438,
}
#[derive(Debug)]
pub enum FeatureValueRefname {
FeatureValue,
}
#[derive(Debug)]
pub enum FeatureValueShortname {
X439,
}
#[derive(Debug)]
pub enum FeatureNoteRefname {
FeatureNote,
}
#[derive(Debug)]
pub enum FeatureNoteShortname {
X440,
}
///Resource form
#[derive(Debug)]
pub enum List161 {
///Linkable resource
///A resource that may be accessed by a hyperlink. The current host (eg the ONIX sender, who may be the publisher) will provide ongoing hosting services for the resource for the active life of the product (or at least until the Until Date specified in ContentDate). The ONIX recipient may embed the URL in a consumer facing-website (eg as the src attribute in an img link), and need not host an independent copy of the resource
_01,
///Downloadable file
///A file that may be downloaded on demand for third-party use. The ONIX sender will host a copy of the resource until the specified Until Date, but only for the ONIX recipient’s direct use. The ONIX recipient should download a copy of the resource, and must host an independent copy of the resource if it is used on a consumer-facing website. Special attention should be paid to the ‘Last Updated’ ContentDate to ensure the independent copy of the resource is kept up to date
_02,
///Embeddable application
///An application which is supplied in a form which can be embedded into a third-party webpage. As type 02, except the resource contains active content such as JavaScript, Flash, etc
_03,
}
#[derive(Debug)]
pub enum ResourceFormRefname {
ResourceForm,
}
#[derive(Debug)]
pub enum ResourceFormShortname {
X441,
}
#[derive(Debug)]
pub enum ResourceVersionFeatureRefname {
ResourceVersionFeature,
}
#[derive(Debug)]
pub enum ResourceVersionFeatureShortname {
Resourceversionfeature,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ResourceVersionFeatureTypeElementType {
pub refname: Option<ResourceVersionFeatureTypeRefname>,
pub shortname: Option<ResourceVersionFeatureTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List162,
}
///Prize identifier type
#[derive(Debug)]
pub enum List263 {
///Proprietary prize ID scheme
///Note that a distinctive IDTypeName is required with proprietary prize identifiers
_01,
///GND
///Gemeinsame Normdatei – Joint Authority File in the German-speaking countries. See https://www.dnb.de/DE/Professionell/Standardisierung/GND/gnd_node.html (German) and https://www.dnb.de/EN/Professionell/Standardisierung/GND/gnd_node.html (English)
_91,
///FAST
///Faceted Application of Subject Terminology, OCLC subject scheme derived from LCSH. See https://fast.oclc.org/fast/. Codes are up to 8 digits, for example 1430698 for the Booker Prize (see https://id.worldcat.org/fast/1430698)
B6,
}
#[derive(Debug)]
pub enum PrizeIdTypeRefname {
PrizeIdType,
}
#[derive(Debug)]
pub enum PrizeIdTypeShortname {
X589,
}
#[derive(Debug)]
pub struct PromotionalEventContent259 {
pub contributor_reference: Vec<ContributorReferenceElementType>,
pub contributor: Vec<ContributorElementType>,
}
///Event occurrence date role
#[derive(Debug)]
pub enum List247 {
///Date of occurrence
///Date and (with the default dateformat) time the event occurrence begins
_01,
///Date of occurrence end
///Date and (with the default dateformat) time the event occurrence ends
_02,
}
#[derive(Debug)]
pub enum OccurrenceDateRoleRefname {
OccurrenceDateRole,
}
#[derive(Debug)]
pub enum OccurrenceDateRoleShortname {
X554,
}
#[derive(Debug)]
pub struct ContributorPlaceContent137 {
pub country_code: CountryCodeElementType,
pub region_code: Option<RegionCodeElementType>,
}
#[derive(Debug)]
pub enum VenueNameRefname {
VenueName,
}
#[derive(Debug)]
pub enum VenueNameShortname {
X551,
}
#[derive(Debug)]
pub enum VenueNoteRefname {
VenueNote,
}
#[derive(Debug)]
pub enum VenueNoteShortname {
X553,
}
#[derive(Debug)]
pub enum EventSponsorIdentifierRefname {
EventSponsorIdentifier,
}
#[derive(Debug)]
pub enum EventSponsorIdentifierShortname {
Eventsponsoridentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EventSponsorIdTypeElementType {
pub refname: Option<EventSponsorIdTypeRefname>,
pub shortname: Option<EventSponsorIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List44,
}
///Text item type
#[derive(Debug)]
pub enum List42 {
///Textual work
///A complete work which is published as a content item in a product which carries two or more such works, eg when two or three novels are published in a single omnibus volume
_01,
///Front matter
///Text components such as Preface, Introduction etc which appear as preliminaries to the main body of text content in a product
_02,
///Body matter
///Text components such as Part, Chapter, Section etc which appear as part of the main body of text content in a product
_03,
///Back matter
///Text components such as Index which appear after the main body of text in a product
_04,
}
#[derive(Debug)]
pub enum TextItemTypeRefname {
TextItemType,
}
#[derive(Debug)]
pub enum TextItemTypeShortname {
B290,
}
#[derive(Debug)]
pub enum TextItemIdentifierRefname {
TextItemIdentifier,
}
#[derive(Debug)]
pub enum TextItemIdentifierShortname {
Textitemidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TextItemIdTypeElementType {
pub refname: Option<TextItemIdTypeRefname>,
pub shortname: Option<TextItemIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List43,
}
#[derive(Debug)]
pub enum PageRunRefname {
PageRun,
}
#[derive(Debug)]
pub enum PageRunShortname {
Pagerun,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct FirstPageNumberElementType {
pub refname: Option<FirstPageNumberRefname>,
pub shortname: Option<FirstPageNumberShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct LastPageNumberElementType {
pub refname: Option<LastPageNumberRefname>,
pub shortname: Option<LastPageNumberShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub enum NumberOfPagesRefname {
NumberOfPages,
}
#[derive(Debug)]
pub enum NumberOfPagesShortname {
B061,
}
///AV Item type code
#[derive(Debug)]
pub enum List240 {
///Audiovisual work
///A complete audiovisual work which is published as a content item in a product which carries two or more such works, eg when two or three AV works are published in a single omnibus package
_01,
///Front matter
///Audiovisual components such as a scene index or introduction which appear before the main content of the product
_02,
///Body matter
///Audiovisual components such as scenes or ‘chapters’ which appear as part of the main body of the AV material in the product
_03,
///End matter
///Audiovisual components such as advertising which appear after the main content of the product
_04,
}
#[derive(Debug)]
pub enum AvItemTypeRefname {
AvItemType,
}
#[derive(Debug)]
pub enum AvItemTypeShortname {
X540,
}
#[derive(Debug)]
pub enum AvItemIdentifierRefname {
AvItemIdentifier,
}
#[derive(Debug)]
pub enum AvItemIdentifierShortname {
Avitemidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AvItemIdTypeElementType {
pub refname: Option<AvItemIdTypeRefname>,
pub shortname: Option<AvItemIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List241,
}
#[derive(Debug)]
pub enum TimeRunRefname {
TimeRun,
}
#[derive(Debug)]
pub enum TimeRunShortname {
Timerun,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct StartTimeElementType {
pub refname: Option<StartTimeRefname>,
pub shortname: Option<StartTimeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct EndTimeElementType {
pub refname: Option<EndTimeRefname>,
pub shortname: Option<EndTimeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub enum AvDurationRefname {
AvDuration,
}
#[derive(Debug)]
pub enum AvDurationShortname {
X544,
}
#[derive(Debug)]
pub enum ComponentTypeNameRefname {
ComponentTypeName,
}
#[derive(Debug)]
pub enum ComponentTypeNameShortname {
B288,
}
#[derive(Debug)]
pub enum ComponentNumberRefname {
ComponentNumber,
}
#[derive(Debug)]
pub enum ComponentNumberShortname {
B289,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PublisherIdentifierElementType {
pub refname: Option<PublisherIdentifierRefname>,
pub shortname: Option<PublisherIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub publisher_id_type: PublisherIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
#[derive(Debug)]
pub enum PublisherNameRefname {
PublisherName,
}
#[derive(Debug)]
pub enum PublisherNameShortname {
B081,
}
#[derive(Debug)]
pub enum FundingIdentifierRefname {
FundingIdentifier,
}
#[derive(Debug)]
pub enum FundingIdentifierShortname {
Fundingidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct FundingIdTypeElementType {
pub refname: Option<FundingIdTypeRefname>,
pub shortname: Option<FundingIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List228,
}
///Rights type
#[derive(Debug)]
pub enum List219 {
///Copyright
///Text or image copyright (normally indicated by the © symbol). The default if no CopyrightType is specified
C,
///Phonogram right
///Phonogram copyright or neighboring right (normally indicated by the ℗ symbol)
P,
///Database right
///Sui generis database right
D,
}
#[derive(Debug)]
pub enum CopyrightTypeRefname {
CopyrightType,
}
#[derive(Debug)]
pub enum CopyrightTypeShortname {
X512,
}
#[derive(Debug)]
pub struct CopyrightStatementContent147 {
pub copyright_year: Vec<CopyrightYearElementType>,
pub copyright_owner: Vec<CopyrightOwnerElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CopyrightOwnerElementType {
pub refname: Option<CopyrightOwnerRefname>,
pub shortname: Option<CopyrightOwnerShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: CopyrightOwnerElementTypeContent,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub enum CopyrightOwnerElementTypeContent {
Content142(CopyrightOwnerContent142),
PersonName(PersonNameElementType),
CorporateName(CorporateNameElementType),
}
#[derive(Debug)]
pub enum ImprintRefname {
Imprint,
}
#[derive(Debug)]
pub enum ImprintShortname {
Imprint,
}
#[derive(Debug)]
pub struct ImprintContent190 {
pub imprint_identifier: Vec<ImprintIdentifierElementType>,
pub imprint_name: Option<ImprintNameElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct ImprintNameElementType {
pub refname: Option<ImprintNameRefname>,
pub shortname: Option<ImprintNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductContactIdentifierElementType {
pub refname: Option<ProductContactIdentifierRefname>,
pub shortname: Option<ProductContactIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub product_contact_id_type: ProductContactIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
#[derive(Debug)]
pub enum ProductContactNameRefname {
ProductContactName,
}
#[derive(Debug)]
pub enum ProductContactNameShortname {
X484,
}
#[derive(Debug)]
pub enum StreetAddressRefname {
StreetAddress,
}
#[derive(Debug)]
pub enum StreetAddressShortname {
X552,
}
#[derive(Debug)]
pub enum PostalCodeRefname {
PostalCode,
}
#[derive(Debug)]
pub enum PostalCodeShortname {
X590,
}
#[derive(Debug)]
pub enum SalesRightsTypeRefname {
SalesRightsType,
}
#[derive(Debug)]
pub enum SalesRightsTypeShortname {
B089,
}
#[derive(Debug)]
pub enum SpecificationBundleNameRefname {
SpecificationBundleName,
}
#[derive(Debug)]
pub enum SpecificationBundleNameShortname {
Specificationbundlename,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct SpecificationBundleNameTypeNameElementType {
pub refname: Option<SpecificationBundleNameTypeNameRefname>,
pub shortname: Option<SpecificationBundleNameTypeNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SpecificationBundleNameValueElementType {
pub refname: Option<SpecificationBundleNameValueRefname>,
pub shortname: Option<SpecificationBundleNameValueShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Specification detail code
#[derive(Debug)]
pub enum List248 {
///22.05kHz
A411,
///44.1kHz
///44,100 samples per channel per second (CD quality)
A412,
///48kHz
A413,
///16-bits per sample
///Bit depth, 16 bits per sample (CD-quality)
A416,
///24-bits per sample
A418,
///ID3v1
///Includes v1.1
A424,
///ID3v2
A425,
///Printed long grain
///Grain of paper parallel to spine
B001,
///Printed short grain
///Grain of paper perpendicular to spine
B002,
///Monochrome
///Usually B/W
B003,
///Printed CMYK
B004,
///Printed higher-quality CMYK
///Printed ‘premium’ or high-fidelity / high resolution CMYK (where different from ‘Printed CMYK’, and the manufacturer offers two quality settings)
B005,
///Printed with bleed
///At least some content bleeds to or beyond trimmed page edge
B006,
}
#[derive(Debug)]
pub enum SpecificationDetailRefname {
SpecificationDetail,
}
#[derive(Debug)]
pub enum SpecificationDetailShortname {
X560,
}
#[derive(Debug)]
pub enum SpecificationFeatureRefname {
SpecificationFeature,
}
#[derive(Debug)]
pub enum SpecificationFeatureShortname {
Specificationfeature,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SpecificationFeatureTypeElementType {
pub refname: Option<SpecificationFeatureTypeRefname>,
pub shortname: Option<SpecificationFeatureTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List249,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SpecificationFeatureValueElementType {
pub refname: Option<SpecificationFeatureValueRefname>,
pub shortname: Option<SpecificationFeatureValueShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct SpecificationFeatureDescriptionElementType {
pub refname: Option<SpecificationFeatureDescriptionRefname>,
pub shortname: Option<SpecificationFeatureDescriptionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
#[derive(Debug)]
pub enum SpecificationDescriptionRefname {
SpecificationDescription,
}
#[derive(Debug)]
pub enum SpecificationDescriptionShortname {
X564,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct NoResourceElementType {
pub refname: Option<NoResourceRefname>,
pub shortname: Option<NoResourceShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ResourceIdentifierElementType {
pub refname: Option<ResourceIdentifierRefname>,
pub shortname: Option<ResourceIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub resource_id_type: ResourceIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ResourceRoleElementType {
pub refname: Option<ResourceRoleRefname>,
pub shortname: Option<ResourceRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List251,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ResourceFileDetailElementType {
pub refname: Option<ResourceFileDetailRefname>,
pub shortname: Option<ResourceFileDetailShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List252,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ResourceFileFeatureElementType {
pub refname: Option<ResourceFileFeatureRefname>,
pub shortname: Option<ResourceFileFeatureShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub resource_file_feature_type: ResourceFileFeatureTypeElementType,
pub resource_file_feature_value: Option<ResourceFileFeatureValueElementType>,
pub resource_file_feature_description: Vec<ResourceFileFeatureDescriptionElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct ResourceFileDescriptionElementType {
pub refname: Option<ResourceFileDescriptionRefname>,
pub shortname: Option<ResourceFileDescriptionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct ResourceFileContentDescriptionElementType {
pub refname: Option<ResourceFileContentDescriptionRefname>,
pub shortname: Option<ResourceFileContentDescriptionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ResourceFileLinkElementType {
pub refname: Option<ResourceFileLinkRefname>,
pub shortname: Option<ResourceFileLinkShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ResourceFileDateElementType {
pub refname: Option<ResourceFileDateRefname>,
pub shortname: Option<ResourceFileDateShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub resource_file_date_role: ResourceFileDateRoleElementType,
pub date: DateElementType,
}
///Insert point type
#[derive(Debug)]
pub enum List255 {
///Adjacent to logical page
///Insert appears after an even numbered or before an odd numbered logical page. InsertPointValue is an integer page number
Alp,
///Adjacent to physical page
///Insert appears after an even numbered or before an odd numbered printed page number. InsertPointValue is an integer page number
App,
///At timecode
///Insert appears in the body at a specific timecode (hours, minutes, seconds, counted from the beginning of the product before any inserts are added). InsertPointValue is in the format HHHMMSS. Fill with leading zeroes if any elements are missing. If centisecond precision is required, use HHHMMSScc
Atc,
///Adjacent to HTML label
///Insert appears before the block-level HTML element – lt;InsertPointValue is the value of the id or name attribute of the block-level element (which must be unique within the body of the product)
Ahl,
}
#[derive(Debug)]
pub enum InsertPointTypeRefname {
InsertPointType,
}
#[derive(Debug)]
pub enum InsertPointTypeShortname {
X574,
}
#[derive(Debug)]
pub enum InsertPointValueRefname {
InsertPointValue,
}
#[derive(Debug)]
pub enum InsertPointValueShortname {
X575,
}
#[derive(Debug)]
pub struct SalesOutletContent296 {
pub sales_outlet_identifier: Vec<SalesOutletIdentifierElementType>,
pub sales_outlet_name: Option<SalesOutletNameElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct SalesOutletNameElementType {
pub refname: Option<SalesOutletNameRefname>,
pub shortname: Option<SalesOutletNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
#[derive(Debug)]
pub enum NoSupplementRefname {
NoSupplement,
}
#[derive(Debug)]
pub enum NoSupplementShortname {
X579,
}
///List of country codes, space separated, that together define a geographical area
#[derive(Debug)]
pub struct DtCountryCodeList(pub Vec<List91>);
impl DtCountryCodeList {
pub fn new(inner: Vec<List91>) -> Result<Self, ValidateError> {
Self::validate_value(&inner)?;
Ok(Self(inner))
}
#[must_use]
pub fn into_inner(self) -> Vec<List91> {
self.0
}
pub fn validate_value(value: &Vec<List91>) -> Result<(), ValidateError> {
if value.is_empty() {
return Err(ValidateError::MinLength(1usize));
}
Ok(())
}
}
impl From<DtCountryCodeList> for Vec<List91> {
fn from(value: DtCountryCodeList) -> Vec<List91> {
value.0
}
}
impl TryFrom<Vec<List91>> for DtCountryCodeList {
type Error = ValidateError;
fn try_from(value: Vec<List91>) -> Result<Self, ValidateError> {
Self::new(value)
}
}
impl Deref for DtCountryCodeList {
type Target = Vec<List91>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
#[derive(Debug)]
pub enum CountriesIncludedRefname {
CountriesIncluded,
}
#[derive(Debug)]
pub enum CountriesIncludedShortname {
X449,
}
///List of region codes, space separated, that together define a geographical area. Regions are either WORLD or are sub-national geographic entities
#[derive(Debug)]
pub struct DtRegionCodeList(pub Vec<List49>);
impl DtRegionCodeList {
pub fn new(inner: Vec<List49>) -> Result<Self, ValidateError> {
Self::validate_value(&inner)?;
Ok(Self(inner))
}
#[must_use]
pub fn into_inner(self) -> Vec<List49> {
self.0
}
pub fn validate_value(value: &Vec<List49>) -> Result<(), ValidateError> {
if value.is_empty() {
return Err(ValidateError::MinLength(1usize));
}
Ok(())
}
}
impl From<DtRegionCodeList> for Vec<List49> {
fn from(value: DtRegionCodeList) -> Vec<List49> {
value.0
}
}
impl TryFrom<Vec<List49>> for DtRegionCodeList {
type Error = ValidateError;
fn try_from(value: Vec<List49>) -> Result<Self, ValidateError> {
Self::new(value)
}
}
impl Deref for DtRegionCodeList {
type Target = Vec<List49>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
#[derive(Debug)]
pub enum RegionsIncludedRefname {
RegionsIncluded,
}
#[derive(Debug)]
pub enum RegionsIncludedShortname {
X450,
}
#[derive(Debug)]
pub enum RegionsExcludedRefname {
RegionsExcluded,
}
#[derive(Debug)]
pub enum RegionsExcludedShortname {
X452,
}
#[derive(Debug)]
pub enum CountriesExcludedRefname {
CountriesExcluded,
}
#[derive(Debug)]
pub enum CountriesExcludedShortname {
X451,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AgentIdentifierElementType {
pub refname: Option<AgentIdentifierRefname>,
pub shortname: Option<AgentIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub agent_id_type: AgentIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
#[derive(Debug)]
pub enum AgentNameRefname {
AgentName,
}
#[derive(Debug)]
pub enum AgentNameShortname {
J401,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SupplierIdentifierElementType {
pub refname: Option<SupplierIdentifierRefname>,
pub shortname: Option<SupplierIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub supplier_id_type: SupplierIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
#[derive(Debug)]
pub enum SupplierNameRefname {
SupplierName,
}
#[derive(Debug)]
pub enum SupplierNameShortname {
J137,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SupplyContactIdentifierElementType {
pub refname: Option<SupplyContactIdentifierRefname>,
pub shortname: Option<SupplyContactIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub supply_contact_id_type: SupplyContactIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
#[derive(Debug)]
pub enum SupplyContactNameRefname {
SupplyContactName,
}
#[derive(Debug)]
pub enum SupplyContactNameShortname {
X539,
}
///Supplier identifier type
#[derive(Debug)]
pub enum List92 {
///Proprietary name ID scheme
///For example, a publisher’s own agent, suppier or location ID scheme. Note that a distinctive IDTypeName is required with proprietary identifiers
_01,
///Proprietary
///Deprecated – use code 01
_02,
///Börsenverein Verkehrsnummer
_04,
///German ISBN Agency publisher identifier
_05,
///GLN
///GS1 global location number (formerly EAN location number)
_06,
///SAN
///Book trade Standard Address Number – US, UK etc
_07,
///Distributeurscode Boekenbank
///Flemish supplier code
_12,
///Fondscode Boekenbank
///Flemish publisher code
_13,
///ISNI
///International Standard Name Identifier (used here to identify an organization). Only for use in ONIX 3.0 or later. See https://isni.org/
_16,
///VAT Identity Number
///Identifier for a business organization for VAT purposes, eg within the EU’s VIES system. See http://ec.europa.eu/taxation_customs/vies/faqvies.do for EU VAT ID formats, which vary from country to country. Generally these consist of a two-letter country code followed by the 8–12 digits of the national VAT ID. Some countries include one or two letters within their VAT ID. See http://en.wikipedia.org/wiki/VAT_identification_number for non-EU countries that maintain similar identifiers. Spaces, dashes etc should be omitted
_23,
///EORI
///Economic Operators Registration and Identification, identifier for businesses that import into or export from the EU. Only for use in ONIX 3.0 or later
_41,
///Chinese participant identifier
///Chinese Participant identifier on the Publishing and distribution public service platform. 12-digits (or 11 digits plus X), usually presented with a / and hyphens dividing the number into groups of three, four and four digits plus a check digit, but in ONIX the / and hyphens should be omitted. Only for use in ONIX 3.0 or later
_45,
}
#[derive(Debug)]
pub enum LocationIdTypeRefname {
LocationIdType,
}
#[derive(Debug)]
pub enum LocationIdTypeShortname {
J377,
}
#[derive(Debug)]
pub enum StockQuantityCodedRefname {
StockQuantityCoded,
}
#[derive(Debug)]
pub enum StockQuantityCodedShortname {
Stockquantitycoded,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct StockQuantityCodeTypeElementType {
pub refname: Option<StockQuantityCodeTypeRefname>,
pub shortname: Option<StockQuantityCodeTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List70,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct StockQuantityCodeTypeNameElementType {
pub refname: Option<StockQuantityCodeTypeNameRefname>,
pub shortname: Option<StockQuantityCodeTypeNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct StockQuantityCodeElementType {
pub refname: Option<StockQuantityCodeRefname>,
pub shortname: Option<StockQuantityCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct OnHandElementType {
pub refname: Option<OnHandRefname>,
pub shortname: Option<OnHandShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: i32,
}
#[derive(Debug)]
pub struct StockContent310 {
pub reserved: ReservedElementType,
pub proximity: Option<ProximityElementType>,
}
#[derive(Debug)]
pub struct StockContent311 {
pub on_order: OnOrderElementType,
pub proximity: Option<ProximityElementType>,
}
#[derive(Debug)]
pub struct StockContent312 {
pub cbo: CboElementType,
pub proximity: Option<ProximityElementType>,
}
#[derive(Debug)]
pub enum OnOrderRefname {
OnOrder,
}
#[derive(Debug)]
pub enum OnOrderShortname {
J351,
}
///Proximity
#[derive(Debug)]
pub enum List215 {
///Less than
_01,
///Not more than
_02,
///Exactly
///The supplier’s true figure, or at least a best estimate expected to be within 10% of the true figure (ie a quoted figure of 100 could in fact be anything between 91 and 111)
_03,
///Approximately
///Generally interpreted as within 25% of the true figure (ie a quoted figure of 100 could in fact be anything between 80 and 133). The supplier may introduce a deliberate approximation to reduce the commercial sensitivity of the figure
_04,
///About
///Generally interpreted as within a factor of two of the true figure (ie a quoted figure of 100 could in fact be anything between 50 and 200). The supplier may introduce a deliberate approximation to reduce the commercial sensitivity of the figure
_05,
///Not less than
_06,
///More than
_07,
}
#[derive(Debug)]
pub enum ProximityRefname {
Proximity,
}
#[derive(Debug)]
pub enum ProximityShortname {
X502,
}
#[derive(Debug)]
pub enum ExpectedDateRefname {
ExpectedDate,
}
#[derive(Debug)]
pub enum ExpectedDateShortname {
J302,
}
///Velocity metric
#[derive(Debug)]
pub enum List216 {
///Mean daily sale
///Typically measured over most recent 1 month period
_01,
///Maximum daily sale
///Typically measured over most recent 1 month period
_02,
///Minimum daily sale
///Typically measured over most recent 1 month period
_03,
///Mean weekly sale
///Typically measured over most recent rolling 12 week period
_04,
///Maximum weekly sale
///Typically measured over most recent rolling 12 week period
_05,
///Minimum weekly sale
///Typically measured over most recent rolling 12 week period
_06,
///Mean monthly sale
///Typically measured over most recent rolling 6 month period
_07,
///Maximum monthly sale
///Typically measured over the most recent rolling 6 month period
_08,
///Minimum monthly sale
///Typically measured over the most recent rolling 6 month period
_09,
}
#[derive(Debug)]
pub enum VelocityMetricRefname {
VelocityMetric,
}
#[derive(Debug)]
pub enum VelocityMetricShortname {
X504,
}
#[derive(Debug)]
pub enum RateRefname {
Rate,
}
#[derive(Debug)]
pub enum RateShortname {
X505,
}
#[derive(Debug)]
pub enum PriceIdentifierRefname {
PriceIdentifier,
}
#[derive(Debug)]
pub enum PriceIdentifierShortname {
Priceidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceIdTypeElementType {
pub refname: Option<PriceIdTypeRefname>,
pub shortname: Option<PriceIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List217,
}
#[derive(Debug)]
pub enum PriceTypeRefname {
PriceType,
}
#[derive(Debug)]
pub enum PriceTypeShortname {
X462,
}
///Price type qualifier
#[derive(Debug)]
pub enum List59 {
///Unqualified price
///Price applies to all customers that do not fall within any other group with a specified group-specific qualified price
_00,
///Member/subscriber price
///Price applies to a designated group membership
_01,
///Export price
///Price applies to sales outside the territory in which the supplier is located
_02,
///Reduced price applicable when the item is purchased as part of a set (or series, or collection)
///Use in cases where there is no combined price, but a lower price is offered for each part if the whole set / series / collection is purchased (either at one time, as part of a continuing commitment, or in a single purchase)
_03,
///Voucher price
///In the Netherlands (or any other market where similar arrangements exist): a reduced fixed price available for a limited time on presentation of a voucher or coupon published in a specified medium, eg a newspaper. Should be accompanied by Price Type code 13 and additional detail in PriceTypeDescription, and by validity dates in PriceEffectiveFrom and PriceEffectiveUntil (ONIX 2.1) or in the PriceDate composite (ONIX 3.0 or later)
_04,
///Consumer price
///Price for individual consumer sale only
_05,
///Corporate / Library / Education price
///Price for sale to libraries or other corporate or institutional customers
_06,
///Reservation order price
///Price valid for a specified period prior to publication. Orders placed prior to the end of the period are guaranteed to be delivered to the retailer before the nominal publication date. The price may or may not be different from the ‘normal’ price, which carries no such delivery guarantee. Must be accompanied by a PriceEffectiveUntil date (or equivalent PriceDate composite in ONIX 3.0 or later), and should also be accompanied by a ‘normal’ price
_07,
///Promotional offer price
///Temporary ‘Special offer’ price. Must be accompanied by PriceEffectiveFrom and PriceEffectiveUntil dates (or equivalent PriceDate composites in ONIX 3.0 or later), and may also be accompanied by a ‘normal’ price
_08,
///Linked price
///Price requires purchase with, or proof of ownership of another product. Further details of purchase or ownership requirements must be given in PriceTypeDescription
_09,
///Library price
///Price for sale only to libraries (including public, school and academic libraries)
_10,
///Education price
///Price for sale only to educational institutions (including school and academic libraries), educational buying consortia, government and local government bodies purchasing for use in education
_11,
///Corporate price
///Price for sale to corporate customers only
_12,
///Subscription service price
///Price for sale to organizations or services offering consumers subscription access to a library of books
_13,
///School library price
///Price for primary and secondary education
_14,
///Academic library price
///Price for higher education and scholarly institutions
_15,
///Public library price
_16,
///Introductory price
///Initial ‘Introductory offer’ price. Must be accompanied by an Effective until date in a PriceDate composite in ONIX 3, and may also be accompanied by a ‘normal’ price valid after the introductory offer expires (Fr. Prix de lancement). Only for use in ONIX 3.0 or later
_17,
///Consortial price
///Price for library consortia. Only for use in ONIX 3.0 or later
_18,
///Education price for alternative provision
///(fr: « prix pour l’education specialisée ») Only for use in ONIX 3.0 or later
_19,
}
#[derive(Debug)]
pub enum PriceQualifierRefname {
PriceQualifier,
}
#[derive(Debug)]
pub enum PriceQualifierShortname {
J261,
}
#[derive(Debug)]
pub enum PriceConstraintRefname {
PriceConstraint,
}
#[derive(Debug)]
pub enum PriceConstraintShortname {
Priceconstraint,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceConstraintTypeElementType {
pub refname: Option<PriceConstraintTypeRefname>,
pub shortname: Option<PriceConstraintTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List230,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceConstraintStatusElementType {
pub refname: Option<PriceConstraintStatusRefname>,
pub shortname: Option<PriceConstraintStatusShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List146,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceConstraintLimitElementType {
pub refname: Option<PriceConstraintLimitRefname>,
pub shortname: Option<PriceConstraintLimitShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub quantity: QuantityElementType,
pub price_constraint_unit: PriceConstraintUnitElementType,
}
#[derive(Debug)]
pub enum PriceTypeDescriptionRefname {
PriceTypeDescription,
}
#[derive(Debug)]
pub enum PriceTypeDescriptionShortname {
J262,
}
///Unit of pricing
#[derive(Debug)]
pub enum List60 {
///Per copy of whole product
///Default. Note where the product is a pack of multiple copies, the price is per multi-item product, not per individual copy within the pack
_00,
///Per page for printed loose-leaf content only
_01,
}
#[derive(Debug)]
pub enum PricePerRefname {
PricePer,
}
#[derive(Debug)]
pub enum PricePerShortname {
J239,
}
#[derive(Debug)]
pub enum PriceConditionRefname {
PriceCondition,
}
#[derive(Debug)]
pub enum PriceConditionShortname {
Pricecondition,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceConditionTypeElementType {
pub refname: Option<PriceConditionTypeRefname>,
pub shortname: Option<PriceConditionTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List167,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceConditionQuantityElementType {
pub refname: Option<PriceConditionQuantityRefname>,
pub shortname: Option<PriceConditionQuantityShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub price_condition_quantity_type: PriceConditionQuantityTypeElementType,
pub quantity: QuantityElementType,
pub quantity_unit: QuantityUnitElementType,
}
#[derive(Debug)]
pub enum MinimumOrderQuantityRefname {
MinimumOrderQuantity,
}
#[derive(Debug)]
pub enum MinimumOrderQuantityShortname {
J263,
}
#[derive(Debug)]
pub enum BatchBonusRefname {
BatchBonus,
}
#[derive(Debug)]
pub enum BatchBonusShortname {
Batchbonus,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct BatchQuantityElementType {
pub refname: Option<BatchQuantityRefname>,
pub shortname: Option<BatchQuantityShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct FreeQuantityElementType {
pub refname: Option<FreeQuantityRefname>,
pub shortname: Option<FreeQuantityShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
#[derive(Debug)]
pub enum DiscountCodedRefname {
DiscountCoded,
}
#[derive(Debug)]
pub enum DiscountCodedShortname {
Discountcoded,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct DiscountCodeTypeElementType {
pub refname: Option<DiscountCodeTypeRefname>,
pub shortname: Option<DiscountCodeTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List100,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct DiscountCodeTypeNameElementType {
pub refname: Option<DiscountCodeTypeNameRefname>,
pub shortname: Option<DiscountCodeTypeNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct DiscountCodeElementType {
pub refname: Option<DiscountCodeRefname>,
pub shortname: Option<DiscountCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub enum DiscountRefname {
Discount,
}
#[derive(Debug)]
pub enum DiscountShortname {
Discount,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct DiscountTypeElementType {
pub refname: Option<DiscountTypeRefname>,
pub shortname: Option<DiscountTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List170,
}
#[derive(Debug)]
pub struct DiscountContent160 {
pub quantity: QuantityElementType,
pub to_quantity: Option<ToQuantityElementType>,
}
#[derive(Debug)]
pub enum DiscountContent161 {
Content162(DiscountContent162),
DiscountAmount(DiscountAmountElementType),
}
///Price status
#[derive(Debug)]
pub enum List61 {
///Unspecified
///Default
_00,
///Provisional
_01,
///Confirmed
_02,
}
#[derive(Debug)]
pub enum PriceStatusRefname {
PriceStatus,
}
#[derive(Debug)]
pub enum PriceStatusShortname {
J266,
}
#[derive(Debug)]
pub struct PriceContent222 {
pub content_223: PriceContent223,
pub content_224: Option<PriceContent224>,
}
#[derive(Debug)]
pub enum CurrencyCodeRefname {
CurrencyCode,
}
#[derive(Debug)]
pub enum CurrencyCodeShortname {
J152,
}
#[derive(Debug)]
pub enum ComparisonProductPriceRefname {
ComparisonProductPrice,
}
#[derive(Debug)]
pub enum ComparisonProductPriceShortname {
Comparisonproductprice,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceAmountElementType {
pub refname: Option<PriceAmountRefname>,
pub shortname: Option<PriceAmountShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: f64,
}
#[derive(Debug)]
pub enum PriceDateRefname {
PriceDate,
}
#[derive(Debug)]
pub enum PriceDateShortname {
Pricedate,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceDateRoleElementType {
pub refname: Option<PriceDateRoleRefname>,
pub shortname: Option<PriceDateRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List173,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PrintedOnProductElementType {
pub refname: Option<PrintedOnProductRefname>,
pub shortname: Option<PrintedOnProductShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List174,
}
#[derive(Debug)]
pub enum NumberOfItemsOfThisFormRefname {
NumberOfItemsOfThisForm,
}
#[derive(Debug)]
pub enum NumberOfItemsOfThisFormShortname {
X322,
}
#[derive(Debug)]
pub enum CollectionElementLevelRefname {
CollectionElementLevel,
}
#[derive(Debug)]
pub enum CollectionElementLevelShortname {
X586,
}
///Collection identifier type
#[derive(Debug)]
pub enum List13 {
///Proprietary collection ID scheme
///For example, publisher’s own series ID scheme. Note that a distinctive IDTypeName is required with proprietary identifiers
_01,
///ISSN
///International Standard Serial Number, unhyphenated, 8 digits
_02,
///German National Bibliography series ID
///Maintained by the Deutsche Nationalbibliothek
_03,
///German Books in Print series ID
///Maintained by VLB
_04,
///Electre series ID
///Maintained by Electre Information, France
_05,
///DOI
///Digital Object Identifier (variable length and character set, beginning ‘10.’ and without https://doi.org/ or the older http://dx.doi.org/)
_06,
///ISBN-13
///Use only where the collection (series or set) is available as a single product
_15,
///URN
///Uniform Resource Name using full URN syntax, eg urn:issn:1476-4687 – though where a specific code for the identifier type is available, use of that code (ie code 02 for ISSN) is preferred
_22,
///JP Magazine ID
///Japanese magazine identifier, similar in scope to ISSN. Five digits to identify the periodical, without any hyphen or two digit extension. Only for use in ONIX 3.0 or later
_27,
///BNF Control number
///French National Bibliography series ID. Identifiant des publications en série maintenu par la Bibliothèque Nationale de France
_29,
///ARK
///Archival Resource Key, as a URL (including the address of the ARK resolver provided by eg a national library)
_35,
///ISSN-L
///International Standard Serial Number ‘linking ISSN’, used when distinct from the serial ISSN. Unhyphenated, 8 digits. Only for use in ONIX 3.0 or later
_38,
}
#[derive(Debug)]
pub enum CollectionIdTypeRefname {
CollectionIdType,
}
#[derive(Debug)]
pub enum CollectionIdTypeShortname {
X344,
}
///Collection sequence type
#[derive(Debug)]
pub enum List197 {
///Proprietary collection sequence type
///A short explanatory label for the sequence should be provided in CollectionSequenceTypeName
_01,
///Title order
///Order as specified by the title, eg by volume or part number sequence, provided for confirmation
_02,
///Publication order
///Order of publication of products within the collection
_03,
///Temporal/narrative order
///Order defined by a continuing narrative or temporal sequence within products in the collection. Applicable to either fiction or to non-fiction (eg within a collection of history textbooks)
_04,
///Original publication order
///Original publication order, for a republished collection or collected works originally published outside a collection
_05,
///Suggested reading order
///Where it is different from the title order, publication order, narrative order etc
_06,
///Suggested display order
///Where it is different from the title order, publication order, narrative order, reading order etc
_07,
}
#[derive(Debug)]
pub enum CollectionSequenceTypeRefname {
CollectionSequenceType,
}
#[derive(Debug)]
pub enum CollectionSequenceTypeShortname {
X479,
}
#[derive(Debug)]
pub enum CollectionSequenceTypeNameRefname {
CollectionSequenceTypeName,
}
#[derive(Debug)]
pub enum CollectionSequenceTypeNameShortname {
X480,
}
#[derive(Debug)]
pub enum CollectionSequenceNumberRefname {
CollectionSequenceNumber,
}
#[derive(Debug)]
pub enum CollectionSequenceNumberShortname {
X481,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Script of transliterated textual data element
///● Added at revision 3.0.1
#[derive(Debug)]
pub struct PartNumberElementType {
pub refname: Option<PartNumberRefname>,
pub shortname: Option<PartNumberShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub textscript: Option<List121>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct YearOfAnnualElementType {
pub refname: Option<YearOfAnnualRefname>,
pub shortname: Option<YearOfAnnualShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub enum TitleElementContent353 {
Content354(TitleElementContent354),
TitleText(TitleTextElementType),
}
#[derive(Debug)]
pub enum TitleElementContent357 {
Content358(TitleElementContent358),
TitleText(TitleTextElementType),
}
#[derive(Debug)]
pub enum TitleElementContent355 {
TitlePrefix(TitlePrefixElementType),
NoPrefix(NoPrefixElementType),
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Script of transliterated textual data element
///● Added at revision 3.0.1
///Case of textual data, eg ALL CAPS, Title Case, Sentence case
#[derive(Debug)]
pub struct TitleWithoutPrefixElementType {
pub refname: Option<TitleWithoutPrefixRefname>,
pub shortname: Option<TitleWithoutPrefixShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub language: Option<List74>,
pub textscript: Option<List121>,
pub textcase: Option<List14>,
pub content: String,
}
#[derive(Debug)]
pub enum TitleTextRefname {
TitleText,
}
#[derive(Debug)]
pub enum TitleTextShortname {
B203,
}
#[derive(Debug)]
pub enum ContributorContent127 {
Content128(ContributorContent128),
GpStructuredName(AlternativeNameGpStructuredName),
GpCorporateName(ContributorGpCorporateName),
UnnamedPersons(UnnamedPersonsElementType),
}
#[derive(Debug)]
pub struct ContributorGpUnstructuredName {
pub content_129: ContributorContent129,
}
///Unnamed person(s)
#[derive(Debug)]
pub enum List19 {
///Unknown
_01,
///Anonymous
///Note that Anonymous can be interpreted as singular or plural. A real name can be provided using AlternativeName where it is generally known
_02,
///et al
///And others. Use when some but not all contributors are listed individually, perhaps because the complete contributor list is impractically long
_03,
///Various
///When there are multiple contributors, and none are listed individually. Use for example when the product is a pack of books by different authors
_04,
///Synthesized voice – male
///Use for example with Contributor role code E07 ‘read by’ for audio books with digital narration having a male-inflected tone. ‘Brand name’ of voice may be provided in AlternativeName
_05,
///Synthesized voice – female
///Use for example with Contributor role code E07 ‘read by’ for audio books with digital narration having a female-inflected tone. ‘Brand name’ of voice may be provided in AlternativeName
_06,
///Synthesized voice – unspecified
///Use for example with Contributor role code E07 ‘read by’ for audio books with digital narration
_07,
///Synthesized voice – based on real voice actor
///Sometimes termed an ‘Authorized Voice Replica’. Use for example with Contributor role code E07 ‘read by’ for audio books with digital narration, and provide name of voice actor in AlternativeName. Only for use in ONIX 3.0 or later
_08,
///AI (Artificial intelligence)
///Use when the creator (of text, of images etc) is a generative AI model or technique. Note, can also be combined with the role ‘assisted by’. Only for use in ONIX 3.0 or later
_09,
}
#[derive(Debug)]
pub enum UnnamedPersonsRefname {
UnnamedPersons,
}
#[derive(Debug)]
pub enum UnnamedPersonsShortname {
B249,
}
#[derive(Debug)]
pub enum ContributorDateRoleRefname {
ContributorDateRole,
}
#[derive(Debug)]
pub enum ContributorDateRoleShortname {
X417,
}
///Contributor place relator
#[derive(Debug)]
pub enum List151 {
///Associated with
///To express unknown relationship types (for use when expressing legacy ONIX 2.1 data in ONIX 3.0)
_00,
///Born in
_01,
///Died in
_02,
///Formerly resided in
_03,
///Currently resides in
_04,
///Educated in
_05,
///Worked in
_06,
///Flourished in
///(‘Floruit’)
_07,
///Citizen of
///Or nationality. For use with country codes only
_08,
///Registered in
///The place of legal registration of an organization
_09,
///Operating from
///The place an organization or part of an organization is based or operates from
_10,
///Eligible for geographical marketing programs
///Contributor is eligible for national, regional or local marketing support. Use with country code, region code or country/region plus location, as appropriate
_11,
}
#[derive(Debug)]
pub enum ContributorPlaceRelatorRefname {
ContributorPlaceRelator,
}
#[derive(Debug)]
pub enum ContributorPlaceRelatorShortname {
X418,
}
#[derive(Debug)]
pub enum EditionNumberRefname {
EditionNumber,
}
#[derive(Debug)]
pub enum EditionNumberShortname {
B057,
}
#[derive(Debug)]
pub enum EditionVersionNumberRefname {
EditionVersionNumber,
}
#[derive(Debug)]
pub enum EditionVersionNumberShortname {
B217,
}
///Religious text feature type
#[derive(Debug)]
pub enum List89 {
///Church season or activity
///A church season or activity for which a religious text is intended. Religious text feature code must be taken from List 90
_01,
}
#[derive(Debug)]
pub enum ReligiousTextFeatureTypeRefname {
ReligiousTextFeatureType,
}
#[derive(Debug)]
pub enum ReligiousTextFeatureTypeShortname {
B358,
}
///Religious text feature
#[derive(Debug)]
pub enum List90 {
///Academic year
///Use with code 01 in ReligiousTextFeatureType
_01,
///Catechistic year
///Use with code 01 in ReligiousTextFeatureType
_02,
///Liturgical year
///Use with code 01 in ReligiousTextFeatureType
_03,
///Advent and Christmas
///Use with code 01 in ReligiousTextFeatureType
_04,
///Blessings
///Use with code 01 in ReligiousTextFeatureType
_05,
///Scholastic cycles
///Use with code 01 in ReligiousTextFeatureType
_06,
///Confirmation and Holy Communion
///Use with code 01 in ReligiousTextFeatureType
_07,
///Summer activities
///For example, summer camps and other youth recreational activities: use with code 01 in ReligiousTextFeatureType
_08,
///Easter
///Use with code 01 in ReligiousTextFeatureType
_09,
///Lent
///Use with code 01 in ReligiousTextFeatureType
_10,
///Marian themes
///Use with code 01 in ReligiousTextFeatureType
_11,
}
#[derive(Debug)]
pub enum ReligiousTextFeatureCodeRefname {
ReligiousTextFeatureCode,
}
#[derive(Debug)]
pub enum ReligiousTextFeatureCodeShortname {
B359,
}
#[derive(Debug)]
pub enum ReligiousTextFeatureDescriptionRefname {
ReligiousTextFeatureDescription,
}
#[derive(Debug)]
pub enum ReligiousTextFeatureDescriptionShortname {
B360,
}
#[derive(Debug)]
pub enum ExtentValueRefname {
ExtentValue,
}
#[derive(Debug)]
pub enum ExtentValueShortname {
B219,
}
#[derive(Debug)]
pub struct ColElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub span: String,
pub width: Option<String>,
pub align: Option<Align>,
pub char: Option<String>,
pub charoff: Option<String>,
pub valign: Option<Valign>,
}
#[derive(Debug)]
pub struct ColgroupElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub span: String,
pub width: Option<String>,
pub align: Option<Align>,
pub char: Option<String>,
pub charoff: Option<String>,
pub valign: Option<Valign>,
pub col: Vec<ColElementType>,
}
#[derive(Debug)]
pub enum Align {
Left,
Center,
Right,
Justify,
Char,
}
#[derive(Debug)]
pub enum Valign {
Top,
Middle,
Bottom,
Baseline,
}
#[derive(Debug)]
pub struct TrElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub align: Option<Align>,
pub char: Option<String>,
pub charoff: Option<String>,
pub valign: Option<Valign>,
pub content: Vec<TrElementTypeContent>,
}
#[derive(Debug)]
pub enum TrElementTypeContent {
Th(TdElementType),
Td(TdElementType),
}
#[derive(Debug)]
pub enum Nohref {
Nohref,
}
#[derive(Debug)]
pub struct RbElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub content: Vec<RbElementTypeContent>,
}
#[derive(Debug)]
pub enum RbElementTypeContent {
A(AElementType),
Special(SpecialElement),
Fontstyle(FontstyleElement),
Phrase(PhraseElement),
Text(Text),
}
#[derive(Debug)]
pub enum RubyContent60 {
Rt(RtElementType),
Content61(RubyContent61),
}
#[derive(Debug)]
pub struct RbcElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub rb: Vec<RbElementType>,
}
#[derive(Debug)]
pub struct RtcElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub rt: Vec<RtElementType>,
}
#[derive(Debug)]
pub enum SubjectCodeRefname {
SubjectCode,
}
#[derive(Debug)]
pub enum SubjectCodeShortname {
B069,
}
#[derive(Debug)]
pub enum NameIdentifierRefname {
NameIdentifier,
}
#[derive(Debug)]
pub enum NameIdentifierShortname {
Nameidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct NameIdTypeElementType {
pub refname: Option<NameIdTypeRefname>,
pub shortname: Option<NameIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List44,
}
#[derive(Debug)]
pub enum NameAsSubjectContent209 {
Content210(AlternativeNameContent81),
PersonNameInverted(PersonNameInvertedElementType),
}
#[derive(Debug)]
pub enum TitlesBeforeNamesRefname {
TitlesBeforeNames,
}
#[derive(Debug)]
pub enum TitlesBeforeNamesShortname {
B038,
}
#[derive(Debug)]
pub enum NamesBeforeKeyRefname {
NamesBeforeKey,
}
#[derive(Debug)]
pub enum NamesBeforeKeyShortname {
B039,
}
#[derive(Debug)]
pub enum PrefixToKeyRefname {
PrefixToKey,
}
#[derive(Debug)]
pub enum PrefixToKeyShortname {
B247,
}
#[derive(Debug)]
pub enum KeyNamesRefname {
KeyNames,
}
#[derive(Debug)]
pub enum KeyNamesShortname {
B040,
}
#[derive(Debug)]
pub enum NamesAfterKeyRefname {
NamesAfterKey,
}
#[derive(Debug)]
pub enum NamesAfterKeyShortname {
B041,
}
#[derive(Debug)]
pub enum SuffixToKeyRefname {
SuffixToKey,
}
#[derive(Debug)]
pub enum SuffixToKeyShortname {
B248,
}
#[derive(Debug)]
pub enum LettersAfterNamesRefname {
LettersAfterNames,
}
#[derive(Debug)]
pub enum LettersAfterNamesShortname {
B042,
}
#[derive(Debug)]
pub enum TitlesAfterNamesRefname {
TitlesAfterNames,
}
#[derive(Debug)]
pub enum TitlesAfterNamesShortname {
B043,
}
#[derive(Debug)]
pub enum CorporateNameInvertedRefname {
CorporateNameInverted,
}
#[derive(Debug)]
pub enum CorporateNameInvertedShortname {
X443,
}
#[derive(Debug)]
pub enum AlternativeNameContent78 {
Content79(AlternativeNameContent79),
GpStructuredName(AlternativeNameGpStructuredName),
GpCorporateName(AlternativeNameGpCorporateName),
}
#[derive(Debug)]
pub struct AlternativeNameGpUnstructuredName {
pub content_80: AlternativeNameContent80,
}
#[derive(Debug)]
pub enum ProfessionalPositionRefname {
ProfessionalPosition,
}
#[derive(Debug)]
pub enum ProfessionalPositionShortname {
B045,
}
#[derive(Debug)]
pub enum AffiliationIdentifierRefname {
AffiliationIdentifier,
}
#[derive(Debug)]
pub enum AffiliationIdentifierShortname {
Affiliationidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AffiliationIdTypeElementType {
pub refname: Option<AffiliationIdTypeRefname>,
pub shortname: Option<AffiliationIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List44,
}
#[derive(Debug)]
pub enum AudienceCodeValueRefname {
AudienceCodeValue,
}
#[derive(Debug)]
pub enum AudienceCodeValueShortname {
B206,
}
#[derive(Debug)]
pub enum ListNameRefname {
ListName,
}
#[derive(Debug)]
pub enum ListNameShortname {
X432,
}
#[derive(Debug)]
pub enum PositionOnListRefname {
PositionOnList,
}
#[derive(Debug)]
pub enum PositionOnListShortname {
X433,
}
///Resource version feature type
#[derive(Debug)]
pub enum List162 {
///File format
///Resource Version Feature Value carries a code from List 178
_01,
///Image height in pixels
///Resource Version Feature Value carries an integer
_02,
///Image width in pixels
///Resource Version Feature Value carries an integer
_03,
///Filename
///Resource Version Feature Value carries the filename of the supporting resource, necessary only when it is different from the last part of the path provided in ResourceLink
_04,
///Approximate download file size in megabytes
///Resource Version Feature Value carries a decimal number only, suggested no more than 2 or 3 significant digits (eg 1.7, not 1.7462 or 1.75MB)
_05,
///MD5 hash value
///MD5 hash value of the resource file. ResourceVersionFeatureValue should contain the 128-bit digest value (as 32 hexadecimal digits). Can be used as a cryptographic check on the integrity of a resource after it has been retrieved
_06,
///Exact download file size in bytes
///Resource Version Feature Value carries a integer number only (eg 1831023)
_07,
///SHA-256 hash value
///SHA-256 hash value of the resource file. ResourceVersionFeatureValue should contain the 256-bit digest value (as 64 hexadecimal digits). Can be used as a cryptographic check on the integrity of a resource after it has been retrieved
_08,
///ISCC
///International Standard Content Code, a ‘similarity hash’ derived algorithmically from the resource content itself (see https://iscc.codes). IDValue is the ISCC-CODE generated from a digital manifestation of the work, as a variable-length case-insensitive alphanumeric string (or 55 characters including three hyphens if using ISCC v1.0, but this is deprecated). Note alphabetic characters in v1.x ISCCs use Base32 encoding and are conventionally upper case. The ‘ISCC:’ prefix is omitted
_09,
///Previous filename
///ResourceVersionFeatureValue carries the previous filename of the supporting resource, necessary only when it is different from the last part of the path provided in ResourceLink and from the filename provided using ResourceVersionFeatureType code 04, and when the data sender suggests the recipient delete this old file. Note that the ‘trigger’ to update the resource and delete the old file is provided by the Resource version’s ContentDate
_10,
}
#[derive(Debug)]
pub enum ResourceVersionFeatureTypeRefname {
ResourceVersionFeatureType,
}
#[derive(Debug)]
pub enum ResourceVersionFeatureTypeShortname {
X442,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ContributorReferenceElementType {
pub refname: Option<ContributorReferenceRefname>,
pub shortname: Option<ContributorReferenceShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub sequence_number: Option<SequenceNumberElementType>,
pub contributor_role: Vec<ContributorRoleElementType>,
pub name_identifier: Vec<NameIdentifierElementType>,
}
#[derive(Debug)]
pub enum EventSponsorIdTypeRefname {
EventSponsorIdType,
}
#[derive(Debug)]
pub enum EventSponsorIdTypeShortname {
X522,
}
///Text item identifier type
#[derive(Debug)]
pub enum List43 {
///Proprietary text item ID scheme
///For example, a publisher’s own identifier scheme for a textual content item. Note that a distinctive IDTypeName is required with proprietary identifiers
_01,
///GTIN-13
///Formerly known as the EAN-13 (unhyphenated)
_03,
///DOI
///Digital Object Identifier (variable length and character set, beginning ‘10.’ and without https://doi.org/ or the older http://dx.doi.org/)
_06,
///PII
///Publisher item identifier, 17 characters, without punctuation, beginning with B (for book) or S (for serial publications)
_09,
///SICI
///Serial Item and Contribution Identifier, for serial items only. Deprecated: the SICI was withdrawn as a standard in 2012
_10,
///ISTC
///International Standard Text Code (16 characters: numerals and letters A–F, unhyphenated). Deprecated: the ISTC was withdrawn as a standard in 2021
_11,
///ISBN-13
///(Unhyphenated)
_15,
///ISCC
///International Standard Content Code, a ‘similarity hash’ derived algorithmically from the content itself (see https://iscc.codes). IDValue is a sequence comprising the Meta-Code and Content-Code ISCC-UNITSs generated from a digital manifestation of the work, as a variable-length case-insensitive alphanumeric string (or 27 characters including one hyphen if using ISCC v1.0, but this is deprecated). Note alphabetic characters in v1.x ISCCs use Base32 encoding and are conventionally upper case. The ‘ISCC:’ prefix is omitted. Only for use in ONIX 3.0 or later
_39,
}
#[derive(Debug)]
pub enum TextItemIdTypeRefname {
TextItemIdType,
}
#[derive(Debug)]
pub enum TextItemIdTypeShortname {
B285,
}
#[derive(Debug)]
pub enum FirstPageNumberRefname {
FirstPageNumber,
}
#[derive(Debug)]
pub enum FirstPageNumberShortname {
B286,
}
#[derive(Debug)]
pub enum LastPageNumberRefname {
LastPageNumber,
}
#[derive(Debug)]
pub enum LastPageNumberShortname {
B287,
}
///AV Item Identifier type
#[derive(Debug)]
pub enum List241 {
///Proprietary AV Item ID scheme
///For example, a publisher’s own identifier. Note that a distinctive IDTypeName is required with proprietary AV item identifiers
_01,
///GTIN-13
///Formerly known as the EAN-13 (unhyphenated)
_03,
///DOI
///Digital Object Identifier (variable length and character set, beginning ‘10.’ and without https://doi.org/ or the older http://dx.doi.org/)
_06,
///IMDB
///Motion picture work identifier from the International Movie Database
_12,
///ISRC
///International Standard Recording Code, 5 alphanumeric characters plus 7 digits
_18,
///ISAN
///International Standard Audiovisual Number (17 or 26 characters – 16 or 24 hexadecimal digits, plus one or two alphanumeric check characters, and without spaces or hyphens)
_19,
///EIDR Content ID
///Entertainment Identifier Registry identifier for an audiovisual work, eg a movie, TV series (a DOI beginning ‘10.5240/’ with a suffix of 21 hexadecimal digits and five hyphens, and without https://doi.org/ or the older http://dx.doi.org/). See ui.eidr.org/search
_31,
}
#[derive(Debug)]
pub enum AvItemIdTypeRefname {
AvItemIdType,
}
#[derive(Debug)]
pub enum AvItemIdTypeShortname {
X541,
}
#[derive(Debug)]
pub enum StartTimeRefname {
StartTime,
}
#[derive(Debug)]
pub enum StartTimeShortname {
X542,
}
#[derive(Debug)]
pub enum EndTimeRefname {
EndTime,
}
#[derive(Debug)]
pub enum EndTimeShortname {
X543,
}
#[derive(Debug)]
pub enum PublisherIdentifierRefname {
PublisherIdentifier,
}
#[derive(Debug)]
pub enum PublisherIdentifierShortname {
Publisheridentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PublisherIdTypeElementType {
pub refname: Option<PublisherIdTypeRefname>,
pub shortname: Option<PublisherIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List44,
}
///Grant identifier type
#[derive(Debug)]
pub enum List228 {
///Proprietary grant ID scheme
///Note that a distinctive IDTypeName is required with proprietary grant identifiers
_01,
///DOI
///Digital Object Identifier (variable length and character set, beginning ‘10.’ and without https://doi.org/ or the older http://dx.doi.org/)
_06,
}
#[derive(Debug)]
pub enum FundingIdTypeRefname {
FundingIdType,
}
#[derive(Debug)]
pub enum FundingIdTypeShortname {
X523,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Format of date data element, eg YYYYMMDD
///● Added at revision 3.0 (2010)
#[derive(Debug)]
pub struct CopyrightYearElementType {
pub refname: Option<CopyrightYearRefname>,
pub shortname: Option<CopyrightYearShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub dateformat: Option<List55>,
pub content: String,
}
#[derive(Debug)]
pub enum CopyrightOwnerRefname {
CopyrightOwner,
}
#[derive(Debug)]
pub enum CopyrightOwnerShortname {
Copyrightowner,
}
#[derive(Debug)]
pub struct CopyrightOwnerContent142 {
pub copyright_owner_identifier: Vec<CopyrightOwnerIdentifierElementType>,
pub content_143: Option<CopyrightOwnerContent143>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ImprintIdentifierElementType {
pub refname: Option<ImprintIdentifierRefname>,
pub shortname: Option<ImprintIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub imprint_id_type: ImprintIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
#[derive(Debug)]
pub enum ImprintNameRefname {
ImprintName,
}
#[derive(Debug)]
pub enum ImprintNameShortname {
B079,
}
#[derive(Debug)]
pub enum ProductContactIdentifierRefname {
ProductContactIdentifier,
}
#[derive(Debug)]
pub enum ProductContactIdentifierShortname {
Productcontactidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ProductContactIdTypeElementType {
pub refname: Option<ProductContactIdTypeRefname>,
pub shortname: Option<ProductContactIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List44,
}
#[derive(Debug)]
pub enum SpecificationBundleNameTypeNameRefname {
SpecificationBundleNameTypeName,
}
#[derive(Debug)]
pub enum SpecificationBundleNameTypeNameShortname {
X558,
}
#[derive(Debug)]
pub enum SpecificationBundleNameValueRefname {
SpecificationBundleNameValue,
}
#[derive(Debug)]
pub enum SpecificationBundleNameValueShortname {
X559,
}
///Specification feature type
#[derive(Debug)]
pub enum List249 {
///Filename
///Specification Feature Value carries the filename of the final product
_04,
///Audio loudness
///Specification Feature Value is the target loudness in LKFS (LUFS) used for audio normalization – see ITU-R BS.1770
_21,
///Paper type
///Specification Feature Description is the paper or card type, eg Coated, uncoated
_41,
///Paper weight
///Specification Feature Value is the paper or card weight in GSM
_42,
///Paper color
///Specification Feature Value is the paper or card color code selected from List 257
_43,
///Ink color(s)
///Specification Feature Description lists the ink color(s) required. Do not use if mono or conventional CMYK
_44,
///Special finish
///Specification Feature Value lists a special finish required, from List 258
_45,
}
#[derive(Debug)]
pub enum SpecificationFeatureTypeRefname {
SpecificationFeatureType,
}
#[derive(Debug)]
pub enum SpecificationFeatureTypeShortname {
X561,
}
#[derive(Debug)]
pub enum SpecificationFeatureValueRefname {
SpecificationFeatureValue,
}
#[derive(Debug)]
pub enum SpecificationFeatureValueShortname {
X562,
}
#[derive(Debug)]
pub enum SpecificationFeatureDescriptionRefname {
SpecificationFeatureDescription,
}
#[derive(Debug)]
pub enum SpecificationFeatureDescriptionShortname {
X563,
}
#[derive(Debug)]
pub enum NoResourceRefname {
NoResource,
}
#[derive(Debug)]
pub enum NoResourceShortname {
X577,
}
#[derive(Debug)]
pub enum ResourceIdentifierRefname {
ResourceIdentifier,
}
#[derive(Debug)]
pub enum ResourceIdentifierShortname {
Resourceidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ResourceIdTypeElementType {
pub refname: Option<ResourceIdTypeRefname>,
pub shortname: Option<ResourceIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List250,
}
///Resource role code
#[derive(Debug)]
pub enum List251 {
///Cover
///Artwork for printing a case or card cover
C01,
///Jacket
///Artwork for printing a paper dust jacket
C02,
}
#[derive(Debug)]
pub enum ResourceRoleRefname {
ResourceRole,
}
#[derive(Debug)]
pub enum ResourceRoleShortname {
X566,
}
///Resource file detail code
#[derive(Debug)]
pub enum List252 {
///Mono
///Includes ‘stereo’ where channels are identical
A410,
///22.05kHz
A411,
///44.1kHz
///44,100 samples per channel per second (CD-quality)
A412,
///48kHz
A413,
///88.2kHz
A414,
///96kHz
A415,
///16-bits per sample
///Bit depth, 16 bits per sample (CD-quality)
A416,
///20-bits per sample
A417,
///24-bits per sample
A418,
///32-bits per sample (FP)
A419,
///Stereo
///Includes ‘joint stereo’
A420,
///Stereo 2.1
A421,
///ID3v1
///Includes v1.1
A422,
///ID3v2
A423,
///Surround 4.1
///Five-channel audio (including low-frequency channel)
A441,
///Surround 5.1
///Six-channel audio (including low-frequency channel)
A451,
///With crop marks
B001,
///Without crop marks
///If page size of the resource file is not equal to final trimmed page size of the product (in Measure, then text or image area should be centered on final pages. Note that content may not bleed to the trimmed page edge
B002,
///Monochrome
B003,
///Preseparated – 2 channels
///Two pages in the resource file represent a single page in the product
B004,
///Preseparated – 3 channels
B005,
///Preseparated – 4 channels
///For example, preseparated CMYK
B006,
///Composite (CMYK)
B010,
///Composite (RGB)
B011,
}
#[derive(Debug)]
pub enum ResourceFileDetailRefname {
ResourceFileDetail,
}
#[derive(Debug)]
pub enum ResourceFileDetailShortname {
X567,
}
#[derive(Debug)]
pub enum ResourceFileFeatureRefname {
ResourceFileFeature,
}
#[derive(Debug)]
pub enum ResourceFileFeatureShortname {
Resourcefilefeature,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ResourceFileFeatureTypeElementType {
pub refname: Option<ResourceFileFeatureTypeRefname>,
pub shortname: Option<ResourceFileFeatureTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List253,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ResourceFileFeatureValueElementType {
pub refname: Option<ResourceFileFeatureValueRefname>,
pub shortname: Option<ResourceFileFeatureValueShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct ResourceFileFeatureDescriptionElementType {
pub refname: Option<ResourceFileFeatureDescriptionRefname>,
pub shortname: Option<ResourceFileFeatureDescriptionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
#[derive(Debug)]
pub enum ResourceFileDescriptionRefname {
ResourceFileDescription,
}
#[derive(Debug)]
pub enum ResourceFileDescriptionShortname {
X571,
}
#[derive(Debug)]
pub enum ResourceFileContentDescriptionRefname {
ResourceFileContentDescription,
}
#[derive(Debug)]
pub enum ResourceFileContentDescriptionShortname {
X576,
}
#[derive(Debug)]
pub enum ResourceFileLinkRefname {
ResourceFileLink,
}
#[derive(Debug)]
pub enum ResourceFileLinkShortname {
X572,
}
#[derive(Debug)]
pub enum ResourceFileDateRefname {
ResourceFileDate,
}
#[derive(Debug)]
pub enum ResourceFileDateShortname {
Resourcefiledate,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ResourceFileDateRoleElementType {
pub refname: Option<ResourceFileDateRoleRefname>,
pub shortname: Option<ResourceFileDateRoleShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List254,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SalesOutletIdentifierElementType {
pub refname: Option<SalesOutletIdentifierRefname>,
pub shortname: Option<SalesOutletIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub sales_outlet_id_type: SalesOutletIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
#[derive(Debug)]
pub enum SalesOutletNameRefname {
SalesOutletName,
}
#[derive(Debug)]
pub enum SalesOutletNameShortname {
B382,
}
#[derive(Debug)]
pub enum AgentIdentifierRefname {
AgentIdentifier,
}
#[derive(Debug)]
pub enum AgentIdentifierShortname {
Agentidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct AgentIdTypeElementType {
pub refname: Option<AgentIdTypeRefname>,
pub shortname: Option<AgentIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List92,
}
#[derive(Debug)]
pub enum SupplierIdentifierRefname {
SupplierIdentifier,
}
#[derive(Debug)]
pub enum SupplierIdentifierShortname {
Supplieridentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SupplierIdTypeElementType {
pub refname: Option<SupplierIdTypeRefname>,
pub shortname: Option<SupplierIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List92,
}
#[derive(Debug)]
pub enum SupplyContactIdentifierRefname {
SupplyContactIdentifier,
}
#[derive(Debug)]
pub enum SupplyContactIdentifierShortname {
Supplycontactidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SupplyContactIdTypeElementType {
pub refname: Option<SupplyContactIdTypeRefname>,
pub shortname: Option<SupplyContactIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List44,
}
///Stock quantity code type
#[derive(Debug)]
pub enum List70 {
///Proprietary stock quantity coding scheme
///Note that a distinctive StockQuantityCodeTypeName is required with proprietary coding schemes
_01,
///APA stock quantity code
///Code scheme defined by the Australian Publishers Association. Deprecated
_02,
}
#[derive(Debug)]
pub enum StockQuantityCodeTypeRefname {
StockQuantityCodeType,
}
#[derive(Debug)]
pub enum StockQuantityCodeTypeShortname {
J293,
}
#[derive(Debug)]
pub enum StockQuantityCodeTypeNameRefname {
StockQuantityCodeTypeName,
}
#[derive(Debug)]
pub enum StockQuantityCodeTypeNameShortname {
J296,
}
#[derive(Debug)]
pub enum StockQuantityCodeRefname {
StockQuantityCode,
}
#[derive(Debug)]
pub enum StockQuantityCodeShortname {
J297,
}
#[derive(Debug)]
pub enum OnHandRefname {
OnHand,
}
#[derive(Debug)]
pub enum OnHandShortname {
J350,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ReservedElementType {
pub refname: Option<ReservedRefname>,
pub shortname: Option<ReservedShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CboElementType {
pub refname: Option<CboRefname>,
pub shortname: Option<CboShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: usize,
}
///Price identifier type
#[derive(Debug)]
pub enum List217 {
///Proprietary price identifier scheme
///Note that a distinctive IDTypeName is required for proprietary price identifiers
_01,
///Proprietary price point identifier scheme
///Proprietary identifier uniquely identifies price amount and currency. Two unrelated products with the same price amount carry the same identifier, though their price types may be different. Note that a distinctive IDTypeName is required for proprietary price identifiers
_02,
///Proprietary price type identifier scheme
///Proprietary identifier uniquely identifies price type, qualifier and any constraints and conditions. Two unrelated products with the same price type carry the same identifier, though their price points may be different. Note that a distinctive IDTypeName is required for proprietary price identifiers
_03,
///Proprietary price point and type identifier scheme
///Proprietary identifier identifies a unique combination of price point and type, though two unrelated products may carry the same identifier if all details of their prices are identical. Note that a distinctive IDTypeName is required for proprietary price identifiers
_04,
///Proprietary unique price identifier scheme
///Proprietary identifier is unique to a single price point, price type and product. No two products can carry the same identifier, even if all details of their prices are identical. Note that a distinctive IDTypeName is required for proprietary price identifiers
_05,
///Proprietary product price point identifier scheme
///Proprietary identifier uniquely identifies a specific combination of product, price amount and currency, independent of the price type. Note that a distinctive IDTypeName is required for proprietary price identifiers
_06,
///Proprietary product price type identifier scheme
///Proprietary identifier uniquely identifies a specific combination of product, price type, qualifier and any constraints and conditions, independent of the price amount and currency. A product with the same product price type identifier may carry differing price amounts, currencies at different points in time. Note that a distinctive IDTypeName is required for proprietary price identifiers
_07,
}
#[derive(Debug)]
pub enum PriceIdTypeRefname {
PriceIdType,
}
#[derive(Debug)]
pub enum PriceIdTypeShortname {
X506,
}
///Price constraint type
#[derive(Debug)]
pub enum List230 {
///No price-specific constraints
///Allows positive indication that there are no additional constraints (other than those specified in EpubUsageConstraint). By convention, use 01 in PriceConstraintStatus
_00,
///Preview
///Preview before purchase. Allows a retail customer, account holder or patron to view or listen to a proportion of the book before purchase. Also applies to borrowers making use of ‘acquisition on demand’ models in libraries, and to ‘subscription’ models where the purchase is made on behalf of the reader. Generally used here to specify different preview percentages across different customer types. Note that any Sales embargo date (in PublishingDate or MarketDate) also applies to provision of previews, unless an explicit date is provided for the preview
_01,
///Print
///Make physical copy of extract
_02,
///Copy / paste
///Make digital copy of extract
_03,
///Lend
///Lendable by the purchaser to another device owner or account holder or patron, eg ‘Lend-to-a-friend’, or library lending (where the library product has a separate ProductIdentifier from the consumer product – but for this prefer code 16). The ‘primary’ copy becomes unusable while the secondary copy is ‘lent’ unless a number of concurrent borrowers is also specified
_06,
///Time-limited license
///E-publication license is time-limited. Use with code 02 from List 146 and either a time period in days, weeks or months in PriceConstraintLimit, or a Valid until date in PriceConstraintLimit. The purchased copy becomes unusable when the license expires. For clarity, a perpetual license is the default, but may be specified explicitly with code 01 from list 146, or with code 02 and a limit Quantity of 0 days
_07,
///Library loan renewal
///Maximum number of consecutive loans or loan extensions (usually from a library) to a single device owner or account holder or patron. Note that a limit of 1 indicates that a loan cannot be renewed or extended
_08,
///Multi-user license
///E-publication license is multi-user. Maximum number of concurrent users licensed to use the product should be given in PriceConstraintLimit. For clarity, unlimited concurrency is the default, but may be specified explicitly with code 01 from list 146, or with code 02 and a limit Quantity of 0 users
_09,
///Preview on premises
///Preview locally before purchase. Allows a retail customer, account holder or patron to view a proportion of the book (or the whole book, if no proportion is specified) before purchase, but ONLY while located physically in the retailer’s store (eg while logged on to the store wifi). Also applies to borrowers making use of ‘acquisition on demand’ models in libraries
_10,
///Text and data mining
///Make use of the content of the product (text, images, audio etc) or the product metadata or supporting resources for extraction of useful (and possibly new) information through automated computer analysis, or for training of tools for such analysis (including training of generative AI models). By convention, use 01 or 03 in EpubUsageStatus. Note 03 should be regarded as ‘prohibited to the full extent allowed by law’, or otherwise expressly reserved by the rightsholder, as in some jurisdictions, TDM may be subject to copyright exception (eg for not-for-profit purposes), subject to optional reservation, or allowed under ‘fair use’ doctrine
_11,
///Library loan
///Loanable by the purchaser (usually a library) to other device owner or account holder or patron, eg library lending (whether or not the library product has a separate ProductIdentifier from the consumer product). The ‘primary’ copy becomes unusable while the secondary copy is ‘on loan’ unless a number of concurrent borrowers is also specified. Use code 08 to specify any limit on loan renewals
_16,
}
#[derive(Debug)]
pub enum PriceConstraintTypeRefname {
PriceConstraintType,
}
#[derive(Debug)]
pub enum PriceConstraintTypeShortname {
X529,
}
#[derive(Debug)]
pub enum PriceConstraintStatusRefname {
PriceConstraintStatus,
}
#[derive(Debug)]
pub enum PriceConstraintStatusShortname {
X530,
}
#[derive(Debug)]
pub enum PriceConstraintLimitRefname {
PriceConstraintLimit,
}
#[derive(Debug)]
pub enum PriceConstraintLimitShortname {
Priceconstraintlimit,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceConstraintUnitElementType {
pub refname: Option<PriceConstraintUnitRefname>,
pub shortname: Option<PriceConstraintUnitShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List147,
}
///Price condition type
#[derive(Debug)]
pub enum List167 {
///No conditions
///Allows positive indication that there are no conditions (the default if PriceCondition is omitted)
_00,
///Includes updates
///Purchase at this price includes specified updates
_01,
///Must also purchase updates
///Purchase at this price requires commitment to purchase specified updates, not included in price
_02,
///Updates available
///Updates may be purchased separately, no minimum commitment required
_03,
///Linked subsequent purchase price
///Use with PriceConditionQuantity and ProductIdentifier. Purchase at this price requires commitment to purchase the specified linked product, which is not included in the price
_04,
///Linked prior purchase price
///Use with PriceConditionQuantity and ProductIdentifier. Purchase at this price requires prior purchase of the specified linked product
_05,
///Linked price
///Use with PriceConditionQuantity and ProductIdentifier. Purchase at this price requires simultaneous purchase of the specified linked product, which is not included in the price
_06,
///Auto-renewing
///The rental or subscription will automatically renew at the end of the period unless actively cancelled
_07,
///Combined price
///Purchase at this price includes the price of the specified other product
_08,
///Rental duration
///The duration of the rental to which the price applies. Deprecated, use PriceConstraint instead
_10,
///Rental to purchase
///Purchase at this price requires prior rental of the product. PriceConditionQuantity gives minimum prior rental period, and ProductIdentifier may be used if rental uses a different product identifier
_11,
///Rental extension
///Upgrade to longer rental duration. PriceConditionQuantity gives minimum prior rental duration, and ProductIdentifier may be used if rental uses a different product identifier. Separate price constraint with time limited license duration (code 07) specifies the new combined rental duration
_12,
}
#[derive(Debug)]
pub enum PriceConditionTypeRefname {
PriceConditionType,
}
#[derive(Debug)]
pub enum PriceConditionTypeShortname {
X463,
}
#[derive(Debug)]
pub enum PriceConditionQuantityRefname {
PriceConditionQuantity,
}
#[derive(Debug)]
pub enum PriceConditionQuantityShortname {
Priceconditionquantity,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceConditionQuantityTypeElementType {
pub refname: Option<PriceConditionQuantityTypeRefname>,
pub shortname: Option<PriceConditionQuantityTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List168,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct QuantityUnitElementType {
pub refname: Option<QuantityUnitRefname>,
pub shortname: Option<QuantityUnitShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List169,
}
#[derive(Debug)]
pub enum BatchQuantityRefname {
BatchQuantity,
}
#[derive(Debug)]
pub enum BatchQuantityShortname {
J264,
}
#[derive(Debug)]
pub enum FreeQuantityRefname {
FreeQuantity,
}
#[derive(Debug)]
pub enum FreeQuantityShortname {
J265,
}
///Discount code type
#[derive(Debug)]
pub enum List100 {
///BIC discount group code
///UK publisher’s or distributor’s discount group code in a format specified by BIC to ensure uniqueness (a five-letter prefix allocated by BIC, plus one to three alphanumeric characters – normally digits – chosen by the supplier). See https://bic.org.uk/resources/discount-group-codes/
_01,
///Proprietary discount code scheme
///A publisher’s or supplier’s own code which identifies a trade discount category. Note that a distinctive DiscountCodeTypeName is required with proprietary coding schemes. The actual discount for each code is set by trading partner agreement (applies to goods supplied on standard trade discounting terms)
_02,
///Boeksoort
///Terms code used in the Netherlands book trade
_03,
///German terms code
///Terms code used in German ONIX applications
_04,
///Proprietary commission code scheme
///A publisher’s or supplier’s own code which identifies a commission rate category. Note that a distinctive DiscountCodeTypeName is required with proprietary coding schemes. The actual commission rate for each code is set by trading partner agreement (applies to goods supplied on agency terms)
_05,
///BIC commission group code
///UK publisher’s or distributor’s commission group code in format specified by BIC to ensure uniqueness. Format is identical to BIC discount group code, but indicates a commission rather than a discount (applies to goods supplied on agency terms)
_06,
///ISNI-based discount group code
///ISNI-based discount group scheme devised initially by the German IG ProduktMetadaten, in a format comprised of the supplier’s 16-digit ISNI, followed by a hyphen and one to three alphanumeric characters – normally digits – chosen by the supplier. These characters are the index to a discount percentage in a table shared in advance by the supplier with individual customers. In this way, a supplier may maintain individual product-specific discount arrangements with each customer. Only for use in ONIX 3.0 or later
_07,
}
#[derive(Debug)]
pub enum DiscountCodeTypeRefname {
DiscountCodeType,
}
#[derive(Debug)]
pub enum DiscountCodeTypeShortname {
J363,
}
#[derive(Debug)]
pub enum DiscountCodeTypeNameRefname {
DiscountCodeTypeName,
}
#[derive(Debug)]
pub enum DiscountCodeTypeNameShortname {
J378,
}
#[derive(Debug)]
pub enum DiscountCodeRefname {
DiscountCode,
}
#[derive(Debug)]
pub enum DiscountCodeShortname {
J364,
}
///Discount type
#[derive(Debug)]
pub enum List170 {
///Rising discount
///Discount applied to all units in a qualifying order. The default if no DiscountType is specified
_01,
///Rising discount (cumulative)
///Additional discount may be applied retrospectively, based on number of units ordered over a specific period
_02,
///Progressive discount
///Discount applied to marginal units in a qualifying order
_03,
///Progressive discount (cumulative)
///Previous orders within a specific time period are counted when calculating a progressive discount
_04,
}
#[derive(Debug)]
pub enum DiscountTypeRefname {
DiscountType,
}
#[derive(Debug)]
pub enum DiscountTypeShortname {
X467,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ToQuantityElementType {
pub refname: Option<ToQuantityRefname>,
pub shortname: Option<ToQuantityShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: f64,
}
#[derive(Debug)]
pub struct DiscountContent162 {
pub discount_percent: DiscountPercentElementType,
pub discount_amount: Option<DiscountAmountElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct DiscountAmountElementType {
pub refname: Option<DiscountAmountRefname>,
pub shortname: Option<DiscountAmountShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: f64,
}
#[derive(Debug)]
pub enum PriceContent223 {
PriceAmount(PriceAmountElementType),
PriceCoded(PriceCodedElementType),
}
#[derive(Debug)]
pub enum PriceContent224 {
Tax(Vec<TaxElementType>),
TaxExempt(TaxExemptElementType),
}
#[derive(Debug)]
pub enum PriceAmountRefname {
PriceAmount,
}
#[derive(Debug)]
pub enum PriceAmountShortname {
J151,
}
///Price date role
#[derive(Debug)]
pub enum List173 {
///From date
///Date on which a price becomes effective
_14,
///Until date
///Date on which a price ceases to be effective
_15,
///From… until date
///Combines From date and Until date to define a period (both dates are inclusive). Use for example with dateformat 06
_24,
}
#[derive(Debug)]
pub enum PriceDateRoleRefname {
PriceDateRole,
}
#[derive(Debug)]
pub enum PriceDateRoleShortname {
X476,
}
///Printed on product
#[derive(Debug)]
pub enum List174 {
///No
///Price not printed on product
_01,
///Yes
///Price printed on product
_02,
}
#[derive(Debug)]
pub enum PrintedOnProductRefname {
PrintedOnProduct,
}
#[derive(Debug)]
pub enum PrintedOnProductShortname {
X301,
}
#[derive(Debug)]
pub enum PartNumberRefname {
PartNumber,
}
#[derive(Debug)]
pub enum PartNumberShortname {
X410,
}
#[derive(Debug)]
pub enum YearOfAnnualRefname {
YearOfAnnual,
}
#[derive(Debug)]
pub enum YearOfAnnualShortname {
B020,
}
#[derive(Debug)]
pub struct TitleElementContent354 {
pub content_355: TitleElementContent355,
pub title_without_prefix: TitleWithoutPrefixElementType,
}
#[derive(Debug)]
pub struct TitleElementContent358 {
pub content_359: TitleElementContent355,
pub title_without_prefix: TitleWithoutPrefixElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
///Script of transliterated textual data element
///● Added at revision 3.0.1
///Case of textual data, eg ALL CAPS, Title Case, Sentence case
#[derive(Debug)]
pub struct TitlePrefixElementType {
pub refname: Option<TitlePrefixRefname>,
pub shortname: Option<TitlePrefixShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub language: Option<List74>,
pub textscript: Option<List121>,
pub textcase: Option<List14>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct NoPrefixElementType {
pub refname: Option<NoPrefixRefname>,
pub shortname: Option<NoPrefixShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
}
#[derive(Debug)]
pub enum TitleWithoutPrefixRefname {
TitleWithoutPrefix,
}
#[derive(Debug)]
pub enum TitleWithoutPrefixShortname {
B031,
}
#[derive(Debug)]
pub enum ContributorContent129 {
Content130(AlternativeNameContent81),
PersonNameInverted(PersonNameInvertedElementType),
}
#[derive(Debug)]
pub struct TdElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub abbr: Option<String>,
pub axis: Option<String>,
pub headers: Option<super::xs::Entities>,
pub scope: Option<Scope>,
pub rowspan: String,
pub colspan: String,
pub align: Option<Align>,
pub char: Option<String>,
pub charoff: Option<String>,
pub valign: Option<Valign>,
pub content: Vec<TdElementTypeContent>,
}
#[derive(Debug)]
pub enum TdElementTypeContent {
Block(BlockElement),
Inline(InlineElement),
Text(Text),
}
#[derive(Debug)]
pub struct RtElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub rbspan: Option<i32>,
pub content: Vec<RtElementTypeContent>,
}
#[derive(Debug)]
pub enum RtElementTypeContent {
A(AElementType),
Special(SpecialElement),
Fontstyle(FontstyleElement),
Phrase(PhraseElement),
Text(Text),
}
#[derive(Debug)]
pub struct RubyContent61 {
pub rp: RpElementType,
pub rt: Box<RtElementType>,
}
#[derive(Debug)]
pub enum NameIdTypeRefname {
NameIdType,
}
#[derive(Debug)]
pub enum NameIdTypeShortname {
X415,
}
#[derive(Debug)]
pub struct AlternativeNameContent81 {
pub person_name: PersonNameElementType,
pub person_name_inverted: Option<PersonNameInvertedElementType>,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Phonetic or glossed rendering of textual data, generally for sorting purposes (eg Japanese kana / furigana)
///● Added at revision 3.0.1
///Script of transliterated textual data element
///● Added at revision 3.0.1
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct PersonNameInvertedElementType {
pub refname: Option<PersonNameInvertedRefname>,
pub shortname: Option<PersonNameInvertedShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub collationkey: Option<String>,
pub textscript: Option<List121>,
pub language: Option<List74>,
pub content: String,
}
#[derive(Debug)]
pub enum AlternativeNameContent80 {
Content81(AlternativeNameContent81),
PersonNameInverted(PersonNameInvertedElementType),
}
#[derive(Debug)]
pub enum AffiliationIdTypeRefname {
AffiliationIdType,
}
#[derive(Debug)]
pub enum AffiliationIdTypeShortname {
X580,
}
#[derive(Debug)]
pub enum ContributorReferenceRefname {
ContributorReference,
}
#[derive(Debug)]
pub enum ContributorReferenceShortname {
Contributorreference,
}
#[derive(Debug)]
pub enum PublisherIdTypeRefname {
PublisherIdType,
}
#[derive(Debug)]
pub enum PublisherIdTypeShortname {
X447,
}
#[derive(Debug)]
pub enum CopyrightYearRefname {
CopyrightYear,
}
#[derive(Debug)]
pub enum CopyrightYearShortname {
B087,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CopyrightOwnerIdentifierElementType {
pub refname: Option<CopyrightOwnerIdentifierRefname>,
pub shortname: Option<CopyrightOwnerIdentifierShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub copyright_owner_id_type: CopyrightOwnerIdTypeElementType,
pub id_type_name: Option<IdTypeNameElementType>,
pub id_value: IdValueElementType,
}
#[derive(Debug)]
pub enum ImprintIdentifierRefname {
ImprintIdentifier,
}
#[derive(Debug)]
pub enum ImprintIdentifierShortname {
Imprintidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct ImprintIdTypeElementType {
pub refname: Option<ImprintIdTypeRefname>,
pub shortname: Option<ImprintIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List44,
}
#[derive(Debug)]
pub enum ProductContactIdTypeRefname {
ProductContactIdType,
}
#[derive(Debug)]
pub enum ProductContactIdTypeShortname {
X483,
}
///Resource identifier type
#[derive(Debug)]
pub enum List250 {
///Proprietary resource ID scheme
///For example, a publisher’s internal digital asset ID. Note that a distinctive IDTypeName is required with proprietary resource identifiers
_01,
///ISCC
///International Standard Content Code, a ‘similarity hash’ derived algorithmically from the resource content itself (see https://iscc.codes). IDValue is the ISCC-CODE generated from a digital manifestation of the work, as a variable-length case-insensitive alphanumeric string (or 55 characters including three hyphens if using ISCC v1.0, but this is deprecated). Note alphabetic characters in v1.x ISCCs use Base32 encoding and are conventionally upper case. The ‘ISCC:’ prefix is omitted
_09,
}
#[derive(Debug)]
pub enum ResourceIdTypeRefname {
ResourceIdType,
}
#[derive(Debug)]
pub enum ResourceIdTypeShortname {
X565,
}
///Resource file feature type
#[derive(Debug)]
pub enum List253 {
///File format
///Resource File Feature Value carries a code from List 178
_01,
///Filename
///Resource File Feature Value carries the filename of the supporting resource, necessary only when it is different from the last part of the path provided in ResourceFileLink
_04,
///Approximate download file size in megabytes
///Resource File Feature Value carries a decimal number only, suggested no more than 2 or 3 significant digits (eg 1.7, not 1.7462 or 1.75MB)
_05,
///MD5 hash value
///MD5 hash value of the resource file. ResourceFileFeatureValue should contain the 128-bit digest value (as 32 hexadecimal digits). Can be used as a cryptographic check on the integrity of a resource after it has been retrieved
_06,
///Exact download file size in bytes
///Resource File Feature Value carries a integer number only (eg 1831023)
_07,
///SHA-256 hash value
///SHA-256 hash value of the resource file. ResourceFileFeatureValue should contain the 256-bit digest value (as 64 hexadecimal digits). Can be used as a cryptographic check on the integrity of a resource after it has been retrieved
_08,
///Audio loudness
///Resource File Feature Value is the loudness in LKFS (LUFS) used for audio normalization – see ITU-R BS.1770
_31,
}
#[derive(Debug)]
pub enum ResourceFileFeatureTypeRefname {
ResourceFileFeatureType,
}
#[derive(Debug)]
pub enum ResourceFileFeatureTypeShortname {
X568,
}
#[derive(Debug)]
pub enum ResourceFileFeatureValueRefname {
ResourceFileFeatureValue,
}
#[derive(Debug)]
pub enum ResourceFileFeatureValueShortname {
X569,
}
#[derive(Debug)]
pub enum ResourceFileFeatureDescriptionRefname {
ResourceFileFeatureDescription,
}
#[derive(Debug)]
pub enum ResourceFileFeatureDescriptionShortname {
X570,
}
///Resource file date role code
#[derive(Debug)]
pub enum List254 {
///Last updated
///Date when a resource was last changed or updated
_17,
///Available from
///Date from which a resource is available for download
_27,
///Available until
///Date until which a resource is available for download
_28,
}
#[derive(Debug)]
pub enum ResourceFileDateRoleRefname {
ResourceFileDateRole,
}
#[derive(Debug)]
pub enum ResourceFileDateRoleShortname {
X573,
}
#[derive(Debug)]
pub enum SalesOutletIdentifierRefname {
SalesOutletIdentifier,
}
#[derive(Debug)]
pub enum SalesOutletIdentifierShortname {
Salesoutletidentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct SalesOutletIdTypeElementType {
pub refname: Option<SalesOutletIdTypeRefname>,
pub shortname: Option<SalesOutletIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List102,
}
#[derive(Debug)]
pub enum AgentIdTypeRefname {
AgentIdType,
}
#[derive(Debug)]
pub enum AgentIdTypeShortname {
J400,
}
#[derive(Debug)]
pub enum SupplierIdTypeRefname {
SupplierIdType,
}
#[derive(Debug)]
pub enum SupplierIdTypeShortname {
J345,
}
#[derive(Debug)]
pub enum SupplyContactIdTypeRefname {
SupplyContactIdType,
}
#[derive(Debug)]
pub enum SupplyContactIdTypeShortname {
X538,
}
#[derive(Debug)]
pub enum ReservedRefname {
Reserved,
}
#[derive(Debug)]
pub enum ReservedShortname {
X536,
}
#[derive(Debug)]
pub enum CboRefname {
Cbo,
}
#[derive(Debug)]
pub enum CboShortname {
J375,
}
#[derive(Debug)]
pub enum PriceConstraintUnitRefname {
PriceConstraintUnit,
}
#[derive(Debug)]
pub enum PriceConstraintUnitShortname {
X531,
}
///Price condition quantity type
#[derive(Debug)]
pub enum List168 {
///Time period
///The price condition quantity represents a time period
_01,
///Number of updates
///The price condition quantity is a number of updates
_02,
///Number of linked products
///Use with Price condition type 06 and a Quantity of units. Price is valid when purchased with a specific number of products from a list of product identifiers provided in the associated ProductIdentifier composites. Use for example when describing a price for this product which is valid if it is purchased along with any two from a list of other products
_03,
///Number of copies of this product
///Use with Price condition type 06 and a Quantity of units. Meeting the Price condition qualifies for purchase of a specified number of copies of this product at this price. Use for example when describing a price that applies to the specified number of units of this product which is valid if they are purchased along with a number of copies of another product
_04,
///Minimum number of linked products
///Use with Price condition type 06 and a Quantity of units. Price is valid when purchased with at least a specific number of products from a list of product identifiers provided in the associated ProductIdentifier composites. Use for example when describing a price for this product which is valid if it is purchased along with any two from a list of other products
_05,
///Maximum number of copies of this product
///(at this price). Use with Price condition type 06 and a Quantity of units. Meeting the Price condition qualifies for purchase of up to the specified number of copies of this product at this price. Use for example when describing a price that applies to the specified number of units of this product which is valid if they are purchased along with a number of copies of another product
_06,
}
#[derive(Debug)]
pub enum PriceConditionQuantityTypeRefname {
PriceConditionQuantityType,
}
#[derive(Debug)]
pub enum PriceConditionQuantityTypeShortname {
X464,
}
///Quantity unit
#[derive(Debug)]
pub enum List169 {
///Units
///The quantity refers to a unit implied by the quantity type
_00,
///Days
_07,
///Weeks
_08,
///Months
_09,
///Years
_10,
///Classes
///Multiple copies or units suitable for a class. A ‘class’ is a group of learners attending a specific course or lesson and generally taught as a group
_20,
}
#[derive(Debug)]
pub enum QuantityUnitRefname {
QuantityUnit,
}
#[derive(Debug)]
pub enum QuantityUnitShortname {
X466,
}
#[derive(Debug)]
pub enum ToQuantityRefname {
ToQuantity,
}
#[derive(Debug)]
pub enum ToQuantityShortname {
X514,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct DiscountPercentElementType {
pub refname: Option<DiscountPercentRefname>,
pub shortname: Option<DiscountPercentShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: f64,
}
#[derive(Debug)]
pub enum DiscountAmountRefname {
DiscountAmount,
}
#[derive(Debug)]
pub enum DiscountAmountShortname {
X469,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceCodedElementType {
pub refname: Option<PriceCodedRefname>,
pub shortname: Option<PriceCodedShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub price_code_type: PriceCodeTypeElementType,
pub price_code_type_name: Option<PriceCodeTypeNameElementType>,
pub price_code: PriceCodeElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TaxElementType {
pub refname: Option<TaxRefname>,
pub shortname: Option<TaxShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub product_identifier: Vec<ProductIdentifierElementType>,
pub price_part_description: Vec<PricePartDescriptionElementType>,
pub tax_type: Option<TaxTypeElementType>,
pub tax_rate_code: Option<TaxRateCodeElementType>,
pub content_337: TaxContent337,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TaxExemptElementType {
pub refname: Option<TaxExemptRefname>,
pub shortname: Option<TaxExemptShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
}
#[derive(Debug)]
pub enum TitlePrefixRefname {
TitlePrefix,
}
#[derive(Debug)]
pub enum TitlePrefixShortname {
B030,
}
#[derive(Debug)]
pub enum NoPrefixRefname {
NoPrefix,
}
#[derive(Debug)]
pub enum NoPrefixShortname {
X501,
}
#[derive(Debug)]
pub enum Scope {
Row,
Col,
Rowgroup,
Colgroup,
}
#[derive(Debug)]
pub struct RpElementType {
pub id: Option<String>,
pub class: Option<String>,
pub style: Option<String>,
pub title: Option<String>,
pub lang: Option<String>,
pub dir: Option<Dir>,
pub text: Option<Text>,
}
#[derive(Debug)]
pub enum PersonNameInvertedRefname {
PersonNameInverted,
}
#[derive(Debug)]
pub enum PersonNameInvertedShortname {
B037,
}
#[derive(Debug)]
pub enum CopyrightOwnerIdentifierRefname {
CopyrightOwnerIdentifier,
}
#[derive(Debug)]
pub enum CopyrightOwnerIdentifierShortname {
Copyrightowneridentifier,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct CopyrightOwnerIdTypeElementType {
pub refname: Option<CopyrightOwnerIdTypeRefname>,
pub shortname: Option<CopyrightOwnerIdTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List44,
}
#[derive(Debug)]
pub enum ImprintIdTypeRefname {
ImprintIdType,
}
#[derive(Debug)]
pub enum ImprintIdTypeShortname {
X445,
}
///Sales outlet identifier type
#[derive(Debug)]
pub enum List102 {
///Proprietary sales outlet ID scheme
///Proprietary list of retail and other end-user sales outlet IDs. Note that a distinctive IDTypeName is required with proprietary identifiers
_01,
///ONIX retail sales outlet ID code
///Use with ONIX retail and other end-user sales outlet IDs from List 139
_03,
///Retail sales outlet GLN
///13-digit GS1 global location number (formerly EAN location number). Only for use in ONIX 3.0 or later
_04,
///Retail sales outlet SAN
///7-digit Book trade Standard Address Number (US, UK etc). Only for use in ONIX 3.0 or later
_05,
}
#[derive(Debug)]
pub enum SalesOutletIdTypeRefname {
SalesOutletIdType,
}
#[derive(Debug)]
pub enum SalesOutletIdTypeShortname {
B393,
}
#[derive(Debug)]
pub enum DiscountPercentRefname {
DiscountPercent,
}
#[derive(Debug)]
pub enum DiscountPercentShortname {
J267,
}
#[derive(Debug)]
pub enum PriceCodedRefname {
PriceCoded,
}
#[derive(Debug)]
pub enum PriceCodedShortname {
Pricecoded,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceCodeTypeElementType {
pub refname: Option<PriceCodeTypeRefname>,
pub shortname: Option<PriceCodeTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List179,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct PriceCodeTypeNameElementType {
pub refname: Option<PriceCodeTypeNameRefname>,
pub shortname: Option<PriceCodeTypeNameShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct PriceCodeElementType {
pub refname: Option<PriceCodeRefname>,
pub shortname: Option<PriceCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: String,
}
#[derive(Debug)]
pub enum TaxRefname {
Tax,
}
#[derive(Debug)]
pub enum TaxShortname {
Tax,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
///Language of textual data element
///Note ONIX does not use the xml:lang attribute
#[derive(Debug)]
pub struct PricePartDescriptionElementType {
pub refname: Option<PricePartDescriptionRefname>,
pub shortname: Option<PricePartDescriptionShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub language: Option<List74>,
pub content: String,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TaxTypeElementType {
pub refname: Option<TaxTypeRefname>,
pub shortname: Option<TaxTypeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List171,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TaxRateCodeElementType {
pub refname: Option<TaxRateCodeRefname>,
pub shortname: Option<TaxRateCodeShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: List62,
}
#[derive(Debug)]
pub enum TaxContent337 {
Content338(TaxContent338),
Content339(TaxContent339),
}
#[derive(Debug)]
pub enum TaxExemptRefname {
TaxExempt,
}
#[derive(Debug)]
pub enum TaxExemptShortname {
X546,
}
#[derive(Debug)]
pub enum CopyrightOwnerIdTypeRefname {
CopyrightOwnerIdType,
}
#[derive(Debug)]
pub enum CopyrightOwnerIdTypeShortname {
B392,
}
///Price code type
#[derive(Debug)]
pub enum List179 {
///Proprietary price coding scheme
///A publisher or retailer’s proprietary price code list, which identifies particular codes with particular price points, price tiers or bands. Note that a distinctive PriceCodeTypeName is required with proprietary coding schemes
_01,
///Finnish Pocket Book price code
///Price Code scheme for Finnish Pocket Books (Pokkareiden hintaryhmä). Price codes expressed as letters A–J in PriceCode
_02,
///Finnish Miki Book price code
///Price Code scheme for Finnish Miki Books (Miki-kirjojen hintaryhmä). Price codes expressed as an integer 1–n in PriceCode
_03,
}
#[derive(Debug)]
pub enum PriceCodeTypeRefname {
PriceCodeType,
}
#[derive(Debug)]
pub enum PriceCodeTypeShortname {
X465,
}
#[derive(Debug)]
pub enum PriceCodeTypeNameRefname {
PriceCodeTypeName,
}
#[derive(Debug)]
pub enum PriceCodeTypeNameShortname {
X477,
}
#[derive(Debug)]
pub enum PriceCodeRefname {
PriceCode,
}
#[derive(Debug)]
pub enum PriceCodeShortname {
X468,
}
#[derive(Debug)]
pub enum PricePartDescriptionRefname {
PricePartDescription,
}
#[derive(Debug)]
pub enum PricePartDescriptionShortname {
X535,
}
///Tax type
#[derive(Debug)]
pub enum List171 {
///VAT (Value-added tax)
///TVA, IVA, MwSt, GST etc, levied incrementally at all parts of the supply chain
_01,
///GST (Sales tax)
///General sales tax, levied on retail sales
_02,
///ECO
///‘Green’ or eco-tax, levied to encourage responsible production or disposal, used only where this is identified separately from value-added or sales taxes
_03,
}
#[derive(Debug)]
pub enum TaxTypeRefname {
TaxType,
}
#[derive(Debug)]
pub enum TaxTypeShortname {
X470,
}
///Tax rate type
#[derive(Debug)]
pub enum List62 {
///Higher rate
///Specifies that tax is applied at a higher rate than standard
H,
///Tax paid at source (Italy)
///Under Italian tax rules, VAT on books may be paid at source by the publisher, and subsequent transactions through the supply chain are tax-exempt
P,
///Lower rate
///Specifies that tax is applied at a lower rate than standard. In the EU, use code R for ‘Reduced rates’, and for rates lower than 5%, use code T (‘Super-reduced’) or Z (Zero-rated)
R,
///Standard rate
S,
///Super-low rate
///Specifies that tax is applied at a rate lower than the Lower rate(s). In the EU, use code T for ‘Super-reduced rates’, and for Reduced rates (5% or above) use code R (Lower rate). Only for use in ONIX 3.0 or later
T,
///Zero-rated
Z,
}
#[derive(Debug)]
pub enum TaxRateCodeRefname {
TaxRateCode,
}
#[derive(Debug)]
pub enum TaxRateCodeShortname {
X471,
}
#[derive(Debug)]
pub struct TaxContent338 {
pub tax_rate_percent: TaxRatePercentElementType,
pub taxable_amount: Option<TaxableAmountElementType>,
pub tax_amount: Option<TaxAmountElementType>,
}
#[derive(Debug)]
pub struct TaxContent339 {
pub taxable_amount: Option<TaxableAmountElementType>,
pub tax_amount: TaxAmountElementType,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TaxRatePercentElementType {
pub refname: Option<TaxRatePercentRefname>,
pub shortname: Option<TaxRatePercentShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: f64,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TaxableAmountElementType {
pub refname: Option<TaxableAmountRefname>,
pub shortname: Option<TaxableAmountShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: f64,
}
///Standard attributes for all ONIX data elements
///● Date last changed or confirmed to be correct
///● Source authority for the data element
///● Type of organization that is the source authority
#[derive(Debug)]
pub struct TaxAmountElementType {
pub refname: Option<TaxAmountRefname>,
pub shortname: Option<TaxAmountShortname>,
pub datestamp: Option<String>,
pub sourcename: Option<String>,
pub sourcetype: Option<List3>,
pub content: f64,
}
#[derive(Debug)]
pub enum TaxRatePercentRefname {
TaxRatePercent,
}
#[derive(Debug)]
pub enum TaxRatePercentShortname {
X472,
}
#[derive(Debug)]
pub enum TaxableAmountRefname {
TaxableAmount,
}
#[derive(Debug)]
pub enum TaxableAmountShortname {
X473,
}
#[derive(Debug)]
pub enum TaxAmountRefname {
TaxAmount,
}
#[derive(Debug)]
pub enum TaxAmountShortname {
X474,
}
}
pub mod xs {
#[derive(Debug, Default)]
pub struct Entities(pub Vec<String>);
}