Description: prism_specification

 

 

 

PRISM:

Publishing Requirements for Industry Standard Metadata

 

 

Version 3.0

 

 

 

Guide to PRISM Recipe Metadata
and XML Encoding

 

 

October 4, 2012

 

 

 

 

Description: idealliancelogo_cymk

Copyright and Legal Notices

© 2001 – 2012 International Digital Enterprise Alliance, Inc.  All Rights Reserved.

PRISM® and nextPub® are registered trademarks of the International Digital Enterprise Alliance, Inc. (IDEAlliance).

This document may be downloaded and copied provided that the above copyright notice and this Notice are included on all such copies.  This document itself may not be modified in any way, except as needed for the purpose of developing International Digital Enterprise Alliance, Inc. (“IDEAlliance”) specifications.  Use of the specification or standard set forth in this document shall not create for the user any rights in or to such specification or standard or this document, which rights are exclusively reserved to IDEAlliance or its licensors or contributors.

Use of this document and any specification or standard contained herein is voluntary.  By making use of this document or any specification or standard contained herein, the user assumes all risks and waives all claims against IDEAlliance, its licensors and contributors.  By making this document available, IDEAlliance is not providing any professional services or advice to any person or entity.  Any person or entity utilizing this document or any specification or standard contained herein should rely upon the advice of a competent professional before using any such information.

NO WARRANTY, EXPRESSED OR IMPLIED, IS MADE REGARDING THE ACCURACY, ADEQUACY, COMPLETENESS, LEGALITY, RELIABILITY OR USEFULNESS OF ANY INFORMATION CONTAINED IN THIS DOCUMENT OR IN ANY SPECIFICATION OR STANDARD OR OTHER PRODUCT MADE AVAILABLE BY IDEALLIANCE. THIS DOCUMENT AND THE INFORMATION CONTAINED HEREIN AND INCLUDED IN ANY SPECIFICATION OR STANDARD OR OTHER PRODUCT OR SERVICE OF IDEALLIANCE IS PROVIDED ON AN "AS IS" BASIS. IDEALLIANCE DISCLAIMS ALL WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, ANY ACTUAL OR ASSERTED WARRANTY OF NON-INFRINGEMENT OF PROPRIETARY RIGHTS, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.

IN NO EVENT SHALL IDEALLIANCE, ITS LICENSEES, CONTRIBUTORS OR THEIR RESPECTIVE OFFICERS, DIRECTORS, EMPLOYEES, AGENTS, REPRESENTATIVES, SUPPLIERS OR CONTENT OR SERVICE PROVIDERS BE LIABLE FOR DAMAGES OF ANY KIND, INCLUDING WITHOUT LIMITATION, DIRECT, INDIRECT, COMPENSATORY, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION DAMAGES FROM DATA LOSS OR BUSINESS INTERRUPTION) EVEN IF MADE AWARE OF THE POSSIBILITY OF SUCH DAMAGES, WHETHER IN AN ACTION UNDER CONTRACT, TORT OR ANY OTHER THEORY, ARISING OUT OF OR IN CONNECTION WITH THE USE, INABILITY TO USE OR PERFORMANCE OF THIS DOCUMENT, THE SPECIFICATION OR STANDARD CONTAINED HEREIN, OR ANY OTHER DOCUMENT OR SPECIFICATION OR STANDARD MADE AVAILABLE BY IDEALLIANCE. 

Some states do not allow the disclaimer or limitation of damages, so the disclaimers set forth above apply to the maximum extent permitted under applicable law.

IDEAlliance takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed or implicated with respect to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available.  IDEAlliance does not represent that it has made any effort to identify any such rights. Information on IDEAlliance's procedures with respect to rights in IDEAlliance specifications can be found at the IDEAlliance website at www.idealliance.org.  Copies of third-party claims of rights, assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification, can be obtained from the President of IDEAlliance at patent-disclosure@idealliance.org.

IDEAlliance requests interested parties to disclose any copyrights, trademarks, service marks, patents, patent applications, or other proprietary or intellectual property rights which may cover technology that may be required to implement this specification. Please address the information to the President of IDEAlliance at patent-disclosure@idealliance.org.


Table of Contents

1     Status. 1

1.1         Document Status. 1

1.2         Document Location. 1

2.3 Version History. 1

2     Introduction. 3

2.1         About The Guide to PRISM Recipe Metadata and XML. 3

2.2         How Can I Use this Guide?. 3

2.3         The PRISM Documentation Package. 3

2.3.1      General Documents. 3

2.3.2      PRISM Metadata Specifications. 4

2.3.3      PRISM Aggregator Message Markup Specification. 5

2.3.4      PRISM Inline Markup Specification. 5

2.3.5      PRISM Controlled Vocabulary Specifications. 5

1.3.6 Additional PRISM Documentation. 5

2.3.6      Access to PRISM Documentation. 6

2.3.7      Access to PAM Schemas. 6

2.3.8      PRISM Source Vocabulary Documentation Set 6

2.4         PSV Content Management Schema. 7

2.5         Other PSV Schemas. 7

2.6         Legend for Diagrams. 7

2.7         PRISM XML Models. 8

2.7.1      High Level Image Metadata Groupings. 8

2.7.2      XML Recipe Model for the Recipe Body. 9

2.8         The Relationship to PRISM.. 9

2.9         Relationship to the PRISM Aggregator Message (PAM) 10

2.10       Relationship to PRISM Source Vocabulary. 10

2.11       Relationship to HTML5. 10

2.12       If you have questions: 11

3     PRISM Recipe XML Models. 13

3.1         PRISM Recipe Use Cases. 13

3.1.1      Use Case 001: Establishing a Recipe Database. 13

3.1.2      Use Case 002: Establish a Tagging Scheme to Code a Wide Variety of Recipes in XML. 13

3.1.3      Use Case 003: Publish nextPub PRISM Source Vocabulary Content Containing Recipes. 14

3.2         PRISM XML Recipe Models. 15

4     PRISM Recipe Metadata Encoding. 17

4.1         PRISM Recipe Metadata Namespaces. 17

4.2         PRISM Recipe Metadata Blocks. 17

4.2.1      Recipe Metadata. 17

4.2.2      Recipe Relation Metadata. 19

4.2.3      Recipe Usage Rights Metadata. 19

4.2.4      Where Used Metadata. 20

4.3         PRISM Recipes Metadata Alphabetical Listing. 22

5     XML Model for the Recipe Body. 25

5.1         Duration. 25

5.2         Ingredients. 26

5.3         Instructions. 26

5.4         Nutrition. 26

5.5         Recipe Note. 28

5.6         Recipe Images. 28

6     Overview of PRISM Recipe Controlled Vocabularies. 29

6.1         Cooking Equipment 29

6.2         Cooking Method. 29

6.3         Course. 30

6.4         Cuisine. 30

6.5         Dietary Needs. 31

6.6         Dish Type. 32

6.7         Ingredient Exclusions. 32

6.8         Main Ingredient 33

6.9         Meal 33

6.10       Other Recipe Time. 33

6.11       Recipe Source. 34

6.12       Recipe Title. 34

6.13       Role (attribute on Creator / Contributor) 34

6.14       Skill Level 34

6.15       Special Occasion. 35

Appendix A        PRISM Recipe Metadata Glossary. 37

Appendix B        Sample Recipe XML Tagging. 39

Appendix C        PSV Recipe Tagging. 43

C.1        PSV Recipe Metadata Tagging. 43

C.2        Sample PSV Recipe Tagging. 43


1      Status

1.1      Document Status

The status of this document is:

ü

Draft

11/04/2011

ü

Released for Public Comment

12/15/2012

ü

Final Draft Released for Comment

06/12/2012

ü

Final Specification

10/04/2012

1.2       Document Location

The location of this document is:

http://www.prismstandard.org/specifications/PMI/PMI_Guidelines.pdf

2.3 Version History

Version Number

Release Date

Editor

Description

PRISM 3.0

December 15, 2011

Kennedy

Public Draft as part of PRISM 3.0

PRISM 3.0

June 12, 2012

Kennedy

Final Draft

PRISM 3.0

October 4, 2012

Kennedy

Final Specification


2      Introduction

The PRISM Recipe Metadata Specification provides a new standard format for publishers to use in creating, managing and delivering recipes in cookbooks, magazines and online.   This document describes PRISM Recipe Metadata and XML Encoding in detail and provides some examples of how it is used.

2.1       About The Guide to PRISM Recipe Metadata and XML

The PRISM Recipe Metadata Specification [PRISMRMS] within the PRISM Documentation Package describes the elements from the PRM namespace that are included within PRISM for the description of recipes.  This guideline document describes how to apply the full range of metadata fields to recipes facilitate the management of the recipes from creation to use, to archive, aggregation and reuse.

2.2       How Can I Use this Guide?

This guideline document describes how to apply metadata fields to recipes and how to code recipes in XML.  The contributors to this document represented magazines, cookbooks and online recipe websites.   So this document represents a very complete starter set – and one that no single publication or online source would use in its entirety!

The PRISM Recipe Metadata and XML Tagging Guide documents four XML-based PRISM Profiles for the encoding of recipes for 3 distinct use cases:

·        Establish a Recipe Database

·        Establish a tagging scheme to code a wide variety of recipes in XML

·        Publish, Manage and Aggregate PAM-encoded Content Containing Recipes

·        Manage nextPub recipe content for publication across media channels

You will need to determine which of these use cases can be applied to your business and implement accordingly.  Note that it is possible that multiple use cases will apply.

2.3      The PRISM Documentation Package

The PRISM Documentation Package consists of:

2.3.1    General Documents

This is a set of general or overview documents that apply to PRISM.

Document

Description

PRISM Introduction [PRISMINT]
http://www.prismstandard.org/specifications/3.0/
PRISM_introduction_3.0.pdf

or
http://www.prismstandard.org/specifications/3.0/
PRISM_introduction_3.0.htm

Overview, background, purpose and scope of PRISM; examples; contains no normative material.

PRISM Compliance [PRISMCOMP]
http://www.prismstandard.org/specifications/3.0/
PRISM_compliance_3.0.pdf

or
http://www.prismstandard.org/specifications/3.0/
PRISM_compliance_3.0.htm

Describes three profiles of PRISM compliance for content and systems; includes normative material.

2.3.2    PRISM Metadata Specifications

This is the set of documents that outline the prism metadata fields and values by PRISM metadata category.  PRISM has modularized its metadata specification by namespace so users may pick those modules that meet their unique business requirements without having to implement the entire PRISM specification.

Document

Description

The PRISM Basic Metadata Specification [PRISMBMS]
http://www.prismstandard.org/specifications/3.0/
PRISM_Basic_Metadata_3.0.pdf

or
http://www.prismstandard.org/specifications/3.0/
PRISM_Basic_Metadata_3.0.htm

Describes the basic metadata elements contained in the PRISM namespace to describe article content; includes normative material.

PRISM Advertising Metadata Specification [PRISMADMS]
http://www.prismstandard.org/specifications/3.0/
PRISM_Advertising_Metadata_3.0.pdf

or
http://www.prismstandard.org/specifications/3.0/
PRISM_Advertising_Metadata_3.0.htm

Describes advertising metadata elements including those drawn from AdsML, GWG and Ad-ID; includes normative material.

The PRISM Subset of Dublin Core Metadata Specification [PRISMDCMS]
http://www.prismstandard.org/specifications/3.0/
PRISM_Dublin_Core_Metadata_3.0.pdf

or
http://www.prismstandard.org/specifications/3.0/
PRISM_Dublin_Core_Metadata_3.0.htm

Describes the metadata elements from the Dublin Core namespace that are included in PRISM; includes normative material.

The PRISM Image Metadata Specification [PRISMIMS]
http://www.prismstandard.org/specifications/3.0/
PRISM_Image_Metadata_Specification_3.0.pdf

or
http://www.prismstandard.org/specifications/3.0/
PRISM_Image_Metadata_Specification_3.0.htm

Describes the metadata elements contained in the PRISM Metadata for Images Namespace and other related image namespaces, includes normative material.

The PRISM Recipe Metadata Specification [PRISMRMS]
http://www.prismstandard.org/specifications/3.0./
PRISM_Recipe_Metadata_3.0.pdf

or
http://www.prismstandard.org/specifications/3.0./
PRISM_Recipe_Metadata_3.0.htm

Describes the metadata elements contained in the PRISM Recipe Metadata Namespace, includes normative material

The PRISM Usage Rights Metadata Specification [PRISMURMS]
http://www.prismstandard.org/specifications/3.0/
PRISM_Usage_Rights_Metadata_3.0.pdf

or
http://www.prismstandard.org/specifications/3.0/
PRISM_Usage_Rights_Metadata_3.0.htm

Describes the metadata elements contained in the PRISM Usage Rights Namespace; includes normative material. This namespace will supersede elements in both the prism: and prl: namespaces in version 3.0 of the specification.

2.3.3    PRISM Aggregator Message Markup Specification

This module documents the PRISM Markup Elements and Attributes for use with the PRISM Aggregator Message.  At the time of the publication of the Introduction to PRISM, the PAM Message remains at version 2.1.   This set of documents includes:

Document

Description

The PRISM PAM Markup Specification [PRISMPAMMS]
http://www.prismstandard.org/specifications/2.1/
PRISM_PAM_Markup_2.1.pdf

Describes the XML elements and attributes used to encode the PRISM Aggregator Message from both the pam: and pim: namespaces; includes normative material.

2.3.4    PRISM Inline Markup Specification

This module documents the PRISM Inline Markup Elements and Attributes for use with the PRISM Aggregator Message.  This set of documents includes:

Document

Description

The PRISM Inline Markup Specification [PRISMIMS]
http://www.prismstandard.org/specifications/2.1/
PRISM_PIM_Markup_Specification 3.0.pdf

Describes the XML elements used to encode the inline markup for the PRISM Aggregator Message. Includes normative material.

2.3.5    PRISM Controlled Vocabulary Specifications

These modules are new with PRISM 3.0.  All controlled vocabularies and their terms are documented in this publication set. 

Document

Description

The PRISM Controlled Vocabulary Markup Specification [PRISMCVMS]
http://www.prismstandard.org/specifications/3.0/
PRISM_Controlled_Vocabulary_Markup_3.0.pdf

or
http://www.prismstandard.org/specifications/3.0/
PRISM_Controlled_Vocabulary_Markup_3.0.htm

Describes the metadata fields in the PRISM Controlled Vocabulary Namespace that can be used to describe a controlled vocabulary.   Actual PRISM controlled vocabularies are now placed in the PRISM Controlled Vocabularies Specification [PRISMCVS]

The PRISM Controlled Vocabularies Specification [PRISMCVS]
http://www.prismstandard.org/specifications/3.0/
PRISM_CV_Spec_3.0.pdf

or
http://www.prismstandard.org/specifications/3.0/
PRISM_CV_Spec_3.0.htm

The PRISM Controlled Vocabularies are now documented in this document.

1.3.6 Additional PRISM Documentation

The Guide to the PRISM Aggregator Message [PAMGUIDE] documents the PRISM Aggregator Message (PAM), an XML-based application of PRISM.

The PRISM Cookbook [PRISMCB] documents implementation strategies for PRISM Profile 1 applications.

The Guide to PRISM Usage Rights [RIGHTSGUIDE] documents an XML-based PRISM application for the expression of PRISM Usage Rights.  The Guide is accompanied by an XSD that can be used as the basis for developing a digital rights management system based on PRISM Usage Rights.

The Guide to PRISM Metadata for Images [IMAGEGUIDE] documents an XML-based PRISM Profile 1 application for the expression of the structure and use of PRISM Metadata for Images and can be used as the basis for developing an image management system based on PRISM Metadata for Images and for implementing PMI in XML.

The Guide to PRISM Recipe Metadata and XML Encoding [RECIPEGUIDE] documents the XML-based PRISM Profiles for the encoding of recipes for:

·        Establish a Recipe Database

·        Establish a tagging scheme to code a wide variety of recipes in XML

·        Tag recipes within the PAM message

·        Tag recipes in nextPub PSV Source Vocabulary

2.3.6    Access to PRISM Documentation

The PRISM documentation package, the PAM guide (see above), the PAM DTD, the PAM XSD and a range of other information concerning PRISM are all publicly and freely available on the PRISM website, www.prismstandard.org.

2.3.7    Access to PAM Schemas

Standard URLs have been established to access PRISM/PAM XSDs and DTDs as well as the XSD for the new PRISM Usage Rights Model.

To access PAM XSDs and DTDs:

http://www.prismstandard.org/schemas/pam/2.1/
http://www.prismstandard.org/schemas/pam/2.1/pam.xsd
http://www.prismstandard.org/schemas/pam/2.1/pam-dc.xsd
http://www.prismstandard.org/schemas/pam/2.1/pam-prism.xsd

To access PRISM Rights Model XSD

http://www.prismstandard.org/schemas/rights/3.0/rightsmodel.xsd

To access PRISM Recipe Tagging and Recipe Database XSD

http://www.prismstandard.org/schemas/recipe/3.0/recipemodel.xsd

2.3.8    PRISM Source Vocabulary Documentation Set

nextPub has developed a series of specifications collectively known as the PRISM Source Vocabulary.  The use case for PSV is to encode semantically rich content for transformation and delivery to any platform. This Specification is made up of a modular documentation package that builds on PRISM 3.0 and HTML5.  Over time new modules may be added to the documentation package.  The documentation package for the nextPub PRISM Source Vocabulary Specification Version 1.0 consists of:

Document

Description

PRISM Source Vocabulary Specification Overview
[PSVSO]

The Overview to the PRISM Source Vocabulary provides an introduction and a non-technical overview of the PRISM Source Vocabulary.

PRISM Source Vocabulary Specification
[PSVS]

The PRISM Source Vocabulary Specification defines semantically rich for source metadata and content markup that can be transformed and served to a wide variety of output devices including eReaders, mobile tablet devices, smart phones and print.

PRISM Source Vocabulary Markup Specification
[PSVMS]

The PSV Markup Specification documents the XML tags in the PSV namespace that are used to encode XML Source Content.

PAM to PSV Guide [PAMPSVGUIDE]

This Guide documents mappings from PAM XML to PSV XML.  It is normative only.

2.4      PSV Content Management Schema

In order to assist implementers develop a PSV-based federated content management solution, the nextPub Working Group is providing an XML Schema (XSD) that can serve as the basis for the design of a PSV content repository. 

Note: The PSV CM schema is not designed for tagging content.  It is provided simply to serve as a basis for the design of a content repository.  Metadata building blocks from this schema can be combined with HTML5 by publishers who wish to develop a hybrid PSV metadata and content tagging schema.

2.5      Other PSV Schemas

Because PSV is a flexible framework, it supports many different use case scenarios.  A different schema, using the PSV metadata fields and content encoding can be developed for each different use case.  In order to assist PSV implementers, the nextPub Working Group is planning to provide a number of XML Schemas (XSDs) to support common use cases including tagging an article and transmitting articles to content aggregators.  These PSV sample schemas will be available from the nextPub website (http://www.nextpub.org) and documented in the nextPub PSV Implementation Guide that will be published following the publication of this specification.

2.6      Legend for Diagrams

In this guide, the XML model is often illustrated by a model diagram.  Each diagram was produced with the XML Spy product.  These diagrams show the elements and attributes that make up a model and their order and frequency.

The legend for reading XML model diagrams is shown in Figure 1.1.  Elements that are required by the model are shown in a solid box.  Elements that are optional are shown in a dotted box.  Likewise attributes may be required (solid box) or optional (dotted box).  A repeatable occurrence of elements is indicated by numbers below each element box to the right. 

The diagrams also indicate how elements are assembled. When building some models, elements may occur in a sequence with a specified order.  Other models provide a choice from among a number of elements.  The legend in Figure 2.1 shows the connectors for sequence and choice.

Figure 2.1 Legend for XML Diagrams

2.7      PRISM XML Models

Three use cases have been identified for PRISM Recipe Metadata.  One XML Model has been defined for Use Cases 001 and 002 and a PAM XML schema with recipes added has been developed for Use Case 003.

This Guide documents the PRISM Recipe Metadata and XML Encoding required for Use Case 001 - 002:

2.7.1    High Level Image Metadata Groupings

This specification groups recipe metadata based on function.  See Figure 2.2

·        Recipe Metadata

·        Recipe Relations Metadata

·        Usage Rights Metadata

·        Where Used Metadata

Figure 2.2 Recipe Metadata Block

2.7.2    XML Recipe Model for the Recipe Body

The XML models developed to accompany this guide were designed so it can be mapped into an XML Content Management System (CM) or Recipe Database.   See Figure2.3.

Figure 2.3 Recipe Body Model for an XML Recipe Database

2.8      The Relationship to PRISM

The PRISM Working Group was established in 1999 by a group of companies primarily involved in the production of serial and web-based editorial content. This group includes publishers, other rights holders, systems integrators, software developers and content aggregators who face common content application challenges such as re-use of content in multiple media types, rights and contract management, better access to content archives, and faster, less expensive exchange and integration of disparate sets of content across the enterprise and with outside business partners. The representatives of these companies believed that developing and adopting a standard set of XML metadata would assist them in managing and automating their labor-intensive content workflow processes.

The result of this collaboration was the PRISM specification. The PRISM specification defines a standard for describing, exchanging, and reusing content in both print and electronic publishing contexts. The Working Group released Version 1.0 of the PRISM specification in April of 2001.

The PRISM specification is built on a strong foundation of existing standards such as XML, RDF, the Dublin Core, and various ISO specifications for locations, languages, and date/time formats. On top of this base, it defines a number of XML namespaces and controlled vocabularies in order to meet the goals of interoperability, interchange, and reuse.

During 2005 and 2006, a subgroup of PRISM developed an initial draft of a metadata specification for digital images called Digital Image Management Metadata or DIM2.  This work aggressively tackled topics such a delivery platforms and digital rights that really justified their own place in the PRISM Specification.  In early 2007, work on the digital image metadata specification was set aside and concepts from that early work were brought back to the broader PRISM Working Group for inclusion in the general specification.

Based on this input, the PRISM Working Group released PRISM 2.0, the first major revision in the specification since its initial release in 2001 in February 2008.  This major revision of the PRISM Specification addressed emerging requirements for publishers and media companies to deliver content in an online and multimedia environment, as well as in print.  Then in 2009, PRISM 2.1 was released.  This version of the specification adds metadata to manage and track rights and permissions for all types of digital media, including digital images.

PRISM 3.0 will be published in early 2012.  PRISM 3.0 adds metadata for digital images and recipes.  In addition, fields have been added to support the new use case for PRISM known as nextPub which defines semantically rich, HTML5-compliant XML Source to support the next generation of cross media publishing.

The PRISM Recipe Metadata Specification and the Recipe Guidelines reference PRISM 3.0

2.9      Relationship to the PRISM Aggregator Message (PAM)

The PRISM Working Group defined an XML tag set for encoding metadata and article content for delivery to aggregators.  This tag set, known as the PRISM Aggregator Message, or PAM, was released in 2004 and is widely implemented.  Since the use case for PAM is delivering content to aggregators, this XML tag set is relatively stable.  When the PRISM Recipe Metadata Specification was developed, its elements were NOT added to PAM.  However a number of classes were added as possible values for the class= attribute on tags within the body of the PAM article.  These classes documented in the PRISM Controlled Vocabularies Specification [PRISMCVS].  Tagging recipe content using the PAM tag set is discussed in an Appendix of this document.

2.10  Relationship to PRISM Source Vocabulary

The nextPub Working Group defined an XML tag set for encoding semantically rich, platform-agnostic source publication content and metadata for delivery across platforms and channels known as PRISM Source Vocabulary (PSV) in 2012.  The PSV tag set includes mechanisms for tagging recipes and their metadata.  See the nextPub PRISM Source Vocabulary Specification [PSVS] for more information.  In addition, PRISM 3.0 documents the recipe controlled vocabularies in the PRISM Controlled Vocabularies Specification [PRISMCVS].  Tagging recipe content using the nextPub tag set is discussed in an Appendix of this document.

2.11  Relationship to HTML5

HTML5 is gaining credibility as a delivery platform for publications, not only on the Web but as an alternative to the publication apps that we see today on tablets and smart phones.  The IDEAlliance nextPub PRISM Source Vocabulary Specification has decided to come into as close compliance with the XML Serialization of HTML5 as is possible.  Hence HTML5 will be used as the foundation for tagging PRISM recipes.  This decision means that PRISM can leverage the power of the HTML5 <figure element to include rich media within recipes.

2.12  If you have questions:

If you have a question or comment about these guidelines, please contact info@prismstandard.org.

In your message, please provide the following information:

·        Your name and company

·        Telephone contact information

·        If applicable, reference the document(s) and section(s)


3      PRISM Recipe XML Models

3.1       PRISM Recipe Use Cases

Four use cases have been identified for PRISM Recipe Metadata.  The use cases are documented below.  Note that an XML Model has been defined for Use Case #1 and #2.  PAM has been adapted to support Use Case #3 and nextPub was developed with Use Case #4 in mind.

3.1.1    Use Case 001: Establishing a Recipe Database

Title

Establish a Recipe Database

Summary:

A publisher wants to design and implement an XML Source database.  The database will organize recipes, serve as a basis for staff and perhaps outside users to search recipes

Actors:

Publisher

Prerequsites:

Scenario:

  1. Publishers will establish a Recipe Source Database. 
  2. Recipes may be directly authored into the database
  3. Recipes may be extracted from websites, magazine articles and cookbooks and loaded into the source database
  4. Users may search, aggregate and deliver recipes according to a broad range of criteria that we find today on recipe websites, magazine articles and cookbooks to develop new products

-Require

ments

  1. A broad range of search and organizational criteria must be employed
  2. The recipe database model will prescribe a standard order for metadata and recipe elements
  3. The recipe database model will allow for the tracking of recipe usage over time.
  4. The recipe database will enable the tracking of rights for each recipe.
  5. A recipe database schema will constructed.

3.1.2    Use Case 002: Establish a Tagging Scheme to Code a Wide Variety of Recipes in XML

Title

Establish a tagging scheme to code a wide variety of recipes in XML

Summary:

A publisher wants to code a wide variety of recipes in XML so that the recipes can be published or loaded into an XML Recipe Source Database

Actors:

Publisher

Scenario:

Publishers wish to develop an XML tagging scheme that can be used to publish a wide variety of recipes across multiple platforms.

  1. Recipes may be directly authored in XML (XML-First) or from tools that easily transform content into XML (XML-Early).
  2. Recipes may be intended for publication across products and platforms.
  3. Recipes may be intended for delivery to outside parties.
  4. XML-encoded recipes may be loaded into a recipe source database for future reuse.

Requirements

  1. A broad range of search and organizational metadata must be integrated into the XML model to support future content management by a recipe database.
  2. This XML recipe model should allow for the tracking of this instance of the recipe usage in the case that the recipes coded in XML are to be loaded into a recipe database.
  3. The semantics of the XML recipe model should be rich enough to provide for rendering of the recipes across platforms.
  4. The XML recipe model should be rich enough and flexible enough to represent a wide variety of recipes found online, in cookbooks and in magazines.
  5. Usage Rights should be included in this model.
  6. A distinct XSD will be developed to support this use case.

3.1.3    Use Case 003: Publish nextPub PRISM Source Vocabulary Content Containing Recipes

Title

Publish platform-agnostic Content Containing Recipes

Summary:

A publisher using PSV-encoding to manage, assemble, transform, deliver and publish content containing recipes

Actors:

Publisher

Scenario:

Publishers wish to encode recipes within nextPub-encoded content.

  1. Publishers wish to code source content with recipes within articles.
  2. Publishers wish to pull recipes out of articles encoded with nextPub recipe markup into a recipe database.
  3. Publishers wish to draw recipes stored in a source XML recipe database into nextPub-encoded articles

Requirements

  1. Recipes should be delimited and coded inside a magazine article with markup.
  1. Recipes will use the new media object, anchored within the recipe to support the rich media functionality for recipes expected on interactive tablet displays.
  2. Recipe metadata must be stored for the recipe object in the content data stream.
  3. PSV will be developed to support this use case.

3.2      PRISM XML Recipe Models

Three use cases have been identified for PRISM Recipe Metadata.  A single XML Model has been defined for Use Case #1 and Use Case #2 because the functionality is very similar.  See Figure 3.1.  Recipe encoding is also documented for PSV in an Appendix in this document.


4      PRISM Recipe Metadata Encoding

This PRISM Guide addresses PRISM metadata fields that can be applied to recipes to facilitate the management of recipes from creation throughout production, archive and aggregation.

4.1      PRISM Recipe Metadata Namespaces

Metadata fields that can be used to encode recipes have been developed by the PRISM Recipe Working Group.

The Table 1 lists the applicable namespaces and document within the PRISM Documentation Set that can be used for the encoding of recipes.

Metadata in these blocks fields that enable encoding of recipes come from the new PRISM Recipe Namespace (prm:) as well as the Dublin Core Namespace (dc:) the PRISM Namespace (prism:) and the PRISM Usage Rights Namespace (pur:).  Reference the PRISM Basic Metadata Specification, the PRISM Dublin Core Metadata Specification, the PRISM Usage Rights Metadata Specification and the PRISM Recipe Metadatat Specification for more information.

PRISM Document

Element Namespace

The PRISM Subset of the Dublin Core Metadata Specification [PRISMDCMS]

dc: and dcterms:

The PRISM Basic Namespace [PRISMBMNS]

prism:

The PRISM Recipe Metadata Namespace [PRISMRMNS]

prm:

The PRISM Usage Rights Namespace [PRISMURMS]

pur:

Table 4.1 PRISM Metadata namespaces for encoding recipes

4.2      PRISM Recipe Metadata Blocks

The metadata for a recipe has been organized into four blocks of metadata:

·        The basic metadata about this recipe

·        Metadata about how this recipe is related to other recipes

·        Metadata about the usage rights for this recipe

·        Metadata about where the recipe has been published

See Figure 4.1.

Figure 4.1 Recipe Metadata Model

4.2.1    Recipe Metadata

The recipe metadata block contains basic metadata about this recipe.  The fields in this block occur in a specified order.  See Figure 4.2.

Figure 4.2 Recipe Metadata

Fields in the Recipe Metadata block include:

·        dc:identifier

·        prm:recipeTitle

·        dc:creator

·        dc:contributor

·        prm:recipeSource

·        prm:cookingMethod

·        prm:cookingEquipment

·        prm:duration

·        prm:servingSize

·        prm:yield

·        prm:course

·        prm:meal

·        prm:cuisine

·        prm:dietaryNeeds

·        prm:ingredientExclusion

·        prm:mainIngredient

·        prm:dishType

·        prm:skillLevel

·        prm:specialOccasion

4.2.2    Recipe Relation Metadata

Metadata about how this recipe is related to other recipes is stored in this block.  See Figure 4.3.

Figure 4.3 Recipe Relation Metadata

Fields in Recipe Relations include:

·        dcterms:hasPart

·        dcterms:isPartOf

·        dcterms:hasVersion

·        dcterms:isVersionOf

4.2.3     Recipe Usage Rights Metadata

Metadata about the usage rights of this recipe is captured in this metadata block.  See Figure 4.4.

Figure 4.4 Recipe Usage Rights Metadata

Fields within the Recipe Usage Rights Metadata include:

·        pur:agreement

·        pur:creditLine

·        pur:copyright

·        pur:embargoDate

·        pur:exclusivityEndDate

·        pur:expirationDate

·        pur:optionEndDate

·        pur:permissions

·        pur:restrictions

·        pur:reuseProhibited

·        pur:rightsAgent

4.2.4     Where Used Metadata

Metadata to track where a recipe has been used is stored in this block.  When this schema is used for a recipe database design, every usage instance might be tracked.  If this schema is used to tag a single recipe, only the current usage would be captured.  The “where used” metadata matches that specified in the nextPub Specification for tracking usage of content.  See Figure 4.5.

Figure 4.5 Recipe Where Used Metadata

Where Used Metadata fields include:


·        prism:aggregationType

·        prism:channel

·        prism:corporateEntity

·        prism:coverDate

·        prism:coverDisplayDate

·        prism:device

·        prism:distributor

·        prism:doi

·        prism:edition

·        prism:eIssn

·        prism:endingPage

·        prism:hasCorrection

·        prism:hasTranslation

·        prism:isCorrectionOf

·        prism:isTranslatiof

·        prism:isbn

·        prism:issn

·        prism:issueIdentifier

·        prism:issueName

·        prism:keyword

·        prism:number

·        prism:originPlatform

·        prism:pageRange

·        prism:platform

·        prism:productCode

·        prism:publicationDate

·        prism:publicationName

·        dc:publisher

·        prism:section

·        prism:startingPage

·        prism:subchannel1

·        prism:subchannel2

·        prism:subchannel3

·        prism:subchannel4

·        prism:subsection1

·        prism:subsection2

·        prism:subsection3

·        prism:subsection4

·        prism:supplementDisplayID

·        prism:supplementStartingPage

·        prism:supplementTitle

·        prism:teaser

·        prism:url

·        prism:versionIdentifier

·        prism:volume

·        prism:wordCount


4.3      PRISM Recipes Metadata Alphabetical Listing

The following are the metadata fields that may be applied to recipes listed in alphabetical order by field name.  Note that these fields come from a number of namespaces.


·        prism:aggregationType

·        pur:agreement

·        prism:byteCount

·        prism:channel

·        dc:contributor

·        prm:cookingEquipment

·        prm:cookingMethod

·        pur:copyright

·        prism:corporateEntity

·        prm:course

·        prism:coverDate

·        prism:coverDisplayDate

·        dc:creator

·        pur:creditLine

·        prm:cuisine

·        prm:course

·        dc:description

·        prism:device
prm:dietaryNeeds

·        prm:dishType

·        prism:distributor

·        prm:duration

·        prism:doi

·        prism:edition

·        prism:eIssn

·        pur:embargoDate

·        prism:endingPage

·        pur:exclusivityEndDate

·        pur:expirationDate

·        prism:hasCorrection

·        dcterms:hasPart

·        prism:hasTranslation

·        dcterms:hasVersion

·        dc:identifier

·        prm:ingredientExclusion

·        prism:isCorrectionOf

·        dcterms:isPartOf

·        prism:isTranslationOf

·        dcterms:isVersionOf

·        prism:isbn

·        prism:issn

·        prism:issueIdentifier

·        prism:issueName

·        prism:keyword

·        dc:language

·        prm:mainIngredient

·        prm:meal

·        prism:number

·        pur:optionEndDate

·        prism:originPlatform

·        prism:pageRange

·        pur:permissions

·        prism:platform
prism:productCode

·        prism:publicationDate

·        prism:publicationName

·        dc:publisher

·        prm:recipeSource

·        prm:recipeTitle

·        pur:restrictions

·        pur:reuseProhibited

·        pur:rightsAgent

·        prism:section

·        prm:servingSize

·        prm:skillLevel

·        prm:specialOccasion

·        prism:startingPage

·        prism:subchannel1

·        prism:subchannel2

·        prism:subchannel3

·        prism:subchannel4

·        prism:subsection1

·        prism:subsection2

·        prism:subsection3

·        prism:subsection4

·        prism:supplementDisplayID

·        prism:supplementStartingPage

·        prism:supplementTitle

·        prism:teaser

·        prism:url

·        prism:versionIdentifier

·        prism:volume

·        prism:wordCount

·        prm:yield


 


5      XML Model for the Recipe Body

The metadata in the <metadataBlk of a recipe is used for metadata fields that are critical to management and search for a recipe within a recipe database or content management system.  In most cases the metadata does not appear when the recipe is displayed.  A good example is the “cusine.” We can organize our recipes by the cuisine and cuisine is a great way for readers to find the recipe.  Likewise we may want to search the recipe database by the “course” or the “dish type.”  This recipe metadata typically does not appear when the recipe is displayed in print, on a tablet or online.

What does appear when the recipe is displayed in print, on a tablet or online is the content that we tag with XML in the recipe “body.”  See Figure 5.1.

Figure 5.1 Recipe Body

Many of the XML fields that make up the recipe body are simple text strings.  Examples include the recipe title, the recipe description, serving size and yield.  Other fields are more complex and are documented in this guide.

5.1       Duration

The duration model for recipes is made up of various kinds of time that are published with a recipe.  See Figure 5.2.  While the <duration element is not required in a recipe, if time is being specified, the model requires the specification of <totalTime for the recipe

Figure 5.2 Recipe Duration Model

Note: the common “times” that we find in recipes include the preparation time, the cooking time and the total time.  Other “time” can include times such as freezing time, cooling time and grilling time.  A controlled vocabulary for other time is provided as part of this specification.

5.2      Ingredients

The ingredients model allows for an optional introduction, and a list of ingredients that includes an optional ingredients heading, followed by one or more ingredients.  Each ingredient includes an optional quantity, unit and a required item name.  This model allows for variations such as “1 egg” or “2 TBS butter”.  See Figure 5.3.

Figure 5.3 Ingredients Model

5.3      Instructions

The instructions for a recipe may have an introduction, followed by blocks of steps, each with an options heading, the steps and an optional note following one or more of the steps.  This model allows for the variations we find in recipes.  Note that each step can be either text or contain paragraphs, lists and other block-level XHTML tagging.  See Figure 5.4.

Figure 5.4 Directions Model

5.4      Nutrition

Nutrition information is modeled to have an optional introduction followed by either a generic nutrients list or FDA nutrients.  The generic nutrient listing is made up of one or more nutrients with an optional heading.  Each nutrient listed must have the name of the nutrient, a quantity and an optional unit. 

The FDA Nutrients are made up of the specific nutrients that the FDA requires to be listed. 

See Figure 5.5.

Figure 5.5 Nutrition Model

The FDA Nutrients list is made up of the nutrients that the FDA requires to be listed.  This list has very specific nutrition elements and sub-elements.  See Figure 5.6.

Figure 5.6 FDA Nutrients Model

5.5      Recipe Note

The Recipe Note is typically a boxed note that provides addition-al information about the recipe.  While the note can occur anywhere in the layout, for the recipe database design is is placed near the end.  The note has an optional title and is made of text or a mix of paragraphs, lists and tables.  See Figure 5.7.

Figure 5.7 Recipe Note

5.6      Recipe Images

Recipe images are included using the HTML5 <figure element. 

6      Overview of PRISM Recipe Controlled Vocabularies

Numerous controlled vocabularies have been added to support recipes.  These controlled vocabularies are documented in the PRISM Controlled Vocabularies Specification [PRISMCVS].  The controlled vocabularies are listed in the Guide for the convenience of the reader.

Note: The PRISM Recipe CVs are intended to be “open choice.”  Since there is no way to model an open choice with an XML Schema, we have adopted a modeling that leaves the value for each vocabulary default to a string, yet lists all options as enumerations that are commented out.  This will enable each end user to customize the controlled vocabularies for recipes by including enumerations that meet business requirements, excluding values that do not meet business requirements and adding custom enumerations where required.  Sample code is provided as Appendix F in this Guide.

6.1      Cooking Equipment

The following cooking equipment controlled vocabulary is an “open choice” vocabulary.  This means that this set of terms is a starting point for users to customize and to develop their own CV controlled vocabulary for specifying the cooking method for a recipe.  Each user may extend the list to meet their additional requirements.

·        Blender

·        Bread Machine

·        Broiler

·        Convection Oven

·        Deep Fryer

·        Fondue Pot

·        Food Processor

·        Freezer

·        Barbecue Grill

·        Grill Pan

·        Ice Cream Maker

·        Microwave Oven

·        Oven

·        Pressure Cooker

·        Rice Cooker

·        Sandwich Press / Panini Press

·        Slow Cooker

·        Waffle Maker

·        Wok

6.2      Cooking Method

The following cooking method controlled vocabulary is an “open choice” vocabulary.  This means that this set of terms is a starting point for users to customize and to develop their own CV controlled vocabulary for specifying the cooking method for a recipe.  Each user may extend the list to meet their additional requirements.

·        Bake

·        Blend

·        Boil

·        Braise

·        Broil

·        Can

·        Deep Fry

·        Fondue

·        Freeze

·        Fry

·        Grill/Barbecue

·        Marinate

·        Microwave

·        No-Cook

·        Roast

·        Press

·        Saute

·        Slow Cook

·        Steam

·        Stir-Fry

6.3      Course

The following meal course controlled vocabulary is an “open choice” vocabulary.  This means that this set of terms is a starting point for users to customize and develop their own CV controlled vocabulary for specifying the course of a recipe.  Each user may extend the list to meet their additional requirements.

·        Appetizer

·        Beverage

·        Dessert

·        Main Course

·        Salad Course

·        Side

6.4      Cuisine

The following cuisine controlled vocabulary is an “open choice” vocabulary.  This means that this set of terms is a starting point for users to customize and develop their own CV specifying cuisine.  Each user may extend the list to meet their additional requirements.


·        African

·        American

·        Asian

·        Austrian

·        Brazilian

·        British/Irish

·        Cajun/Creole

·        California

·        Caribbean

·        Central/South American

·        Chinese

·        Cuban

·        Eastern European

·        French

·        German

·        Greek

·        Hungarian

·        Halal

·        Indian

·        Italian

·        Japanese

·        Jewish/Kosher

·        Korean

·        Lebanese

·        Mediterranean

·        Mexican

·        Middle Eastern

·        Moroccan

·        Native American

·        New England

·        Pacific Northwest

·        Pacific Rim

·        Peruvian

·        Polish

·        Scandinavian

·        Southern

·        Southwest

·        Spanish

·        Swiss

·        Thai

·        Vegan

·        Vegetarian

·        Vietnamese


6.5      Dietary Needs

The following dietary needs controlled vocabulary is an “open choice” vocabulary.  This means that this set of terms is a starting point for users to customize and develop their own CV specifying the dietary requirements filled by a recipe.  Each user may extend the list to meet their additional requirements.

·        Brain Boosting

·        Bone Building

·        Diabetic

·        Gluten-Free

·        Healthy

·        Heart Healthy

·        High Fiber

·        Lactose Intolerant/ Dairy Free

·        Low Calorie

·        Low Carbohydrate

·        Low Cholesterol

·        Low Fat

·        Low Saturated Fat

·        Low Sodium

·        Sugar Free

·        Vegan

·        Vegetarian

·        Weight Loss

6.6      Dish Type

A dish type is a broad category to define a food type; based on the main ingredient in the dish or the final form of the dish. The dish type controlled vocabulary is an “open choice” vocabulary.  This means that this set of terms is a starting point for the user to customize and to develop their own CV specifying the dish type of a recipe.  Each user may extend the list to meet their additional requirements.


·        Appetizer

·        Babyfood

·        Bean/Pea/Legume

·        Beverage Alcoholic

·        Beverage Non-alcoholic

·        Bread

·        Cake/Cupcakes

·        Candy

·        Casserole

·        Cheese

·        Cookie

·        Dairy

·        Dip/Spread

·        Egg

·        Fish/Shellfish

·        Food Gift

·        Frosting

·        Fruit

·        Gravy

·        Grill

·        Ice Cream/Sherbet

·        Jelly/Jam/Preserves

·        Marinade/Rub

·        Meat/Game

·        Muffin/Quick Bread

·        Nuts

·        Pasta

·        Pizza

·        Pickles/Relishes

·        Pies/Tarts/Pastries

·        Poultry

·        Puddings/Custards

·        Salad/Salad Dressing

·        Sandwich

·        Sauce/Condiment

·        Seafood

·        Smoothie

·        Spice/Herbs/Seasoning

·        Soup/Stew

·        Stir-Fry

·        Stuffing/Dressing

·        Vegetable


6.7      Ingredient Exclusions

The following ingredient exclusions controlled vocabulary is an “open choice” vocabulary.  This means that this set of terms is a starting point for users to customize and to develop their own CV specifying the exclusions of a recipe.  Each user may extend the list to meet their additional requirements.

·        Alcohol

·        Dairy

·        Eggs

·        Fish

·        Meat

·        Nuts/Peanuts

·        Pork

·        Salt

·        Shellfish

·        Soy

·        Sugar

·        Wheat/Gluten

6.8      Main Ingredient

Main Ingredient does not have a controlled vocabulary.  This is a free text field.

6.9      Meal

The following meal type controlled vocabulary is an “open choice” vocabulary.  This means that this set of terms is a starting point for users to customize and to develop their own CV specifying times (other than prep, cooking and total time) related to the preparation of a recipe.  Each user may extend the list to meet their additional requirementsTimes.

·        Breakfast

·        Brunch

·        Buffet

·        Dinner

·        Hors d’Oeuvres

·        Lunch

·        Supper

·        Snack

6.10  Other Recipe Time

The following other time controlled vocabulary is an “open choice” vocabulary.  This means that this set of terms is a starting point for users to customize and to develop their own CV specifying times (other than prep, cooking and total time) related to the preparation of a recipe.  Each user may extend the list to meet their additional requirementsTimes.

·        Bake

·        Broil

·        Chill

·        Cool

·        Decorate

·        Grill

·        Hands-on

·        Marinate

·        Microwave

·        Process

·        Rise

·        Roast

·        Slow Cook

·        Stand

·        Start to Finish

6.11  Recipe Source

The following recipe source controlled vocabulary is an “open choice” vocabulary.  This means that this set of terms is a starting point for users to customize and to develop their own CV specifying the source of a recipe.  Each user may extend the list to meet their additional requirements.

·        Amateur

·        Book

·        Celebrity

·        Chef

·        Client (a brand like Nestle or Kraft)

·        Contest

·        Magazine

·        Online / Website

·        Reader Submitted

·        Restaurant

·        Sponsors

·        Test Kitchen

·        TV Show

 

6.12  Recipe Title

Recipe Title does not have a controlled vocabulary.  This is a free text field.

6.13  Role (attribute on Creator / Contributor)

The following role controlled vocabulary is an “open choice” vocabulary to be used for dc:creator and dc:contributor for recipe.  This means that this set of terms is a starting point for the user to customize and to develop their own CV specifying the role played by the creator of or contributor to a recipe.  Each user may extend the list to meet their additional requirements.

·        Amateur

·        Chef

·        Editor

·        Food Stylist

·        Food Tester

·        Nutritionist

·        Recipe Developer

·        TV Host

6.14  Skill Level

The following skill level controlled vocabulary is an “open choice” vocabulary.  This means that this set of terms is a starting point for users to customize and to develop their own CV specifying the skill level required to prepare a recipe.  Each user may extend the list to meet their additional requirements.

·        Children

·        Easy

·        Expert

·        Moderate

6.15  Special Occasion

The following special occasions / holiday or event controlled vocabulary is an “open choice” vocabulary.  This means that this set of terms is a starting point for users to customize and to develop their own CV specifying the special occasion for the serving of a recipe.  Each user may extend the list to meet their additional requirements.


·        Anniversary

·        Baby Shower

·        Barbeque

·        Bar Mitzvah / Bas Mitzvah

·        Birthday (Adult)

·        Birthday (Child)

·        Bridal Shower

·        Chinese New Year

·        Christmas Day

·        Christmas Eve

·        Cinco de Mayo

·        Cocktail Party

·        Cookie Swap

·        Dinner Party

·        Easter

·        Father's Day

·        Fondue Party

·        Fourth of July

·        Funeral/Wake

·        Graduation

·        Halloween

·        Hanukkah

·        Kwanzaa

·        Labor Day

·        Mardi Gras

·        Memorial Day

·        New Years' Day

·        New Years’ Eve

·        Oscars

·        Passover

·        Picnic/Cookout

·        Pot-Luck

·        Ramadan

·        Rosh Hashanah

·        St. Patrick's Day

·        Super Bowl

·        Tailgating

·        Thanksgiving

·        Valentine's Day

·        Yom Kippur

·        Wedding

·        Winter Holiday Party


Appendix A       PRISM Recipe Metadata Glossary

This appendix contains a glossary for the metadata elements within the PRISM Recipe Metadata Specification.  The elements are listed alphabetically.  Following the element name is the namespace pointing to the document in the PRISM documentation package where that element appears.

Field

Definition

channel (prism:)

Web channel assigned to the resource.  A navigational aid.  Has attributes for indication of subchannel1 -4 to indicate finer nagivation.

contributor (prism:)

n entity responsible for making contributions to the content of a media resource, in this case a recipe.

cookingMethod (prm:)

The primary cooking method for a recipe.

cookingEquipment (prm:)

The primary equipment required for preparation of the recipe.

corporateEntity (prism:)

The name(s) of publisher’s organizational units related to the resource, either as the financial owner or group responsible for the resource, and at a lower hierarchical level than the corporate entity named in dc:publisher.

course (prm:)

The meal course assigned to a recipe

coverDate  (prism:)

Date, in date format, on the cover of a magazine issue, suitable for storing in a database.

coverDisplayDate (prism:)

Date on the cover of a magazine issue, provided as a textual string such as “Spring 2007”.

creator (dc:)

An entity primarily responsible for creating the content of a media resource, in this case a recipe

cuisine (prm:)

A specific set of cooking traditions and practices, often associated with a specific culture, country or region of a country.

dietaryNeeds (prm:)

Specific dietary restrictions or requirements (medically, religiously or personally  indicated or preferred) associated with a recipe.

distributor (prism:)

An identifier for the distributor of the resource.

dishType (prm:)

Indicates the type of dish represented by this recipe.

doi (prism:)i

The Digital Object Identifier, DOI, for the article where a recipe appeared

duration (prm:)

Indicates the total amount of time required to prepare the recipe.  May be made up of units such as prepTime, cookingTime, etc.

edition (prism:)

An identifier for one of several alternate issues of a magazine or other resource such as a foreign edition where a recipe appeared.

eIssn  (prism:)

The electronic ISSN for the publication where a recipe appeared

endingPage (prism:)

Identifies the end page for the published print version of an article where the recipe appeared.

hasCorrection (prism:)

Identifies any known corrections to the current resource.

hasPart (dcterms:)

The described resource includes the referenced recipe either physically or logically.

hasTranslation (prism:)

Identifies the translation of the current recipe.

hasVersion (dcterms:)

Identifies the next version of the current recipe.

identifier (dc:)

An unambiguous reference to the recipe, within a given context.

ingredientExclusion (prm:)

Indication of ingredients that have specifically been excluded from this recipe.  Relates to Dietary Needs.

isCorrectionOf (prism:)

The described recipe is a corrected version of the referenced recipe.

isPartOf (dcterms:)

The described recipe is part of the referenced recipe.

isTranslationOf (prism:)

The described recipe is a translation of the referenced recipe.

IsVersionOf (dcterms:)

The described recipe is the next version of the referenced recipe.

isbn (prism:)

The ISBN for the book where a recipe appeared

issn (prism:)

The ISSN for the publication where a recipe appeared

issueIdentifier (prism:)

An additional identifier, typically used to record an identifier for a specific issue of a magazine or other resource where a recipe appeared, as distinct from the "special" name element, prism:issueName

issueName (prism:)

An additional identifier, typically used for major issues of a magazine or other resource where a recipe appeared

issueIdentifier (prism:)

An additional identifier for the issue of a publication where an article containing a recipe appeared.

keyword (prism:)

An element used to tag keywords that are likely to be used in search queries.

language (dc:)

The language in which the recipe is written.

mainIngredient

The primary ingredient(s) for this recipe.

meal (prm:)

Specifies the meal for which this recipe is prepared.

number (prism:)

Additional identifier for the publication where the resource appeared, providing the number portion of the common volume, number scheme.

originPlatform (prism:)

The original platform where a recipe’s intellectual content was delivered.

pageRange (prism:)

Identifies the page range for the published print version of an article where a recipe appeared.

productCode (prism:)

The product code for a publication in which this recipe appeared.  This may be a bipad or even a full UPC or Magazine Barcode

publicationDate (prism:)

Date and time (in date time format) when the recipe is published on any platform

publicationName  (prism:)

Title of the magazine, or other publication, in which a recipe appeared

publisher (dc:)

The entity responsible for making the recipe available.

recipeSource (prm:)

Indicates the original intellectual source for this recipe.

recipeTitle (prm:)

The title of the recipe.

section (prism:)

Name of the publication section in which the recipe is categorized. A section is a logical subdivision of a publication which helps to identify the general subject domain of the contained content.

skillLevel (prm:)

Indicates the skill level required to prepare this recipe.

specialOccasion (prm:)

Indicates a special occasion or event associated with this recipe.

startingPage (prism:)

Identifies the start page for the published print version of an article in which a recipe appeared.

subchannel1 (prism:)

First level Web sub channel where a recipe appeared

subchannel2 (prism:)

Second level Web sub channel where a recipe appeared

subchannel3 (prism:)

Third level Web sub channel where a recipe appeared

subchannel4 (prism:)

Fourth level Web sub channel where a recipe appeared

subsection1 (prism:)

Name of the first level subsection of the publication where a recipe appeared

subsection2 (prism:)

Name of the second level subsection of the publication where a recipe appeared

subsection3 (prism:)

Name of the third level subsection of the publication where a recipe appeared

subsection4 (prism:)

Name of the fourth level subsection of the publication where a recipe appeared

teaser (prism:)

A short description of the recipe

totalTime (prm:)

Indicates the total time to prepare and cook this recipe.

url (prism:)

This element provides the url for the recipe

versionIdentifier (prism:)

Provides an additional identifier, typically used to record a specific version of a recipe. Best practice is to use a version identifier that implies sequence.

volume (prism:)

Additional identifier for the publication where the recipe appeared, providing the Volume portion of the common Volume, Number scheme.

wordCount (prism:)

The (approximate) count of the number of words in a recipe.


Appendix B        Sample Recipe XML Tagging

The following sample shows how a recipe would be encoded in a PAM-encoded magazine article.

<?xml version="1.0" encoding="UTF-8"?>

<!-- Recipe  -->

 

     <prm:recipe>

            <prm:recipeMetadata>

                 <dc:identifier>1060759301</dc:identifier>

                 <dc:creator>CHLOE CORSCARELLI</dc:creator>

               <prm:recipeSource>Competition</prm:recipeSource>

               <prm:recipeSource>TV Show</prm:recipeSource>

               <prm:course>Desert</prm:course>

               <prm:cuisine>Vegan</prm:cuisine>

               <prm:dishType>Cake/Cupcakes</prm:dishType>

                <prm:recipeStartingPage>33</prm:recipeStartingPage>

            </prm:recipeMetadata>

            <prm:recipeWhereUsedMetadata>

                <prism:issueIdentifier>1008535</prism:issueIdentifier>

              <dc:title>Q/A What food changed your life?</dc:title>

              <dc:creator>AS TOLD TO MARGO TRUE</dc:creator>

              <dc:creator>SOPHIE EGAN</dc:creator>

              <prism:publicationName>Sunset</prism:publicationName>

              <prism:issn>0039-5404</prism:issn>

              <prism:coverDate>2011-07-01</prism:coverDate>

              <prism:coverDisplayDate>July 2011</prism:coverDisplayDate>

              <prism:volume>227</prism:volume>

              <prism:number>1</prism:number>

              <prism:issueName>Special food lover's issue</prism:issueName>

              <prism:edition>Northern California edition</prism:edition>

            </prm:recipeWhereUsedMetadata>

            <prm:recipeBody>

            <prm:recipeTitle>CHLOE'S VEGAN CHOCOLATE STRAWBERRY CUPCAKES</prm:recipeTitle>

            prm:yield>MAKES 12 CUPCAKES</prm:yield>

  <prm:duration>1.5 HOURS</prm:duration>

            <prm:recipeDescription>This ultra-tender little cupcake helped Chloe beat the competition on Cupcake Wars.</prm:recipeDescription>

            <prm:ingredients>

            <prm:ingredientHead>CUPCAKES</prm:ingredientHead>

            <prm:ingredient><prm:quantity>1½</prm:quantity> <prm:unit>cups</prm:unit><prm:item>flour</prm:item><prm:ingredient>

           <prm:ingredient><prm:quantity>1</prm:quantity> <prm:unit>cup</prm:unit><prm:item>sugar</prm:item><prm:ingredient>

           <prm:ingredient><prm:quantity>1/3</prm:quantity>

           <prm:unit>cup</prm:unit><prm:item>unsweetened cocoa powder</prm:item><prm:ingredient>

           <prm:ingredient><prm:quantity>1</prm:quantity>

           <prm:unit>tsp</prm:unit><prm:item>baking soda</prm:item><prm:ingredient>

           <prm:ingredient><prm:quantity>1/2</prm:quantity>

           <prm:unit>tsp</prm:unit><prm:item>salt</prm:item><prm:ingredient>

           <prm:ingredient><prm:quantity>1/2</prm:quantity>

           <prm:unit>cup</prm:unit><prm:item>vegetable oil</prm:item><prm:ingredient>

           <prm:ingredient><prm:quantity>2</prm:quantity>

           <prm:unit>tsp</prm:unit><prm:item>distilled white vinegar</prm:item><prm:ingredient>

           <prm:ingredient><prm:quantity>2</prm:quantity>

           <prm:unit>tbsp</prm:unit><prm:item>vanilla extract</prm:item><prm:ingredient>

            <prm:ingredientHead>FROSTING &amp; FINISHING</prm:ingredientHead>

           <prm:ingredient><prm:quantity>2/3</prm:quantity>

           <prm:unit>cup</prm:unit><prm:item>nonhydrogenated vegetable oil</prm:item><prm:ingredient>

           <prm:ingredient><prm:quantity>2 2/3</prm:quantity>

           <prm:unit>cup</prm:unit><prm:item>sifted powdered sugar</prm:item><prm:ingredient>

           <prm:ingredient><prm:quantity>2</prm:quantity>

           <prm:unit>tbsp</prm:unit><prm:item>vanilla extract</prm:item><prm:ingredient>

           <prm:ingredient><prm:quantity>about 4</prm:quantity>

           <prm:unit>tbsp</prm:unit><prm:item> nondairy milk, such as soy, almond, or rice</prm:item><prm:ingredient>

           <prm:ingredient><prm:quantity>1.5</prm:quantity>

           <prm:unit>cups</prm:unit><prm:item>sliced strawberries</prm:item><prm:ingredient>

    </prm:ingredients>

    <prm:instructions>

            <prm:step>1. PREHEAT oven to 350 degrees. Line a 12-cup muffin pan with cupcake liners.</prm:step>

            <prm:step>2. MAKE cupcakes: In a large bowl, whisk together flour, sugar, cocoa, baking soda, and salt. In a separate bowl, whisk together 1 cup water, the oil, vinegar, and vanilla. Pour wet mixture into dry mixture and whisk until just combined.</prm:step>

            <prm:step>3. DIVIDE batter among cupcake cups. Bake until a toothpick inserted into a cupcake comes out clean, 15 to 20 minutes. Let cupcakes cool completely in pan.</prm:step>

            <prm:step>4. MAKE frosting: Using an electric mixer, beat shortening, 2 2/3 cups powdered sugar, and the vanilla together to mix. Beat in nondairy milk 1 tbsp. at a time and beat until frosting is smooth and fluffy.</prm:step>

            <prm:step>5. CUT tops off cupcakes and set aside. Smooth about 1 tbsp. frosting onto each cupcake and cover with a few strawberries. Replace top, then add a dollop of frosting and a few tiny slices of strawberry. Put remaining 1 tbsp. powdered sugar in a fine-mesh strainer and dust cupcakes with sugar.</prm:step>

   </prm:instructions>

   <prm:servingSize>PER CUPCAKE</prm:servingSize>

   <prm:nutritionInfo><prm:nutrients>

     <prm:nutrient><prm:nutrientName>CAL</prm:nutrientName>
       <prm:amount>411</prm:amount></prm:nutrient>

     <prm:nutrient><prm:nutrientName>CAL FROM FAT</prm:nutrientName>
       <prm:amount>183</prm:amount></prm:nutrient>

     <prm:nutrient><prm:nutrientName>PROTIEN</prm:nutrientName>
       <prm:amount>2.4</prm:amount><prm:unit>G</prm:unit></prm:nutrient>

     <prm:nutrient><prm:nutrientName>FAT</prm:nutrientName>
       <prm:amount>21</prm:amount><prm:unit>G</prm:unit></prm:nutrient>

     <prm:nutrient><prm:nutrientName>SATURATED FAT</prm:nutrientName>
       <prm:amount>6.4</prm:amount><prm:unit>G</prm:unit></prm:nutrient>

     <prm:nutrient><prm:nutrientName>CARBO</prm:nutrientName>
       <prm:amount>55</prm:amount><prm:unit>G</prm:unit></prm:nutrient>

     <prm:nutrient><prm:nutrientName>FIBER</prm:nutrientName>
       <prm:amount>1.3</prm:amount><prm:unit>G</prm:unit></prm:nutrient>

     <prm:nutrient><prm:nutrientName>SODIUM</prm:nutrientName>
       <prm:amount>205</prm:amount><prm:unit>MG</prm:unit></prm:nutrient>

     <prm:nutrient><prm:nutrientName>CHOL.</prm:nutrientName>
       <prm:amount>0</prm:amount><prm:unit>G</prm:unit></prm:nutrient>

   </prm:nutrients>

  </prm:recipeBody>

</prm:recipe>



Appendix C        PSV Recipe Tagging

A psv-encoded recipe is marked by <div class=”recipe” ></div> tags.  Note that we are using the HTML5 class= attribute instead of the special prism:class= attribute so that the body of the recipe will be valid HTML5.  nextPub allows for tagging the body of the recipe for display but also enables us to capture recipe metadata.

C.1          PSV Recipe Metadata Tagging

Because a recipe has its own metadata, it is considered a Component in PSV. If the user wishes to include recipe metadata in the XML content source, the metadata for the recipe must be placed in the <nextPub:metadata block and linked to the recipe in the HTML5-compliant body using the XML ID/IDREF mechanism.

A specialized metadata structure is defined for recipe components.  These are typically coded within an <html5:div with the class=“prism:recipe”.  Required fields include a unique identifier for the recipe (dc:identifier) and a title (prm:recipeTitle).  Other fields allowed within this metadata block include metadata from the prm:PRISM Recipe Metadata Specification and usage rights metadata. See Figure D.1.

Figure D.1 Recipe Component Metadata

C.2          Sample PSV Recipe Tagging

<?xml version='1.0' encoding='UTF-8'?>

  <psv:psv>

    <psv:metadata>

<psv:metadata>

     <prism:contentType>article</prism:contentType>

       . . .

     <psv:components refines=”#1060759302>

     <psv:componentType>recipe</psv:componentType>

      <dc:identifier>R1060759302AB>dc:identifier>

      <dc:title>PIM'S SUPER-QUICK AND FANTASTIC TOMATO SAUCE</dc:title>

       <psv:creators>

<dc:creator role=”chef”>PIM TECHAMUANVIVIT</dc:creator>
       </psv:creators>

<meta prefix=”prm” name=”recipeSource” content=”chef”/>

<meta prefix=”prm” name=”recipeSource” content=”tvShow”/>

<meta prefix=”prm” name=”dishType” content=”sauceOrCondement”/>

     </psv:components>

   </psv:metadata>

   <psv:contents>

    <html5:body>

            <p class="prism:deck">Sometimes a few bites can be a revelation</p>

            <p>NAME: ROY CHOI Creator of the Korean taco. Executive chef and cofounder of the Kogi taco trucks in L.A.</p>

            <p>THE FOOD: BIRRIA (Mexican goat and chile stew; recipe on sunset.com). About 15 years ago, I got to be friends with the dishwasher at a Borrego Springs resort where I was working. Salvador's family had a food stand/restaurant in the Coachella Valley, in the California desert. They'd buy live goats and make birria. Once, he invited me to make it with him. He knocked on my door at 6 a.m. and we jumped into his truck and went out to his house. There was a goat there, and we got it in a headlock, and I watched him do what's been done in his country for generations. We butchered it and took it to the kitchen, and helped his grandma make delicious, wonderful birria. She'd probably been taught to make the stew from her grandmother and her grandmother before that, and it showed me the deep roots of the culture of cooking.</p>

            <p>HOW IT CHANGED ME: I really connected to the earth and where his family came from. At Kogi, we have 100 percent Latino kitchens. After all these years, my soul has actually become Latino. It's who I am.</p>

            <p/>

            <p>NAME: CHLOE CORSCARELLI Vegan baker from Los Angeles. Won first place on Food Network's Cupcake Wars.</p>

            <p>THE FOOD: VEGAN CUPCAKES I took a huge risk by presenting my all-vegan cupcake at a nonvegan competition. But the judges gave me rave reviews. One of them, Candace Nelson of Sprinkles Cupcakes, said, "I felt completely indulged after I ate this cupcake." I was the first vegan to win a Food Network competition.</p>

            <p>HOW IT CHANGED ME: A New York Times article was written about my win, and now I'm writing a cookbook for Simon &amp; Schuster. On my blog, lots of parents who have children allergic to eggs or dairy have written that their kids had a delicious birthday cake for the first time in their lives, thanks to my recipes.</p>

            <p/>

           

            <!-- RECIPE BELOW  -->

           

        <div class=”prism:recipe” idref=”1060759302”>

              <p class="prm:recipeTitle">CHLOE'S VEGAN CHOCOLATE STRAWBERRY CUPCAKES</p>

           

              <p><span class="prm:yield">MAKES 12 CUPCAKES</span> <span class="prm:duration">1 1/2 HOURS</span></p>

           

              <p class="prm:recipeDescription">This ultra-tender little cupcake helped Chloe beat the competition on Cupcake Wars.</p>

             

              <div class="prm:ingredients">

                <p>CUPCAKES</p>

                <p>1 1/2 cups flour</p>

                <p>1 cup sugar</p>

                <p>1 cup sugar</p>

                <p>1/3 cup unsweetened cocoa powder (preferably Dutch-process)</p>

                <p> 1 tsp.baking soda</p>

                <p>1/2 tsp.salt</p>

                <p>1/2 cup vegetable oil</p>

                <p>2 tbsp.distilled white vinegar</p>

                <p>2 tsp.vanilla extract</p>

                <p>FROSTING &amp; FINISHING</p>

                <p>2/3 cup nonhydrogenated vegetable shortening</p>

                <p>2 2/3 cups plus 1 tbsp.sifted powdered sugar</p>

                <p>2 tsp.vanilla extract</p>

                <p>About 4 tbsp.nondairy milk, such as soy, almond, or rice</p>

                <p>1.5 cups sliced strawberries</p>

              

             </div>

                         

             <div class="prm:instructions">

               <p>1. PREHEAT oven to 350 degrees. Line a 12-cup muffin pan with cupcake liners.</p>

               <p>2. MAKE cupcakes: In a large bowl, whisk together flour, sugar, cocoa, baking soda, and salt. In a separate bowl, whisk together 1 cup water, the oil, vinegar, and vanilla. Pour wet mixture into dry mixture and whisk until just combined.</p>

               <p>3. DIVIDE batter among cupcake cups. Bake until a toothpick inserted into a cupcake comes out clean, 15 to 20 minutes. Let cupcakes cool completely in pan.</p>

               <p>4. MAKE frosting: Using an electric mixer, beat shortening, 2 2/3 cups powdered sugar, and the vanilla together to mix. Beat in nondairy milk 1 tbsp. at a time and beat until frosting is smooth and fluffy.</p>

               <p>5. CUT tops off cupcakes and set aside. Smooth about 1 tbsp. frosting onto each cupcake and cover with a few strawberries. Replace top, then add a dollop of frosting and a few tiny slices of strawberry. Put remaining 1 tbsp. powdered sugar in a fine-mesh strainer and dust cupcakes with sugar.</p>

             </div>

             

             <p class="prm:nutritionInfo">PER CUPCAKE 411 CAL., 45% (183 CAL.) FROM FAT; 2.4 G PROTEIN; 21 G FAT (6.4 G SAT.); 55 G CARBO (1.3 G FIBER); 205 MG SODIUM; 0 MG CHOL.</p>

     </div>

     <!-- RECIPE ABOVE -->

           

        </body>

    </psv:content >

</psv:nextPub>