Copyright © 2020 Idealliance, Inc. This document is available under the W3C Document License. See the W3C Intellectual Rights Notice and Legal Disclaimers for additional information.
This PRISM Aggregator Message Sepcification defines an XML message to be used to exchange articles and their descriptive metadata.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications can be found in the W3C technical reports index at https://www.w3.org/TR/.
By publishing this document, W3C acknowledges that the Submitting Members have made a formal Submission request to W3C for discussion. Publication of this document by W3C indicates no endorsement of its content by W3C, nor that W3C has, is, or will be allocating any resources to the issues addressed by it. This document is not the product of a chartered W3C group, but is published as potential input to the W3C Process. A W3C Team Comment has been published in conjunction with this Member Submission. Publication of acknowledged Member Submissions at the W3C site is one of the benefits of W3C Membership. Please consult the requirements associated with Member Submissions of section 3.3 of the W3C Patent Policy. Please consult the complete list of acknowledged W3C Member Submissions.
The status of this document is:
• |
Released for Public Comment |
7/02/2012 |
• |
Final Specification |
10/04/2012 |
The location of this document is:
Version Number |
Release Date |
Editor |
Description |
1.1 |
2004 |
McConnell |
Initial version of spec-style PAM documentation |
1.2 |
10/01/05 |
Kennedy |
Final for Release |
2.0 Release |
2/19/08 |
Kennedy |
Final for Release |
2.0 w Errata |
7/03/08 |
Kennedy |
Final with Errata |
05/15/09 |
Kennedy |
Final |
|
2.1 w Errata |
06/01/09 |
Kennedy |
Errata |
2.2 Draft |
07/02/12 |
Kennedy |
Draft for Public Comment |
2.2 Release |
10/04/2012 |
Kennedy |
Final |
PRISM is described in a set of formal, modularized documents that, taken together, represent “the PRISM Specification”. Together these documents comprise the PRISM Documentation Package.
Documents in the PRISM Documentation Package may contain both normative and non-normative material; normative material describes element names, attributes, formats, and the content of elements that is required in order for content or systems to comply with the PRISM Specification. Non-normative material explains, expands on, or clarifies the normative material, but it does not represent requirements for compliance. Normative material in the PRISM Documentation Package is explicitly identified as such; any material not identified as normative can be assumed to be non-normative.
The key words "MUST," "MUST NOT," "REQUIRED," "SHALL," "SHALL NOT," "SHOULD," "SHOULD NOT," "RECOMMENDED," "MAY," and "OPTIONAL" in this document are to be interpreted as described in [RFC-2119]. The PRISM Specification also uses the normative term, “STRONGLY ENCOURAGES,” which should be understood as a requirement equivalent to “MUST” in all but the most extraordinary circumstances.
Capitalization is significant; lower-case uses of the key words are intended to be interpreted in their normal, informal, English language way.
The PRISM Documentation Package has been reorganized and some specifications renamed to more accurately reflect the nature of each specification module. The PRISM documentation package includes the following specifications and documents:
This document provides compliance specification.
Document |
Description |
PRISM Compliance [PRISMCOMP] |
Describes three profiles of PRISM compliance for content and systems; includes normative material. |
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 namepace so users may pick those modules that meet their unique business requirements without having to implement the entire PRISM specification.
Document |
Description |
PRISM Advertising Metadata Specification [PRISMADMS] |
Describes advertising metadata elements including those drawn from AdsML, GWG and Ad-ID; includes normative material. |
The PRISM Basic Metadata Specification [PRISMBMS] |
Describes the basic metadata elements contained in the PRISM namespace to describe article content; includes normative material. |
The PRISM Contract Management Metadata Specification [PRISMCMMS] |
Describes metadata elements from the PRISM Contract Management Metadata (pccm:) namespace that are used to describe contracts and legal documents. |
The PRISM Crafts Metadata Specification [PRISMCMS] |
Describes the metadata elements contained in the PRISM Crafts Metadata Namespace (pcm:). Includes normative material. |
The PRISM Subset of Dublin Core Metadata Specification [PRISMDCMS] |
Describes the metadata elements from the Dublin Core namespace that are included in PRISM; includes normative material. |
The PRISM Image Metadata Specification [PRISMIMS] |
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] |
Describes the metadata elements contained in the PRISM Recipe Metadata Namespace (prm:). Includes normative material. |
The PRISM Rights Summary Metadata Specification [PRISMRSMS] |
Describes the metadata elements contained in the PRISM Rights Summary Metadata Namespace (prsm:). Includes normative material. |
The PRISM Usage Rights Metadata Specification [PRISMURMS] |
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. Some elements from PUR are referenced from the newer, more comprehensive PRISM Rights Summary Metadata Specification [PRISMRSMS]. |
This module documents the PRISM Markup Elements and Attributes for use with the PRISM Aggregator Message (PAM) and other aggregator messages. This set of documents includes:
Document |
Description |
The PRISM PAM Markup Specification [PRISMPAMMS] |
Describes the XML elements and attributes used to encode the PRISM Aggregator Message from both the pam: and pim: namespaces; includes normative material. |
The PRISM PAM Markup for Web Content Specification [PRISMPAMWMS] |
Describes the XML elements and attributes used to encode the PRISM Aggregator Message for Web Content. This Specification draws from both the pam: and pim: namespaces and includes normative material. PAMW is used to automate the harvesting of Web Content so that it may be sent to aggregators or stored in a publishers PAM-based content management system. |
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] |
Describes the XML elements used to encode the inline markup for the PRISM Aggregator Message. Includes normative material. |
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] |
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] |
The PRISM Controlled Vocabularies are now documented in this document. |
• The Guide to the PRISM Aggregator Message [PAMGUIDE] documents the PRISM Aggregator Message (PAM), an XML-based application of PRISM.
• The Guide to the PRISM Aggregator Message for Web Content [PAMWGUIDE] documents the PRISM Aggregator Message (PAM), an XML-based application of PRISM.
• Guide to the PSV Aggregator/Distributor Message Package [PAMPGUIDE] documents how to use the PRISM metadata fields and pamP XML messaging tags to deliver content to content aggregators/distributors. The Guide documents the pamP XML message structure and provides the pamP XSD and document samples.
• The Guide to PRISM Contract Management [CONTRACTSGUIDE] documents an XML-based PRISM contract management model. The Guide is accompanied by an XSD that can be used as the basis for developing a contract management system that interfaces with the PRISM Rights Summary to populate ODRL policy statements. Reference [ODRLRSGUIDE]
• 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 recipe model for developing a recipe database, for tagging a wide variety of recipes in XML and for tagging recipes within a PAM Message.
• 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.
• PAM to PSV_Guide [PAMPSVGUIDE] documents mappings from PAM XML to PSV XML.
In 2010, Idealliance 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 PSV, PRISM Source Vocabulary Specification Version 1.0 consists of:
Document |
Description |
PRISM Source Vocabulary Specification Overview [PSVSO] |
The Introduction 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. |
While PRISM is primarily a metadata specification, it also includes some XML schemas that define encoding of specific kinds of content for publication and interchange. The PRISM schemas include:
• Contracts_xsd.zip contains a schema that can be used to encode publication contracts.
• Crafts_xsd.zip contains a schema that can be used to encode crafts.
• Image_xsd.zip contains a schema that can be used to encode images.
• PAM_xsd.zip contains a schema that can be used to encode a PRISM aggregator message.
• pamW_xsd.zip contains a schema that can be used to encode a PRISM aggregator message for Web content.
• pamP_xsd.zip contains a schema that can be used to encode a PRISM aggregator/distributor message package.
• PSV_xsd.zip contains a schema that can be used to encode content in PRISM Source Vocabulary.
• Recipe_xsd.zip contains a schema that can be used to encode recipes.
• Rights_xsd.zip contains a schema that can be used to encode usage rights.
PRISM has defined 38 controlled vocabularies using PRISM controlled vocabulary markup. See The PRISM Controlled Vocabulary Specification [PRISMCVS]. All CVs are available in CVs.zip.
PRISM namespace declarations can be found in Namespaces.zip. The following are the recommended Namespaces for PRISM metadata:
Usage Vocabulary |
Namespace |
PRISM Basic Metadata |
basic: |
PRISM Aggregator Message (PAM) Markup |
pam: |
PRISM Controlled Vocabulary Markup |
pcv: |
PRISM Source Vocabulary |
psv” |
PRISM Inline Markup |
psm |
Dublin Core metadatap |
dc: |
RDF |
rdf: |
PAM aggregator/distributor package |
pamp: |
PRISM Crafts metadata |
pcm: |
PRISM Contract Management metadata |
pccm: |
PRISM advertising metadata |
prism-ad: |
PRISM rights language metadata |
prl: |
PRISM recipe metadata |
prm: |
PRISM usage rights metadata |
pur: |
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.
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.
The purpose of this document is to describe the basic elements that the PRISM Working Group has defined and included in the PRISM Aggregator Message namespace. All of section 4 of this document is normative.
This document is not a complete guide to implementing PAM; users must use the [PAMGUIDE] as well.
All the element definitions appear in a uniform format. Each element definition begins with two fields – the Name and the Identifier of the element. The Name is a human-readable string that can be translated into different languages. Also, note that PRISM does NOT require that users be presented with the same labels. The Identifier is a protocol element. It is an XML element type and MUST be given as shown, modulo the normal allowance for variations in the namespace prefix used.
Note: PRISM Aggregator Message markup is XML markup. It does not follow the rules of RDF/XML, even for profile 2 PRISM Compliance (that documents encoding content using the PRISM2 profile of RDF). Likewise, PRISM Aggregator Message is never expressed using XMP [XMP] markup.
Changes in this document include:
• Addition of new head elements markup tags to refine dc:subject;. academicField, link, profession and sport
• Addition of new issue-level elements: aggregateIssueNumber, issueTeaser, IssueType and uspsNumber, pubicationDisplayDate
• Addition of support for series and supplements: seriesNumber, seriesTitle, supplementDisplayID, supplementTitle, supplementStartingPage
• Addition of support for blogs: blogURL, blogTitle
One of the key content interchange transactions in publishing is the transmission of articles from publishers to aggregators. To provide a standard structure for these transactions, the PRISM Working Group developed the PRISM Aggregator Message (PAM). PAM is the first formal application of the PRISM standard metadata elements. It consists of a guide document [PAMGUIDE],
The recommended namespace for PRISM Aggregator Message is:
xmlns:pam=”http://prismstandard.org/namespaces/pam/2.2/”
PAM 2.2 is implemented using elements from other namespaces. Because PAM is remaining stable and backwardly compatible, it does not directly use the new PRISM 3.0 namespaces. Rather it uses special namespaces designed to retain the stability of the overall PRISM Aggregator Message. These namespaces include:
• xmlns:prism=http://prismstandard.org/namespaces/basic/2.2/
• xmlns:pim="http://prismstandard.org/namespaces/pim/2.2/"
• xmlns:dcterms="http://purl.org/dc/terms/"
• xmlns:pur="http://prismstandard.org/namespaces/prismusagerights/2.1/"
• xmlns:dc="http://purl.org/dc/elements/1.1/"
PAM is the PRISM Aggregator Message. The use case for PAM is to encode magazine articles in XML to deliver content to aggregators. PAM is an XML tag set built on the foundation of PRISM metadata and controlled vocabularies. PAM is an application of PRISM, but PAM and PRISM are not synonymous. PAM is an XML tag set that uses PRISM metadata for a very specific purpose while PRISM remains the core specification for metadata and controlled vocabularies. See Figure 4.1.
PAM is the PRISM Aggregator Message. The use case for PAM was originally to encode magazine articles in XML to deliver content to aggregators.. While some publishers currently use PAM XML as a content source, that was not the original intent. Now a new use case, to encode semantically rich content for transformation and delivery to any platform, has led to the development of a new XML tag set, the PRISM Source Vocabulary. PSV, like PAM is also built on the foundation of PRISM metadata and controlled vocabularies, But nextPub and PAM are not the same. Each has a very specific use case and each has a different XML tag set. See Figure 4.1.
Note: PSV is based on PRISM 3.0 while PAM 2.2 remains backwardly compatible and is based on PRISM 2.1 with a few extensions to include a few critical elements from PRISM 3.0.
Figure 4.1 Relationship of PAM, PRISM and nextPub
Although much of PAM is implemented using elements defined in the other PRISM namespaces, a small set of additional elements and attributes were required to meet the unique needs of this application. Those elements and attributes are documented here.
Name |
Article |
Identifier |
pam:article |
Definition |
(Element) Contains the metadata and markup for one article. |
Occurrence |
Occurs 0 or 1 time |
Comment |
See [PAMGUIDE] for the structure and a full description of pam:article. |
nextPub Mapping |
<html5:article |
Attributes |
xmlns:pam=, xmlns:prism=, xmlns:dc=, xmlns:pim= |
Model |
head (body)? (redefined in the PAM DTD to serve as containers) See [PAMGUIDE]. |
Occurs In |
pam:message |
Example |
<pam:message> <pam:article> <head> ... </head> <body> ... </body> </pam:article> </pam:message> |
Name |
Caption |
Identifier |
pam:caption Allows for capture of published text that describes the media object. |
Definition |
(Element) |
Occurrence |
Occurs 0 or 1 time |
Comment |
Permits capture of captions for media associated with an article.
Do NOT use the XHTML caption element for capturing caption text, unless the text is for a table. |
nextPub Mapping |
photoshop:Headline |
Attributes |
None |
Model |
#PCDATA mixed with XHTML elements |
Occurs In |
pam:media |
Example |
<pam:caption>This Clinton campaign again offers "two for one," but the aspiring First <b>Laddie</b>Laddie and strategist in chief, shown with Hillary in New Hampshire, is trying not to outshine his wife</pam:caption> |
Name |
Credit |
Identifier |
pam:credit |
Definition |
(Element) A caption-style attribution for a media object. |
Occurrence |
Occurs 0 or more times |
Comment |
Permits capture of credits for media associated with an article, especially where the credit is different than the overall article credit, captured in dc:creator. pur:creditLine specifies the credit that is contractually required. This may differ from what appears in print, which is captured by pam:credit. |
nextPub Mapping |
photoshop:Credit |
Attributes |
None |
Model |
#PCDATA |
Occurs In |
pam:media |
Example |
<pam:credit>PHOTOGRAPH BY ANTONIN KRATOCHVIL/VII</pam:credit> <pam:credit>FRED WESTBROOK</pam:credit> |
Name |
Media |
Identifier |
pam:media |
Definition |
(Element) An alternative to the XHTML img element. Permits referring to and providing metadata for a media object related to an article. |
Occurrence |
Occurs 0 or more times |
Comment |
pam:media provides a method for publishers to transmit image captions, descriptions, and credits to aggregators. pam:media includes elements and attributes from Dublin Core (like dc:type), PRISM Aggregator Message (e.g. pam:credit), PRISM (e.g. prism:copyright) and PRISM Usage Rights (e.g. pur:rightsOwner).
XHTML will be treated as the default namespace in a PAM document, so that XHTML elements in the document’s examples will not have a namespace prefix. The body element in the example below is an example using xhtml: as the default namespace. |
nextPub Mapping |
<html5:figure |
Attributes |
xmlns:pam=, xmlns:prism=, xmlns:dc= |
Model |
Elements in order: (dc:type?, dc:format?, dc:identifier?, dc:creator*, dc:contributor*, pam:mediaReference?, pam:mediaTitle?, pam:nonpublishedMediaTitle?, pam:credit*, pam:caption?, pam:textDescription?)
|
Occurs In |
pam:article |
Example |
<pam:media> <dc:format>image/jpeg</dc:format> <pam:mediaTitle>Bill Clinton</pam:mediaTitle> <pam:credit>BROOKS KRAFT--CORBIS FOR TIME</pam:credit> <pam:caption>This Clinton campaign again offers "two for one," but the aspiring First Laddie and strategist in chief, shown with Hillary in New Hampshire, is trying not to outshine his wife</pam:caption> <pam:textDescription>Image of Hillary & Bill Clinton</pam:textDescription> </pam:media> |
Name |
Media Reference |
Identifier |
pam:mediaReference |
Definition |
(Element) Links to the media file referred to by pam:media. |
Occurrence |
Occurs 0 or 1 time |
Comment |
In a pam:media element, pam:mediaReference is a means to name the media object -- image file, sound file, video file, etc. Its attribute refid= holds the name of the file See definitions for attributes in Section 4.3. |
nextPub Mapping |
<html5:img src=, <html5:video src=, <html5:audio src= |
Attributes |
pam:refid = |
Model |
Empty |
Occurs In |
pam:media |
Example |
<pam:media> <dc:type>chart</dc:type> <dc:format>image/gif</dc:format> <pam:mediaTitle>West day-ahead markets</pam:mediaTitle> <pam:mediaReference pam:refid="MD_20070103-west.gif"/> <pam:caption>Note: Based on averages from each region</pam:caption> </pam:media> |
Name |
Media Title |
Identifier |
pam:mediaTitle |
Definition |
Published title of the media element. |
Occurrence |
Occurs 0 or 1 time |
Comment |
|
nextPub Mapping |
dc:title |
Attributes |
None |
Model |
#PCDATA |
Occurs In |
pam:media |
Example |
<pam:media> <pam:mediaTitle>Bill Clinton</pam:mediaTitle> <pam:credit>BROOKS KRAFT--CORBIS FOR TIME</pam:credit> <pam:caption>This Clinton campaign again offers "two for one," but the aspiring First Laddie and strategist in chief, shown with Hillary in New Hampshire, is trying not to outshine his wife</pam:caption> <pam:textDescription> Image of Hillary & Bill Clinton</pam:textDescription> </pam:media> |
Name |
Message |
Identifier |
pam:message |
Definition |
(Element) Root element for message from publisher to aggregator. Contains one or more article elements. |
Occurrence |
Occurs 0 or 1 time |
Comment |
See [PAMGUIDE] for the complete description of the pam:message structure. |
nextPub Mapping |
No mapping exists |
Attributes |
xmlns:pam=, xmlns:prism=, xmlns:dc=, xmlns:pim= |
Model |
pam:article |
Occurs In |
Root Element |
Example |
<pam:message xmlns:pam="http://prismstandard.org/namespaces/pam/2.1/" xmlns:prism="http://prismstandard.org/namespaces/basic/2.1" xmlns:pim="http://prismstandard.org/namespaces/pim/2.1/" xmlns:dc="http://purl.org/dc/elements/1.1/"> <pam:article> ... </pam:article> <pam:article> ... </pam:article> </pam:message> |
Name |
Non-published Media Title |
Identifier |
pam:nonpublishedMediaTitle |
Definition |
Non-published title of the media element. |
Occurrence |
Occurs 0 or 1 time |
Comment |
|
nextPub Mapping |
-- |
Attributes |
None |
Model |
#PCDATA |
Occurs In |
pam:media |
Example |
<pam:media> <dc:type>photo</dc:type> <dc:format>image/jpeg</dc:format> <pam:nonpublishedMediaTitle>Photo of Bill Clinton</pam:nonpublishedmediaTitle> <pam:credit>BROOKS KRAFT--CORBIS FOR TIME</pam:credit> <pam:caption>This Clinton campaign again offers "two for one," but the aspiring First Laddie and strategist in chief, shown with Hillary in New Hampshire, is trying not to outshine his wife</pam:caption> </pam:media> |
Name |
Status |
Identifier |
pam:status |
Definition |
Defines the processing status of the article. |
Occurrence |
Occurs 0 or 1 time |
Comment |
(Element) Contents of this element MUST be one of {A, C, D, U}, indicating that the article is to be Added (i.e., it's a new article, never before transmitted to the recipient), or is a Correction, a Delete request, or an Update for a previously transmitted article. |
nextPub Mapping |
-- |
Attributes |
None |
Model |
#PCDATA |
Occurs In |
pam:article |
Example |
<pam:status>A</pam:status> |
Name |
Text Description |
Identifier |
pam:textDescription |
Definition |
(Element) Contains a textual description for the item referred to in a pam:media element. |
Occurrence |
Occurs 0 or 1 time |
Comment |
Permits a fully-marked up description of a media item to accompany it. |
nextPub Mapping |
dc:subject |
Attributes |
None |
Model |
#PCDATA |
Occurs In |
pam:media |
Example |
<pam:textDescription>Photo of President Bush and Prime Minister Blair</pam:textDescription> |
Name |
Reference ID |
Identifier |
pam:refid |
Definition |
(Attribute) ID used to reference. |
Comment |
Use to hold the actual name of the media file in a pam:mediaReference, or a unique identifier. |
Model |
Empty |
Occurs In |
pam:mediaReference |
Example |
<pam:mediaReference pam:refid="MD_20070103-west.gif"/> |