Coding with XML for Efficiencies in Cataloging and Metadata. Timothy W. Cole, Myung-Ja K. Han, and Christine Schwartz. Chicago: ALA Editions, 2018. 195 p. $60.00 softcover (ISBN 978-0-8389-1653-7).

Written as a follow-up to an Association for Library Collections & Technical Services (ALCTS) pre-conference held during the 2015 American Library Association (ALA) Annual Conference, Coding with XML for Efficiencies in Cataloging and Metadata is an excellent introduction to the potential of Extensible Markup Language (XML) and related technologies in creating efficiencies in library cataloging and metadata work. As stated in the volume’s introduction, this guide will be most useful to those with some familiarity with XML or Hypertext Markup Language (HTML). However, this is not a requirement as the first chapter introduces XML in a way that will bring most newcomers up to speed. Catalogers will likely benefit most from this volume given that the majority of examples involve MARC 21 bibliographic data. However, metadata managers more broadly will also find value here, particularly in sections on XML Schema Definition Language (XSD), Extensible Stylesheet Language for Transformation (XSLT), XPath, and XQuery. Coding with XML does not purport to be a comprehensive reference for all XML work in libraries, but more of “a tutorial on its subject” (3). This is certainly true—each section provides an approachable and thorough introduction to a particular technology rather than an exhaustive list of features. There is also a useful list of resources at the end of the book for readers who want more information and more in-depth examples.

The book is organized into twelve chapters that fall under four main subject areas: XML, XML schemas, XSLT, and XQuery. While a topic is occasionally mentioned before it is fully introduced, this is rare, and generally speaking, each new topic builds on information covered in previous sections making the entire volume flow together nicely. Chapters also stand well on their own, allowing more advanced XML users to read only the chapters in which they are most interested.

The book begins with an overview of XML’s structure and features and illustrates each point with relevant examples from library metadata. By the end of the second chapter, readers will have a solid understanding of how XML looks and how metadata is encoded in the language. This sets up chapter 3, which provides a thorough explanation of the most commonly used XML standards in libraries: MARCXML, Dublin Core, and Metadata Object Description Schema (MODS). Additionally, this chapter provides a list of considerations when choosing a metadata standard for a project. This section would be incredibly helpful for someone faced with starting a digital collection project who lacks experience managing XML metadata.

Chapter 4, “XML Validation Using Schemas,” introduces XML schemas and Document Type Definitions (DTD) and provides a relatively detailed overview of XSD, a popular schema definition language in libraries. Given that most metadata managers will likely encounter or use metadata standards defined by XML schemas, this chapter serves as an important introduction to understanding those schema and how they validate metadata records.

Chapters 5 through 7 cover XPath and XSLT. The examples used in these chapters are especially relevant to the work of metadata managers and cover instances of sharing metadata with a content aggregator (HathiTrust) and transforming MODS metadata into RDF, a linked data format. Even for metadata managers for whom linked data is a distant concern, Chapter 7’s RDF and Semantic Web discussion is useful as it provides a real-world example of how legacy metadata formats may be transformed into linked data, something that is less common in library literature relative to the amount of theoretical discussion.

Finally, chapters 8 through 11 provide an overview of XQuery and example workflows using that technology. Other than a sudden shift from third- to first-person narration, these chapters again fit well with previous sections and build on the concepts introduced earlier in the book. Given that XQuery has so many capabilities, these chapters do a good job of selecting the subset of functions that will be most useful for working with library metadata. Numerous examples helpfully illustrate each concept. One small critique is that the authors could have done a better job of explicitly highlighting the areas where functionalities overlap between XSLT and XQuery. One example is that functions for working with strings are identical between the two technologies, but this feature was explained more thoroughly in the context of XQuery and only shown briefly in a single table in the context of XSLT.

Coding with XML for Efficiencies in Cataloging and Metadata is a useful introduction to XML and related technologies. For readers who prefer a more hands-on approach to learning, all examples of code used in the book are available from the authors’ GitHub pages, making it easy to copy stylesheets and example metadata and follow along or experiment. Attempting to learn new technologies can often feel daunting and leave individuals unsure of where to start, but this book makes its topic approachable while also guiding readers to more in-depth resources that will expand on the concepts it introduces.—Lisa Lorenzo (lorenzo7@msu.edu), Michigan State University Libraries, East Lansing, Michigan


  • There are currently no refbacks.

ALA Privacy Policy

© 2022 Core