Thank you to Chris Saynor, EDItEUR’s Standards Editor, for allowing us to share the following content on our blog.
When sending multiple subject codes from a scheme such as Thema, BISAC, or any other scheme that accepts multiple codes in an ONIX file, it's important to include an indication of which of the several codes is the principal code. This is done using the <MainSubject/> tag in ONIX 3.0.
This tag allows those who receive ONIX files to identify the single most important subject of the book even if there are several subject codes. If a physical bookseller only has a single copy, the main subject code will indicate the best place to shelve that title.
The other important function — which only applies to Thema — of the <MainSubject/> tag arises because Thema encourages post-coordination, that is, creating greater detail by using more than one code. This means Fiction and Non-Fiction codes could occasionally be used to describe the same title. When using a Non-Fiction code combined with a Fiction code in Thema to give greater detail about the setting or milieu of a story, one of the codes for Fiction MUST always be designated as <MainSubject/>. This tells anyone who receives the ONIX file that this is a Fiction title and not Non-Fiction.
For example, if you were publishing a novel set in the world of Gaelic football, you would have to use the Sports Fiction code “FG” as the <MainSubject/> along with the Gaelic Football Non-Fiction code, “SFBK,” to say “Sports Fiction about Gaelic football.”
<Subject>
<MainSubject/>
<SubjectSchemeIdentifier>93</SubjectSchemeIdentifier>
<SubjectSchemeVersion>1.4</SubjectSchemeVersion>
<SubjectCode>FG</SubjectCode> <!--Sports fiction -->
</Subject>
<Subject>
<SubjectSchemeIdentifier>93</SubjectSchemeIdentifier>
<SubjectSchemeVersion>1.4</SubjectSchemeVersion>
<SubjectCode>SFBK</SubjectCode> <!-- Gaelic football -->
</Subject>
If it were a children’s story about Gaelic football, you would apply the same principle, normally with two “Y” codes. The Fiction code for sporting stories, “YFR,” must be the main subject, so we know it’s a story and not Non-Fiction, plus the Non-Fiction for children’s / teenage Non-Fiction ball games. Then, for an extra level of detail, in this example, you could also send the (adult) Non-Fiction code for Gaelic football “SFBK,” as there is no precise code in the “Y” section for Gaelic football.
This is a basic rule for any work of Fiction and Thema code: you can use Non-Fiction codes with them, but a Fiction code MUST always be the <MainSubject/>.
The fact that “YFR” is the <MainSubject/> here has an even more important role, as it confirms the title is Fiction meant for children or teenagers — the exact detail of the age group should be confirmed with an interest age qualifier, “5A*.” One “5A*” qualifier must be included if you are sending a “Y*” subject code. The “5A*” codes effectively replace words like “Juvenile Fiction” or “middle-grade” Fiction.
<Subject>
<MainSubject/>
<SubjectSchemeIdentifier>93</SubjectSchemeIdentifier>
<SubjectSchemeVersion>1.4</SubjectSchemeVersion>
<SubjectCode>YFR</SubjectCode> <!-- Children’s / Teenage fiction: Sporting stories -->
</Subject>
<Subject>
<SubjectSchemeIdentifier>93</SubjectSchemeIdentifier>
<SubjectSchemeVersion>1.4</SubjectSchemeVersion>
<SubjectCode>YNWD</SubjectCode> <!-- Children’s / Teenage general interest: Ball games and sports -->
</Subject>
<Subject>
<SubjectSchemeIdentifier>93</SubjectSchemeIdentifier>
<SubjectSchemeVersion>1.4</SubjectSchemeVersion>
<SubjectCode>SFBK</SubjectCode> <!-- Gaelic football -->
</Subject>
<Subject>
<SubjectSchemeIdentifier>98</SubjectSchemeIdentifier>
<SubjectSchemeVersion>1.4</SubjectSchemeVersion>
<SubjectCode>5AJ</SubjectCode> <!-- Interest age: from c 8 years -->
</Subject>
Of course, <Audience> and <AudienceRange> would also be added in ONIX and can give a more precise age range (e.g., 8 to 11 years) and a distinction can also be made between reading and interest age. In Thema the ages are always interest ages.
<MainSubject/> used with post-coordination is particularly important in titles aimed at teenagers. There are a lot of stories written with adolescents in mind that deal with strong social topics or themes and combining “YF” codes with other (Non-Fiction) “Y*” codes allows publishers to express these themes and enables retailers to create more detailed browse sections or filtered search options.
<Subject>
<MainSubject/>
<SubjectSchemeIdentifier>93</SubjectSchemeIdentifier>
<SubjectSchemeVersion>1.4</SubjectSchemeVersion>
<SubjectCode>YFM</SubjectCode> <!-- Children’s / Teenage fiction: Relationship stories -->
</Subject>
<Subject>
<SubjectSchemeIdentifier>93</SubjectSchemeIdentifier>
<SubjectSchemeVersion>1.4</SubjectSchemeVersion>
<SubjectCode>YXB</SubjectCode> <!-- Children’s / Teenage personal and social topics LGBTQ+ -->
</Subject>
<Subject>
<SubjectSchemeIdentifier>93</SubjectSchemeIdentifier>
<SubjectSchemeVersion>1.4</SubjectSchemeVersion>
<SubjectCode>YXG</SubjectCode> <!-- Children’s / Teenage personal and social topics: death and bereavement-->
</Subject>
<Subject>
<SubjectSchemeIdentifier>93</SubjectSchemeIdentifier>
<SubjectSchemeVersion>1.4</SubjectSchemeVersion>
<SubjectCode>YXHB</SubjectCode> <!-- Children’s / Teenage personal and social topics: friends and friendship -->
</Subject>
<Subject>
<SubjectSchemeIdentifier>98</SubjectSchemeIdentifier>
<SubjectSchemeVersion>1.4</SubjectSchemeVersion>
<SubjectCode>5AQ</SubjectCode> <!-- Interest age: from c 14 years -->
</Subject>
<Subject>
<SubjectSchemeIdentifier>98</SubjectSchemeIdentifier>
<SubjectSchemeVersion>1.4</SubjectSchemeVersion>
<SubjectCode>5PSG</SubjectCode> <!-- Relating to gay people -->
</Subject>
If you're creating a user interface to manage Thema codes, it's important that users who are managing the metadata can designate which code is going to be the main one. This applies to any subject scheme listed in ONIX code list 27 where you can send more than one subject code: one of these per scheme should be the <MainSubject/>.
<MainSubject/> is sometimes misused, or misunderstood, to indicate the broad category from where a detailed category code is also supplied, for example, Thema code “Y” as the Main subject and “YFJ” as an additional subject. “Main” does not mean “broad” or “top level” — it should always be used to indicate the most relevant detailed category.
These Thema top level codes, like “Y,” should not be used — they are too vague and do not provide the detail needed. Also, as with any hierarchal code scheme, you should not be sending the parent or grandparent codes of a more detailed code, as these are already an integral part of the code you are supplying. “YFJ,” for example, includes “Y” and “YF” in its structure, so “Y” and “YF” should never be used alongside “YFM”, for example.
Note the <MainSubject/> is an XML “empty tag” and cannot contain any actual data. It acts as a “flag” to indicate the main subject.
For additional ONIX, Thema, and Standards-focused content, visit our blog.
EDItEUR has released the Product safety requirements in ONIX 3 Application Note.