[Cache from http://www.iptc.org/site/NewsML/specification/newsmlfunctionalspecv1.1.html 2002-10-18; please use this canonical URL/source if possible.]


NewsML Version 1.1

Functional Specification

18 October 2002

Copyright © 2000,2001,2002 International Press Telecommunications Council
All Rights Reserved

Amendment List

1. xml:lang attribute value changes to align with RFC 3066

2. Extra examples in section 5.2

2. Extra examples in section 5.7.3

3. Six changes to examples to include FormalName attribute within TopicSet element.

4. xml:lang attribute value options expanded as in RFC 3066

4. AssociatedWith element Href attribute value to allow a URI

4. Catalog element Href attribute value to allow a URI

4. Status of Document expanded.

4. DateAndTime format extension.

5. xml:lang attribute value updated in examples.

6. References to and changes for version 1.1 DTD and Schema inserted.

Contents

1 Status of this document

2 Typographical conventions

3 Acknowledgements

4 NewsML Overview

     4.1 NewsML provides a framework for the interchange and management of news

     4.2 NewsML is based on XML

     4.3 NewsML is media-neutral

5 NewsML Functions

     5.1 The Structure of a NewsML Document

          5.1.1 Identifier Attributes

               5.1.1.1 The "Document-unique" Identifier

               5.1.1.2 The "Element-unique" Identifier

     5.2 Catalogs

     5.3 TopicSets

     5.4 NewsEnvelope

          5.4.1 TransmissionId

          5.4.2 SentFrom and SentTo

          5.4.3 DateAndTime

          5.4.4 NewsService and NewsProduct

          5.4.5 Priority

          5.4.6 Metadata Assignment

     5.5 The Structure of a NewsItem

          5.5.1 Formal Identification of a NewsItem

               5.5.1.1 ProviderId

               5.5.1.2 DateId

               5.5.1.3 NewsItemId

               5.5.1.4 RevisionId

               5.5.1.5 PublicIdentifier

          5.5.2 Informal Identifiers

               5.5.2.1 NameLabel

               5.5.2.2 DateLabel

               5.5.2.3 Label

     5.6 News Management

          5.6.1 NewsItemType

          5.6.2 FirstCreated

          5.6.3 ThisRevisionCreated

          5.6.4 Status

          5.6.5 StatusWillChange

          5.6.6 Urgency

          5.6.7 RevisionHistory

          5.6.8 DerivedFrom

          5.6.9 AssociatedWith

          5.6.10 Instruction

          5.6.11 Property

     5.7 The Structure of a NewsComponent

          5.7.1 Illustration of NewsComponents in Action

          5.7.2 EquivalentsList

          5.7.3 BasisForChoice

          5.7.4 Other Subelements of NewsComponent

     5.8 The Structure of a ContentItem

     5.9 Metadata

          5.9.1 Administrative Metadata

          5.9.2 Rights Metadata

          5.9.3 Descriptive Metadata

     5.10 NewsLines Expose Aspects of Metadata to Humans

     5.11 Publishing Revisions to NewsItems

     5.12 Use of Pointers

     5.13 The Evolution of NewsML

     5.14 Authentication and Security

6 Glossary

7 Short form of NewsML DTD

8 References

Status of this document

This Specification describes and amplifies the NewsML version 1.1 Document Type Definition.

Amendments to this Specification override and supercede notes in the NewsML version 1.1 Document Type Definition.

The NewsML Requirements document set out the capabilities that NewsML is required to deliver. The current specification describes the technical means that have been employed to meet those requirements. The requirements can be briefly summarised as follows (numbers in brackets preceded by the letter R are references to the relevant clauses in the NewsML Requirements document):

NewsML is to be a compact (R900), extensible and flexible (R700) structural framework for news, based on XML and other appropriate standards and specifications (R1000). It must support the representation of electronic news items, collections of such items, the relationships between them, and their associated metadata (R100). It must allow for the provision of multiple representations of the same information (R500), and handle arbitrary mixtures of media types, formats, languages and encodings (R300, R400). It must support all stages of the news lifecycle (R600) and allow the evolution of news items over time (R200). Though media-independent, NewsML will provide specific mechanisms for handling text (R1100). It will allow for the authentication and signature of both metadata and news content (R800).

Typographical conventions

In the sections that follow, the following conventions are used:

Blue underlined type is used for hyperlinks to external web resources

Bold blue underlined type is used for hyperlinks within this document

Italic type is used for technical terms, which are defined in the Glossary. There is a hotspot on these words that will take you direct to their definition. You can then press the blue Back arrow on Word’s “Web” toolbar to return to where you were.

Monospace type is used for XML element or attribute names, and for sample NewsML document instance or DTD fragments.

Monospace bold type is used for XML element or attribute names in descriptive text. These occurrences will have hotspots to brief definitions of their meaning in the Glossary. Formal definitions of these element and attribute names will also appear in the NewsML specification itself.

Blue background is used for extracts from the formal declarations of the NewsML DTD.

Yellow background is used for illustrative examples of NewsML document fragments.

Acknowledgements

This specification is the result of a team effort by members of the International Press Telecommunications Council, with input and assistance from others.

Particular contributions are as follows:

The specification was edited by Daniel Rivers-Moore (RivCom). The work was directed and overseen by the NewsML Steering Committee whose members at the time of the specification being approved were Klaus Sprick (Deutsche Presse Agentur) – Chair, David Allen (IPTC), James Hartley (Bridge Information Systems), John Iobst (Newspaper Association of America), Alan Karben (Screaming Media), Laurent Le Meur (Agence France Presse), Irving Levine (Reuters) and Kevin Roche (Dow Jones). The specification incorporates work by several IPTC Working Parties, notably the News Structure, News Metadata and News Text Working Parties. Others who made written contributions include Paul Harman (Press Association), Johan Lindgren (Tidningarnas Telegrambyrå), Jo Rabin (Reuters), Tony Rentschler (Associated Press) and, from outside the IPTC, Martin Bryan (The SGML Centre), Ron Daniel (Metacode) and Paul Simmonds (BBC).

NewsML Overview

NewsML is a compact, extensible and flexible structural framework for news, based on XML and other appropriate standards and specifications. It supports the representation of electronic news items, collections of such items, the relationships between them, and their associated metadata. It allows for the provision of multiple representations of the same information, and handles arbitrary mixtures of media types, formats, languages and encodings. It supports all stages of the news lifecycle and allows the evolution of news items over time. Though media-independent, NewsML provides specific mechanisms for handling text. It allows the provenance of both metadata and news content to be asserted.

4.1 NewsML provides a framework for the interchange and management of news

NewsML is primarily intended as a format for the interchange of news. However, it may also be used as a format for news storage and as a support for the creation, editing, management and publication of news in a networked computing environment.

4.2 NewsML is based on XML

A NewsML document is an XML document, which must be valid with respect to the NewsML Document Type Definition (DTD) that appears in Appendix 1 of this specification.

Like all XML documents, NewsML documents are logical rather than physical objects. They may be built up of the contents of multiple physical files through the use of entity references as described in the XML specification, or by the use of pointers within the NewsML document.

4.3 NewsML is media-neutral

NewsML makes no assumption about the media type, format or encoding of news objects. NewsML documents can contain text, video, audio, graphics, photos, or other media and combinations of media yet to be invented.

NewsML Functions

In the sections that follow, we shall work through the entire NewsML document structure, beginning from the root (NewsML) element, and explain the structure and purpose of each element and attribute. Illustrative examples of key constructs will also be provided.

5.1 The Structure of a NewsML Document

The NewsML element is the root element of a complete NewsML document. The optional Version attribute provides an indication of the version of NewsML DTD or Schema used to validate the document. It must contain a NewsEnvelope and one or more NewsItems. It may contain one or more TopicSet elements that contain the Topics (or real-world things) referred to in the NewsML document itself or in any of the news content that it includes by reference. It may also contain a Catalog element that identifies and locates default vocabularies and indicates where in the NewsML document certain Topics are used. The Catalog element allows us to resolve URNs to URLs and to state which vocabulary (TopicSet) is the default for given element types in certain contexts.

<!ELEMENT NewsML (Catalog? , TopicSet* , (NewsEnvelope , NewsItem+ ))>

<!ATTLIST NewsML %localid;
   Version CDATA #IMPLIED>

<?xml version="1.0"?>

<!DOCTYPE NewsML PUBLIC "urn:newsml:iptc.org:20021018:NewsMLv1.1:1"

"http://www.iptc.org/NewsML/DTD/NewsMLv1.1.dtd">

<NewsML Version="1.1">

<Catalog>

...

</ Catalog >

<TopicSet>

...

</TopicSet>

<NewsEnvelope>

...

</NewsEnvelope>

<NewsItem>

...

</NewsItem>

<NewsItem>

...

</NewsItem>

</NewsML>

5.1.1 Identifier Attributes

Every element in a NewsML document other than NewsIdentifier and its subelements may optionally have a Duid (document-unique identifier) and/or an Euid (element-unique identifier) attribute, whose purpose is to enable pointers elsewhere in the document, or in other NewsML or XML documents, to refer to it. The use of identifier attributes gives global identification to the document.

5.1.1.1 The “Document-unique” Identifier

The Duid must satisfy the rules for XML ID attributes; that is, it must only contain name characters as defined in the XML specification, and it must start with a name-start character (a name character that is not a digit). Its value must be unique within any NewsML document.

5.1.1.2 The “Element-unique” Identifier

The value of the Euid must be unique among elements of the same element type and having the same parent element. Use of the Euid attribute makes it possible to identify any NewsML element within the context of its local branch of the NewsML document tree. This makes it possible to copy, or include by reference, subtrees into new combinations in ways that would break the uniqueness of Duids (thereby forcing new Duids to be allocated), but still being able to retain the identity of each element. If Euids are maintained at every level, it is possible to use an XPointer expression to identify, for example "The ContentItem whose Euid is abc within the NewsComponent whose Euid is 1". Such identification patterns would be preserved even after "pruning and grafting" of subtrees.

<!ENTITY % localid " Duid ID #IMPLIED

Euid CDATA #IMPLIED" >

In this example, the same content is used in two NewsComponents. The ContentItem in the first NewsComponent includes some content (here represented by ...) explicitly. The second ContentItem reuses the first by reference, through an XPointer expression that uses the Euid attributes to “walk the tree” to the required element.

<NewsComponent Duid="a1" Euid="1">

<ContentItem Euid="abc"> ... </ContentItem>

</NewsComponent>

<NewsComponent Duid="a2" Euid="2">

<ContentItem Href="#xpointer(//NewsComponent[@Euid='1']/ContentItem[@Euid='abc'])"/>

<NewsComponent>

5.2 Catalogs

Any of the main structural elements of a NewsML document can contain a Catalog element containing Resource and/or TopicUse elements.

Each Resource element identifies an external resource through a Uniform Resource Name (URN) and/or one or more Uniform Resource Locators (URLs). It also indicates whether this resource acts as a default vocabulary for some or all of the main element’s content. The Urn attribute provides a global identifier for the resource, typically a NewsML URN. The Url subelements, if present, point to locations where the resource may be found. The DefaultVocabularyFor element contains an XPath pattern. The identified resource acts as default vocabulary for the all elements or attribute that match the XPath pattern. If the XPath pattern is one that matches elements, then it is the value of the FormalName attribute of that element that is designated. If the XPath pattern is one that matches attributes, then it is the value of that attribute itself that is designated. The XPath pattern can be as simple or as complex as appropriate to distinguish those contexts where the default vocabulary applies.

TopicUse elements indicate where in the NewsML document certain topics are used. The value of the Topic attribute is a pointer consisting of a # character followed by the value of the Duid attribute of a Topic in the current document. The value of the Context attribute is an XPath pattern indicating the context where this topic is used within the subtree to which the current Catalog applies. If the Context attribute is not present, the TopicUse element simply states that this topic is present somewhere in the subtree.

The optional Href attribute provides a pointer to a Catalog element elsewhere in this or another document. Its value consists of a # character followed by the value of the Duid attribute of the referenced Catalog element, and preceded, if the referenced Catalog is not in the current document, by an URI or a NewsML URN identifying the document or NewsItem in which the Catalog appears. If the Href attribute is present on a Catalog element, then that element should be empty. If it contains subelements, the NewsML system may signal an error.

<!ELEMENT Catalog (Resource* , TopicUse*)>

<!ATTLIST Catalog %localid;

Href CDATA #IMPLIED >

<!ELEMENT Resource (Urn? , Url* , DefaultVocabularyFor*)>

<!ATTLIST Resource %localid; >

<!ELEMENT Urn (#PCDATA)>

<!ATTLIST Urn %localid; >

<!ELEMENT Url (#PCDATA)>

<!ATTLIST Url %localid; >

<!ELEMENT DefaultVocabularyFor EMPTY >

<!ATTLIST DefaultVocabularyFor %localid;

Context CDATA #REQUIRED

Scheme CDATA #IMPLIED >

<!ELEMENT TopicUse EMPTY >

<!ATTLIST TopicUse Topic CDATA #REQUIRED

Context CDATA #IMPLIED >

The example below shows a Catalog consisting of a single Resource and a single TopicUse. The Resource element shows that a copy of revision 1 of the IPTC Confidence topic set can be found at a particular URL on the IPTC web site, and that it serves as the default vocabulary for Confidence attributes. The TopicUse element indicates that the Topic whose Duid attribute value is person1 is used within the context of DescriptiveMetadata elements. This Topic must occur within the current document. In the example shown, this Topic is declared to be of type Person, as defined by the IPTC Topic Types vocabulary, and is described in English as being David Allen, Managing Director of IPTC.

<Catalog>

<Resource>

<Urn>urn:newsml:iptc.org:20001006:IptcConfidence:1</Urn>

<Url>http://www.iptc.org/NewsML/topicsets/iptc-confidence.xml</Url>

<DefaultVocabularyFor Context="@Confidence"/>

</Resource>

<TopicUse Topic="#person1" Context="DescriptiveMetadata"/>

</Catalog>

<TopicSet FormalName="Person">

<Topic Duid="person1">

<TopicType FormalName="Person" Vocabulary="urn:newsml:iptc.org:20001006:IptcTopicTypes:1" Scheme="IptcTopicTypes"/>

<Description xml:lang="en-GB">David Allen, Managing Director of IPTC</Description>

</Topic>

</TopicSet>

Example 2:

<NewsML>

<Catalog>

<Resource>

<Urn>...</Urn>

<Url>...</Url>

<DefaultVocabularyFor Context=".//MediaType" Scheme="xyz"/>

</Resource>

...

</NewsML>

The search for the MediaType will begin at the NewsML element which is the parent of the Catalog. This would also be the case if we set Context as follows:

<DefaultVocabularyFor Context="//MediaType" Scheme="xyz"/>

By NewsML definition, ".//" is to be interpreted to mean begin the search with the parent of the Catalog element and "//" is to be interpreted (by general XPATH definition) to mean begin the search with the root element of the NewsML document. In the above instance, the root IS the parent of the Catalog element.

Example 3:

In the following NewsML document,

<NewsML>

<NewsItem>

...

<NewsComponent>

<Catalog>

<Resource>

<Urn>...</Urn>

<Url>...</Url>

<DefaultVocabularyFor Context=".//MediaType" Scheme="xyz"/>

</Resource>

...

</NewsML>

The search for the MediaType will begin at the NewsComponent, which is the parent of the Catalog. However, if we set Context as follows:

<DefaultVocabularyFor Context="//MediaType" Scheme="xyz"/>

the search would begin at the NewsML element since "//" indicates the root of the document as the starting point.

Example 4:

<NewsML>

<NewsItem>

<NewsComponent>

<Catalog>

<Resource>

<Url>http://www.acmenews.com/vocabs/roles.xml</Url>

<DefaultVocabularyFor Context="//Role"/>

</Resource>

</Catalog>

<Role FormalName="alpha"/>

</NewsComponent>

<NewsComponent>

<Role FormalName="beta"/>

</NewsComponent>

</NewsItem>

</NewsML>

In this example, the XPath "//Role" matches both the "alpha" and "beta" <Role> elements (since both are descendants of the document root), but the NewsML resolution rules do not allow the DefaultVocabularyFor declaration to apply to the "beta" Role because the Catalog does not appear inside one of its ancestor elements. In other words, the XPaths are scoped to the ANCESTOR tree; they are not allowed to match any more widely than that, no matter how the XPath is written

5.3 TopicSets

TopicSets contain Topic elements, which are references to real-world things (topics). These may be people, places, companies, or any other kind of thing that is deemed to be of particular significance, and that is referred to in, or otherwise relevant to, the news content or metadata in the NewsML document.

A topic may have one or more FormalName subelements and/or one or more Description subelements. The descriptions are intended to identify which individual thing it is. The FormalName element may have a Scheme attribute to indicate that it belongs to a particular naming scheme. It is an error for there to exist two Topics in the same TopicSet that have the same FormalName with the same Scheme attribute. It is therefore possible to use a TopicSet as a controlled vocabulary, to ascertain the meaning of any given formal name.

A Topic element may also have a Details attribute, which is a pointer, in the form of a URL or URN, to additional information about the topic. It may also have one or more Property subelements that provide values for specific properties of the topic. Topics and TopicSets may additionally have Comments that provide informal additional information in natural language.

Additional Topics may be included by reference in a TopicSet through the use of TopicSetRef subelements. The TopicSet attribute of a TopicSetRef element is a pointer to a TopicSet whose Topics are to be included by reference within the current TopicSet. This pointer is either an http URL or a NewsML URN identifying an internal or external TopicSet, or a fragment identifier consisting of a # sign followed by the value of the Duid attribute of a TopicSet in the current document.

If one of the Topics to be included by reference has the same FormalName and Scheme as a Topic already included in the TopicSet, this means that they both refer to the same real-world thing. Therefore, these two Topic elements are deemed to be merged. The merging of Topics need not be physically performed by the system, but the meaning of the data is exactly the same as if the merging were actually performed.

Every Topic has one or more TopicType subelements, which say what type of thing it is. The topic type is named in the FormalName attribute of the TopicType element. The Vocabulary attribute of the TopicType element is a pointer to a controlled vocabulary that defines the meaning of that FormalName. The Scheme attribute, if present, identifies which naming scheme within the vocabulary is applicable to this formal name.

<!ENTITY % formalname " FormalName CDATA #REQUIRED

Vocabulary CDATA #IMPLIED

Scheme CDATA #IMPLIED" >

<!ELEMENT TopicSet (Comment* , Catalog? , TopicSetRef* , Topic*)>

<!ATTLIST TopicSet %localid;

%formalname; >

<!ELEMENT TopicSetRef (Comment*)>

<!ATTLIST TopicSetRef %localid;

TopicSet CDATA #IMPLIED >

<!ELEMENT Topic (Comment* , Catalog? , TopicType+ , FormalName* , Description* , Property*)>

<!ATTLIST Topic %localid;

Details CDATA #IMPLIED >

<!ELEMENT TopicType EMPTY >

<!ATTLIST TopicType %localid;

%formalname; >

<!ELEMENT FormalName (#PCDATA) >

<!ATTLIST FormalName %localid;

Scheme CDATA #IMPLIED >

<!ELEMENT Description (#PCDATA) >

<!ATTLIST Description %localid;

xml:lang CDATA #IMPLIED

Variant CDATA #IMPLIED >

In the following example, the TopicSetcontains Topics of three types: Event, Person and Company. These TopicTypes are all identified by formal names drawn from the IPTC Topic Types vocabulary, which is declared in the Catalog to be the default vocabulary for TopicType elements.

The first Topic is an Event, described in English as Iran-Iraq war.

The second Topic is a Person described as Tony Blair (with no particular language associated with that Description). Further Details about this Person can be found at the place bookmarked tonyblair in the external file whoswho.xml.

The last two Topics are companies, and are identified more formally. They each have a Description with a specific Variant attribute of Company Name. In addition, each has two FormalNames, one belonging to the RIC naming scheme, and the other to the NASDAQ naming scheme.

<?xml version="1.0"?>

<!DOCTYPE NewsML PUBLIC "urn:newsml:iptc.org:20001006:NewsMLv1.0:1"

"http://www.iptc.org/NewsML/DTD/NewsMLv1.0.dtd">

<NewsML>

<Catalog>

<Resource>

<Urn>urn:newsml:iptc.org:20001006:IptcTopicTypes:1</Urn>

<Url>http://www.iptc.org/NewsML/topicsets/iptc-topictypes.xml</Url>

<DefaultVocabularyFor Context="TopicType"/>

</Resource>

</Catalog>

<TopicSet FormalName="Event"/>

<Topic Duid="event1">

<TopicType FormalName="Event"/>

<Desciption xml:lang="en-GB">Iran-Iraq war</Description>

</Topic>

<Topic Duid="person1" Details="whoswho.xml#tonyblair">

<TopicType FormalName="Person"/>

<Description>Tony Blair</Description>

</Topic>

<Topic Duid="company1">

<TopicType FormalName="Company"/>

<FormalName Scheme="RIC">DELL.O</FormalName>

<FormalName Scheme="NASDAQ">DELL</FormalName>

<Description Variant="Company Name">Dell Computer</Description>

</Topic>

<Topic Duid="company2">

<TopicType FormalName="Company"/>

<FormalName Scheme="RIC">RTRSY.O</FormalName>

<FormalName Scheme="NASDAQ">RTRSY</FormalName>

<Description Variant="Company Name">Reuters</Description>

</Topic>

</TopicSet>

...

</NewsML>

In the following example, the IPTC subject codes vocabulary is included by reference through a TopicSetRef element within a TopicSet. An additional Topic element is also provided. This has a TopicType of SubjectMatter, as defined in the IPTC topic types naming scheme. The additional Topic has a short English-language description of Building Design, and a full English-language description of The art and science of designing buildings. It is also provided with two FormalNames. In the IptcSubjectCodes naming scheme, its FormalName is 01002000, and in the myscheme naming scheme, its FormalName is BDES. This means that any reference to the FormalName BDES in the myscheme naming scheme references the very same topic as the one named 01002000 in the IPTC subject codes vocabulary.

<TopicSet Duid="mysubjects" FormalName="SubjectMatter">

<TopicSetRef TopicSet="urn:newsml:iptc.org:iptc:20001006:IptcSubjectCodes"/>

<Topic Duid="mysubject1">

<TopicType FormalName="SubjectMatter" Vocabulary="urn:iptc:20001006:IptcTopicTypes" Scheme="IptcTopicTypes"/>

<FormalName Scheme="myscheme">BDES</FormalName>

<FormalName Scheme="IptcSubjectCodes">01002000</FormalName>

<Description xml:lang="en-GB" Variant="ShortDesc">Building Design</Description>

<Description xml:lang="en-GB" Variant="FullDesc">The art and science of designing buildings</Description>

</Topic>

</TopicSet>

If the system were actually to access the IPTC subject codes vocabulary, and merge the Topics within it with those included locally, this would result in the merged Topic element shown below, from which it can be seen that the topic which myscheme calls BDES is described by the IPTC vocabulary as Architecture.

<Topic Duid="mergedtopic1">

<TopicType FormalName="SubjectMatter"/>

<FormalName Scheme="IptcSubjectCodes">01002000</FormalName>

<FormalName Scheme="myscheme">BDES</FormalName>

<Description xml:lang="en-GB" Variant="ShortDesc">Building

Design</Description>

<Description xml:lang="en-GB" Variant="FullDesc">The art and science of

designing buildings</Description>

<Description xml:lang="en-GB" Variant="Name">Architecture</Description>

</Topic>

The above technique can be used as a general-purpose mechanism for asserting the equivalence of terms in one controlled vocabulary with terms drawn from another. To facilitate the use of this mechanism, it is good practice to include a Scheme attribute on all FormalNames in TopicSets that are intended for use as controlled controlled vocabularies.

5.4 NewsEnvelope

The NewsEnvelope element contains information about how the NewsML document is being used within a business workflow or contractual relationship between news provider and receiver. As a minimum, it must include a DateAndTime element. In addition, it may contain a TransmissionId, SentFrom, SentTo, Priority, and one or more NewsProduct, and/or NewsService elements.

<!ELEMENT NewsEnvelope (TransmissionId? , SentFrom? , SentTo? , DateAndTime , NewsService* , NewsProduct* , Priority? )>

<!ATTLIST NewsEnvelope %localid; >

5.4.1 TransmissionId

The TransmissionId is an identifier for the NewsML document transmission. This should be unique among all distinct transmissions from the same provider. If a transmission is repeated (perhaps because the sender is not confident that it was successfully received) then the same TransmissionId content may be used, but a Repeat attribute should be provided to distinguish the second transmission from the first. The form that the value of the Repeat attribute takes is determined by the provider. Likewise, the format for the TransmissionId itself is for the provider to decide. It could for example consist of a channel identifier followed by a sequence number.

<!ELEMENT TransmissionId (#PCDATA )>

<!ATTLIST TransmissionId %localid;

Repeat CDATA #IMPLIED >

<TramsmissionId Repeat="second attempt">abc123</TransmissionId>

5.4.2 SentFrom and SentTo

The SentFrom element identifies one or more parties who sent the NewsML document, and the SentTo element identifies one or more parties to whom it is being sent. The content model of both is provided by the party entity, which describes the person, organisation or company playing a specific role in the news workflow. The optional Comment element provides informal additional information in natural language. The Comment element has optional xml:lang and TranslationOf attributes. The xml:lang attribute identifies the language of the contents of an XML element. It is defined in the XML specification and its value must be as defined in the IETF RFC 3066. Although this allows the optional use of ISO639-1 or ISO639-2 language codes and ISO3166-alpha2 or ISO3166-alpha3 country codes it is required that the ISO639-1 two letter language codes are used. Publishers may choose 2 or 3 letter country codes as they wish. The structure of the xml:lang attribute content may therefore be ll-CC or ll-CCC. The TranslationOf attribute is a pointer to another Comment element, of which this Comment is a direct translation. The comment type is optionally named in the FormalName attribute of the Comment element. The Vocabulary attribute of the Comment element is a pointer to a controlled vocabulary that defines the meaning of that FormalName. The Scheme attribute, if present, identifies which naming scheme within the vocabulary is applicable to this formal name.

Through its Property child element or its FormalName, Vocabulary and Scheme attributes, the Party element identifies a Topic that is the party in question. The optional Topic attribute may be used as a direct pointer to that Topic. The pointer may take the form of an http URL or a NewsML URN, or a # character followed by the value of the Duid attribute of a Topic element in the current document.

<!ENTITY % party " (Comment* , Party+ )">

<!ELEMENT SentFrom (%party;)>

<!ATTLIST SentFrom %localid; >

<!ELEMENT SentTo (%party;)>

<!ATTLIST SentTo %localid; >

<!ELEMENT Comment (#PCDATA)>

<!ATTLIST Comment %localid;
xml:lang CDATA #IMPLIED
TranslationOf IDREF #IMPLIED
FormalName CDATA #IMPLIED
Vocabulary CDATA #IMPLIED
Scheme CDATA #IMPLIED >

<!ELEMENT Party (Property)*>

<!ATTLIST Party %localid;

%formalname;

Topic CDATA #IMPLIED >

In the following example, the Party sending the document is the one whose formal name in the xyz naming scheme in the MyCompanyCodes controlled vocabulary is MYCODE. The Vocabulary attribute of the Party element identifies the TopicSet providing the controlled vocabulary that is used to resolve the meaning of MYCODE.

<SentFrom>

<Party FormalName="MYCODE" Scheme="xyz"

Vocabulary="urn:newsml:mycompany.com:20010101:MyCompanyCodes:1"/>

<SentFrom>

5.4.3 DateAndTime

The DateAndTime element contains the date, and optionally the time, of transmission. This is in ISO 8601:2000(E) format, using the CCYYMMDD form for the date, optionally followed by the letter T and the local time in HHMMSS format, and optionally a + or – sign followed by the HHMM difference between local time and Coordinated Universal Time (UTC). Where the offset difference is +0000 the letter suffix "Z" may alternatively be use.

<!ELEMENT DateAndTime (#PCDATA )>

<!ATTLIST DateAndTime %localid; >

The example below indicates that this NewsItem was sent on 6 October 2000 at 1400 hours local time, which was 2 hours ahead of Coordinated Universal Time (UTC).

<DateAndTime>20001006T140000+0200</DateAndTime>

For times that are expressed in UTC with no local difference eg 6 March 2002 at 1200 hours, the alternative suffix can be used.

<DateAndTime>20020306T120000Z</DateAndTime>

5.4.4 NewsService and NewsProduct

The NewsService and NewsProduct elements indicate a product or service of which this package is a part. Multiple NewsService and NewsProduct elements are permitted. The value of the FormalName attribute is a formal name for the product or service. Its meaning and permitted values are determined by the controlled vocabulary identified by the Vocabulary and Scheme attributes.

<!ELEMENT NewsService EMPTY>

<!ATTLIST NewsService %localid;

%formalname; >

<!ELEMENT NewsProduct EMPTY>

<!ATTLIST NewsProduct %localid;

%formalname; >

In the following example, the package belongs to the SPORTS and GENERALINTEREST services, and to the WebWire product. The terms SPORTS and GENERAL INTEREST are drawn from MyPressCompany’s Services vocabulary, and the term WebWire is drawn from MyPressCompany’s Products vocabulary.

<NewsML>

<Catalog>

<Resource> Vocabulary="urn:newsml:iptc.org:20001006:IptcPriority:1"

<Urn>urn:newsml:mpc.com:20010101:MpcServices:1</Urn>

<DefaultVocabularyFor Context="NewsService"/>

</Resource>

<Resource>

<Urn>urn:newsml:mpc.com:20010101:MpcProducts:1</Urn>

<DefaultVocabularyFor Context="NewsProduct"/>

</Resource>

</Catalog>

<NewsEnvelope>

<DateAndTime>20001225T1200+0100</DateAndTime>

<NewsService FormalName="SPORTS"/>

<NewsService FormalName="GENERAL INTEREST"/>

<NewsProduct FormalName="WebWire"/>

</NewsEnvelope>

...

</NewsML>

5.4.5 Priority

The Priority element contains an indication of the priority of a NewsItem. The value of the FormalName attribute is a formal name for the priority. Its meaning and permitted values are determined by the controlled vocabulary identified by the Vocabulary and Scheme attributes.

<!ELEMENT Priority EMPTY>

<!ATTLIST Priority %localid;

%formalname; >

In this example, the Priority is declared to have the value 5 in the IptcPriority vocabulary.

<Priority FormalName="5" Vocabulary="urn:newsml:iptc.org:20001006:IptcPriority:1" Scheme="IptcPriority"</Priority>

5.4.6 Metadata Assignment

The assignment entity consists of AssignedBy, Importance, Confidence, HowPresent, and DateAndTime attributes.

The AssignedBy attribute identifies the party assigning a piece of metadata. It can be in the form of a string designating the party informally (for example, a person’s name), or a pointer in the form of a fragment identifier consisting of a # character followed by the value of the Duid attribute of a Topic corresponding to the party.

The Confidence attribute indicates the confidence with which the metadata has been assigned, the Importance attribute indicates the importance attached to the metadata by the party assigning it, and the HowPresent attribute indicates the way in which the metadata applies. The values of these three attributes are formal names, whose meanings are determined by controlled vocabularies. There must therefore be a Catalog that declares appropriate default vocabularies for each of these attributes wherever they are used. Furthermore, the complete set of terms in each default vocabulary determines the range of permitted values for the corresponding attribute. Note that if the resource identified in the Catalog as being the default vocabulary is a NewsML TopicSet, then the range of permitted values is precisely the set of Topics in the TopicSet.

The DateAndTime attribute indicates the date and (optionally) time at which a piece of metadata was assigned, using the format CCYYMMDDTHHMMSS±HHMM (century, year, month, day, time separator, hours, minutes, seconds, time zone separator, hours, minutes). This is the Basic Format defined by ISO 8601.

<!ENTITY % assignment " AssignedBy CDATA #IMPLIED

Importance CDATA #IMPLIED

Confidence CDATA #IMPLIED

HowPresent CDATA #IMPLIED

DateAndTime CDATA #IMPLIED">

This example below illustrates the use of the assignment attributes to specify how descriptive metadata was assigned. The Catalog declares that the default vocabulary for the Confidence attribute is the IptcConfidence naming scheme in the IPTC confidence vocabulary, identified by its URN, the default vocabulary for the Importance attribute is the xyz naming scheme in the importance.xml vocabulary on the brs.com website, and the default vocabulary for the AssignedBy attribute is the companycode naming scheme in the TopicSet within the current document whose Duid attribute has the value LocalTopicSet. The LocalTopicSet TopicSet contains just one Topic, whose TopicType is Company, as defined by the IptcTopicTypes naming scheme in the IPTC topic types vocabulary. This company is identified informally through its English-language Description, which is Bloomsbury Review Service, and is given the FormalName of BRS in the companycode naming scheme. Finally, we see that the descriptive metadata was assigned on 31 December 2000 at midday UTC, by BRS (which we know from the above to be the Bloomsbury Review Service), with the importance designated by the FormalName normal in the importance.xml vocabulary on the brs.com website, and with High confidence as defined in the IPTC confidence vocabulary. These settings will apply to all the subelements of the DescriptiveMetadata element, unless explicitly redefined lower down the element tree.

<NewsML>

<Catalog>

<Resource>

<Urn>urn:newsml:iptc.org:20001006:IptcConfidence:1</Urn>

<DefaultVocabularyFor Scheme="IptcConfidence" Context="@Confidence"/>

</Resource>

<Resource>

<Url>http://www.brs.com/vocabularies/importance.xml</Url>

<DefaultVocabularyFor Scheme="xyz" Context="@Importance"/>

</Resource>

<Resource>

<Url>#LocalTopicSet</Url>

<DefaultVocabularyFor Scheme="companycode" Context="@AssignedBy"/>

</Resource>

</Catalog>

<TopicSet Duid="LocalTopicSet" FormalName="Company">

<Topic Duid="company1">

<TopicType FormalName="Company" Scheme="IptcTopicTypes" Vocabulary="urn:newsml:iptc.org:20001006:IptcTopicTypes:1" Scheme="IptcTopicTypes"/>

<FormalName Scheme="companycode">BRS</FormalName>

<Description xml:lang="en-GB">Bloomsbury Review Service</Description>

</Topic>

</TopicSet>

...

<DescriptiveMetadata AssignedBy="BRS" Importance="normal" Confidence="High" DateAndTime="20001231T1200+0000">

...

</DescriptiveMetadata>

...

</NewsML>

5.5 The Structure of a NewsItem

A NewsItem is a managed set of information representing a point of view, at a given time, on some event or events. Its Identification and NewsManagement subelements provide identification information and manageability. In addition, it may contain a NewsComponent, or one or more Update elements that modify a previous revision of the same NewsItem, or a TopicSet.

A Catalog applicable to the NewsItem may be contained in the Catalog subelement or referenced by the optional Href attribute of the Catalog subelement which provides a pointer to a Catalog element elsewhere in this or another document.

<!ELEMENT NewsItem (Comment* , Catalog? ,Identification , NewsManagement ,

( NewsComponent | Update+ | TopicSet )? )>

<!ATTLIST NewsItem %localid;

xml:lang CDATA #IMPLIED >

<!ELEMENT Identification (NewsIdentifier , NameLabel? , DateLabel? , Label* )>

<!ATTLIST Identification %localid; >

5.5.1 Formal Identification of a NewsItem

It must be possible to identify a NewsItem as it moves through the business workflow, and is transferred from place to place and from system to system. NewsML therefore requires NewsItems to have a globally unique identifier in the form of a NewsIdentifier element.

The NewsIdentifier has four component subelementsProviderId, DateId, NewsItemId and RevisionId – and a PublicIdentifier which concatenates all four components in a single string. The NewsIdentifier provides a globally unique identifier for a NewsItem. Providers must therefore ensure that no two NewsItems carry the same ProviderId, DateId, NewsItemId and RevisionId. If a NewsItem is re-created after a change in content, however slight, a new RevisionId should be allocated to the new version.

<!ELEMENT NewsIdentifier (ProviderId , DateId , NewsItemId , RevisionId, PublicIdentifier)>

5.5.1.1 ProviderId

The content of the ProviderId element must be an Internet domain name that is owned by the provider at the date identified by the DateId element, or the name for the provider drawn from a controlled vocabulary identified by a URN specified in the Vocabulary attribute. This will ensure that the identity of the provider can be inferred unambiguously from the full NewsIdentifier.

<!ELEMENT ProviderId (#PCDATA)>

<!ATTLIST ProviderId Vocabulary CDATA #IMPLIED >

In this example, the provider is the International Press Telecommunications Council, and the ProviderId is a domain name owned by the provider on the date indicated by the DateId.

<ProviderId>iptc.org</ProviderId>

<DateId>20001005</DateId>

5.5.1.2 DateId

The DateId is a date in ISO 8601 Basic Format (CCYYMMDD), where CCYY is a four-digit year number, MM is a two-digit month number and DD is a two-digit day number. Note that because the DateId is part of the formal identification of the NewsItem, it must remain the same through successive revisions of the same NewsItem. It does not represent the date of release of the current revision.

<!ELEMENT DateId (#PCDATA )>

In this example, the date of 6 October 2000 may or may not be the date at which the NewsItem was first created. The only requirements are that if the ProviderId is a domain name, the date be a date on which the provider owned that domain name, and that the DateId remain unchanged through all revisions of this NewsItem.

<DateId>20001006</DateId>

5.5.1.3 NewsItemId

The NewsItemId is an identifier for the NewsItem. The combination of NewsItemId and DateId must be unique among NewsItems that emanate from the same provider. Within these constraints, the NewsItemId can take any form the provider wishes. It may take the form of a name for the NewsItem that will be meaningful to humans, but this is not a requirement.

The provider may optionally relate the values of NewsItemId to a controlled vocabulary, which is invoked by the Vocabulary attribute. The value of the Vocabulary attribute may be an http URL or a NewsML URN, or the # character followed by the value of the Duid attribute of a TopicSetin the current document. The Scheme attribute, if present, serves to distinguish which of possibly multiple naming schemes in the controlled vocabulary is the one that governs the NewsItemId.

<!ELEMENT NewsItemId (#PCDATA )>

<!ATTLIST NewsItemId Vocabulary CDATA #IMPLIED

Scheme CDATA #IMPLIED >

<NewsItemId>IPTC approves NewsML 1.0</NewsItemId>

5.5.1.4 RevisionId

The RevisionId is a positive integer indicating which revision of a given NewsItem this is. Any positive integer may be used, but it must always be the case that of two instances of a NewsItem that have the same ProviderId, DateId and NewsItemId, the one whose RevisionId has the larger value must be the more recent revision. A RevisionId of 0 is not permitted. The PreviousRevision attribute must be present, and its value must be equal to the content of the RevisionId element of the NewsItem’s previous revision, if there is one, and 0 if the NewsItem has no previous revision. If the NewsItem contains an Update element or elements, then the Update attribute must be set to U. If the NewsItem consists only of a replacement set of NewsManagement data, then the Update attribute must be set to A. If neither of these is the case, then the Update attribute must be set to N.

<!ELEMENT RevisionId (#PCDATA )>

<!ATTLIST RevisionId PreviousRevision CDATA # REQUIRED

Update CDATA # REQUIRED >

In this example the current revision number is 1 and there is no previous revision.

<RevisionId PreviousRevision="0" Update="N">1</RevisionId>

In this example the current revision number is 2 and the previous revision number was 1.

<RevisionId PreviousRevision="1" Update="N">2</RevisionId>

In this example, the fact that the value of the Update attribute of the RevisionId element has the value U indicates that the NewsItem contains an Update element or elements, which serve to modify the previous revision. The current revision number is 20001023 and the previous revision number was 20001005. Note that the values of PreviousRevision need not be sequential; the requirement is simply that the value must be greater than that of any previous revision of the same NewsItem.

<RevisionId PreviousRevision="20001005" Update="U">20001023</RevisionId>

5.5.1.5 PublicIdentifier

The PublicIdentifier element provides a public identifier for the NewsItem, in the sense defined by the XML 1.0 Specification. This takes the form of a URN for the NewsItem, which is constructed as follows:

urn:newsml:{ProviderId}:{DateId}:{NewsItemId}:{RevisionId}{RevisionId@Update}

where {x} means “the content of the x subelement of the NewsIdentifier” and {x@y} means “the value of the y attribute of the x subelement of the NewsIdentifier” , with the exception that if the Update attribute of the RevisionId element has its default value of N, it is omitted from the URN .

Note that the set of characters that can be included within a URN is limited. The allowed characters are specified by the Internet Engineering Task Force (IETF) in its Request For Comments (RFC) number 2141. This document is available at http://www.ietf.org/rfc/rfc2141.txt. Any character that is not within the permitted URN character set must be represented as a % character followed by the sequence of one to six bytes of its UTF-8 encoding, represented in their hexadecimal form. Thus, for example, the space character in a URN would appear as %20, and the % character itself would appear as %25.This mechanism does not cater for all Unicode or UTF-16 characters. Therefore,it is important not to include characters in a NewsItemId that cannot be encoded in UTF-8.

Note that the existence of this URN enables the NewsItem to be referenced unambiguously by pointers from other XML elements or resources. Within such pointers, if the RevisionId, its preceding : character and its following Update qualifier are omitted, then the pointer designates the most recent revision at the time it is resolved.

<!ELEMENT PublicIdentifier (#PCDATA )>



The following example of NewsIdentifier shows the form the PublicIdentifier will take in the case where the Update attribute of the RevisionId element has the value N, indicating that the content of the NewsItem is either a NewsComponent or a TopicSet, and not a set of Updates.

<NewsIdentifier>

<ProviderId>iptc.org</ProviderId>

<DateId>20001006</DateId>

<NewsItemId>NewsML Approved</NewsItemId>

<RevisionId PreviousRevision="0" Update="N">1</RevisionId>

<PublicIdentifier>urn:newsml:iptc.org:20001006:NewsML%20Approved:1</PublicIdentifier>

</NewsIdentifier>

Note that space characters within URNs have to be represented by a % sign followed by the hexadecimal character code for space (20), so the space in the content of the NewsItemId element becomes %20 in the content of the PublicIdentifier element.

In the following example, the Update attribute of the RevisionId element has the value U, indicating that the content of the NewsItem is a set of one or more Updates.

<NewsIdentifier>

<ProviderId>iptc.org</ProviderId>

<DateId>20001006</DateId>

<NewsItemId>i123</NewsItemId>

<RevisionId PreviousRevision="20001005" Update="U">20001023</RevisionId>

<PublicIdentifier>urn:newsml:iptc.org:20001006:i123:20001023U</PublicIdentifier>

</NewsIdentifier>

Note that in this example, the RevisionId and PreviousRevision values are not sequential, but the current revision number is nonetheless higher than the previous revision number. It would appear that the news provider has chosen to use the date to generate the revision values rather than sequential numbers starting from 1. This is a perfectly acceptable practice.

On receipt of this NewsItem, the system should apply the Update instructions to the previous revision of the NewsItem, to generate a complete NewsItem that reflects the changes indicated by the Updates. This result NewsItem would have the following NewsIdentifier, in which the Update attribute of the RevisionId element has the value N and the update qualifier character is omitted from the end of the PublicIdentifier string:

<NewsIdentifier>

<ProviderId>iptc.org</ProviderId>

<DateId>20001006</DateId>

<NewsItemId>i123</NewsItemId>

<RevisionId PreviousRevision="20001005" Update="N">20001023</RevisionId>

<PublicIdentifier>urn:newsml:iptc.org:20001006:i123:20001023</PublicIdentifier>

</NewsIdentifier>

Finally, note that a URN pointer that does not specify a RevisionId at all designates whatever is the latest revision of the NewsItem at the time the reference is resolved. The string urn:newsml:iptc.org:20001006:i123 would therefore designate whatever is the current revision of the NewsItem in the current example.

5.5.2 Informal Identifiers

In addition to the formal identification mechanisms described above, NewsML provides a series of Label elements that can be used by human users to identify NewsItems. As far as the NewsML system is concerned, these are arbitrary strings, and cannot be relied upon to provide a robust identification mechanism. Their sole purpose is to provide a convenient way for humans to identify a particular NewsItem in informal exchanges and communications, or as part of a user interface.

5.5.2.1 NameLabel

The NameLabel element contains a string used by human users as a name to help identify a NewsItem. Its form is determined by the provider. It might be identical to the textual content of the SlugLine element, for example, but even if this is so, the system should not process the NameLabel as a slugline. Nothing can be assumed about the nature of the string within NameLabel beyond the fact that it can help to identify the NewsItem to humans.

<!ELEMENT NameLabel (#PCDATA )>

<!ATTLIST NameLabel %localid; >

<NameLabel>IPTC approves NewsML 1.0</NameLabel>

5.5.2.2 DateLabel

The DateLabel element contains a string representation of a date. Since the purpose of the label is to be convenient to users, this might not be in ISO standard date format.

<!ELEMENT DateLabel (#PCDATA )>

<!ATTLIST DateLabel %localid; >

<DateLabel>6 October 2000</NameLabel>

5.5.2.3 Label

The Label element is an optional and a human-readable label for a NewsItem consisting of LabelType and LabelText subelements. The LabelText is the text that constitutes a Label of a given LabelType. The LabelType is a user-defined type of label. The value of the FormalName attribute is a formal name for the label type. Its meaning and permitted values are determined by the controlled vocabulary identified by the Vocabulary and Scheme attributes.

<!ELEMENT Label (LabelType, LabelText)>

<!ATTLIST Label %localid; >

<!ELEMENT LabelType EMPTY>

<!ATTLIST LabelType %localid;

%formalname; >

<!ELEMENT LabelText (#PCDATA)>

<!ATTLIST LabelText %localid; >

<Label>

<LabelType FormalName="ShortRef" Vocabulary="urn:newsml:mydomain.com:20001006:MyLabelTypes:1" Scheme="labeltypes"/>

<LabelText>NewsMLv1.0</LabelText>

</Label>

5.6 News Management

The NewsManagement element provides information relevant to the management of a NewsItem: information about a NewsItem’s type, history and status, as well as its relationship to other NewsItems, and any special instructions to be applied to it or additional properties that it may have.

<!ELEMENT NewsManagement (NewsItemType , FirstCreated , ThisRevisionCreated ,

Status , StatusWillChange* , Urgency? , RevisionHistory? , DerivedFrom* ,

AssociatedWith* , Instruction* , Property* )>

<!ATTLIST NewsManagement %localid; >

5.6.1 NewsItemType

The NewsItemType element contains an indication of the type of a NewsItem. The value of the FormalName attribute is a formal name for the news-item type. Its meaning and permitted values are determined by the controlled vocabulary identified by the Vocabulary and Scheme attributes.

<!ELEMENT NewsItemType EMPTY >

<!ATTLIST NewsItemType %localid;

%formalname; >

<NewsItemType FormalName="News" Vocabulary="urn:newsml:iptc.org:20001006:IptcNewsItemTypes:1" Scheme="IptcNewsItemTypes"/>

5.6.2 FirstCreated

This required element indicates the date and, optionally, time at which a NewsItem was first created, expressed in ISO 8601 Basic Format.

<!ELEMENT FirstCreated (#PCDATA)>

<!ATTLIST FirstCreated %localid; >

The example below indicates that this NewsItem was first created on 6 October 2000 at 1400 hours local time, which was 2 hours ahead of Coordinated Universal Time (UTC).

<FirstCreated>20001006T1400+0200</FirstCreated>

5.6.3 ThisRevisionCreated

This required element indicates the date and, optionally, time at which the current revision of a NewsItem was created, expressed in ISO 8601 Basic Format.

<!ELEMENT ThisRevisionCreated (#PCDATA)>

<!ATTLIST ThisRevisionCreated %localid; >

The example below indicates that this revision of the NewsItem was created on 6 October 2000 at 1615 hours local time, which was 2 hours ahead of Coordinated Universal Time (UTC).

<ThisRevisionCreated>20001006T1615+0200</ThisRevisionCreated>

5.6.4 Status

This required element indicates the current status of a NewsItem. The value of the FormalName attribute is a formal name for the status. Its meaning and permitted values are determined by the controlled vocabulary identified by the Vocabulary and Scheme attributes.

<!ELEMENT Status EMPTY >

<!ATTLIST Status %localid;

%formalname; >

<Status Vocabulary="urn:newsml:iptc.org:20001006:IptcStatus:1" Scheme="IptcStatus" FormalName="Embargoed"/>

5.6.5 StatusWillChange

The optional StatusWillChange element provides advance notification of a status change that will automatically occur at a specified date and time. Within StatusWillChange, the required FutureStatus element indicates the status the NewsItem will have at a specified future date. The value of the FormalName attribute is a formal name for the status. Its meaning and permitted values are determined by the controlled vocabulary identified by the Vocabulary and Scheme attributes. The required DateAndTime element indicates, using ISO 8601 Basic Format, the date or date and time at which the status change will occur. For example, an item with a Status of “embargoed” might have a StatusWillChange element stating that the status will become “usable” at a specified time. This is equivalent to announcing in advance the time at which the embargo will end and the item will be released. Multiple use of this element allows advance indication of pre-planned changes to the Status of a NewsItem.

<!ELEMENT StatusWillChange (FutureStatus , DateAndTime )>

<!ATTLIST StatusWillChange %localid; >

<!ELEMENT FutureStatus EMPTY >

<!ATTLIST FutureStatus %localid;

%formalname; >

The example below indicates that the NewsItem is embargoed at the time of its creation, but will become usable on 7 July 2000 at 1200 hours Coordinated Universal Time (UTC). Note that a change of status of a NewsItem is not a local event, taking place in the office of the provider. It is a global event, because the NewsItem has a global identifier, and its status applies anywhere in the world.

<Catalog>

<Resource>

<Urn>urn:newsml:iptc.org:20001006:IptcStatus:1</Urn>

<DefaultVocabularyFor Scheme="IptcStatus" Context="Status|FutureStatus"/>

</Resource>

<Catalog>

...

<Status FormalName="Embargoed"/>

<StatusWillChange>

<FutureStatus FormalName="Usable"/>

<DateAndTime>20000707T1200+0000</DateAndTime>

</StatusWillChange>

Note that the two DefaultVocabularyFor elements can be combined into one, by using the XPath syntax for alternative pattern matching. In the example below, the DefaultVocabularyFor element states that the IPTC status vocabulary applies to any data that matches the pattern "element name = Status OR element name = FutureStatus"

<Resource>

<Urn>urn:newsml:iptc.org:20001006:IptcStatus:1</Urn>

<DefaultVocabularyFor Scheme="IptcStatus" Context="Status|FutureStatus"/>

</Resource>

5.6.6 Urgency

The optional Urgency element contains an indication of the urgency of the NewsItem. The value of the FormalName attribute is a formal name for the degree of urgency. Its meaning and permitted values are determined by the controlled vocabulary identified by the Vocabulary and Scheme attributes.

<!ELEMENT Urgency EMPTY>

<!ATTLIST Urgency %localid;

%formalname; >

<Urgency Vocabulary="urn:newsml:iptc.org:20001006:IptcUrgency:1" Scheme="IptcUrgency" FormalName="1"/>

5.6.7 RevisionHistory

The optional RevisionHistory element provides a pointer to a file containing the revision history of the NewsItem via its Href attribute. The provider can choose whatever syntax and structure they like for this file.

<!ELEMENT RevisionHistory EMPTY>

<!ATTLIST RevisionHistory %localid;

Href CDATA #REQUIRED >

In this example, information about the revision history of the NewsItem is to be found in the rev_1376.log file within the history subdirectory of the directory of the directory containing the NewsItem itself

<RevisionHistory Href="../history/rev_1376.log"/>

5.6.8 DerivedFrom

The optional and repeatable DerivedFrom element provides a pointer to a NewsItem from which this one is derived. The NewsItem attribute identifies the relevant NewsItem. Its value can be an http URL or a NewsML URN. The optional Comment can be used to indicate the nature of the derivation. The pointer type is optionally named in the FormalName attribute of the