Module jonix.onix2

Class Product

java.lang.Object
com.tectonica.jonix.onix2.Product
All Implemented Interfaces:
OnixComposite, OnixComposite.OnixSuperComposite, OnixProduct, OnixTag, Serializable

public class Product extends Object implements OnixProduct, Serializable

Product record

A product is described by a group of data elements beginning with an XML label <Product> and ending with an XML label </Product>. The entire group of data elements which is enclosed between these two labels constitutes an ONIX product record. The product record is the fundamental unit within an ONIX Product Information message. In almost every case, each product record describes an individually tradable item.

Reference name <Product>
Short tag <product>

This tag may be included in the following composites:

Possible placements within ONIX message:

See Also:
  • Field Details

  • Constructor Details

    • Product

      public Product(Element element)
      This constructor is for backward compatibility. For future proofing, it's recommended to use the other constructor, passing onixRelease label.
    • Product

      public Product(Element element, String onixRelease)
  • Method Details

    • onixVersion

      public OnixVersion onixVersion()
      Specified by:
      onixVersion in interface OnixProduct
    • onixRelease

      public String onixRelease()
      Specified by:
      onixRelease in interface OnixProduct
    • _initialize

      public void _initialize()
      Description copied from interface: OnixComposite
      This is an internal API. Since Jonix 8.0, composite objects are being populated lazily. This method initiates the population process, and is invoked internally by the accessor APIs of the composites
      Specified by:
      _initialize in interface OnixComposite
    • exists

      public boolean exists()
      Description copied from interface: OnixTag
      indicates whether this tag exists in the ONIX record
      Specified by:
      exists in interface OnixTag
      Returns:
      whether this tag (<Product> or <product>) is explicitly provided in the ONIX XML
    • ifExists

      public void ifExists(Consumer<Product> action)
    • getXmlElement

      public Element getXmlElement()
      Description copied from interface: OnixComposite
      For advanced use-cases only.
      Specified by:
      getXmlElement in interface OnixComposite
      Returns:
      native representation of the XML element underlying to this tag
    • recordReference

      public RecordReference recordReference()

      For every product, you must choose a single number which will uniquely identify the Information record which you send out about that product, and which will remain as its permanent identifier every time you send an update. It doesn’t matter what number you choose, provided that it is unique and permanent. This number doesn’t really identify the product – even though you may choose to use the ISBN or another product identifier – it identifies your information record about the product, so that the person to whom you are sending an update can match it with what you have previously sent. A good way of generating numbers which are not part of a recognized product identification scheme but which can be guaranteed to be unique is to preface the number with an Internet domain name which is registered to your organisation.

      This field is mandatory and non-repeating.

      Jonix-Comment: this field is required
    • notificationType

      public NotificationType notificationType()

      An ONIX code which indicates the type of notification or update which you are sending. Mandatory and non-repeating.

      Jonix-Comment: this field is required
    • isbn

      public ISBN isbn()

      The 10-character International Standard Book Number, the recognized standard identifier for books and certain other non-serial publications up to 31 December 2006. Optional and non-repeating. The <ProductIdentifier> composite on a later page provides a more general method of handling this and other product codes, and is to be preferred. The <ISBN> element is on no account to be used to carry a 13-digit ISBN.

      Jonix-Comment: this field is required
    • distinctiveTitle

      public DistinctiveTitle distinctiveTitle()

      The full text of the distinctive title of the product, without abbreviation or abridgement, but excluding the subtitle (if any). Where the title alone is not distinctive, elements may be taken from a set or series title and part number etc to create a distinctive title. Where the product is an omnibus edition containing two or more works by the same author, and there is no separate product title, a product title may be constructed by concatenating the individual titles, with suitable punctuation, as in the second example below. (If, however, there is a separate product title, or if more description of each individual work is required, the <ContentItem> composite can be used for the individual works – see Group PR.18.) Optional and non-repeating. The <Title> composite on a later page provides a more general method of handling all forms of title, and is to be preferred.

      Jonix-Comment: this field is required
    • conferenceName

      public ConferenceName conferenceName()

      The name of a conference or conference series to which the product is related. This element is mandatory unless the <ConferenceDescription> element or the <Conference> composite is used, and is non-repeating. The <Conference> composite on a later page provides a more general method of handling conference detail, and is to be preferred.

      Jonix-Comment: this field is required
    • imprintName

      public ImprintName imprintName()

      The full name of the imprint or brand under which the product is issued, as it appears on the title page of a book or in a corresponding position on a non-book product. Optional and non-repeating; and should not be used if the <Imprint> composite is used.

      The <Imprint> composite below provides a more general method of handling imprint identities, and is to be preferred.

      Jonix-Comment: this field is required
    • height

      public Height height()

      The overall height of the product: in the case of a book, the spine height, in the units specified in the message header, <DefaultLinearUnit> field, defined in the ONIX for Books – Product Information Message – XML Message Specification. Optional and non-repeating; but required if either <Width> or <Thickness> is present. The <Measure> composite on a previous page provides a more general method of handling measurements, and is to be preferred.

      Jonix-Comment: this field is required
    • contributors

      public ListOfOnixComposite<Contributor> contributors()

      A repeatable group of data elements which together describe a personal or corporate contributor to the product.

      Jonix-Comment: this list is required to contain at least one item
    • deletionCode

      public DeletionCode deletionCode()

      An ONIX code which indicates the reason why an ONIX record is being deleted. Optional and non-repeating; and may occur only when the <NotificationType> element carries the code value 05. Note that it refers to the reason why the record is being deleted, not the reason why a product has been “deleted” (in industries which use this terminology when a product is withdrawn).

      Jonix-Comment: this field is optional
    • deletionText

      public DeletionText deletionText()

      Free text which indicates the reason why an ONIX record is being deleted. Optional and non-repeating; and may occur only when the <NotificationType> element carries the code value 05. Note that it refers to the reason why the record is being deleted, not the reason why a product has been “deleted” (in industries which use this terminology when a product is withdrawn).

      Jonix-Comment: this field is optional
    • recordSourceType

      public RecordSourceType recordSourceType()

      An ONIX code which indicates the type of source which has issued the ONIX record. Optional and non-repeating, independently of the occurrence of any other field.

      Jonix-Comment: this field is optional
    • recordSourceIdentifierType

      public RecordSourceIdentifierType recordSourceIdentifierType()

      An ONIX code identifying the scheme from which the identifier in the <RecordSourceIdentifier> element is taken. Optional and non-repeating, but <RecordSourceIdentifier> must also be present if this field is present.

      Jonix-Comment: this field is optional
    • recordSourceIdentifier

      public RecordSourceIdentifier recordSourceIdentifier()

      An identifier for the party which issued the record, from the scheme specified in <RecordSourceIdentifierType>. Optional and non-repeating, but <RecordSourceIdentifierType> must also be present if this field is present.

      Jonix-Comment: this field is optional
    • recordSourceName

      public RecordSourceName recordSourceName()

      The name of the party which issued the record, as free text. Optional and non-repeating, independently of the occurrence of any other field.

      Jonix-Comment: this field is optional
    • ean13

      public EAN13 ean13()

      The cross-industry product code administered by EAN International and its member agencies worldwide, in association with UCC in the US. Optional and non-repeating. For books, an EAN number can be derived from a ten-character ISBN by (a) prefixing it with the three digits 978, (b) deleting the ISBN check character, and (c) attaching a new check digit calculated according to EAN rules. The <ProductIdentifier> composite on a later page provides a more general method of handling this and other product codes, and is to be preferred.

      Jonix-Comment: this field is optional
    • upc

      public UPC upc()

      Universal Product Code, the cross-industry product numbering and bar-coding system administered in the USA by the Uniform Code Council. Optional and non-repeating. In the US book trade, required for mass-market editions sold in supermarkets and other non-book-trade outlets. The <ProductIdentifier> composite on a later page provides a more general method of handling this and other product codes, and is to be preferred.

      Jonix-Comment: this field is optional
    • publisherProductNo

      public PublisherProductNo publisherProductNo()

      A product code assigned by the publisher of a product, not taken from a recognized standard numbering scheme. Optional and non-repeating. To be used only when the product does not have a number from a recognized industry standard scheme (eg ISBN or ISMN), but may occur together with an EAN-13 number. The <ProductIdentifier> composite on a later page provides a more general method of handling this and other product codes, and is to be preferred.

      Jonix-Comment: this field is optional
    • ismn

      public ISMN ismn()

      International Standard Music Number, the recognized standard identifier for printed music. Optional and non-repeating. The <ProductIdentifier> composite on a later page provides a more general method of handling this and other product codes, and is to be preferred.

      Jonix-Comment: this field is optional
    • doi

      public DOI doi()

      Digital Object Identifier. The international identifier for intellectual property in the digital environment. See http://www.doi.org/ Optional and non-repeating. The <ProductIdentifier> composite below provides a more general method of handling this and other product codes, and is to be preferred.

      Jonix-Comment: this field is optional
    • replacesISBN

      public ReplacesISBN replacesISBN()

      10-character International Standard Book Number of a former product which the current product replaces. Optional and non-repeating. Note, however, that the <RelatedProduct> composite in Group PR.23 provides a more general method of handling this type of link. This is now the preferred ONIX approach. The <ReplacesISBN> element is retained only for upwards compatibility. This element is on no account to be used to carry a 13-digit ISBN.

      Jonix-Comment: this field is optional
    • replacesEAN13

      public ReplacesEAN13 replacesEAN13()

      The EAN.UCC-13 article number of a former product which the current product replaces. Optional and non-repeating. Note, however, that the <RelatedProduct> composite in Group PR.23 provides a more general method of handling this type of link. This is now the preferred ONIX approach. The <ReplacesISBN> element is retained only for upwards compatibility.

      Jonix-Comment: this field is optional
    • productForm

      public ProductForm productForm()

      An ONIX code which indicates the primary form of the product. Mandatory and non-repeating.

      Jonix-Comment: this field is optional
    • productPackaging

      public ProductPackaging productPackaging()

      An ONIX code which indicates the type of packaging used for the product. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • productFormDescription

      public ProductFormDescription productFormDescription()

      If product form codes do not adequately describe the product, a short text description may be added to give a more detailed specification of the product form. The field is optional and non-repeating. Although this element was originally included to allow the number and type of pieces contained in a multiple product to be stated, as in the example below, the correct method of describing mixed media products in Release 2.1 is to use two or more occurrences of the <ContainedItem> composite to give a properly structured specification of each media type.

      Jonix-Comment: this field is optional
    • numberOfPieces

      public NumberOfPieces numberOfPieces()

      If the product is homogeneous (ie all items or pieces which constitute the product have the same form), the number of items or pieces may be included here. If the product consists of a number of items or pieces of different forms (eg books and audio cassettes), the <ContainedItem> composite should be used – see below. This field is optional and non-repeating.

      Jonix-Comment: this field is optional
    • tradeCategory

      public TradeCategory tradeCategory()

      An ONIX code which indicates a trade category which is somewhat related to but not properly an attribute of product form. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • epubType

      public EpubType epubType()

      An ONIX code identifying the type of an epublication. This element is mandatory if and only if the <ProductForm> code for the product is DG; and non-repeating.

      In general, an <EpubType> code identifies a particular form in which an epublication is traded. The exception to this is that code 000 identifies a “content package” which is published electronically in a number of different forms. This value is used when the ONIX record describes and identifies the content package independently of the forms in which it is made available. Each available form can then be described by using the <RelatedProduct> composite in Group PR.23.

      Jonix-Comment: this field is optional
    • epubTypeVersion

      public EpubTypeVersion epubTypeVersion()

      A version number which applies to a specific epublication type. Optional and non-repeating, and can occur only if the <EpubType> field is present.

      Jonix-Comment: this field is optional
    • epubTypeDescription

      public EpubTypeDescription epubTypeDescription()

      A free text description of an epublication type. Optional and non-repeating, and can occur only if the <EpubType> field is present.

      Jonix-Comment: this field is optional
    • epubFormat

      public EpubFormat epubFormat()

      An ONIX code identifying the underlying format of an epublication. Optional and non-repeating, and can occur only if the <EpubType> field is present. Note that where the epublication type is wholly defined by the delivery format, this element effectively duplicates the <EpubType> field.

      Jonix-Comment: this field is optional
    • epubFormatVersion

      public EpubFormatVersion epubFormatVersion()

      A version number which applies to an epublication format. Optional and non-repeating, and can occur only if the <EpubFormat> field is present.

      Jonix-Comment: this field is optional
    • epubFormatDescription

      public EpubFormatDescription epubFormatDescription()

      A free text description of an epublication format. Optional and non-repeating, and can occur only if the <EpubType> field is present, but it does not require the presence of the <EpubFormat> field.

      Jonix-Comment: this field is optional
    • epubSource

      public EpubSource epubSource()

      An ONIX code identifying the source file format of an epublication when shipped by a publisher to an intermediary for conversion to one or more forms of deliverable. Optional and non-repeating, and can occur only if the <EpubType> field is present.

      Jonix-Comment: this field is optional
    • epubSourceVersion

      public EpubSourceVersion epubSourceVersion()

      A version number which applies to an epublication source file format. Optional and non-repeating, and can occur only if the <EpubSource> field is present.

      Jonix-Comment: this field is optional
    • epubSourceDescription

      public EpubSourceDescription epubSourceDescription()

      A free text description of an epublication source file format. Optional and non-repeating, and can occur only if the <EpubType> field is present, but it does not require the presence of the <EpubSource> field.

      Jonix-Comment: this field is optional
    • epubTypeNote

      public EpubTypeNote epubTypeNote()

      A free text description of features of a product which are specific to its appearance as a particular epublication type. Optional and non-repeatable, and can occur only if the <EpubType> field is present.

      Jonix-Comment: this field is optional
    • noSeries

      public NoSeries noSeries()

      An empty element that provides a positive indication that a product does not belong to a series. Intended to be used in an ONIX accreditation scheme to confirm that series information is being consistently supplied in publisher ONIX feeds. Optional and non-repeating. Must only be sent in a record that has no instances of the <Series> composite.

      Jonix-Comment: this field is optional
    • isNoSeries

      public boolean isNoSeries()
    • textCaseFlag

      public TextCaseFlag textCaseFlag()

      An ONIX code indicating the case in which the title elements are sent. The default is “unspecified”. Optional and non-repeating. Text case can now be indicated by an XML attribute on any text element, and this method is preferred. See ONIX for Books – Product Information Message – XML Message Specification, Section 4.

      Jonix-Comment: this field is optional
    • titlePrefix

      public TitlePrefix titlePrefix()

      Text at the beginning of the distinctive title of the product which is to be ignored for alphabetical sorting. Optional and non-repeating; can only be used if the <TitleWithoutPrefix> element is also present. These two elements may be used in combination in applications where it is necessary to distinguish an initial word or character string which is to be ignored for filing purposes, eg in library systems and in some bookshop databases. The <Title> composite on a later page provides a more general method of handling all forms of title, and is to be preferred.

      Jonix-Comment: this field is optional
    • titleWithoutPrefix

      public TitleWithoutPrefix titleWithoutPrefix()

      Full text of the distinctive title of the product, without abbreviation or abridgement, and without the title prefix. Optional and non-repeating; can only be used if the <TitlePrefix> element is also present. The <Title> composite on a later page provides a more general method of handling all forms of title, and is to be preferred.

      Jonix-Comment: this field is optional
    • subtitle

      public Subtitle subtitle()

      The full text of the subtitle of the product, if any. “Subtitle” means any added words which appear with the title of the product and which amplify and explain the title, but which are not considered to be part of the distinctive title. Optional and non-repeating. The <Title> composite on a later page provides a more general method of handling all forms of title, and is to be preferred.

      Jonix-Comment: this field is optional
    • translationOfTitle

      public TranslationOfTitle translationOfTitle()

      Title of a work from which the product is translated, without abbreviation or abridgement. Optional and non-repeating. The <Title> composite on a later page provides a more general method of handling all forms of title, and is to be preferred.

      Jonix-Comment: this field is optional
    • thesisType

      public ThesisType thesisType()

      An ONIX code identifying a thesis type, when the ONIX record describes an item which was originally presented as an academic thesis or dissertation. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • thesisPresentedTo

      public ThesisPresentedTo thesisPresentedTo()

      The name of an academic institution to which a thesis was presented. Optional and non-repeating, but if this element is present, <ThesisType> must also be present.

      Jonix-Comment: this field is optional
    • thesisYear

      public ThesisYear thesisYear()

      The year in which a thesis was presented. Optional and non-repeating, but if this element is present, <ThesisType> must also be present.

      Jonix-Comment: this field is optional
    • contributorStatement

      public ContributorStatement contributorStatement()

      Free text showing how the authorship should be described in an online display, when a standard concatenation of individual contributor elements would not give a satisfactory presentation. When this field is sent, the receiver should use it to replace all name detail sent in the <Contributor> composite for display purposes only. It does not replace the <BiographicalNote> element. The individual name detail must also be sent in the <Contributor> composite for indexing and retrieval.

      Jonix-Comment: this field is optional
    • noContributor

      public NoContributor noContributor()

      An empty element that provides a positive indication that a product has no stated authorship. Intended to be used in an ONIX accreditation scheme to confirm that author information is being consistently supplied in publisher ONIX feeds. Optional and non-repeating. Must only be sent in a record that has no other elements from Group PR.8.

      Jonix-Comment: this field is optional
    • isNoContributor

      public boolean isNoContributor()
    • conferenceDescription

      public ConferenceDescription conferenceDescription()

      Free text detailing all relevant information about a conference to which the product is related. If this element is sent, no other fields from Group PR.9 must be sent. The <Conference> composite on a later page provides a more general method of handling conference detail, and is to be preferred.

      Jonix-Comment: this field is optional
    • conferenceRole

      public ConferenceRole conferenceRole()

      An ONIX code which indicates the relationship between the product and a conference to which it is related, eg Proceedings of / Selected papers from / Developed from. Optional and non-repeating. The <Conference> composite on a later page provides a more general method of handling conference detail, and is to be preferred.

      Jonix-Comment: this field is optional
    • conferenceNumber

      public ConferenceNumber conferenceNumber()

      The number of a conference to which the product is related, within a conference series. Optional and non-repeating. The <Conference> composite below provides a more general method of handling conference detail, and is to be preferred.

      Jonix-Comment: this field is optional
    • conferenceDate

      public ConferenceDate conferenceDate()

      The date of a conference to which the product is related. Optional and non-repeating. The <Conference> composite below provides a more general method of handling conference detail, and is to be preferred.

      Jonix-Comment: this field is optional
    • conferencePlace

      public ConferencePlace conferencePlace()

      The place of a conference to which the product is related. Optional and non-repeating. The <Conference> composite below provides a more general method of handling conference detail, and is to be preferred.

      Jonix-Comment: this field is optional
    • editionNumber

      public EditionNumber editionNumber()

      The number of a numbered edition. Optional and non-repeating. Normally sent only for the second and subsequent editions of a work, but by agreement between parties to an ONIX exchange a first edition may be explicitly numbered.

      Jonix-Comment: this field is optional
    • editionVersionNumber

      public EditionVersionNumber editionVersionNumber()

      The number of a numbered revision within an edition number. To be used only where a publisher uses such two-level numbering to indicate revisions which do not constitute a new edition under a new ISBN or other distinctive product identifier. Optional and non-repeating. If this field is used, an <EditionNumber> must also be present.

      Jonix-Comment: this field is optional
    • editionStatement

      public EditionStatement editionStatement()

      A short free-text description of a version or edition. Optional and non-repeating. When used, the <EditionStatement> must carry a complete description of the nature of the edition, ie it should not be treated as merely supplementary to an <EditionTypeCode> or an <EditionNumber>. The <EditionStatement> should be strictly limited to describing features of the content of the edition, and should not include aspects such as rights or market restrictions which are properly covered elsewhere in the ONIX record.

      Jonix-Comment: this field is optional
    • noEdition

      public NoEdition noEdition()

      An empty element that provides a positive indication that a product does not carry any edition information. Intended to be used an ONIX accreditation scheme to confirm that edition information is being consistently supplied in publisher ONIX feeds. Optional and non-repeating. Must only be sent in a record that has no instances of any of the four preceding Edition elements.

      Jonix-Comment: this field is optional
    • isNoEdition

      public boolean isNoEdition()
    • religiousText

      public ReligiousText religiousText()

      An optional, non-repeating, group of data elements which together describe features of the content of an edition of a religious text, and intended to meet the special needs of religious publishers and booksellers. The <ReligiousText> composite may carry either a <Bible> composite or a <ReligiousTextID> element accompanied by multiple repeats of the <ReligiousTextFeature> composite. This approach is adopted to enable other devotional texts to be included if need arises without requiring a new ONIX release.

      Jonix-Comment: this field is optional
    • originalLanguage

      public OriginalLanguage originalLanguage()

      A code indicating the language from which the text of the product was translated. Optional and non-repeating. The <Language> composite on the next page provides a more general method of handling language detail, and is to be preferred.

      Jonix-Comment: this field is optional
    • numberOfPages

      public NumberOfPages numberOfPages()

      An indication of the total number of pages in a book or other printed product. This is not intended to represent a precise count of numbered and unnumbered pages. It is usually sufficient to take the number from the last numbered page. If there are two or more separate numbering sequences (eg xviii + 344), the numbers in each sequence may be added together to make an overall total (in this case 362), but do not count unnumbered pages except if the book does not have numbered pages at all.

      For multi-volume books, enter the total for all the volumes combined.

      This field is optional, but it is normally required for a printed book unless the <PagesRoman> and <PagesArabic> elements are used, and is non-repeating.

      Jonix-Comment: this field is optional
    • pagesRoman

      public PagesRoman pagesRoman()

      The number of pages numbered in roman numerals. The <PagesRoman> and <PagesArabic> elements together represent an alternative to <NumberOfPages> where there is a requirement to specify these numbering sequences separately. For most ONIX applications, however, <NumberOfPages> will be preferred. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • pagesArabic

      public PagesArabic pagesArabic()

      The number of pages numbered in Arabic numerals. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • numberOfIllustrations

      public NumberOfIllustrations numberOfIllustrations()

      The total number of illustrations in a book or other printed product. The more informative free text field <IllustrationsNote> or the <Illustrations> composite are preferred, but where the sender of the product information maintains only a simple numeric field, the <NumberOfIllustrations> element may be used. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • illustrationsNote

      public IllustrationsNote illustrationsNote()

      For books or other text media only, this data element carries text stating the number and type of illustrations. The text may also include other content items, eg maps, bibliography, tables, index etc. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • basicMainSubject

      public BASICMainSubject basicMainSubject()

      A BISAC subject category code which identifies the main subject of the product. Optional and non-repeating. Additional BISAC subject category codes may be sent using the <Subject> composite. Note that the data element reference name was assigned during a period when the BISAC name had been changed to “BASIC”. The name has now officially reverted to “BISAC”, but the ONIX data element name cannot be changed for reasons of upwards compatibility.

      Jonix-Comment: this field is optional
    • basicVersion

      public BASICVersion basicVersion()

      A number identifying the version of the BISAC subject categories used in <BASICMainSubject>. Optional and non-repeating, and may only occur when <BASICMainSubject> is also present.

      Jonix-Comment: this field is optional
    • bicMainSubject

      public BICMainSubject bicMainSubject()

      A BIC subject category code which identifies the main subject of the product. Optional and non-repeating. Additional BIC subject category codes may be sent using the <Subject> composite.

      Jonix-Comment: this field is optional
    • bicVersion

      public BICVersion bicVersion()

      A number identifying the version of the BIC subject category scheme used in <BICMainSubject>. Optional and non-repeating, and may only occur when <BICMainSubject> is also present.

      Jonix-Comment: this field is optional
    • usSchoolGrade

      public USSchoolGrade usSchoolGrade()

      A text element specifying a US school Grade or range of Grades, which should be entered strictly according to the conventions defined below. Optional and non-repeating. The <AudienceRange> composite on the next page provides a more general method of handling grade and other ranges, and is to be preferred.

      Jonix-Comment: this field is optional
    • interestAge

      public InterestAge interestAge()

      A text element specifying a target interest age of range of ages. which should be entered strictly according to the conventions defined below. Optional and non-repeating. The <AudienceRange> composite on the next page provides a more general method of handling interest age and other ranges, and is to be preferred.

      Jonix-Comment: this field is optional
    • audienceDescription

      public AudienceDescription audienceDescription()

      Free text describing the audience for which a product is intended. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • annotation

      public Annotation annotation()

      A brief descriptive paragraph about the product, length strictly limited to 350 characters. Optional and non-repeating. The <OtherText> composite on the next page provides a more general method of handling annotations, and is to be preferred.

      The <Annotation> element may carry any of the following ONIX attributes: textformat, language, transliteration, textcase.

      Jonix-Comment: this field is optional
    • mainDescription

      public MainDescription mainDescription()

      Descriptive text about the product, audience unspecified. Optional and non-repeating.

      The <OtherText> composite on the next page provides a more general method of handling descriptions, and is to be preferred.

      The <MainDescription> element may carry any of the following ONIX attributes: textformat, language, transliteration, textcase.

      Jonix-Comment: this field is optional
    • coverImageFormatCode

      public CoverImageFormatCode coverImageFormatCode()

      An ONIX code which specifies the image file format used for the front cover image. JPEG, GIF and TIF are supported. The data element group consisting of <CoverImageFormatCode>, <CoverImageLinkTypeCode>, and <CoverImageLink> is optional and non-repeating, but if any one of the three elements is present, all three must be present.

      The <MediaFile> composite on the next page provides a more general method of handling cover images, and is to be preferred.

      Jonix-Comment: this field is optional
    • coverImageLinkTypeCode

      public CoverImageLinkTypeCode coverImageLinkTypeCode()

      An ONIX code which identifies the type of link which is given in <CoverImageLink>.

      The <MediaFile> composite on the next page provides a more general method of handling cover images, and is to be preferred.

      Jonix-Comment: this field is optional
    • coverImageLink

      public CoverImageLink coverImageLink()

      A link to a front cover image file, using the link type specified in <CoverImageLinkTypeCode>.

      Jonix-Comment: this field is optional
    • prizesDescription

      public PrizesDescription prizesDescription()

      Free text describing prizes or awards which the product has received. Optional and non-repeating. If this field is used, the <Prize< composite must not be used; and vice versa.

      The <Prize> composite below provides a more general method of handling prizes, and is to be preferred.

      Jonix-Comment: this field is optional
    • publisherName

      public PublisherName publisherName()

      The full name of the publisher who issues the product, in the form in which the publisher wishes to be identified, and controlled by the publisher to maintain consistency across products. Optional and non-repeating; and should not be used if the <Publisher> composite is used. Except where they are essential to the recognized form of the name, it is recommended that suffixes denoting incorporation (“Co”, “Inc”, “Ltd”, “SA”, “GmbH”) should be omitted.

      The <Publisher> composite below provides a more general method of handling publisher identities, and is to be preferred.

      Jonix-Comment: this field is optional
    • countryOfPublication

      public CountryOfPublication countryOfPublication()

      A code identifying the country where the product is issued. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • originalPublisher

      public OriginalPublisher originalPublisher()

      The name of the publisher of the original-language version of a translated work. Except where they are essential to the recognized form of the name, it is recommended that suffixes denoting incorporation (“Co”, “Inc”, “Ltd”, “SA”, “GmbH”) should be omitted. Optional and non-repeating.

      The <Publisher> composite on preceding pages provides a more general method of handling publisher identities, and is to be preferred.

      Jonix-Comment: this field is optional
    • publishingStatus

      public PublishingStatus publishingStatus()

      An ONIX code which identifies the status of a published product. Optional and non-repeating, but it is very strongly recommended that this element should be included in all ONIX Books Product records, and it is possible that it may be made mandatory in a future release, or that it will be treated as mandatory in national ONIX accreditation schemes.

      Where the element is sent by a sender who is not the publisher, based on information that has been previously supplied by the publisher, it is strongly recommended that the element should carry a datestamp attribute to indicate its likely reliability. See ONIX for Books – Product Information Message – XML Message Specification, Section 4, for details of the datestamp attribute.

      Jonix-Comment: this field is optional
    • publishingStatusNote

      public PublishingStatusNote publishingStatusNote()

      Free text that describes the status of a published product, when the code in <PublishingStatus> is insufficient. Optional and non-repeating, but must be accompanied by the <PublishingStatus> element.

      Jonix-Comment: this field is optional
    • announcementDate

      public AnnouncementDate announcementDate()

      Date when information about the product can be issued to the general public. (Some publishers issue advance information under embargo.) Optional and non-repeating.

      Jonix-Comment: this field is optional
    • tradeAnnouncementDate

      public TradeAnnouncementDate tradeAnnouncementDate()

      Date when information about the product can be issued to the book trade, while remaining embargoed for the general public. (Some publishers issue advance information under embargo.) Optional and non-repeating.

      Jonix-Comment: this field is optional
    • publicationDate

      public PublicationDate publicationDate()

      The date of first publication of this product in the home market of the publisher named in PR.19 (that is, under the current ISBN or other identifier, as distinct from the date of first publication of the work, which may be given in <YearFirstPublished> on the next page). In advance information, this will be an expected date, which should be replaced by the actual date of publication when known. The date should be given as precisely as possible, but in early notifications a month and year are sufficient; and for backlist titles the year of publication is sufficient.

      Note that in advance information this date must not be interpreted as the date when the product will first be available in a territory other than the publisher’s home market. See the <SupplyDetail> and <MarketRepresentation> composites, Groups PR.24 and PR.25, for other market-specific detail.

      Optional and non-repeating.

      Jonix-Comment: this field is optional
    • copyrightYear

      public CopyrightYear copyrightYear()

      The copyright year as it appears in a copyright statement on the product. If several years are listed, use the most recent. Optional and non-repeating, and may not occur if the <CopyrightStatement> composite is present.

      Jonix-Comment: this field is optional
    • yearFirstPublished

      public YearFirstPublished yearFirstPublished()

      The year when the work first appeared in any language or edition, if different from the copyright year. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • width

      public Width width()

      The overall width of the product: in the case of a book, the cover or case width, in the units specified in the message header, <DefaultLinearUnit> field, defined in the ONIX for Books – Product Information Message – XML Message Specification. Optional and non-repeating. The <Measure> composite on a previous page provides a more general method of handling measurements, and is to be preferred.

      Jonix-Comment: this field is optional
    • thickness

      public Thickness thickness()

      The overall thickness of the product: in the case of a book, the spine thickness, in the units specified in the message header, <DefaultLinearUnit> field, defined in the ONIX for Books – Product Information Message – XML Message Specification. Optional and non-repeating. The <Measure> composite on a previous page provides a more general method of handling measurements, and is to be preferred.

      Jonix-Comment: this field is optional
    • weight

      public Weight weight()

      The weight of a single unit of the product, in the units specified in the message header, <DefaultWeightUnit> field, defined in the ONIX for Books – Product Information Message – XML Message Specification. Optional and non-repeating. The <Measure> composite on a previous page provides a more general method of handling weights, and is to be preferred.

      Jonix-Comment: this field is optional
    • dimensions

      public Dimensions dimensions()

      Where a legacy system has no structured data for product dimensions, but has a free text statement, this field allows such a statement to be sent. However, this practise is deprecated: structured information is always greatly to be preferred. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • replacedByISBN

      public ReplacedByISBN replacedByISBN()

      International Standard Book Number identifying a new product which replaces the current product. Optional and non-repeating. The <RelatedProduct> composite on a later page provides a more general method of handling related items, and is to be preferred.

      Jonix-Comment: this field is optional
    • replacedByEAN13

      public ReplacedByEAN13 replacedByEAN13()

      The EAN-13 article number of a new product which replaces the current product. Optional and non-repeating. The <RelatedProduct> composite on a later page provides a more general method of handling related items, and is to be preferred.

      Jonix-Comment: this field is optional
    • alternativeFormatISBN

      public AlternativeFormatISBN alternativeFormatISBN()

      International Standard Book Number identifying an alternative format in which the product is available. Optional and non-repeating. The <RelatedProduct> composite on a later page provides a more general method of handling related items, and is to be preferred.

      Jonix-Comment: this field is optional
    • alternativeFormatEAN13

      public AlternativeFormatEAN13 alternativeFormatEAN13()

      EAN-13 article number identifying an alternative format in which the product is available. Optional and non-repeating. The <RelatedProduct> composite on a later page provides a more general method of handling related items, and is to be preferred.

      Jonix-Comment: this field is optional
    • alternativeProductISBN

      public AlternativeProductISBN alternativeProductISBN()

      International Standard Book Number identifying another product which is available and which the publisher suggests as an alternative. This element is used when the suggested alternative is neither a direct successor (new edition) nor the same product in an alternative format. Optional and non-repeating. The <RelatedProduct> composite on a later page provides a more general method of handling related items, and is to be preferred.

      Jonix-Comment: this field is optional
    • alternativeProductEAN13

      public AlternativeProductEAN13 alternativeProductEAN13()

      EAN-13 article number identifying another product which is available and which the publisher suggests as an alternative. This element is used when the suggested alternative is neither a direct successor (new edition) nor the same product in an alternative format. Optional and non-repeating. The <RelatedProduct> composite on a later page provides a more general method of handling related items, and is to be preferred.

      Jonix-Comment: this field is optional
    • outOfPrintDate

      public OutOfPrintDate outOfPrintDate()

      The date on which the publisher put the current product out-of-print. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • promotionCampaign

      public PromotionCampaign promotionCampaign()

      Free text describing the promotion and adverting campaign for the product. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • promotionContact

      public PromotionContact promotionContact()

      Free text giving the name, department, phone number, email address etc for a promotional contact person for the product. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • initialPrintRun

      public InitialPrintRun initialPrintRun()

      In advance information about a new book, free text detailing the number of copies which will be printed and any related aspects of the initial publishing effort. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • copiesSold

      public CopiesSold copiesSold()

      Free text detailing the number of copies already sold, eg for a new paperback, the copies sold in hardback. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • bookClubAdoption

      public BookClubAdoption bookClubAdoption()

      Free text describing the adoption of the product as a book club selection. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • productIdentifiers

      A repeatable group of data elements which together define the identifier of a product in accordance with a specified scheme, allowing new types of product identifier to be included without defining additional data elements. In particular, the composite allows proprietary identifiers (SKUs) assigned by wholesalers or vendors to be sent as part of the ONIX record.

      To support the transition from ten-character ISBNs to 13-digit ISBNs, effective from 1 January 2007, there are distinct <ProductIDType> codes for ISBN-10 and ISBN-13, as well as for EAN.UCC-13.

      ISBN-13 numbers in their unhyphenated form constitute a range of EAN.UCC-13 numbers that has been reserved for the international book trade. It has been agreed by ONIX national groups that it will be mandatory in an ONIX <Product> record for any item carrying an ISBN-13 to include the ISBN-13 labelled as an EAN.UCC number (ProductIDType code 03), since this is how the ISBN-13 will be universally used in trading transactions. For many ONIX applications this will also be sufficient.

      For some ONIX applications, however, particularly when data is to be supplied to the library sector, there may be reasons why the ISBN-13 must also be sent labelled distinctively as an ISBN-13 (ProductIDType code 15); or, if the item also has an ISBN-10, why it may still be desirable to send the ISBN-10 even after the end of 2006. Users should consult national “good practice” guidelines and/or discuss with their trading partners.

      Jonix-Comment: this list may be empty
    • barcodes

      An ONIX code indicating whether a product is bar-coded. Optional, and repeatable if the product carries two or more barcodes from different schemes. The absence of this field does NOT mean that a product is not bar-coded.

      Jonix-Comment: this list may be empty
    • productFormDetails

      An ONIX code which provides added detail of the medium and/or format of the product. Optional and repeatable.

      Jonix-Comment: this list may be empty
    • productFormFeatures

      A repeatable group of data elements which together describe an aspect of product form that is too specific to be covered in the <ProductForm> and <ProductFormDetail> elements. Optional.

      Jonix-Comment: this list may be empty
    • bookFormDetails

      An ONIX code specifying more detail of the product format when the product is a book. Repeatable when two or more coded characteristics apply. This field is optional, but must only be included when the code in the <ProductForm> element begins with letter B. This field will be superseded by the new element <ProductFormDetail>, and the code list will not be further developed. The field is retained only for purposes of upwards compatibility, and its use is now to be deprecated.

      Jonix-Comment: this list may be empty
    • productContentTypes

      An ONIX code which indicates certain types of content which are closely related to but not strictly an attribute of product form, eg audiobook. Optional and repeatable. The element is intended to be used with products where content is delivered in the form of a digital or analogue recording. It is not expected to be used for books.

      Jonix-Comment: this list may be empty
    • containedItems

      public ListOfOnixComposite<ContainedItem> containedItems()

      A repeatable group of data elements which together describe an item which is part of or contained within the current product. The composite may be used to specify the item(s) and item quantity/ies carried in a dumpbin, or included in (eg) a classroom pack, or simply to state the product forms contained within a mixed media product, without specifying their identifiers or quantity. The composite is used only when the product form coding for the product as a whole indicates that the product includes two or more different items, or multiple copies of the same item.

      Each instance of the <ContainedItem> composite must carry at least either a product identifier, or a product form code, or both. In other words, it is valid to send an instance of the composite with an identifier and no product form code, or with a product form code and no identifier.

      Jonix-Comment: this list may be empty
    • productClassifications

      A repeatable group of data elements which together define a product classification (NOT to be confused with a subject classification). The intended use is to enable national or international trade classifications (aka commodity codes) to be carried in an ONIX record.

      Jonix-Comment: this list may be empty
    • seriess

      public ListOfOnixComposite<Series> seriess()

      A repeatable group of data elements which together describe a series of which the product is part.

      Jonix-Comment: this list may be empty
    • sets

      public ListOfOnixComposite<Set> sets()

      A repeatable group of data elements which together describe a set of which the product is part.

      Jonix-Comment: this list may be empty
    • formerTitles

      public ListOfOnixElement<FormerTitle,String> formerTitles()

      A different title under which the work was previously published, without abbreviation or abridgement. Optional, and repeatable if the work has had more than one former title. The <Title> composite below provides a more general method of handling all forms of title, and is to be preferred.

      Jonix-Comment: this list may be empty
    • titles

      A repeatable group of data elements which together give the text of a title and specify its type. The composite may also be used to send a title which has been abbreviated where necessary to keep it within a specified maximum length. Any occurrence of the <Title> composite must include one of the following: <TitleText> only, <TitlePrefix> with <TitleWithoutPrefix>, <TitleText> and <TitlePrefix> with <TitleWithoutPrefix>. If there is a subtitle, it should not be sent as part of the title text, but as a separate <Subtitle> element, The <Title> element may carry any of the following ONIX attributes: textformat, language, transliteration, textcase, where these are shared by all text elements within the composite.

      Jonix-Comment: this list may be empty
    • workIdentifiers

      A group of data elements which together define the identifier of a work which is manifested in the product described by an ONIX <Product> record. Optional and repeatable.

      Jonix-Comment: this list may be empty
    • websites

      A repeatable group of data elements which together identify and provide pointers to a website which is related to the work identified in an occurrence of the <WorkIdentifier> composite.

      Jonix-Comment: this list may be empty
    • conferences

      public ListOfOnixComposite<Conference> conferences()

      A group of data elements which together describe a conference to which the product is related. Repeatable if the product contains material from two or more conferences.

      Jonix-Comment: this list may be empty
    • editionTypeCodes

      public ListOfOnixCodelist<EditionTypeCode,EditionTypes> editionTypeCodes()

      An ONIX code, indicating the type of a version or edition. Optional, and repeatable if the product has characteristics of two or more types (eg revised and annotated).

      Jonix-Comment: this list may be empty
    • languageOfTexts

      public ListOfOnixCodelist<LanguageOfText,Languages> languageOfTexts()

      A code indicating a language in which the text of the product is written: optional, and repeatable if the text is in two or more languages. The <Language> composite on the next page provides a more general method of handling language detail, and is to be preferred.

      Jonix-Comment: this list may be empty
    • languages

      A repeatable group of data elements which together represent a language, and specify its role and, where required, whether it is a country variant.

      Jonix-Comment: this list may be empty
    • extents

      A repeatable group of data elements which together describe an extent pertaining to the product.

      Jonix-Comment: this list may be empty
    • illustrationss

      A repeatable group of data elements which together specify the number of illustrations or other content items of a stated type which the product carries. Use of the <Illustrations> composite is optional.

      Jonix-Comment: this list may be empty
    • mapScales

      public ListOfOnixElement<MapScale,String> mapScales()

      The scale of a map, expressed as a ratio 1:nnnnn; only the number nnnnn is carried in the data element, without spaces or punctuation. Optional, and repeatable if the product comprises maps with two or more different scales.

      Jonix-Comment: this list may be empty
    • mainSubjects

      An optional and repeatable group of data elements which together describe a main subject classification or subject heading which is taken from a recognized scheme other than BISAC or BIC.

      Jonix-Comment: this list may be empty
    • subjects

      An optional and repeatable group of data elements which together describe a subject classification or subject heading which is additional to the BISAC, BIC or other main subject category.

      Jonix-Comment: this list may be empty
    • personAsSubjects

      public ListOfOnixComposite<PersonAsSubject> personAsSubjects()

      An optional and repeatable group of data elements which together represent the name of a person who is part of the subject of a product.

      Jonix-Comment: this list may be empty
    • corporateBodyAsSubjects

      public ListOfOnixElement<CorporateBodyAsSubject,String> corporateBodyAsSubjects()

      The name of a corporate body which is part of the subject of the product. Optional, and repeatable if more than one corporate body is involved.

      Jonix-Comment: this list may be empty
    • placeAsSubjects

      public ListOfOnixElement<PlaceAsSubject,String> placeAsSubjects()

      The name of a place or region or geographical entity which is part of the subject of the product. Optional, and repeatable if the subject of the product includes more than one place.

      Jonix-Comment: this list may be empty
    • audienceCodes

      An ONIX code, derived from BISAC and BIC lists, which identifies the broad audience or readership for whom a product is intended. Optional, and repeatable if the product is intended for two or more groups.

      Jonix-Comment: this list may be empty
    • audiences

      A repeatable group of data elements which together describe an audience to which the product is directed.

      Jonix-Comment: this list may be empty
    • audienceRanges

      An optional and repeatable group of data elements which together describe an audience or readership range for which a product is intended. The composite can carry a single value from, to, or exact, or a pair of values with an explicit from and to. See examples below.

      Jonix-Comment: this list may be empty
    • complexitys

      An optional and repeatable group of data elements which together describe the level of complexity of a text.

      Jonix-Comment: this list may be empty
    • otherTexts

      An optional and repeatable group of data elements which together identify and either include, or provide pointers to, text related to the product.

      Jonix-Comment: this list may be empty
    • reviewQuotes

      public ListOfOnixElement<ReviewQuote,String> reviewQuotes()

      A free text excerpt from a review. Optional and repeatable. At the end of the text of the quote, the authorship, source title, and date (if known) should always be included.

      The <OtherText> composite on preceding pages provides a more general method of handling review quotes, and is to be preferred.

      Jonix-Comment: this list may be empty
    • mediaFiles

      A repeatable group of data elements which together identify and provide pointers to, an image, audio or video file related to the product.

      Jonix-Comment: this list may be empty
    • productWebsites

      An optional and repeatable group of data elements which together identify and provide pointers to a website which is related to the product.

      Jonix-Comment: this list may be empty
    • prizes

      public ListOfOnixComposite<Prize> prizes()

      A repeatable group of data elements which together describe a prize or award won by the product.

      Jonix-Comment: this list may be empty
    • contentItems

      public ListOfOnixComposite<ContentItem> contentItems()

      A repeatable group of data elements which together describe a content item within a product.

      Jonix-Comment: this list may be empty
    • imprints

      public ListOfOnixComposite<Imprint> imprints()

      A repeatable group of data elements which together identify an imprint or brand under which the product is marketed. The composite must carry either a name code or a name or both.

      Jonix-Comment: this list may be empty
    • publishers

      public ListOfOnixComposite<Publisher> publishers()

      A repeatable group of data elements which together identify an entity which is associated with the publishing of a product. The composite will allow additional publishing roles to be introduced without adding new fields. Each occurrence of the composite must carry either a name code or a name or both.

      Jonix-Comment: this list may be empty
    • cityOfPublications

      public ListOfOnixElement<CityOfPublication,String> cityOfPublications()

      The name of a city or town associated with the imprint or publisher. Optional, and repeatable if the imprint carries two or more cities of publication.

      A place of publication is normally given in the form in which it appears on the title page. If the place name appears in more than one language, use the language of the title carried in the ONIX record. If this criterion does not apply, use the form that appears first. Alternatively, some ONIX applications may follow their own “house style”.

      Jonix-Comment: this list may be empty
    • copublisherNames

      public ListOfOnixElement<CopublisherName,String> copublisherNames()

      The name of a co-publisher of the product, in the form in which the co-publisher wishes to be identified, and controlled to maintain consistency across products. Except where they are essential to the recognized form of the name, it is recommended that suffixes denoting incorporation (“Co”, “Inc”, “Ltd”, “SA”, “GmbH”) should be omitted. Optional, and repeatable if there are two or more co-publishers.

      The <Publisher> composite on preceding pages provides a more general method of handling publisher identities, and is to be preferred.

      Jonix-Comment: this list may be empty
    • sponsorNames

      public ListOfOnixElement<SponsorName,String> sponsorNames()

      The name of a sponsor of the product, in the form in which the sponsor wishes to be identified. Except where they are essential to the recognized form of the name, it is recommended that suffixes denoting incorporation (“Co”, “Inc”, “Ltd”, “SA”, “GmbH”) should be omitted. Optional, and repeatable if there are two or more sponsors.

      The <Publisher> composite on preceding pages provides a more general method of handling publisher identities, and is to be preferred.

      Jonix-Comment: this list may be empty
    • copyrightStatements

      public ListOfOnixComposite<CopyrightStatement> copyrightStatements()

      An optional and repeatable group of data elements which together represent a structured copyright statement for the product. Either a structured copyright statement or statements, or a copyright year in the separate <CopyrightYear> element which follows the composite, but not both, may be sent.

      Jonix-Comment: this list may be empty
    • salesRightss

      public ListOfOnixComposite<SalesRights> salesRightss()

      A repeatable group of data elements which together identify territorial sales rights which a publisher chooses to exercise in a product. The <SalesRights> composite may occur once for each value of <b089>. See examples at the end of Group PR.21.

      Jonix-Comment: this list may be empty
    • notForSales

      public ListOfOnixComposite<NotForSale> notForSales()

      A repeatable group of data elements which together identify a country or countries in which the product is not for sale, together with the ISBN and/or other product identifier and/or the name of the publisher of the same work in the specified country/ies.

      Jonix-Comment: this list may be empty
    • salesRestrictions

      public ListOfOnixComposite<SalesRestriction> salesRestrictions()

      A group of data elements which together identify a non-territorial sales restriction which a publisher applies to a product. Optional and repeatable.

      Jonix-Comment: this list may be empty
    • measures

      An optional and repeatable group of data elements which together identify a measurement and the units in which it is expressed.

      Jonix-Comment: this list may be empty
    • relatedProducts

      public ListOfOnixComposite<RelatedProduct> relatedProducts()

      A repeatable group of data elements which together describe a product which has a specified relationship to the product which is described in the ONIX record. Although for reasons of upwards compatibility the composite includes individual fields for ISBN and EAN-13 number, use of the nested <ProductIdentifier> composite is to be preferred, since it allows any recognized identifier scheme (eg DOI) to be used.

      The minimum required content of an occurrence of the <RelatedProduct> composite is a <RelationCode> and either a product identifier or a <ProductForm> value. In other words, it is valid to list related products by relationship and identifier only, or by relationship and form only.

      Jonix-Comment: this list may be empty
    • supplyDetails

      public ListOfOnixComposite<SupplyDetail> supplyDetails()

      A repeatable group of data elements which together give details of a trade supply source and the product price and availability from that source.

      Jonix-Comment: this list may be empty
    • marketRepresentations

      public ListOfOnixComposite<MarketRepresentation> marketRepresentations()

      A group of data elements which together specify a territorial market and the identity of a sales agent or local publisher responsible for marketing the product therein. Optional and repeatable.

      Jonix-Comment: this list may be empty
    • reprintDetails

      public ListOfOnixElement<ReprintDetail,String> reprintDetails()

      Free text used to give details of the reprint history as part of the promotion of a book. Optional, and repeatable to give information about successive reprintings.

      Jonix-Comment: this list may be empty