<!-- 

                   ===========================================

                   NewsML Document Type Definition Version 1.0

                   ===========================================

                 International Press Telecommunications Council

                                6 October 2000

                            Copyright (c) IPTC, 2000

                              All rights reserved

                         NewsML is a trademark of IPTC



                     ======================================

                     DO NOT REMOVE THESE LICENCE CONDITIONS

                     ======================================

         LICENCE OF THE IPTC NewsML TRADEMARK TO NON-MEMBERS OF THE IPTC



Use of the IPTC trademark shall be licensed by the IPTC ("the Licensor") to a

Non-Member ("the Licensee") in consideration of the following obligations

undertaken by the Licensee under the terms of this contract.



 1. The Licensee recognises the Licensor as the sole owner of the intellectual

    property protected by the trademark.



 2. The Licensee recognises that the Licensor has the right to grant licenses

    of the intellectual property protected by the trademark and has agreed to

    grant such a licence to the Licensee in the terms set out in this contract.



 3. The Licensee shall not during the subsistence of this contract or at any

    future time register to use in its own name as proprietor any of the

    intellectual property protected by the trademark. 



 4. The Licensee shall not claim any right title or interest in the

    intellectual property or any part of it save as is granted by this contract.



 5. The Licensee shall immediately call to the attention of the Licensor the use

    of any part of the intellectual property by any third party or any activity

    of any third party which might in the opinion of the Licensee amount to

    infringement of the rights protected by the trademark.



 6. The Licensee shall not assign the benefit of this contract or grant any

    sub-licence without the prior written consent of the Licensor.



 7. Use of the IPTC trademark is licensed only to those Licensees who comply

    with the requirements of the official published description of NewsML.



 8. The Licensee promises to respect the integrity and quality standard of the

    trademark and shall refrain from all acts and omissions which threaten the

    integrity of the trademark as a mark of quality.



 9. The Licensee shall communicate immediately to the IPTC any instances of

    actual or suspected misuse or non-compliance with the official published

    description of NewsML which come to the attention of the Licensee.



10. The Licensee shall, at the request of the IPTC Management Committee acting

    unanimously, accede to any reasonable request of the IPTC to inspect the

    address of the Licensee to verify compliance and each Licensee shall afford

    to the IPTC such assistance as is requested by the IPTC in response to the

    latter's reasonable enquiries in instances of suspected non-compliance with

    the official published description of NewsML requirements.



The Licensee shall from time to time provide the IPTC with the full address of

its place of business and that place will be deemed the Licensee's address.



The IPTC reserves the right to terminate the use of the trademark by the

Licensee at any time without notice or without the need to give reasons to the

Licensee for such termination.



This contract shall be governed and construed in accordance with the laws of

England and Wales whose courts shall be courts of competent jurisdiction.

-->

<!-- 

                                ================

                                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.



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 2400 or 240000 on the date

of the day that is ending, or as 0000 or 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 

time would be expressed as "20010101T032700+0000" or as , "20010101T00+0000", as

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", as 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.



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.



If there is no Vocabulary attribute and the above algorithm fails to identify

a resource that serves as the controlled vocabulary, there is an error, which

the NewsML system may signal to the user.



The NewsML system may also signal an error if a vocabulary is successfully

identified, but it contains no item that matches the value of the FormalName

whose meaning is sought.



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. For a match to be obtained within the controlled vocabulary,

the rule is that the FormalName and the Scheme must both match. If there is

no Scheme attribute on the current element, the match will be to an item in

the vocabulary that has the current formal name and no scheme. If there is a

Scheme attribute on the current element, then both the formal name and the

scheme in the controlled vocabulary must match.

================================================================================

-->

<!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 which case neither a DataContent nor an Encoding

element will 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. 

================================================================================

-->

<!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.

================================================================================



-->

<!ELEMENT AssociatedWith  (Comment* )>

<!ATTLIST AssociatedWith  %localid;

                          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.

The root of the XPath corresponds to the NewsComponent or ContentItem itself.

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 >

<!-- 

=================================== 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.

================================================================================

-->

<!ELEMENT Comment  (#PCDATA )>

<!ATTLIST Comment  %localid;

                   xml:lang      CDATA  #IMPLIED

                   TranslationOf IDREF  #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 >

<!-- 

================================= Contributor ==================================

An individual and/or company or organisation that modified or enhanced a news

object after its creation.

================================================================================

-->

<!ELEMENT Contributor  (%party; )>

<!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.

================================================================================

-->

<!ELEMENT Creator  (%party; )>

<!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 >

<!-- 

============================ 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 statement identifying the data to which the default vocabulary applies.

The optional Scheme attribute identifies the relevant naming scheme if the

Resource contains more than one naming scheme. If the Resource 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.



Example:

<DescriptiveMetadata>

 <Catalog>

  <Resource Duid="resource1">

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

   <Url>www.iptc.com/vocabularies/iptc-rank.xml</Url>

   <DefaultVocabularyFor Context="@Confidence"/>

   <DefaultVocabularyFor Context="@Importance"/>

  </Resource>

  <Resource Duid="resource2">

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

   <Url>www.iptc.com/vocabularies/iptc-topictype.xml</Url>

   <DefaultVocabularyFor Context="TopicType@FormalName"/>

  </Resource>

 </Catalog>

 <TopicSet>

  <Topic Duid="topic1">

   <TopicType FormalName="Person">

   <Description Variant="Name">Bill Clinton</Description>

   <Description Variant="Position">President of the USA</Description>

  </Topic>

 </TopicSet>

 <TopicOccurrence

  AssignedBy="Desk Editor"

  Confidence="High"

  HowPresent="principal subject"

  Topic="#topic1"/>

</DescriptiveMetadata>

================================================================================

-->

<!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.

================================================================================

-->

<!ELEMENT DerivedFrom  (Comment* )>

<!ATTLIST DerivedFrom  %localid;

                       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. 

================================================================================

-->

<!ELEMENT DescriptiveMetadata  (Catalog? , Language* , Genre? , SubjectCode* , OfInterestTo* , 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; >

<!-- 

================================== 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 ofthe 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.

================================================================================

-->

<!ELEMENT NewsLines  ( (HeadLine , SubHeadLine? )* , ByLine* , DateLine* , CreditLine* , CopyrightLine* , RightsLine* , SeriesLine* , SlugLine* , KeywordLine* , NewsLine* )>

<!ATTLIST NewsLines  %localid; >

<!-- 

================================ NewsManagement ================================

Information relevant to the management of a NewsItem.

================================================================================

-->

<!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.

================================================================================

-->

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

<!ATTLIST NewsML  %localid; >

<!-- 

================================= 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.

================================================================================

-->

<!ELEMENT Party EMPTY>

<!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 NewsComponent or of a Topic. 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.

================================================================================

-->

<!ELEMENT Property  (Property* )>

<!ATTLIST Property  %localid;

                    %formalname;

                    %assignment;

                    Value         CDATA  #IMPLIED

                    ValueRef      CDATA  #IMPLIED

                    AllowedValues 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, 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.



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: 



If the ProviderId is a domain name



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



If the ProviderId is name drawn from a controlled vocabulary



urn:newsml:|{ProviderId@Vocabulary}|{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, and

that the Vocabulary attribute of the ProviderId element is stripped of the

substring "urn:" with which it begins. The Vocabulary attribute of ProviderId

necessarily begins with the characters "urn:" because, as stated in the

comment to the ProviderId element above, it must take the form of a URN

identifying a controlled vocabulary.



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 Information Interchange Model. 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. If the Context

attribute is not present, the TopicUse element simply states that this topic is

present somewhere in the subtree.

================================================================================

-->

<!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. 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 >

<!-- 

==================================== Update ====================================

A modification to an existing NewsItem. This can be an insertion, replacement

or deletion. 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.

================================================================================

-->

<!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 as described in the comment to the

formalname ENTITY declaration above.

================================================================================

-->

<!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; >

