Module jonix.onix3

Class TitleElement

java.lang.Object
com.tectonica.jonix.onix3.TitleElement
All Implemented Interfaces:
OnixComposite, OnixComposite.OnixDataComposite<JonixTitleElement>, OnixTag, Serializable

public class TitleElement extends Object implements OnixComposite.OnixDataComposite<JonixTitleElement>, Serializable

Title element composite (collection)

A group of data elements which together represent an element of a collection title. At least one title element is mandatory in each occurrence of the <TitleDetail> composite. The composite is repeatable with different sequence numbers and/or title element levels. An instance of the <TitleElement> composite must include at least one of: <PartNumber>; <YearOfAnnual>; <TitleText>, <NoPrefix/> together with <TitleWithoutPrefix>, or <TitlePrefix> together with <TitleWithoutPrefix>. In other words, it must carry either the text of a title element or a part or year designation, and it may carry both.

A title element must be designated as belonging to product level, collection level, or subcollection level (the first of these may not occur in a title element representing a collective identity, and the last-named may only occur in the case of a multi-level collection).

In the simplest case, title detail sent in a <Collection> composite will consist of a single title element, at collection level. However, the composite structure in ONIX 3.0 and 3.1 allows more complex combinations of titles and part designations in multi-level collections to be correctly represented.

Reference name <TitleElement>
Short tag <titleelement>
Cardinality 1…n

This tag may be included in the following composites:

Possible placements within ONIX message:

See Also:
  • Field Details

  • Constructor Details

    • TitleElement

      public TitleElement()
    • TitleElement

      public TitleElement(Element element)
  • Method Details

    • _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 (<TitleElement> or <titleelement>) is explicitly provided in the ONIX XML
    • ifExists

      public void ifExists(Consumer<TitleElement> 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
    • titleElementLevel

      public TitleElementLevel titleElementLevel()

      An ONIX code indicating the level of a title element: collection level, sub-collection level, or product level. Mandatory in each occurrence of the <TitleElement> composite, and non-repeating.

      Jonix-Comment: this field is required
    • partNumber

      public PartNumber partNumber()

      When a title element includes a part designation within a larger whole (eg Part I, or Volume 3), this field should be used to carry the number and its ‘caption’ as text. Optional and non-repeating.

      Jonix-Comment: this field is required
    • titleWithoutPrefix

      public TitleWithoutPrefix titleWithoutPrefix()

      The text of a title element without the title prefix; and excluding any subtitle. Optional and non-repeating; can only be used if one of the <NoPrefix/> or <TitlePrefix> elements is also present.

      Jonix-Comment: this field is required
    • sequenceNumber

      public SequenceNumber sequenceNumber()

      A number which specifies a single overall sequence of title elements, which is the preferred order for display of the various title elements when constructing a complete title. Optional and non-repeating. It is strongly recommended that each occurrence of the <TitleElement> composite should carry a <SequenceNumber>.

      Jonix-Comment: this field is optional
    • yearOfAnnual

      public YearOfAnnual yearOfAnnual()

      When the year of an annual is part of a title, this field should be used to carry the year (or, if required, a spread of years such as 2009–2010). Optional and non-repeating.

      Jonix-Comment: this field is optional
    • titlePrefix

      public TitlePrefix titlePrefix()

      Text at the beginning of a title element which is to be ignored for alphabetical sorting. Optional and non-repeating; can only be used when <TitleText> is omitted, and 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.

      Jonix-Comment: this field is optional
    • noPrefix

      public NoPrefix noPrefix()

      An empty element that provides a positive indication that a title element does not include any prefix that is ignored for sorting purposes. Optional and non-repeating, and must only be used when <TitleWithoutPrefix> is used and no <TitlePrefix> element is present.

      Jonix-Comment: this field is optional
    • isNoPrefix

      public boolean isNoPrefix()
    • titleText

      public TitleText titleText()

      The text of a title element, excluding any subtitle. Optional and non-repeating, may only be used where <TitlePrefix>, <NoPrefix/> and <TitleWithoutPrefix> are not used.

      This element is deprecated, and intended to be used only when the sending system cannot reliably provide prefixes that are ignored for sorting purposes in a separate data element. If the system can reliably separate prefixes, it should state whether a prefix is present (using <TitlePrefix> and <TitleWithoutPrefix>) or absent (using <NoPrefix/> and <TitleWithoutPrefix>).

      Jonix-Comment: this field is optional
    • subtitle

      public Subtitle subtitle()

      The text of a subtitle, if any. ‘Subtitle‘ means any added words which appear with the title element given in an occurrence of the <TitleElement> composite, and which amplify and explain the title element, but which are not considered to be part of the title element itself. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • asStruct

      public JonixTitleElement asStruct()
      Specified by:
      asStruct in interface OnixComposite.OnixDataComposite<JonixTitleElement>