<?xml version="1.0" encoding="UTF-8"?>
<!-- 
              ===========================================
              NewsML Document Type Definition Version 1.2
              ===========================================
                 International Press Telecommunications Council
                             V 1.2   approved 10 October 2003
                            Copyright (c) IPTC, 2000 - 2003
                              All rights reserved
                         NewsML is a trademark of IPTC

                ======================================
                DO NOT REMOVE THESE LICENCE CONDITIONS
                ======================================
Non-Exclusive License Agreement for International Press
Telecommunications Council Specifications and Related Documentation

IMPORTANT: International Press Telecommunications Council (IPTC)
standard specifications for news (the Specifications) and supporting
software, documentation, technical reports, web sites and other
material related to the Specifications (the Materials) including the
document accompanying this license (the Document), whether in a paper
or electronic format, are made available to you subject to the terms
stated below. By obtaining, using and/or copying the Specifications or
Materials, you (the licensee) agree that you have read, understood,
and will comply with the following terms and conditions.

1. The Specifications and Materials are licensed for use only on the
condition that you agree to be bound by the terms of this license.
Subject to this and other licensing requirements contained herein, you
may, on a non-exclusive basis, use the Specifications and Materials.

2. The IPTC openly provides the Specifications and Materials for
voluntary use by individuals, partnerships, companies, corporations,
organizations and any other entity for use at the entity's own risk.
This disclaimer, license and release is intended to apply to the IPTC,
its officers, directors, agents, representatives, members,
contributors, affiliates, contractors, or co-venturers acting jointly
or severally.

3. The Document and translations thereof may be copied and furnished
to others, and derivative works that comment on or otherwise explain
it or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any kind,
provided that the copyright and license notices and references to the
IPTC appearing in the Document and the terms of this Specifications
License Agreement are included on all such copies and derivative
works. Further, upon the receipt of written permission from the IPTC,
the Document may be modified for the purpose of developing
applications that use IPTC Specifications or as required to translate
the Document into languages other than English.

4. Any use, duplication, distribution, or exploitation of the Document
and Specifications and Materials in any manner is at your own risk.

5. NO WARRANTY, EXPRESSED OR IMPLIED, IS MADE REGARDING THE ACCURACY,
ADEQUACY, COMPLETENESS, LEGALITY, RELIABILITY OR USEFULNESS OF ANY
INFORMATION CONTAINED IN THE DOCUMENT OR IN ANY SPECIFICATION OR OTHER
PRODUCT OR SERVICE PRODUCED OR SPONSORED BY THE IPTC. THE DOCUMENT AND
THE INFORMATION CONTAINED HEREIN AND INCLUDED IN ANY SPECIFICATION OR
OTHER PRODUCT OR SERVICE OF THE IPTC IS PROVIDED ON AN "AS IS" BASIS.
THE IPTC 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. NEITHER THE IPTC NOR ITS CONTRIBUTORS SHALL BE
HELD LIABLE FOR ANY IMPROPER OR INCORRECT USE OF INFORMATION. NEITHER
THE IPTC NOR ITS CONTRIBUTORS ASSUME ANY RESPONSIBILITY FOR ANYONE'S
USE OF INFORMATION PROVIDED BY THE IPTC. IN NO EVENT SHALL THE IPTC OR
ITS CONTRIBUTORS BE LIABLE TO ANYONE FOR DAMAGES OF ANY KIND,
INCLUDING BUT NOT LIMITED TO, COMPENSATORY DAMAGES, LOST PROFITS, LOST
DATA OR ANY FORM OF SPECIAL, INCIDENTAL, INDIRECT, CONSEQUENTIAL OR
PUNITIVE DAMAGES OF ANY KIND WHETHER BASED ON BREACH OF CONTRACT OR
WARRANTY, TORT, PRODUCT LIABILITY OR OTHERWISE.

6. The IPTC takes no position regarding the validity or scope of any
Intellectual Property or other rights that might be claimed to pertain
to the implementation or use of the technology described in the
Document or the extent to which any license under such rights might or
might not be available. The IPTC does not represent that it has made
any effort to identify any such rights. Copies of claims of rights
made available for publication, 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 the Specifications and Materials, can be
obtained from the Managing Director of the IPTC.

7. By using the Specifications and Materials including the Document in
any manner or for any purpose, you release the IPTC from all
liabilities, claims, causes of action, allegations, losses, injuries,
damages, or detriments of any nature arising from or relating to the
use of the Specifications, Materials or any portion thereof. You
further agree not to file a lawsuit, make a claim, or take any other
formal or informal legal action against the IPTC, resulting from your
acquisition, use, duplication, distribution, or exploitation of the
Specifications, Materials or any portion thereof. Finally, you hereby
agree that the IPTC is not liable for any direct, indirect, special or
consequential damages arising from or relating to your acquisition,
use, duplication, distribution, or exploitation of the Specifications,
Materials or any portion thereof.

8. Specifications and Materials may be downloaded or copied provided
that ALL copies retain the ownership, copyright and license notices.

9. Materials may not be edited, modified, or presented in a context
that creates a misleading or false impression or statement as to the
positions, actions, or statements of the IPTC.

10. The name and trademarks of the IPTC may not be used in
advertising, publicity, or in relation to products or services and
their names without the specific, written prior permission of the
IPTC. Any permitted use of the trademarks of the IPTC, whether
registered or not, shall be accompanied by an appropriate mark and
attribution, as agreed with the IPTC.

11. Specifications may be extended by both members and non-members to
provide additional functionality (Extended Specifications) provided
that there is a clear recognition of the IPTC IP and its ownership in
the Extended Specifications and the related documentation and provided
that the extensions are clearly identified and provided that a
perpetual license is granted by the creator of the Extended
Specifications for other members and non-members to use the Extended
Specifications and to continue extensions of the Extended
Specifications. The IPTC does not waive any of its rights in the
Specifications and Materials in this context. The Extended
Specifications may be considered the intellectual property of their
creator. The IPTC expressly disclaims any responsibility for damage
caused by an extension to the Specifications.

12. Specifications and Materials may be included in derivative work of
both members and non-members provided that there is a clear
recognition of the IPTC IP and its ownership in the derivative work
and its related documentation. The IPTC does not waive any of its
rights in the Specifications and Materials in this context. Derivative
work in its entirety may be considered the intellectual property of
the creator of the work .The IPTC expressly disclaims any
responsibility for damage caused when its IP is used in a derivative
context.

13. This Specifications License Agreement is perpetual subject to your
conformance to the terms of this Agreement. The IPTC may terminate
this Specifications License Agreement immediately upon your breach of
this Agreement and, upon such termination you will cease all use,
duplication, distribution, and/or exploitation in any manner of the
Specifications and Materials.

14. This Specifications License Agreement reflects the entire
agreement of the parties regarding the subject matter hereof and
supersedes all prior agreements or representations regarding such
matters, whether written or oral. To the extent any portion or
provision of this Specifications License Agreement is found to be
illegal or unenforceable, then the remaining provisions of this
Specifications License Agreement will remain in full force and effect
and the illegal or unenforceable provision will be construed to give
it such effect as it may properly have that is consistent with the
intentions of the parties.

15. This Specifications License Agreement may only be modified in
writing signed by an authorized representative of the IPTC.

16. This Specifications License Agreement is governed by the law of
United Kingdom, as such law is applied to contracts made and fully
performed in the United Kingdom. Any disputes arising from or relating
to this Specifications License Agreement will be resolved in the
courts of the United Kingdom. You consent to the jurisdiction of such
courts over you and covenant not to assert before such courts any
objection to proceeding in such forums.

IF YOU DO NOT AGREE TO THESE TERMS YOU MUST CEASE ALL USE OF THE
SPECIFICATIONS AND MATERIALS NOW. IF YOU HAVE ANY QUESTIONS ABOUT
THESE TERMS, PLEASE CONTACT THE MANAGING DIRECTOR OF THE INTERNATIONAL
PRESS TELECOMMUNICATION COUNCIL. AS OF THE DATE OF THIS REVISION OF
THIS SPECIFICATIONS LICENSE AGREEMENT YOU MAY CONTACT THE IPTC at
http://www.iptc.org.

License agreement version of: 30 January 2006
-->
<!-- 
                                ================
                                NOTE ON SPELLING
                                ================
NewsML element and attribute names use US-English spellings. With this
exception, this DTD and its accompanying specification use British English
spellings.
-->
<!-- 
                         =============================
                         PARAMETER ENTITY DECLARATIONS 
                         =============================
-->
<!-- 
================================================================================
                                 Attribute sets 
================================================================================
-->
<!-- 
================================== assignment ==================================
AssignedBy
==========
An identifier for the party assigning a piece of metadata. This can be a
string that designates the party informally (for example, a person's name),
or a pointer in the form a fragment identifier consisting of a # character
followed by the Duid of a Topic corresponding to the party.

Importance
==========
An indication of the importance the party assigning a piece of metadata
attaches to it. The value of the Importance attribute is a formal name for a
level of importance. Its meaning and permitted values are determined by a
controlled vocabulary.

Confidence
==========
An indication of the confidence with which a piece of metadata has been
assigned. The value of the Confidence attribute is a formal name for a
degree of confidence. Its meaning and permitted values are determined by a
controlled vocabulary.

HowPresent
==========
An indication of the way in which a piece of metadata applies. The value of
the HowPresent attribute is a formal name for the way the metadata applies.
Its meaning and permitted values are determined by a controlled vocabulary.

DateAndTime
===========
The date and (optionally) time at which a piece of metadata was assigned. 

Uses the format CCYYMMDDTHHMMSS{+or-}HHMM (century, year, month, day, time
separator, hours, minutes, seconds, timezone separator, hours, minutes). If
only the Date is needed, then the substring from T onwards may be omitted.
Where the offset difference is +0000 the letter suffix "Z" may alternatively be used.

This is the Basic Format defined by ISO 8601. CCYY is a 4-digit year number.
MM is a 2-digit month number. DD is a 2-digit day number. T is the letter 'T'.
HH is a 2-digit hour number (using a 24-hour clock). MM is a 2 digit minute
number. (Note that midnight may be represented as 240000 on the date
of the day that is ending, or as 000000 on the date of the day that is
beginning.)

{+or-} is the '+' character or the '-' character, and the following HHMM are
hours and minutes of offset from Universal Co-ordinated Time (UTC) as defined
by ISO 8601. If the time is being expressed in UTC, then the timezone offset
may be '+0000' or '-0000'. If the time is behind UTC, the timezone separator
is '-'. If the time is ahead of UTC the timezone separator is '+'.

Example: 10:27 p.m. in New York on 31 December 2000 would be expressed as 
"20001231T222700-0500" as New York is five hours behind UTC in winter. At
the  same moment in London, the date and time would be expressed as
"20010101T032700+0000" or as "20010101T032700-0000" because in London it is
now 3:27 a.m. on 1 January 2001. At the same moment in Paris,the date and
time would be expressed as "20010101T042700+0100", because Paris is one hour
ahead of UTC  in winter and it is now 4:27 a.m. on 1 January 2001.
================================================================================

-->
<!ENTITY % assignment " AssignedBy  CDATA  #IMPLIED
   Importance  CDATA  #IMPLIED
   Confidence  CDATA  #IMPLIED
   HowPresent  CDATA  #IMPLIED
   DateAndTime CDATA  #IMPLIED">
<!-- 
================================= formalname ===================================

FormalName
==========
A string of characters whose meaning is determined by a controlled vocabulary.
The controlled vocabulary may (but is not required to) take the form of a NewsML TopicSet.

Vocabulary
==========
The Vocabulary attribute, if present, provides a pointer to a TopicSet which is
the controlled vocabulary that can be used to resolve the meaning of the
FormalName. 

The value of the Vocabulary attribute is an http URL or a NewsML
URN, or the # character followed by the value of the Duid attribute of the a
TopicSet in the current document.

If there is no Vocabulary attribute, then the controlled vocabulary to be used
is located by the following algorithm:
- Proceed to the parent of the current element.
- If it has a Catalog element as its immediate child, see whether that Catalog
  contains a Resource element whose DefaultVocabularyFor child contains an XPath
  pattern that is matched by the current element. If so, then the controlled
  vocabulary is the resource identified by that Resource element.
- If the parent does not meet the above condition, proceed to its parent and
  check the same condition.
- Continue until a vocabulary is found, or no further parent elements are
  available because the root element has been reached and it too fails to meet
  the condition.

(The comment on Vocabulary was changed for Version 1.2)

Scheme
======
The Scheme attribute, if present, serves to distinguish which of possibly
multiple naming schemes in the controlled vocabulary is the one that governs
this FormalName. 

(The following lines added for Version 1.2)
More information about the processing of those attributes can be found in the 
NewsML Functional Specifications and the NewsML Implementation Guidelines.
================================================================================
-->
<!ENTITY % formalname " FormalName CDATA  #REQUIRED
   Vocabulary CDATA  #IMPLIED
   Scheme     CDATA  #IMPLIED">
<!-- 
=================================== localid ====================================

Duid
====
Duid is a "Document-unique Identifier". It must satisfy the rules for XML ID
attributes: it must only contain name characters, and it must start with a 
name-start character (not a digit). Its value must be unique within any NewsML
document.

Every NewsML element type has Duid as an optional attribute. Combined with the
Identifier element, providing a value for the Duid of any element in a NewsML
document makes the element globally identifiable. The Identifier element gives
global identification to the document, and the Duid provides local
identification for the element within the document.

Euid
====
Euid is an "Element-unique Identifier". Its value must be unique among elements
of the same element-type and having the same parent element.

Use of 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 identify, for example
"The ContentItem whose Euid is abc within the NewsComponent whose Euid is def".
Such identification patterns would be preserved even after "pruning and
grafting" of subtrees.
================================================================================
-->
<!ENTITY % localid " Duid ID     #IMPLIED
   Euid CDATA  #IMPLIED">
<!-- 
================================================================================
                                 Content Models 
================================================================================
-->
<!-- 
===================================== data =====================================
Where data is included, it may be directly in the form of a DataContent element,
or in the form of DataContent wrapped in an Encoding element, or by reference
through an Href attribute. In the latter case an empty Encoding element may be present.
================================================================================
-->
<!ENTITY % data "(Encoding | DataContent)?">
<!-- 
==================================== party =====================================
Person, organisation or company playing a specific role in the
news workflow. The role being played is determined by the parent element. More
information about it can be provided in the optional Comment subelements. 
================================================================================

-->
<!ENTITY % party "Comment* , Party+">
<!-- 
                           =========================
                           ELEMENT TYPE DECLARATIONS 
                           =========================
-->
<!-- 
============================ AdministrativeMetadata ============================
Information about the provenance of a NewsComponent. 
Changed for Version 1.2: Creator? changed to Creator*
================================================================================
-->
<!ELEMENT AdministrativeMetadata (Catalog?, FileName?, SystemIdentifier?, Provider?, Creator*, Source*, Contributor*, Property*)>
<!ATTLIST AdministrativeMetadata
	%localid; 
>
<!-- 

================================ AssociatedWith ================================
A reference to a NewsItem with which this one is associated (for example, a
series of articles, or a collection of photos, of which it is a part). The 
NewsItem attribute identifies the relevant NewsItem. Its value can be an
http URL or a NewsML URN as described in the comment to PublicIdentifier. The
Comment can be used to indicate the nature of the association. FormalName structure added in version 1.1
================================================================================

-->
<!ELEMENT AssociatedWith (Comment*)>
<!ATTLIST AssociatedWith
	%localid; 
	FormalName CDATA #IMPLIED
	Vocabulary CDATA #IMPLIED
	Scheme CDATA #IMPLIED
	NewsItem CDATA #IMPLIED
>
<!-- 
================================ BasisForChoice ================================
The content of this element is an XPath statement or element-type name
identifying information within each NewsComponent or ContentItem that can be
used as a basis for choice between equivalent NewsComponents or ContentItems.
If the XPath pattern begins with a . character, this represents the 'root' of
the XPath and corresponds to the NewsComponent or ContentItem itself. By
applying the XPath pattern to each NewsComponent or ContentItem in turn within
the set of equivalents, the system can extract the data on the basis of which a
choice between the items can be made. If multiple matches to the XPath pattern
are present within the subtree that begins at the 'root', only the first match
found in document order is significant.  The optional Rank attribute allows
providers to place a numerical order on the  importance they think should be
attached to the different bases for choice.
Smaller numbers represent higher importance.
================================================================================
-->
<!ELEMENT BasisForChoice (#PCDATA)>
<!ATTLIST BasisForChoice
	%localid; 
	Rank CDATA #IMPLIED
>
<!-- 

==================================== ByLine ====================================
A natural-language statement of the author/creator information.
================================================================================
-->
<!ELEMENT ByLine (#PCDATA | Origin)*>
<!ATTLIST ByLine
	%localid; 
	xml:lang CDATA #IMPLIED
>
<!-- 

==================================== ByLineTitle ====================================
A natural-language statement of the title of author/creator of the information. (version 1.1)
================================================================================
-->
<!ELEMENT ByLineTitle (#PCDATA | Origin)*>
<!ATTLIST ByLineTitle
	%localid; 
	xml:lang CDATA #IMPLIED
>
<!-- 
=================================== Catalog ====================================
A container for Resource and TopicUse elements. Resource elements map URNs to
URLs and indicate default vocabularies which apply to the formal names of
certain elements within the subtree that begins with the immediate parent of
the Catalog element. TopicUse elements indicate where in the NewsML document
certain Topics are used. 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 http URL 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
>
<!-- 
=============================== Characteristics ================================
Information about the physical characteristics of a ContentItem.
================================================================================
-->
<!ELEMENT Characteristics (SizeInBytes?, Property*)>
<!ATTLIST Characteristics
	%localid; 
>
<!-- 
=================================== Comment ====================================
A natural-language description of, or statement about, the current element. The
optional TranslationOf attribute is a pointer to another Comment element, of
which this one is a direct translation. The FormalName and associated attributes added for Version 1.1
================================================================================
-->
<!ELEMENT Comment (#PCDATA)>
<!ATTLIST Comment
	%localid; 
	xml:lang CDATA #IMPLIED
	TranslationOf IDREF #IMPLIED
	FormalName CDATA #IMPLIED
	Vocabulary CDATA #IMPLIED
	Scheme CDATA #IMPLIED
>
<!-- 
================================= ContentItem ==================================
A news object that carries or identifies content intended for presentation to
humans.
================================================================================
-->
<!ELEMENT ContentItem (Comment*, Catalog?, MediaType?, Format?, MimeType?, Notation?, Characteristics?, %data;)>
<!ATTLIST ContentItem
	%localid; 
	Href CDATA #IMPLIED
>
<!-- 
================================= Contribution ==================================
The contribution of a Party in the scope of the creation or the modification of a news object.
Added for Version 1.2
==============================================================================
-->
<!ELEMENT Contribution EMPTY>
<!ATTLIST Contribution
	%localid; 
	%formalname; 
>
<!-- 
================================= Contributor ==================================
An individual and/or company or organisation that modified or enhanced a news
object after its creation.
Changed for Version 1.2: Contribution added
================================================================================
-->
<!ELEMENT Contributor (%party;, Contribution*)>
<!ATTLIST Contributor
	%localid; 
>
<!-- 
================================== Copyright ===================================
The copyright that pertains to a news object.
================================================================================
-->
<!ELEMENT Copyright (Comment*, CopyrightHolder, CopyrightDate)>
<!ATTLIST Copyright
	%localid; 
	%assignment; 
>
<!-- 
================================ CopyrightDate =================================
A natural-language statement of the copyright date.
================================================================================

-->
<!ELEMENT CopyrightDate (#PCDATA | Origin)*>
<!ATTLIST CopyrightDate
	%localid; 
	xml:lang CDATA #IMPLIED
>
<!-- 
=============================== CopyrightHolder ================================
A natural-language statement indicating who owns the copyright.
================================================================================
-->
<!ELEMENT CopyrightHolder (#PCDATA | Origin)*>
<!ATTLIST CopyrightHolder
	%localid; 
	xml:lang CDATA #IMPLIED
>
<!-- 
================================ CopyrightLine =================================
A natural-language statement of the copyright information.
================================================================================
-->
<!ELEMENT CopyrightLine (#PCDATA | Origin)*>
<!ATTLIST CopyrightLine
	%localid; 
	xml:lang CDATA #IMPLIED
>
<!-- 
=================================== Creator ====================================
An individual and/or company or organisation that created a news object.
Changed for Version 1.2: Contribution added
================================================================================
-->
<!ELEMENT Creator (%party;, Contribution*)>
<!ATTLIST Creator
	%localid; 
>
<!-- 
================================== CreditLine ==================================
A natural-language statement of credit information.
================================================================================
-->
<!ELEMENT CreditLine (#PCDATA | Origin)*>
<!ATTLIST CreditLine
	%localid; 
	xml:lang CDATA #IMPLIED
>
<!-- 
================================= DataContent ==================================
The data that carries the content of a ContentItem.
================================================================================
-->
<!ELEMENT DataContent ANY>
<!ATTLIST DataContent
	%localid; 
>
<!-- 
================================= DateAndTime ==================================
A formal representation of a date and, optionally, time, expressed in ISO 8601
Basic Format, as described in the comment to the DateAndTime attribute within
the assignment ENTITY declaration above.
================================================================================
-->
<!ELEMENT DateAndTime (#PCDATA)>
<!ATTLIST DateAndTime
	%localid; 
>
<!-- 
==================================== DateId ====================================
A date identifier of a NewsItem in short ISO 8601 Basic Format (CCYYMMDD), as
described in the comment to the DateAndTime attribute within the assignment
ENTITY declaration above. The DateId is part of the formal identification of the
NewsItem, and must remain the same through successive revisions of the same
NewsItem.
================================================================================
-->
<!ELEMENT DateId (#PCDATA)>
<!-- 
================================== DateLabel ===================================
A string representation of a date or date and time, used by human users to help
identify a NewsItem.
================================================================================
-->
<!ELEMENT DateLabel (#PCDATA)>
<!ATTLIST DateLabel
	%localid; 
>
<!--
=================================== DateLine ===================================
A natural-language statement of the date and/or place of creation.
================================================================================
-->
<!ELEMENT DateLine (#PCDATA | Origin)*>
<!ATTLIST DateLine
	%localid; 
	xml:lang CDATA #IMPLIED
>
<!--
=================================== DateLineDate ===================================
A logical equivalent of the date of creation. ISO8601 Basic Format
================================================================================
-->
<!ELEMENT DateLineDate (#PCDATA)>
<!ATTLIST DateLineDate
	%localid; 
>
<!-- 
============================ DefaultVocabularyFor ==============================
An indication that the parent Resource provides the default vocabulary that
determines the meanings and permitted values of the data occurring in a
particular part of a NewsML document subtree. The Context attribute is an
XPath pattern identifying the data to which the default vocabulary applies.
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 optional Scheme attribute identifies the relevant naming
scheme if the controlled vocabulary contains more than one naming scheme. 
If the controlled vocabulary is a NewsML TopicSet, then the meaning of the data 
identified by the Context is provided by the Topic whose FormalName subelement 
matches that data. If the Resource is not a NewsML TopicSet, then the way in which
it is interpreted in order to provide a meaning for the data is not defined by NewsML 
but by the authority that governs whatever format the Resource uses.
================================================================================
-->
<!ELEMENT DefaultVocabularyFor EMPTY>
<!ATTLIST DefaultVocabularyFor
	%localid; 
	Context CDATA #REQUIRED
	Scheme CDATA #IMPLIED
>
<!--
==================================== Delete ====================================
An instruction to delete an element within a NewsItem. The NewsItem is
the previous revision of the current one, and the element to be deleted is the
one whose Duid value is equal to the value of the Delete element's DuidRef
attribute.
================================================================================
-->
<!ELEMENT Delete EMPTY>
<!ATTLIST Delete
	%localid; 
	DuidRef CDATA #REQUIRED
>
<!-- 
================================= DerivedFrom ==================================
A reference to an 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
as described in the comment to PublicIdentifier. FormalName structure added in version 1.1
================================================================================
-->
<!ELEMENT DerivedFrom (Comment*)>
<!ATTLIST DerivedFrom
	%localid; 
	FormalName CDATA #IMPLIED
	Vocabulary CDATA #IMPLIED
	Scheme CDATA #IMPLIED
	NewsItem CDATA #IMPLIED
>
<!-- 
================================= Description ==================================
A description that identifies a Topic, thereby indicating the meaning of a
formal name associated with that Topic. The xml:lang attribute indicates what
language the description is in. The optional Variant attribute allows multiple
descriptions to be given in the same language, and meaningfully distinguished
from one another.
================================================================================
-->
<!ELEMENT Description (#PCDATA)>
<!ATTLIST Description
	%localid; 
	xml:lang CDATA #IMPLIED
	Variant CDATA #IMPLIED
>
<!-- 
============================= DescriptiveMetadata ==============================
Information describing the content of a NewsComponent. Multiple appearance for the child element Genre,
new elements DateLineDate and Location were introduced in  version 1.1 of the DTD.
================================================================================
-->
<!ELEMENT DescriptiveMetadata (Catalog?, Language*, Genre*, SubjectCode*, OfInterestTo*, DateLineDate?, Location*, TopicOccurrence*, Property*)>
<!ATTLIST DescriptiveMetadata
	%localid; 
	%assignment; 
>
<!-- 
=================================== Encoding ===================================
The encoding of the data comprising the content of a ContentItem. 
================================================================================
-->
<!ELEMENT Encoding %data;>
<!ATTLIST Encoding
	%localid; 
	Notation CDATA #REQUIRED
>
<!-- 
=================================== EndDate ====================================
A natural-language statement of the date at which specified usage rights come
to an end.
================================================================================
-->
<!ELEMENT EndDate (#PCDATA | Origin)*>
<!ATTLIST EndDate
	%localid; 
	xml:lang CDATA #IMPLIED
	%assignment; 
>
<!-- 
=================================== FileName ===================================
The suggested or actual storage file name for a NewsItem. 
================================================================================
-->
<!ELEMENT FileName (#PCDATA)>
<!ATTLIST FileName
	%localid; 
>
<!-- 
================================= FirstCreated =================================
The date and, optionally, time at which a NewsItem was first created, expressed
in ISO 8601 Basic Format, as described in the comment to the DateAndTime
attribute within the assignment ENTITY declaration above.
================================================================================
-->
<!ELEMENT FirstCreated (#PCDATA)>
<!ATTLIST FirstCreated
	%localid; 
>
<!-- 
================================= FormalName ===================================
A string of characters whose meaning is determined by a naming scheme within a
controlled vocabulary. The controlled vocabulary may (but is not required to)
take the form of a NewsML TopicSet. The optional Scheme attribute determines
which naming scheme applies, when several exist within the same controlled
vocabulary.
================================================================================
-->
<!ELEMENT FormalName (#PCDATA)>
<!ATTLIST FormalName
	%localid; 
	Scheme CDATA #IMPLIED
>
<!-- 
==================================== Format ====================================
An indication of the format of a ContentItem. The value of the FormalName
attribute is a formal name for the Format. Its meaning and permitted values are
determined by a controlled vocabulary as described in the comment to the
formalname ENTITY declaration above.
================================================================================
-->
<!ELEMENT Format EMPTY>
<!ATTLIST Format
	%localid; 
	%formalname; 
>
<!-- 
================================= FutureStatus =================================
An indication of the status a NewsItem will have at a specified future date. The
value of the FormalName attribute is a formal name for the FutureStatus. Its
meaning is determined by a controlled vocabulary as described in the comment
to the formalname ENTITY declaration above.
================================================================================
-->
<!ELEMENT FutureStatus EMPTY>
<!ATTLIST FutureStatus
	%localid; 
	%formalname; 
>
<!-- 
==================================== Genre =====================================
An indication of the Genre of a NewsComponent. The value of the FormalName
attribute is a formal name for the Genre. Its meaning and permitted values are
determined by a controlled vocabulary as described in the comment to the
formalname ENTITY declaration above.
================================================================================
-->
<!ELEMENT Genre EMPTY>
<!ATTLIST Genre
	%localid; 
	%formalname; 
	%assignment; 
>
<!-- 
================================== Geography ===================================
A natural-language statement of the geographical area or areas to which
specified usage rights apply.
================================================================================
-->
<!ELEMENT Geography (#PCDATA | Origin)*>
<!ATTLIST Geography
	%localid; 
	xml:lang CDATA #IMPLIED
	%assignment; 
>
<!-- 
=================================== HeadLine ===================================
A displayable headline.
================================================================================
-->
<!ELEMENT HeadLine (#PCDATA | Origin)*>
<!ATTLIST HeadLine
	%localid; 
	xml:lang CDATA #IMPLIED
>
<!-- 
================================ Identification ================================
Identification information for the NewsItem.
================================================================================
-->
<!ELEMENT Identification (NewsIdentifier, NameLabel?, DateLabel?, Label*)>
<!ATTLIST Identification
	%localid; 
>
<!--
================================= InsertAfter ==================================
An instruction to insert content after a designated element within a NewsItem.
The content to be inserted is the content of the InsertAfter element. The
NewsItem into which it is to be inserted is the previous revision of the current
one, and the element after which it is to be inserted is the one whose Duid
value is equal to the value of the InsertAfter element's DuidRef attribute.
================================================================================
-->
<!ELEMENT InsertAfter ANY>
<!ATTLIST InsertAfter
	%localid; 
	DuidRef CDATA #REQUIRED
>
<!--
================================= InsertBefore =================================
An instruction to insert content before a designated element within a NewsItem.
The content to be inserted is the content of the InsertBefore element. The
NewsItem into which it is to be inserted is the previous revision of the current
one, and the element before which it is to be inserted is the one whose Duid
value is equal to the value of the InsertBefore element's DuidRef attribute.
================================================================================
-->
<!ELEMENT InsertBefore ANY>
<!ATTLIST InsertBefore
	%localid; 
	DuidRef CDATA #REQUIRED
>
<!--
================================= Instruction ==================================
An instruction from a news provider to the recipient of a NewsItem. A special
case of Instruction is an indication of the effect the current revision of a
NewsItem has on the status of any previous revisions of the NewsItem that may
still be on the recipient's system. In this case, it will contain one or more
RevisionStatus elements. Otherwise, the value of the FormalName attribute is a
formal name for the Instruction, and its meaning is determined by a controlled
vocabulary as described in the comment to the formalname ENTITY declaration
above.
================================================================================
-->
<!ELEMENT Instruction (RevisionStatus*)>
<!ATTLIST Instruction
	%localid; 
	%formalname; 
>
<!-- 
================================= KeywordLine ==================================
A displayable set of keywords relevant to a news object. This can be used by a
NewsML system to assist manual or automated searches.
================================================================================
-->
<!ELEMENT KeywordLine (#PCDATA | Origin)*>
<!ATTLIST KeywordLine
	%localid; 
	xml:lang CDATA #IMPLIED
>
<!-- 
==================================== Label =====================================
A human-readable label for a NewsItem.
================================================================================
-->
<!ELEMENT Label (LabelType, LabelText)>
<!ATTLIST Label
	%localid; 
>
<!-- 
=================================== LabelText ==================================
The text that constitutes a Label of a given LabelType.
================================================================================
-->
<!ELEMENT LabelText (#PCDATA)>
<!ATTLIST LabelText
	%localid; 
>
<!-- 
================================= LabelType ====================================
A user-defined type of label. The value of the FormalName attribute is a formal
name for the LabelType. Its meaning and permitted values are determined by a
controlled vocabulary as described in the comment to the formalname ENTITY
declaration above.
================================================================================
-->
<!ELEMENT LabelType EMPTY>
<!ATTLIST LabelType
	%localid; 
	%formalname; 
>
<!-- 
=================================== Language ===================================
An indication of the, or a, language used in a content item. The value of the
FormalName attribute is a formal name for the Language. Its meaning and
permitted values are determined by a controlled vocabulary as described in the
comment to the formalname ENTITY declaration above.
================================================================================
-->
<!ELEMENT Language EMPTY>
<!ATTLIST Language
	%localid; 
	%formalname; 
	%assignment; 
>
<!-- 
================================= Limitations ==================================
A natural-language statement of the terms and conditions that apply to the
specified usage rights.
================================================================================
-->
<!ELEMENT Limitations (#PCDATA | Origin)*>
<!ATTLIST Limitations
	%localid; 
	xml:lang CDATA #IMPLIED
	%assignment; 
>
<!-- 
=========================== Location (version 1.1)=============================
An indication of the location somehow relevant to the NewsItem. Type of the
location (the nature of its relation to the NewsItem) is specified using the
HowPresent attribute that is part of the %assignment; entity (e.g.
DateLine, Event, etc). Logical components of the location's definition (eg Country) are specified 
using the Property child elements with the FormalName attributes taken from the IPTC normative controlled 
vocabulary. In addition, if the location in question exists as a single Topic, 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
================================================================================
-->
<!ELEMENT Location (Property)*>
<!ATTLIST Location
	%localid; 
	%assignment; 
	xml:lang CDATA #IMPLIED
	Topic CDATA #IMPLIED
>
<!-- 
================================== MediaType ===================================
An indication of the media type of a ContentItem. The value of the FormalName
attribute is a formal name for the MediaType. Its meaning and permitted values
are determined by a controlled vocabulary as described in the comment to the
formalname ENTITY declaration above.
================================================================================
-->
<!ELEMENT MediaType EMPTY>
<!ATTLIST MediaType
	%localid; 
	%formalname; 
>
<!-- 
=================================== Metadata ===================================
An container for a user-defined type of metadata.
================================================================================
-->
<!ELEMENT Metadata (Catalog?, MetadataType, Property+)>
<!ATTLIST Metadata
	%localid; 
>
<!-- 
=============================== MetadataType ===================================
An indication of the type of metadata that is represented by the Property
elements within this Metadata element. The value of the FormalName attribute is
a formal name for the MetadataType. Its meaning and permitted values are
determined by a controlled vocabulary as described in the comment to the
formalname ENTITY declaration above.
================================================================================
-->
<!ELEMENT MetadataType EMPTY>
<!ATTLIST MetadataType
	%localid; 
	%formalname; 
>
<!-- 
=================================== MimeType ===================================
An indication of the MIME-type of a ContentItem. The value of the FormalName
attribute is a formal name for the MimeType. Its meaning and permitted values
are determined by a controlled vocabulary as described in the comment to the
formalname ENTITY declaration above.
================================================================================
-->
<!ELEMENT MimeType EMPTY>
<!ATTLIST MimeType
	%localid; 
	%formalname; 
>
<!-- 
================================== NameLabel ===================================
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; 
>
<!-- 
================================ NewsComponent =================================
A container for news objects, used to identify the role of news objects in
relation to one another, and to ascribe metadata to them. The Essential
attribute indicates whether the provider considers that this NewsComponent
is essential to the meaning of the NewsComponent within which it is contained.
The EquivalentsList attribute indicates whether or not the NewsItems or
NewsItemRefs, NewsComponents or ContentItems contained within this one are
equivalent to one another in content and/or meaning
================================================================================
-->
<!ELEMENT NewsComponent (Comment*, Catalog?, TopicSet*, Role?, BasisForChoice*, NewsLines?, AdministrativeMetadata?, RightsMetadata?, DescriptiveMetadata?, Metadata*, ((NewsItem | NewsItemRef)+ | NewsComponent+ | ContentItem+)?)>
<!ATTLIST NewsComponent
	%localid; 
	Essential (yes | no) "no"
	EquivalentsList (yes | no) "no"
	xml:lang CDATA #IMPLIED
>
<!-- 
================================= NewsEnvelope =================================
Information about the transmission of one or more NewsItems as a NewsML
document.
================================================================================
-->
<!ELEMENT NewsEnvelope (TransmissionId?, SentFrom?, SentTo?, DateAndTime, NewsService*, NewsProduct*, Priority?)>
<!ATTLIST NewsEnvelope
	%localid; 
>
<!-- 
================================ NewsIdentifier ================================
A globally unique identifier for a NewsItem. 
================================================================================
-->
<!ELEMENT NewsIdentifier (ProviderId, DateId, NewsItemId, RevisionId, PublicIdentifier)>
<!-- 
=================================== NewsItem ===================================
A managed set of information representing a point of view, at a given time, on
some event or events. Its Identification and NewsManagement provide
manageability. It may contain either a NewsComponent, or one or more Updates
that modify aspects of a previous Revision of the same NewsItem, or a
TopicSet.
================================================================================
-->
<!ELEMENT NewsItem (Comment*, Catalog?, Identification, NewsManagement, (NewsComponent | Update+ | TopicSet)?)>
<!ATTLIST NewsItem
	%localid; 
	xml:lang CDATA #IMPLIED
>
<!-- 
================================== NewsItemId ==================================
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, a NewsML
URN, or the # character followed by the value of the Duid attribute of a
TopicSet in 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
>
<!-- 
================================= NewsItemRef ==================================
A pointer to a NewsItem that is deemed to replace the NewsItemRef element. The
NewsItem attribute is a pointer to the relevant NewsItem. Its value can be an
http URL, or a NewsML URN as described in the comment to PublicIdentifier, or a
fragment identifier consisting of a # character followed by the Duid of a
NewsItem in the current document.
================================================================================
-->
<!ELEMENT NewsItemRef (Comment*)>
<!ATTLIST NewsItemRef
	%localid; 
	NewsItem CDATA #IMPLIED
>
<!--
================================= NewsItemType =================================
An indication of the type of a NewsItem. The value of the FormalName attribute
is a formal name for the NewsItemType. Its meaning and permitted values are
determined by a controlled vocabulary as described in the comment to the
formalname ENTITY declaration above.
================================================================================
-->
<!ELEMENT NewsItemType EMPTY>
<!ATTLIST NewsItemType
	%localid; 
	%formalname; 
>
<!-- 
=================================== NewsLine ===================================
A newsline of a type not included in the NewsML specification.
================================================================================
-->
<!ELEMENT NewsLine (NewsLineType, NewsLineText+)>
<!ATTLIST NewsLine
	%localid; 
>
<!-- 
=================================== NewsLineText ===================================
The text of a NewsLine of user-defined type.
================================================================================
-->
<!ELEMENT NewsLineText (#PCDATA | Origin)*>
<!ATTLIST NewsLineText
	%localid; 
	xml:lang CDATA #IMPLIED
>
<!-- 
================================ NewsLineType ==================================
An indication of a user-defined NewsLine type. The value of the FormalName
attribute is a formal name for the NewsLineType. Its meaning and permitted
values are determined by a controlled vocabulary as described in the comment
to the formalname ENTITY declaration above.
================================================================================
-->
<!ELEMENT NewsLineType EMPTY>
<!ATTLIST NewsLineType
	%localid; 
	%formalname; 
>
<!-- 
================================== NewsLines ===================================
A container for all the NewsLines that a NewsComponent has. 
Made an "or" group  and ByLineTitle added in version 1.1
================================================================================
-->
<!ELEMENT NewsLines ((HeadLine, SubHeadLine*) | (ByLine, ByLineTitle*) | DateLine | CreditLine | CopyrightLine | RightsLine | SeriesLine | SlugLine | KeywordLine | NewsLine)*>
<!ATTLIST NewsLines
	%localid; 
>
<!-- 
================================ NewsManagement ================================
Information relevant to the management of a NewsItem. Multiple StatusWillChange introduced in version 1.1
================================================================================
-->
<!ELEMENT NewsManagement (NewsItemType, FirstCreated, ThisRevisionCreated, Status, StatusWillChange*, Urgency?, RevisionHistory?, DerivedFrom*, AssociatedWith*, Instruction*, Property*)>
<!ATTLIST NewsManagement
	%localid; 
>
<!-- 
==================================== NewsML ====================================
A NewsML document, which must contain a NewsEnvelope and one or more NewsItems,
and may include a Catalog element and a TopicSet element. The Version attribute, introduced in version 1.1,
is used to signify the version of NewsML that the instance is validated against. 
It should always be used if the version is above 1.0.
================================================================================
-->
<!ELEMENT NewsML (Catalog?, TopicSet*, (NewsEnvelope, NewsItem+))>
<!ATTLIST NewsML
	%localid; 
	Version CDATA #IMPLIED
>
<!-- 
================================= NewsProduct ==================================
An identifier for a product to which all the NewsItems in a NewsML document
belong. The value of the FormalName attribute is a formal name for the
NewsProduct. Its meaning and permitted values are determined by a controlled
vocabulary as described in the comment to the formalname ENTITY declaration
above.
================================================================================
-->
<!ELEMENT NewsProduct EMPTY>
<!ATTLIST NewsProduct
	%localid; 
	%formalname; 
>
<!-- 
================================= NewsService ==================================
An identifier for a service to which all the NewsItems in a NewsML document
belong. The value of the FormalName attribute is a formal name for the
NewsService. Its meaning and permitted values are determined by a controlled
vocabulary as described in the comment to the formalname ENTITY declaration
above.
================================================================================
-->
<!ELEMENT NewsService EMPTY>
<!ATTLIST NewsService
	%localid; 
	%formalname; 
>
<!-- 
=================================== Notation ===================================
An indication of the notation of a ContentItem. The value of the FormalName
attribute is a formal name for the Notation. Its meaning and permitted values
are determined by a controlled vocabulary as described in the comment to the
formalname ENTITY declaration above.
================================================================================
-->
<!ELEMENT Notation EMPTY>
<!ATTLIST Notation
	%localid; 
	%formalname; 
>
<!-- 
================================= OfInterestTo =================================
An indication of the target audience of a NewsItem. The value of the FormalName
attribute is a formal name for the target audience. Its meaning and permitted
values are determined by a controlled vocabulary as described in the comment to
the formalname ENTITY declaration above.
================================================================================
-->
<!ELEMENT OfInterestTo (Relevance?)>
<!ATTLIST OfInterestTo
	%localid; 
	%formalname; 
	%assignment; 
>
<!-- 
==================================== Origin ====================================
A wrapper for all or part of the text of a piece of text, which provides a
pointer to an item of data corresponding formally to what is being described
here in natural language. The Href attribute identifies the relevant data, and
may be an http URL or a NewsML URN as described in the comment to
PublicIdentifier, optionally including a fragment identifier. Alternatively, it
can be a simple fragment identifier consisting of a # character followed by the
value of the Duid of an element in the current document.
================================================================================
-->
<!ELEMENT Origin (#PCDATA | Origin)*>
<!ATTLIST Origin
	%localid; 
	%assignment; 
	Href CDATA #IMPLIED
>
<!-- 
=================================== Party ======================================
An indication of the person, company or organisation that has a particular
relationship to this NewsItem in the news workflow. The value of the FormalName
attribute is a formal name for the Party. Its meaning and permitted values
are determined by a controlled vocabulary as described in the comment to the
formalname ENTITY declaration above. 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. The Property child element was added in version 1.1 to eliminate 
the need for creation of ad-hoc topics for volatile information internal to a NewsML document (eg the name 
of the person involved in editing of the story, which is usually internal information to the provider).
================================================================================
-->
<!ELEMENT Party (Property)*>
<!ATTLIST Party
	%localid; 
	%formalname; 
	Topic CDATA #IMPLIED
>
<!-- 
=================================== Priority ===================================
An indication of the priority notation of a NewsItem. The value of the
FormalName attribute is a formal name for the Priority. Its meaning and
permitted values are determined by a controlled vocabulary as described in
the comment to the formalname ENTITY declaration above.
================================================================================
-->
<!ELEMENT Priority EMPTY>
<!ATTLIST Priority
	%localid; 
	%formalname; 
>
<!-- 
=================================== Property ===================================
A property of a NewsItem, NewsComponent, ContentItem, Topic, Location or Party. The property has a 
name and either  a simple Value or a complex value consisting of a set of further properties.

Value
=====
A string representation of the value of a Property.

ValueRef
========
A pointer to the value of the Property. This might be a Topic in a TopicSet, or
any other piece of data. If both Value and ValueRef are provided, then ValueRef
identifies the actual value of the property, with Value simply providing a
string representation or mnemonic for it.


Example:
<Catalog>
 <Resource Duid="resource1">
  <Urn>urn:newsml:reuters.com:20001001:Physical Characteristics:3</Urn>
  <Url>www.reuters.com/vocabs/physical.xml</Url>
  <Url>www.iptc.com/vocabularies/memberdefined/reuters/physical.xml</Url>
  <DefaultVocabularyFor Scheme="short" Context="Metadata/Property[@FormalName='Width']"/>
 </Resource>
</Catalog>
...
<Property FormalName="Width" Vocabulary="#resource1">
 <Property FormalName="Unit" ValueRef="urn:newsml:iptc.org:20001006:units:1#cm"/>
 <Property FormalName="Quantity" Value="7.5"/>
</Property>

AllowedValues
=============
The AllowedValues attribute, if present, is a pointer to a controlled vocabulary
that delimits the set of allowed values for the property. This may be an http
URL, or a NewsML URN, or a fragment identifier consisting of a # charactger
followed by the Duid of an element in the current document. The pointer must
reference either a Resource element that designates an external controlled
vocabulary, or a TopicSet element, that is itself the controlled vocabulary.

AllowedScheme (added in Version 1.1)
=============
The AllowedScheme attribute, if present, distinguishes the Scheme in a controlled
vocabulary that delimits the set of allowed values for the property. For a match to be 
obtained within the controlled vocabulary both the AllowedScheme  must match the 
Scheme in the vocabulary and the Value must match the FormalName in the vocabulary. 
The use of the AllowedScheme attribute serves to indicate that the Value data is
 drawn from a controlled vocabulary rather that being an uncontrolled entry.
================================================================================
-->
<!ELEMENT Property (Property*)>
<!ATTLIST Property
	%localid; 
	%formalname; 
	%assignment; 
	Value CDATA #IMPLIED
	ValueRef CDATA #IMPLIED
	AllowedValues CDATA #IMPLIED
	AllowedScheme CDATA #IMPLIED
>
<!-- 
=================================== Provider ===================================
An individual and/or company or organisation that released a news object for
publication.
================================================================================
-->
<!ELEMENT Provider (%party;)>
<!ATTLIST Provider
	%localid; 
>
<!-- 
================================== ProviderId ==================================
An identifier for the news provider that produced the NewsItem. The
provider's ID is specified in the element content. This should be an Internet
domain name that is owned by the provider at the date identified by the DateId
subelement of the NewsIdentifier.

Example: 
<NewsIdentifier>
 <ProviderId>iptc.org</ProviderId>
 <DateId>20001001</DateId>
 <NewsItemId>NewsML version 1.0</NewsItemId>
 <RevisionId>1</RevisionId
</NewsIdentifier>

Because the domain name "iptc.org" was owned on 1 October 2000 by the
International Press Telecommunications Council (IPTC) and no-one else, it is
certain that IPTC is the provider in this case.
================================================================================
-->
<!ELEMENT ProviderId (#PCDATA)>
<!ATTLIST ProviderId
	Vocabulary CDATA #IMPLIED
>
<!-- 
=============================== PublicIdentifier ===============================
A public identifier (in the sense defined by the XML 1,0 Specification) for a
NewsItem. This is the NewsML URN, and must be 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 directly 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 
converted to a sequence of legal characters as described in RFC 2141.

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)>
<!-- 
================================== Relevance ===================================
An indication of the relevance of a NewsItem to a given target audience. The
value of the FormalName attribute is a formal name for the Relevance. Its
meaning and permitted values are determined by a controlled vocabulary as
described in the comment to the formalname ENTITY declaration above.
================================================================================
-->
<!ELEMENT Relevance EMPTY>
<!ATTLIST Relevance
	%localid; 
	%formalname; 
	%assignment; 
>
<!--
=================================== Replace ====================================
An instruction to replace a designated element within a NewsItem. The element
that is to replace the designated element is the content of the Replace element.
The NewsItem within which the replacement takes place is the previous revision
of the current one, and the element to be replaced is the one whose Duid
value is equal to the value of the Replace element's DuidRef attribute.
================================================================================
-->
<!ELEMENT Replace ANY>
<!ATTLIST Replace
	%localid; 
	DuidRef CDATA #REQUIRED
>
<!-- 
================================== Resource ====================================
An indication where a given resource can be found, and whether it is to be used
as the default vocabulary for certain formal names within the current subtree
of a NewsML document. The Urn attribute provides a NewsML URN for the resource.
The Url attribute(s) provide(s) a location or locations where the resource may
be found. The DefaultVocabularyFor element contains an XPath pattern. The
identified resource acts as default vocabulary for any element within the
subtree whose root is the parent of the current Catalog, that matches this XPath
pattern.
================================================================================
-->
<!ELEMENT Resource (Urn?, Url*, DefaultVocabularyFor*)>
<!ATTLIST Resource
	%localid; 
>
<!-- 
=============================== RevisionHistory ================================
A pointer to a file containing the revision history of the NewsItem.
================================================================================
-->
<!ELEMENT RevisionHistory EMPTY>
<!ATTLIST RevisionHistory
	%localid; 
	Href CDATA #REQUIRED
>
<!-- 
================================== RevisionId ==================================
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
>
<!-- 
================================ RevisionStatus ================================
Indicates the status that previous revisions now has as a result of the release
of the current revision. The optional Revision attribute is an integer, equal to
the RevisionId of the revision in question. If it is not present, then the
status applies to ALL previous revisions, without exception.
================================================================================
-->
<!ELEMENT RevisionStatus (Status)>
<!ATTLIST RevisionStatus
	%localid; 
	Revision CDATA #IMPLIED
>
<!-- 
================================= RightsHolder =================================
A string of text indicating who has the usage rights, optionally enriched with
pointers to further information about the relevant people, companies or
organisations.
================================================================================
-->
<!ELEMENT RightsHolder (#PCDATA | Origin)*>
<!ATTLIST RightsHolder
	%localid; 
	xml:lang CDATA #IMPLIED
	%assignment; 
>
<!-- 
================================== RightsLine ==================================
A displayable version of rights information. Note that this is distinct from
copyright information. Copyright information is about who owns a news object;
rights information is about who is allowed to use it, in what way and under
what circumstances.
================================================================================
-->
<!ELEMENT RightsLine (#PCDATA | Origin)*>
<!ATTLIST RightsLine
	%localid; 
	xml:lang CDATA #IMPLIED
>
<!-- 
================================ RightsMetadata ================================
Information about the rights pertaining to a NewsComponent. 
================================================================================
-->
<!ELEMENT RightsMetadata (Catalog?, Copyright*, UsageRights*, Property*)>
<!ATTLIST RightsMetadata
	%localid; 
	%assignment; 
>
<!-- 
===================================== Role =====================================
An identifier of the role played by a NewsComponent within a NewsComponent
that contains it. The outermost NewsComponent within a NewsItem need not
specify a Role attribute value. The value of the FormalName attribute is a
formal name for the Role. Its meaning and permitted values are determined by
a controlled vocabulary as described in the comment to the formalname ENTITY
declaration above.
================================================================================
-->
<!ELEMENT Role EMPTY>
<!ATTLIST Role
	%localid; 
	%formalname; 
>
<!-- 
=================================== SentFrom ===================================
An individual and/or company or organisation from whom the NewsML document is
being sent.
================================================================================
-->
<!ELEMENT SentFrom (%party;)>
<!ATTLIST SentFrom
	%localid; 
>
<!-- 
==================================== SentTo ====================================
An individual and/or company or organisation to whom the NewsML document is
being sent.
================================================================================
-->
<!ELEMENT SentTo (%party;)>
<!ATTLIST SentTo
	%localid; 
>
<!-- 
================================== SeriesLine ==================================
A displayable version of information about a news object's place in a series.
================================================================================
-->
<!ELEMENT SeriesLine (#PCDATA | Origin)*>
<!ATTLIST SeriesLine
	%localid; 
	xml:lang CDATA #IMPLIED
>
<!-- 
================================== SizeInBytes =================================
The exact size in bytes of a ContentItem's inline or referenced data object. 
================================================================================
-->
<!ELEMENT SizeInBytes (#PCDATA)>
<!ATTLIST SizeInBytes
	%localid; 
>
<!-- 
=================================== SlugLine ===================================
A string of text, possibly embellished by hyperlinks and/or formatting, used to
display a NewsItem's slug line. (Note that the meaning of the term "slug line",
and the uses to which it is put, are a matter for individual providers to
define within their own workflow and business practice.) 
================================================================================
-->
<!ELEMENT SlugLine (#PCDATA | Origin)*>
<!ATTLIST SlugLine
	%localid; 
	xml:lang CDATA #IMPLIED
>
<!-- 
==================================== Source ====================================
An individual and/or company or organisation that provided source material for
a news object. The optional NewsItem attribute must be present in the case of
a syndicated NewsItem. It provides the URN of the NewsItem that is being
syndicated. Note that a sequence of Source elements can be used to indicate the
sequence of syndicators through which a NewsItem has passed.
================================================================================
-->
<!ELEMENT Source (%party;)>
<!ATTLIST Source
	%localid; 
	NewsItem CDATA #IMPLIED
>
<!-- 
================================== StartDate ===================================
A natural-language statement of the date at which specified usage rights come
into effect.
================================================================================
-->
<!ELEMENT StartDate (#PCDATA | Origin)*>
<!ATTLIST StartDate
	%localid; 
	xml:lang CDATA #IMPLIED
	%assignment; 
>
<!-- 
==================================== Status ===================================
An indication of the 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 a controlled vocabulary as described in the comment to the
formalname ENTITY declaration above.
================================================================================
-->
<!ELEMENT Status EMPTY>
<!ATTLIST Status
	%localid; 
	%formalname; 
>
<!-- 
=============================== StatusWillChange ===============================
Advance notification of a status change that will automatically occur at the
specified date and time. 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.
================================================================================
-->
<!ELEMENT StatusWillChange (FutureStatus, DateAndTime)>
<!ATTLIST StatusWillChange
	%localid; 
>
<!-- 
================================= SubHeadLine ==================================
A displayable subsidiary headline.
================================================================================
-->
<!ELEMENT SubHeadLine (#PCDATA | Origin)*>
<!ATTLIST SubHeadLine
	%localid; 
	xml:lang CDATA #IMPLIED
>
<!-- 
=================================== Subject ====================================
An indication of the Subject of a NewsItem. The value of the FormalName
attribute is a formal name for the Subject. Its meaning and permitted values
are determined by a controlled vocabulary as described in the comment to the
formalname ENTITY declaration above.
================================================================================
-->
<!ELEMENT Subject EMPTY>
<!ATTLIST Subject
	%localid; 
	%formalname; 
	%assignment; 
>
<!-- 
================================= SubjectCode ==================================
A container for the IPTC Subject Codes that indicate the subject of a NewsItem,
as defined in the IPTC Subject Reference Scheme. It consists of one more
Subject, SubjectMatter and SubjectDetail elements, optionally amplified by one
or more SubjectQualifier elements.
================================================================================
-->
<!ELEMENT SubjectCode ((Subject | SubjectMatter | SubjectDetail), SubjectQualifier*)*>
<!ATTLIST SubjectCode
	%localid; 
	%assignment; 
>
<!-- 
================================ SubjectDetail =================================
An indication of the SubjectDetail of a NewsItem. The value of the FormalName
attribute is a formal name for the SubjectDetail. Its meaning and permitted
values are determined by a controlled vocabulary as described in the comment
to the formalname ENTITY declaration above.
================================================================================
-->
<!ELEMENT SubjectDetail EMPTY>
<!ATTLIST SubjectDetail
	%localid; 
	%formalname; 
	%assignment; 
>
<!-- 
================================ SubjectMatter =================================
An indication of the SubjectMatter of a NewsItem. The value of the FormalName
attribute is a formal name for the SubjectMatter. Its meaning and permitted
values are determined by a controlled vocabulary as described in the comment to
the formalname ENTITY declaration above.
================================================================================
-->
<!ELEMENT SubjectMatter EMPTY>
<!ATTLIST SubjectMatter
	%localid; 
	%formalname; 
	%assignment; 
>
<!-- 
=============================== SubjectQualifier ===============================
An indication of the SubjectQualifier of a NewsItem. The value of the FormalName
attribute is a formal name for the SubjectQualifier. Its meaning and permitted
values are determined by a controlled vocabulary as described in the comment to
the formalname ENTITY declaration above.
================================================================================
-->
<!ELEMENT SubjectQualifier EMPTY>
<!ATTLIST SubjectQualifier
	%localid; 
	%formalname; 
	%assignment; 
>
<!-- 
=============================== SystemIdentifier ===============================
A system identifier (in the sense defined by the XML 1,0 Specification) for a
NewsItem.
================================================================================
-->
<!ELEMENT SystemIdentifier (#PCDATA)>
<!ATTLIST SystemIdentifier
	%localid; 
>
<!-- 
============================= ThisRevisionCreated ==============================
The date and, optionally, time at which the current revision of a NewsItem was
created, expressed in ISO 8601 Basic Format, as described in the comment to the
DateAndTime attribute within the assignment ENTITY declaration above.
================================================================================
-->
<!ELEMENT ThisRevisionCreated (#PCDATA)>
<!ATTLIST ThisRevisionCreated
	%localid; 
>
<!--
==================================== Topic =====================================
This element provides information about a thing (Topic) named by a formal
name or occurring in a NewsComponent. A Topic must have one or more TopicType
subelements, which state what type of Topic it is. The optional Details
attribute provides a pointer, in the form of a URL or URN, to additional
information about the Topic.
================================================================================
-->
<!ELEMENT Topic (Comment*, Catalog?, TopicType+, FormalName*, Description*, Property*)>
<!ATTLIST Topic
	%localid; 
	Details CDATA #IMPLIED
>
<!-- 
=============================== TopicOccurrence ================================
An indication that a particular topic occurs within the content of a
NewsComponent. The optional HowPresent attribute indicates the nature of that
topic's occurrence. The value of the Topic attribute must consist of a #
character followed by the value of the Duid attribute of a Topic in the current
document.
================================================================================
-->
<!ELEMENT TopicOccurrence EMPTY>
<!ATTLIST TopicOccurrence
	%localid; 
	%assignment; 
	Topic CDATA #IMPLIED
>
<!-- 
================================== TopicSet ====================================
A container for Topics. The value of the FormalName attribute is a formal name
for the TopicSet. Its meaning and permitted values are determined by a
controlled vocabulary as described in the comment to the formalname ENTITY
declaration above.
================================================================================
-->
<!ELEMENT TopicSet (Comment*, Catalog?, TopicSetRef*, Topic*)>
<!ATTLIST TopicSet
	%localid; 
	%formalname; 
>
<!-- 
================================= TopicSetRef ==================================
A pointer to a TopicSet that is to be merged with the current one. The TopicSet
attribute is a pointer to the relevant TopicSet. Its value can be an http URL,
or a NewsML URN as described in the comment to PublicIdentifier, or a fragment
identifier consisting of a # character followed by the Duid of a TopicSet in the
current document. The presence of a TopicSetRef child in a TopicSet has the
effect that all the Topics in the referenced TopicSet are included by reference
within the current TopicSet. When this merging results in there exising two
FormalName grandchildren of the same TopicSet that have the same content and
the same Scheme attribute value, then the Topics whose children are in fact the
same topic, and are deemed to be merged. The merging of Topics need not be
performed physically by the system, but the meaning of the data is
exactly the same as if the merging were actually performed. Merging two
Topcis consists of creating a single Topic that contains all the children of
both, and eliminating duplicates.
================================================================================
-->
<!ELEMENT TopicSetRef (Comment*)>
<!ATTLIST TopicSetRef
	%localid; 
	TopicSet CDATA #IMPLIED
>
<!-- 
================================== TopicType ===================================
An indication of the type of a Topic. The value of the FormalName attribute is
a formal name for the TopicType. Its meaning and permitted values are determined
by a controlled vocabulary as described in the comment to the formalname ENTITY
declaration above.
================================================================================
-->
<!ELEMENT TopicType EMPTY>
<!ATTLIST TopicType
	%localid; 
	%formalname; 
>
<!-- 
================================== TopicUse ====================================
An indication of where a particular Topic is used in a NewsML document. The
value of the Topic attribute must consist of a # character followed by the
value of the Duid of a Topic in the current document. The value of the Context
attribute is an XPath pattern indicating the context where the referenced topic
is used within the subtree to which the current Catalog applies.- -cut llm - - If the Context
attribute is not present, the TopicUse element simply states that this topic is
present somewhere in the subtree- -cut llm - -.
================================================================================
-->
<!ELEMENT TopicUse EMPTY>
<!ATTLIST TopicUse
	Topic CDATA #REQUIRED
	Context CDATA #IMPLIED
>
<!-- 
================================ TransmissionId ================================
An identifier for the NewsML document transmission. This should be unique among
all distinct transmissions from the same publisher. 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. - -cut llm - -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- -cut llm - -.
================================================================================
-->
<!ELEMENT TransmissionId (#PCDATA)>
<!ATTLIST TransmissionId
	%localid; 
	Repeat CDATA #IMPLIED
>
<!-- 
==================================== Update ====================================
A modification to an existing NewsItem. This can be an insertion, replacement
or deletion. - -cut llm - -Note that the Update element cannot be used to modify the
NewsManagement or Identification element, or any of their descendants.
Modifications to these parts of the NewsItem can be made by issuing the
NewsItem under the current revision number, with only the Identification and
NewsManagement elements present. These will replace the previous Identification
and NewsManagement elements in their totality- -cut llm - -.
================================================================================
-->
<!ELEMENT Update (InsertBefore | InsertAfter | Replace | Delete)*>
<!ATTLIST Update
	%localid; 
>
<!-- 
=================================== Urgency ====================================
An indication of the urgency of a NewsItem. The value of the FormalName
attribute is a formal name for the Urgency. Its meaning and permitted values
are determined by a controlled vocabulary - -cut llm - - as described in the comment to the
formalname ENTITY declaration above- -cut llm - -.
================================================================================
-->
<!ELEMENT Urgency EMPTY>
<!ATTLIST Urgency
	%localid; 
	%formalname; 
>
<!-- 
===================================== Url ======================================
A URL that can be used to locate a Resource.
================================================================================
-->
<!ELEMENT Url (#PCDATA)>
<!ATTLIST Url
	%localid; 
>
<!-- 
===================================== Urn ======================================
A URN that provides a global identifier for a resource. This will typically (but
not necessarily) be a NewsML URN as described in the comment to PublicIdentifier.
================================================================================
-->
<!ELEMENT Urn (#PCDATA)>
<!ATTLIST Urn
	%localid; 
>
<!--
================================= UsageRights ==================================
Information about the usage rights pertaining to a NewsComponent. 
================================================================================
-->
<!ELEMENT UsageRights (UsageType?, Geography?, RightsHolder?, Limitations?, StartDate?, EndDate?)>
<!ATTLIST UsageRights
	%localid; 
	%assignment; 
>
<!-- 
================================== UsageType ===================================
A natural-language indication of the type of usage to which the rights apply.
================================================================================
-->
<!ELEMENT UsageType (#PCDATA | Origin)*>
<!ATTLIST UsageType
	%localid; 
	xml:lang CDATA #IMPLIED
	%assignment; 
>
