File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / test / valid / dtds / NewsMLv1.0.dtd
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:38:00 2012 UTC (12 years, 6 months ago) by misho
Branches: libxml2, MAIN
CVS tags: v2_9_1p0, v2_9_1, v2_8_0p0, v2_8_0, v2_7_8, HEAD
libxml2

    1: <!-- 
    2:                    ===========================================
    3:                    NewsML Document Type Definition Version 1.0
    4:                    ===========================================
    5:                  International Press Telecommunications Council
    6:                                 6 October 2000
    7:                             Copyright (c) IPTC, 2000
    8:                               All rights reserved
    9:                          NewsML is a trademark of IPTC
   10: 
   11:                      ======================================
   12:                      DO NOT REMOVE THESE LICENCE CONDITIONS
   13:                      ======================================
   14:          LICENCE OF THE IPTC NewsML TRADEMARK TO NON-MEMBERS OF THE IPTC
   15: 
   16: Use of the IPTC trademark shall be licensed by the IPTC ("the Licensor") to a
   17: Non-Member ("the Licensee") in consideration of the following obligations
   18: undertaken by the Licensee under the terms of this contract.
   19: 
   20:  1. The Licensee recognises the Licensor as the sole owner of the intellectual
   21:     property protected by the trademark.
   22: 
   23:  2. The Licensee recognises that the Licensor has the right to grant licenses
   24:     of the intellectual property protected by the trademark and has agreed to
   25:     grant such a licence to the Licensee in the terms set out in this contract.
   26: 
   27:  3. The Licensee shall not during the subsistence of this contract or at any
   28:     future time register to use in its own name as proprietor any of the
   29:     intellectual property protected by the trademark. 
   30: 
   31:  4. The Licensee shall not claim any right title or interest in the
   32:     intellectual property or any part of it save as is granted by this contract.
   33: 
   34:  5. The Licensee shall immediately call to the attention of the Licensor the use
   35:     of any part of the intellectual property by any third party or any activity
   36:     of any third party which might in the opinion of the Licensee amount to
   37:     infringement of the rights protected by the trademark.
   38: 
   39:  6. The Licensee shall not assign the benefit of this contract or grant any
   40:     sub-licence without the prior written consent of the Licensor.
   41: 
   42:  7. Use of the IPTC trademark is licensed only to those Licensees who comply
   43:     with the requirements of the official published description of NewsML.
   44: 
   45:  8. The Licensee promises to respect the integrity and quality standard of the
   46:     trademark and shall refrain from all acts and omissions which threaten the
   47:     integrity of the trademark as a mark of quality.
   48: 
   49:  9. The Licensee shall communicate immediately to the IPTC any instances of
   50:     actual or suspected misuse or non-compliance with the official published
   51:     description of NewsML which come to the attention of the Licensee.
   52: 
   53: 10. The Licensee shall, at the request of the IPTC Management Committee acting
   54:     unanimously, accede to any reasonable request of the IPTC to inspect the
   55:     address of the Licensee to verify compliance and each Licensee shall afford
   56:     to the IPTC such assistance as is requested by the IPTC in response to the
   57:     latter's reasonable enquiries in instances of suspected non-compliance with
   58:     the official published description of NewsML requirements.
   59: 
   60: The Licensee shall from time to time provide the IPTC with the full address of
   61: its place of business and that place will be deemed the Licensee's address.
   62: 
   63: The IPTC reserves the right to terminate the use of the trademark by the
   64: Licensee at any time without notice or without the need to give reasons to the
   65: Licensee for such termination.
   66: 
   67: This contract shall be governed and construed in accordance with the laws of
   68: England and Wales whose courts shall be courts of competent jurisdiction.
   69: -->
   70: <!-- 
   71:                                 ================
   72:                                 NOTE ON SPELLING
   73:                                 ================
   74: NewsML element and attribute names use US-English spellings. With this
   75: exception, this DTD and its accompanying specification use British English
   76: spellings.
   77: -->
   78: <!-- 
   79:                          =============================
   80:                          PARAMETER ENTITY DECLARATIONS 
   81:                          =============================
   82: -->
   83: <!-- 
   84: ================================================================================
   85:                                  Attribute sets 
   86: ================================================================================
   87: -->
   88: <!-- 
   89: ================================== assignment ==================================
   90: AssignedBy
   91: ==========
   92: An identifier for the party assigning a piece of metadata. This can be a
   93: string that designates the party informally (for example, a person's name),
   94: or a pointer in the form a fragment identifier consisting of a # character
   95: followed by the Duid of a Topic corresponding to the party.
   96: 
   97: Importance
   98: ==========
   99: An indication of the importance the party assigning a piece of metadata
  100: attaches to it. The value of the Importance attribute is a formal name for a
  101: level of importance. Its meaning and permitted values are determined by a
  102: controlled vocabulary.
  103: 
  104: Confidence
  105: ==========
  106: An indication of the confidence with which a piece of metadata has been
  107: assigned. The value of the Confidence attribute is a formal name for a
  108: degree of confidence. Its meaning and permitted values are determined by a
  109: controlled vocabulary.
  110: 
  111: HowPresent
  112: ==========
  113: An indication of the way in which a piece of metadata applies. The value of
  114: the HowPresent attribute is a formal name for the way the metadata applies.
  115: Its meaning and permitted values are determined by a controlled vocabulary.
  116: 
  117: DateAndTime
  118: ===========
  119: The date and (optionally) time at which a piece of metadata was assigned. 
  120: 
  121: Uses the format CCYYMMDDTHHMMSS{+or-}HHMM (century, year, month, day, time
  122: separator, hours, minutes, seconds, timezone separator, hours, minutes). If
  123: only the Date is needed, then the substring from T onwards may be omitted.
  124: 
  125: This is the Basic Format defined by ISO 8601. CCYY is a 4-digit year number.
  126: MM is a 2-digit month number. DD is a 2-digit day number. T is the letter 'T'.
  127: HH is a 2-digit hour number (using a 24-hour clock). MM is a 2 digit minute
  128: number. (Note that midnight may be represented as 2400 or 240000 on the date
  129: of the day that is ending, or as 0000 or 000000 on the date of the day that is
  130: beginning.)
  131: 
  132: {+or-} is the '+' character or the '-' character, and the following HHMM are
  133: hours and minutes of offset from Universal Co-ordinated Time (UTC) as defined
  134: by ISO 8601. If the time is being expressed in UTC, then the timezone offset
  135: may be '+0000' or '-0000'. If the time is behind UTC, the timezone separator
  136: is '-'. If the time is ahead of UTC the timezone separator is '+'.
  137: 
  138: Example: 10:27 p.m. in New York on 31 December 2000 would be expressed as 
  139: "20001231T222700-0500" as New York is five hours behind UTC in winter.
  140: At the same moment in London, the date and time would be expressed as 
  141: time would be expressed as "20010101T032700+0000" or as , "20010101T00+0000", as
  142: in London, it is now 3:27 a.m.  on 1 January 2001. At the same moment in Paris,
  143: the date and time would be expressed as "20010101T042700+0100", as Paris is one
  144: hour ahead of UTC in winter, and it is now 4:27 a.m. on 1 January 2001.
  145: ================================================================================
  146: 
  147: -->
  148: <!ENTITY % assignment " AssignedBy  CDATA  #IMPLIED
  149:                      Importance  CDATA  #IMPLIED
  150:                      Confidence  CDATA  #IMPLIED
  151:                      HowPresent  CDATA  #IMPLIED
  152:                      DateAndTime CDATA  #IMPLIED">
  153: 
  154: <!-- 
  155: ================================= formalname ===================================
  156: 
  157: FormalName
  158: ==========
  159: A string of characters whose meaning is determined by a controlled vocabulary.
  160: 
  161: Vocabulary
  162: ==========
  163: The Vocabulary attribute, if present, provides a pointer to a TopicSet which is
  164: the controlled vocabulary that can be used to resolve the meaning of the
  165: FormalName. The value of the Vocabulary attribute is an http URL or a NewsML
  166: URN, or the # character followed by the value of the Duid attribute of the a
  167: TopicSet in the current document.
  168: 
  169: If there is no Vocabulary attribute, then the controlled vocabulary to be used
  170: is located by the following algorithm:
  171: - Proceed to the parent of the current element.
  172: - If it has a Catalog element as its immediate child, see whether that Catalog
  173:   contains a Resource element whose DefaultVocabularyFor child contains an XPath
  174:   pattern that is matched by the current element. If so, then the controlled
  175:   vocabulary is the resource identified by that Resource element.
  176: - If the parent does not meet the above condition, proceed to its parent and
  177:   check the same condition.
  178: - Continue until a vocabulary is found, or no further parent elements are
  179:   available because the root element has been reached and it too fails to meet
  180:   the condition.
  181: 
  182: If there is no Vocabulary attribute and the above algorithm fails to identify
  183: a resource that serves as the controlled vocabulary, there is an error, which
  184: the NewsML system may signal to the user.
  185: 
  186: The NewsML system may also signal an error if a vocabulary is successfully
  187: identified, but it contains no item that matches the value of the FormalName
  188: whose meaning is sought.
  189: 
  190: Scheme
  191: ======
  192: The Scheme attribute, if present, serves to distinguish which of possibly
  193: multiple naming schemes in the controlled vocabulary is the one that governs
  194: this FormalName. For a match to be obtained within the controlled vocabulary,
  195: the rule is that the FormalName and the Scheme must both match. If there is
  196: no Scheme attribute on the current element, the match will be to an item in
  197: the vocabulary that has the current formal name and no scheme. If there is a
  198: Scheme attribute on the current element, then both the formal name and the
  199: scheme in the controlled vocabulary must match.
  200: ================================================================================
  201: -->
  202: <!ENTITY % formalname " FormalName CDATA  #REQUIRED
  203:                      Vocabulary CDATA  #IMPLIED
  204:                      Scheme     CDATA  #IMPLIED">
  205: 
  206: <!-- 
  207: =================================== localid ====================================
  208: 
  209: Duid
  210: ====
  211: Duid is a "Document-unique Identifier". It must satisfy the rules for XML ID
  212: attributes: it must only contain name characters, and it must start with a 
  213: name-start character (not a digit). Its value must be unique within any NewsML
  214: document.
  215: 
  216: Every NewsML element type has Duid as an optional attribute. Combined with the
  217: Identifier element, providing a value for the Duid of any element in a NewsML
  218: document makes the element globally identifiable. The Identifier element gives
  219: global identification to the document, and the Duid provides local
  220: identification for the element within the document.
  221: 
  222: Euid
  223: ====
  224: Euid is an "Element-unique Identifier". Its value must be unique among elements
  225: of the same element-type and having the same parent element.
  226: 
  227: Use of Euid attribute makes it possible to identify any NewsML element within
  228: the context of its local branch of the NewsML document tree. This makes it
  229: possible to copy, or include by reference, subtrees into new combinations in
  230: ways that would break the uniqueness of Duids (thereby forcing new Duids to be
  231: allocated), but still being able to retain the identity of each element. If
  232: Euids are maintained at every level, it is possible to identify, for example
  233: "The ContentItem whose Euid is abc within the NewsComponent whose Euid is def".
  234: Such identification patterns would be preserved even after "pruning and
  235: grafting" of subtrees.
  236: ================================================================================
  237: -->
  238: <!ENTITY % localid " Duid ID     #IMPLIED
  239:                      Euid CDATA  #IMPLIED">
  240: 
  241: <!-- 
  242: ================================================================================
  243:                                  Content Models 
  244: ================================================================================
  245: -->
  246: <!-- 
  247: ===================================== data =====================================
  248: Where data is included, it may be directly in the form of a DataContent element,
  249: or in the form of DataContent wrapped in an Encoding element, or by reference
  250: through an Href attribute, in which case neither a DataContent nor an Encoding
  251: element will be present.
  252: ================================================================================
  253: -->
  254: <!ENTITY % data " (Encoding
  255:                  | DataContent )?">
  256: 
  257: <!-- 
  258: ==================================== party =====================================
  259: Person, organisation or company playing a specific role in the
  260: news workflow. The role being played is determined by the parent element. More
  261: information about it can be provided in the optional Comment subelements. 
  262: ================================================================================
  263: 
  264: -->
  265: <!ENTITY % party " (Comment*
  266:                   , Party+ )">
  267: 
  268: <!-- 
  269:                            =========================
  270:                            ELEMENT TYPE DECLARATIONS 
  271:                            =========================
  272: -->
  273: <!-- 
  274: ============================ AdministrativeMetadata ============================
  275: Information about the provenance of a NewsComponent. 
  276: ================================================================================
  277: -->
  278: <!ELEMENT AdministrativeMetadata  (Catalog? , FileName? , SystemIdentifier? , Provider? , Creator? , Source* , Contributor* , Property* )>
  279: <!ATTLIST AdministrativeMetadata  %localid; >
  280: <!-- 
  281: 
  282: ================================ AssociatedWith ================================
  283: A reference to a NewsItem with which this one is associated (for example, a
  284: series of articles, or a collection of photos, of which it is a part). The 
  285: NewsItem attribute identifies the relevant NewsItem. Its value can be an
  286: http URL or a NewsML URN as described in the comment to PublicIdentifier. The
  287: Comment can be used to indicate the nature of the association.
  288: ================================================================================
  289: 
  290: -->
  291: <!ELEMENT AssociatedWith  (Comment* )>
  292: <!ATTLIST AssociatedWith  %localid;
  293:                           NewsItem CDATA  #IMPLIED >
  294: <!-- 
  295: ================================ BasisForChoice ================================
  296: The content of this element is an XPath statement or element-type name
  297: identifying information within each NewsComponent or ContentItem that can be
  298: used as a basis for choice between equivalent NewsComponents or ContentItems.
  299: The root of the XPath corresponds to the NewsComponent or ContentItem itself.
  300: The optional Rank attribute allows providers to place a numerical order on the
  301: importance they think should be attached to the different bases for choice.
  302: Smaller numbers represent higher importance.
  303: ================================================================================
  304: -->
  305: <!ELEMENT BasisForChoice  (#PCDATA )>
  306: <!ATTLIST BasisForChoice  %localid;
  307:                           Rank    CDATA  #IMPLIED >
  308: <!-- 
  309: 
  310: ==================================== ByLine ====================================
  311: A natural-language statement of the author/creator information.
  312: ================================================================================
  313: -->
  314: <!ELEMENT ByLine  (#PCDATA | Origin )*>
  315: <!ATTLIST ByLine  %localid;
  316:                   xml:lang CDATA  #IMPLIED >
  317: <!-- 
  318: =================================== Catalog ====================================
  319: A container for Resource and TopicUse elements. Resource elements map URNs to
  320: URLs and indicate default vocabularies which apply to the formal names of
  321: certain elements within the subtree that begins with the immediate parent of
  322: the Catalog element. TopicUse elements indicate where in the NewsML document
  323: certain Topics are used. The optional Href attribute provides a pointer to
  324: a Catalog element elsewhere in this or another document. Its value consists of
  325: a # character followed by the value of the Duid attribute of the referenced
  326: Catalog element and preceded, if the referenced Catalog is not in the current
  327: document, by an http URL or a NewsML URN identifying the document or NewsItem
  328: in which the Catalog appears. If the Href attribute is present on a Catalog
  329: element, then that element should be empty. If it contains subelements, the
  330: NewsML system may signal an error.
  331: ================================================================================
  332: -->
  333: <!ELEMENT Catalog  (Resource* , TopicUse* )>
  334: <!ATTLIST Catalog  %localid;
  335:                    Href    CDATA  #IMPLIED >
  336: <!-- 
  337: =============================== Characteristics ================================
  338: Information about the physical characteristics of a ContentItem.
  339: ================================================================================
  340: -->
  341: <!ELEMENT Characteristics  (SizeInBytes? , Property* )>
  342: <!ATTLIST Characteristics  %localid; >
  343: <!-- 
  344: =================================== Comment ====================================
  345: A natural-language description of, or statement about, the current element. The
  346: optional TranslationOf attribute is a pointer to another Comment element, of
  347: which this one is a direct translation.
  348: ================================================================================
  349: -->
  350: <!ELEMENT Comment  (#PCDATA )>
  351: <!ATTLIST Comment  %localid;
  352:                    xml:lang      CDATA  #IMPLIED
  353:                    TranslationOf IDREF  #IMPLIED >
  354: <!-- 
  355: ================================= ContentItem ==================================
  356: A news object that carries or identifies content intended for presentation to
  357: humans.
  358: ================================================================================
  359: -->
  360: <!ELEMENT ContentItem  (Comment* , Catalog? , MediaType? , Format? , MimeType? , Notation? , Characteristics? , %data; )>
  361: <!ATTLIST ContentItem  %localid;
  362:                        Href    CDATA  #IMPLIED >
  363: <!-- 
  364: ================================= Contributor ==================================
  365: An individual and/or company or organisation that modified or enhanced a news
  366: object after its creation.
  367: ================================================================================
  368: -->
  369: <!ELEMENT Contributor  (%party; )>
  370: <!ATTLIST Contributor  %localid; >
  371: <!-- 
  372: ================================== Copyright ===================================
  373: The copyright that pertains to a news object.
  374: ================================================================================
  375: -->
  376: <!ELEMENT Copyright  (Comment* , CopyrightHolder , CopyrightDate )>
  377: <!ATTLIST Copyright  %localid;
  378:                      %assignment; >
  379: <!-- 
  380: ================================ CopyrightDate =================================
  381: A natural-language statement of the copyright date.
  382: ================================================================================
  383: 
  384: -->
  385: <!ELEMENT CopyrightDate  (#PCDATA | Origin )*>
  386: <!ATTLIST CopyrightDate  %localid;
  387:                          xml:lang CDATA  #IMPLIED >
  388: <!-- 
  389: =============================== CopyrightHolder ================================
  390: A natural-language statement indicating who owns the copyright.
  391: ================================================================================
  392: -->
  393: <!ELEMENT CopyrightHolder  (#PCDATA | Origin )*>
  394: <!ATTLIST CopyrightHolder  %localid;
  395:                            xml:lang CDATA  #IMPLIED >
  396: <!-- 
  397: ================================ CopyrightLine =================================
  398: A natural-language statement of the copyright information.
  399: ================================================================================
  400: -->
  401: <!ELEMENT CopyrightLine  (#PCDATA | Origin )*>
  402: <!ATTLIST CopyrightLine  %localid;
  403:                          xml:lang CDATA  #IMPLIED >
  404: <!-- 
  405: =================================== Creator ====================================
  406: An individual and/or company or organisation that created a news object.
  407: ================================================================================
  408: -->
  409: <!ELEMENT Creator  (%party; )>
  410: <!ATTLIST Creator  %localid; >
  411: <!-- 
  412: ================================== CreditLine ==================================
  413: A natural-language statement of credit information.
  414: ================================================================================
  415: -->
  416: <!ELEMENT CreditLine  (#PCDATA | Origin )*>
  417: <!ATTLIST CreditLine  %localid;
  418:                       xml:lang CDATA  #IMPLIED >
  419: <!-- 
  420: ================================= DataContent ==================================
  421: The data that carries the content of a ContentItem.
  422: ================================================================================
  423: -->
  424: <!ELEMENT DataContent ANY>
  425: <!ATTLIST DataContent  %localid; >
  426: <!-- 
  427: ================================= DateAndTime ==================================
  428: A formal representation of a date and, optionally, time, expressed in ISO 8601
  429: Basic Format, as described in the comment to the DateAndTime attribute within
  430: the assignment ENTITY declaration above.
  431: ================================================================================
  432: -->
  433: <!ELEMENT DateAndTime  (#PCDATA )>
  434: <!ATTLIST DateAndTime  %localid; >
  435: <!-- 
  436: ==================================== DateId ====================================
  437: A date identifier of a NewsItem in short ISO 8601 Basic Format (CCYYMMDD), as
  438: described in the comment to the DateAndTime attribute within the assignment
  439: ENTITY declaration above. The DateId is part of the formal identification of the
  440: NewsItem, and must remain the same through successive revisions of the same
  441: NewsItem.
  442: ================================================================================
  443: -->
  444: <!ELEMENT DateId  (#PCDATA )>
  445: 
  446: <!-- 
  447: ================================== DateLabel ===================================
  448: A string representation of a date or date and time, used by human users to help
  449: identify a NewsItem.
  450: ================================================================================
  451: -->
  452: <!ELEMENT DateLabel  (#PCDATA )>
  453: <!ATTLIST DateLabel  %localid; >
  454: <!--
  455: =================================== DateLine ===================================
  456: A natural-language statement of the date and/or place of creation.
  457: ================================================================================
  458: -->
  459: <!ELEMENT DateLine  (#PCDATA | Origin )*>
  460: <!ATTLIST DateLine  %localid;
  461:                     xml:lang CDATA  #IMPLIED >
  462: <!-- 
  463: ============================ DefaultVocabularyFor ==============================
  464: An indication that the parent Resource provides the default vocabulary that
  465: determines the meanings and permitted values of the data occurring in a
  466: particular part of a NewsML document subtree. The Context attribute is an
  467: XPath statement identifying the data to which the default vocabulary applies.
  468: The optional Scheme attribute identifies the relevant naming scheme if the
  469: Resource contains more than one naming scheme. If the Resource is a NewsML
  470: TopicSet, then the meaning of the data identified by the Context is provided
  471: by the Topic whose FormalName subelement matches that data. If the Resource is
  472: not a NewsML TopicSet, then the way in which it is interpreted in order to
  473: provide a meaning for the data is not defined by NewsML but by the authority
  474: that governs whatever format the Resource uses.
  475: 
  476: Example:
  477: <DescriptiveMetadata>
  478:  <Catalog>
  479:   <Resource Duid="resource1">
  480:    <Urn>urn:newsml:iptc.org:20001006:Ranking:1</Urn>
  481:    <Url>www.iptc.com/vocabularies/iptc-rank.xml</Url>
  482:    <DefaultVocabularyFor Context="@Confidence"/>
  483:    <DefaultVocabularyFor Context="@Importance"/>
  484:   </Resource>
  485:   <Resource Duid="resource2">
  486:    <Urn>urn:newsml:iptc.org:20001006:TopicTypes:1</Urn>
  487:    <Url>www.iptc.com/vocabularies/iptc-topictype.xml</Url>
  488:    <DefaultVocabularyFor Context="TopicType@FormalName"/>
  489:   </Resource>
  490:  </Catalog>
  491:  <TopicSet>
  492:   <Topic Duid="topic1">
  493:    <TopicType FormalName="Person">
  494:    <Description Variant="Name">Bill Clinton</Description>
  495:    <Description Variant="Position">President of the USA</Description>
  496:   </Topic>
  497:  </TopicSet>
  498:  <TopicOccurrence
  499:   AssignedBy="Desk Editor"
  500:   Confidence="High"
  501:   HowPresent="principal subject"
  502:   Topic="#topic1"/>
  503: </DescriptiveMetadata>
  504: ================================================================================
  505: -->
  506: <!ELEMENT DefaultVocabularyFor EMPTY>
  507: <!ATTLIST DefaultVocabularyFor  %localid;
  508:                                 Context CDATA  #REQUIRED
  509:                                 Scheme  CDATA  #IMPLIED >
  510: <!--
  511: ==================================== Delete ====================================
  512: An instruction to delete an element within a NewsItem. The NewsItem is
  513: the previous revision of the current one, and the element to be deleted is the
  514: one whose Duid value is equal to the value of the Delete element's DuidRef
  515: attribute.
  516: ================================================================================
  517: -->
  518: <!ELEMENT Delete EMPTY>
  519: <!ATTLIST Delete  %localid;
  520:                   DuidRef CDATA  #REQUIRED >
  521: <!-- 
  522: ================================= DerivedFrom ==================================
  523: A reference to an NewsItem from which this one is derived. The NewsItem attribute
  524: identifies the relevant NewsItem. Its value can be an http URL or a NewsML URN
  525: as described in the comment to PublicIdentifier.
  526: ================================================================================
  527: -->
  528: <!ELEMENT DerivedFrom  (Comment* )>
  529: <!ATTLIST DerivedFrom  %localid;
  530:                        NewsItem CDATA  #IMPLIED >
  531: <!-- 
  532: ================================= Description ==================================
  533: A description that identifies a Topic, thereby indicating the meaning of a
  534: formal name associated with that Topic. The xml:lang attribute indicates what
  535: language the description is in. The optional Variant attribute allows multiple
  536: descriptions to be given in the same language, and meaningfully distinguished
  537: from one another.
  538: ================================================================================
  539: -->
  540: <!ELEMENT Description  (#PCDATA )>
  541: <!ATTLIST Description  %localid;
  542:                        xml:lang CDATA  #IMPLIED
  543:                        Variant  CDATA  #IMPLIED >
  544: <!-- 
  545: ============================= DescriptiveMetadata ==============================
  546: Information describing the content of a NewsComponent. 
  547: ================================================================================
  548: -->
  549: <!ELEMENT DescriptiveMetadata  (Catalog? , Language* , Genre? , SubjectCode* , OfInterestTo* , TopicOccurrence* , Property* )>
  550: <!ATTLIST DescriptiveMetadata  %localid;
  551:                                %assignment; >
  552: <!-- 
  553: =================================== Encoding ===================================
  554: The encoding of the data comprising the content of a ContentItem. 
  555: ================================================================================
  556: -->
  557: <!ELEMENT Encoding %data;>
  558: <!ATTLIST Encoding  %localid;
  559:                     Notation CDATA  #REQUIRED >
  560: <!-- 
  561: =================================== EndDate ====================================
  562: A natural-language statement of the date at which specified usage rights come
  563: to an end.
  564: ================================================================================
  565: -->
  566: <!ELEMENT EndDate  (#PCDATA | Origin )*>
  567: <!ATTLIST EndDate  %localid;
  568:                    xml:lang   CDATA  #IMPLIED
  569:                    %assignment; >
  570: <!-- 
  571: =================================== FileName ===================================
  572: The suggested or actual storage file name for a NewsItem. 
  573: ================================================================================
  574: -->
  575: <!ELEMENT FileName  (#PCDATA )>
  576: <!ATTLIST FileName  %localid; >
  577: <!-- 
  578: ================================= FirstCreated =================================
  579: The date and, optionally, time at which a NewsItem was first created, expressed
  580: in ISO 8601 Basic Format, as described in the comment to the DateAndTime
  581: attribute within the assignment ENTITY declaration above.
  582: ================================================================================
  583: -->
  584: <!ELEMENT FirstCreated  (#PCDATA )>
  585: <!ATTLIST FirstCreated  %localid; >
  586: <!-- 
  587: ================================= FormalName ===================================
  588: A string of characters whose meaning is determined by a naming scheme within a
  589: controlled vocabulary. The controlled vocabulary may (but is not required to)
  590: take the form of a NewsML TopicSet. The optional Scheme attribute determines
  591: which naming scheme applies, when several exist within the same controlled
  592: vocabulary.
  593: ================================================================================
  594: -->
  595: <!ELEMENT FormalName  (#PCDATA )>
  596: <!ATTLIST FormalName  %localid;
  597:                       Scheme  CDATA  #IMPLIED >
  598: <!-- 
  599: ==================================== Format ====================================
  600: An indication of the format of a ContentItem. The value of the FormalName
  601: attribute is a formal name for the Format. Its meaning and permitted values are
  602: determined by a controlled vocabulary as described in the comment to the
  603: formalname ENTITY declaration above.
  604: ================================================================================
  605: -->
  606: <!ELEMENT Format EMPTY>
  607: <!ATTLIST Format  %localid;
  608:                   %formalname; >
  609: <!-- 
  610: ================================= FutureStatus =================================
  611: An indication of the status a NewsItem will have at a specified future date. The
  612: value of the FormalName attribute is a formal name for the FutureStatus. Its
  613: meaning is determined by a controlled vocabulary as described in the comment
  614: to the formalname ENTITY declaration above.
  615: ================================================================================
  616: -->
  617: <!ELEMENT FutureStatus EMPTY>
  618: <!ATTLIST FutureStatus  %localid;
  619:                         %formalname; >
  620: <!-- 
  621: ==================================== Genre =====================================
  622: An indication of the Genre of a NewsComponent. The value of the FormalName
  623: attribute is a formal name for the Genre. Its meaning and permitted values are
  624: determined by a controlled vocabulary as described in the comment to the
  625: formalname ENTITY declaration above.
  626: ================================================================================
  627: -->
  628: <!ELEMENT Genre EMPTY>
  629: <!ATTLIST Genre  %localid;
  630:                  %formalname;
  631:                  %assignment; >
  632: <!-- 
  633: ================================== Geography ===================================
  634: A natural-language statement of the geographical area or areas to which
  635: specified usage rights apply.
  636: ================================================================================
  637: -->
  638: <!ELEMENT Geography  (#PCDATA | Origin )*>
  639: <!ATTLIST Geography  %localid;
  640:                      xml:lang   CDATA  #IMPLIED
  641:                      %assignment; >
  642: <!-- 
  643: =================================== HeadLine ===================================
  644: A displayable headline.
  645: ================================================================================
  646: -->
  647: <!ELEMENT HeadLine  (#PCDATA | Origin )*>
  648: <!ATTLIST HeadLine  %localid;
  649:                     xml:lang CDATA  #IMPLIED >
  650: <!-- 
  651: ================================ Identification ================================
  652: Identification information for the NewsItem.
  653: ================================================================================
  654: -->
  655: <!ELEMENT Identification  (NewsIdentifier , NameLabel? , DateLabel? , Label* )>
  656: <!ATTLIST Identification  %localid; >
  657: <!--
  658: ================================= InsertAfter ==================================
  659: An instruction to insert content after a designated element within a NewsItem.
  660: The content to be inserted is the content of the InsertAfter element. The
  661: NewsItem into which it is to be inserted is the previous revision of the current
  662: one, and the element after which it is to be inserted is the one whose Duid
  663: value is equal to the value of the InsertAfter element's DuidRef attribute.
  664: ================================================================================
  665: -->
  666: <!ELEMENT InsertAfter ANY>
  667: <!ATTLIST InsertAfter  %localid;
  668:                        DuidRef CDATA  #REQUIRED >
  669: <!--
  670: ================================= InsertBefore =================================
  671: An instruction to insert content before a designated element within a NewsItem.
  672: The content to be inserted is the content of the InsertBefore element. The
  673: NewsItem into which it is to be inserted is the previous revision of the current
  674: one, and the element before which it is to be inserted is the one whose Duid
  675: value is equal to the value of the InsertBefore element's DuidRef attribute.
  676: ================================================================================
  677: -->
  678: <!ELEMENT InsertBefore ANY>
  679: <!ATTLIST InsertBefore  %localid;
  680:                         DuidRef CDATA  #REQUIRED >
  681: <!--
  682: ================================= Instruction ==================================
  683: An instruction from a news provider to the recipient of a NewsItem. A special
  684: case of Instruction is an indication of the effect the current revision of a
  685: NewsItem has on the status of any previous revisions of the NewsItem that may
  686: still be on the recipient's system. In this case, it will contain one or more
  687: RevisionStatus elements. Otherwise, the value of the FormalName attribute is a
  688: formal name for the Instruction, and its meaning is determined by a controlled
  689: vocabulary as described in the comment to the formalname ENTITY declaration
  690: above.
  691: ================================================================================
  692: -->
  693: <!ELEMENT Instruction  (RevisionStatus* )>
  694: <!ATTLIST Instruction  %localid;
  695:                        %formalname; >
  696: <!-- 
  697: ================================= KeywordLine ==================================
  698: A displayable set of keywords relevant to a news object. This can be used by a
  699: NewsML system to assist manual or automated searches.
  700: ================================================================================
  701: -->
  702: <!ELEMENT KeywordLine  (#PCDATA | Origin )*>
  703: <!ATTLIST KeywordLine  %localid;
  704:                        xml:lang CDATA  #IMPLIED >
  705: <!-- 
  706: ==================================== Label =====================================
  707: A human-readable label for a NewsItem.
  708: ================================================================================
  709: -->
  710: <!ELEMENT Label  (LabelType , LabelText )>
  711: <!ATTLIST Label  %localid; >
  712: <!-- 
  713: =================================== LabelText ==================================
  714: The text that constitutes a Label of a given LabelType.
  715: ================================================================================
  716: -->
  717: <!ELEMENT LabelText  (#PCDATA )>
  718: <!ATTLIST LabelText  %localid; >
  719: <!-- 
  720: ================================= LabelType ====================================
  721: A user-defined type of label. The value of the FormalName attribute is a formal
  722: name for the LabelType. Its meaning and permitted values are determined by a
  723: controlled vocabulary as described in the comment to the formalname ENTITY
  724: declaration above.
  725: ================================================================================
  726: -->
  727: <!ELEMENT LabelType EMPTY>
  728: <!ATTLIST LabelType  %localid;
  729:                      %formalname; >
  730: <!-- 
  731: =================================== Language ===================================
  732: An indication of the, or a, language used in a content item. The value of the
  733: FormalName attribute is a formal name for the Language. Its meaning and
  734: permitted values are determined by a controlled vocabulary as described in the
  735: comment to the formalname ENTITY declaration above.
  736: ================================================================================
  737: -->
  738: <!ELEMENT Language EMPTY>
  739: <!ATTLIST Language  %localid;
  740:                     %formalname;
  741:                     %assignment; >
  742: <!-- 
  743: ================================= Limitations ==================================
  744: A natural-language statement of the terms and conditions that apply to the
  745: specified usage rights.
  746: ================================================================================
  747: -->
  748: <!ELEMENT Limitations  (#PCDATA | Origin )*>
  749: <!ATTLIST Limitations  %localid;
  750:                        xml:lang   CDATA  #IMPLIED
  751:                        %assignment; >
  752: <!-- 
  753: ================================== MediaType ===================================
  754: An indication of the media type of a ContentItem. The value of the FormalName
  755: attribute is a formal name for the MediaType. Its meaning and permitted values
  756: are determined by a controlled vocabulary as described in the comment to the
  757: formalname ENTITY declaration above.
  758: ================================================================================
  759: -->
  760: <!ELEMENT MediaType EMPTY>
  761: <!ATTLIST MediaType  %localid;
  762:                      %formalname; >
  763: <!-- 
  764: =================================== Metadata ===================================
  765: An container for a user-defined type of metadata.
  766: ================================================================================
  767: -->
  768: <!ELEMENT Metadata  (Catalog? , MetadataType , Property+ )>
  769: <!ATTLIST Metadata  %localid; >
  770: <!-- 
  771: =============================== MetadataType ===================================
  772: An indication of the type of metadata that is represented by the Property
  773: elements within this Metadata element. The value of the FormalName attribute is
  774: a formal name for the MetadataType. Its meaning and permitted values are
  775: determined by a controlled vocabulary as described in the comment to the
  776: formalname ENTITY declaration above.
  777: ================================================================================
  778: -->
  779: <!ELEMENT MetadataType EMPTY>
  780: <!ATTLIST MetadataType  %localid;
  781:                         %formalname; >
  782: <!-- 
  783: =================================== MimeType ===================================
  784: An indication of the MIME-type of a ContentItem. The value of the FormalName
  785: attribute is a formal name for the MimeType. Its meaning and permitted values
  786: are determined by a controlled vocabulary as described in the comment to the
  787: formalname ENTITY declaration above.
  788: ================================================================================
  789: -->
  790: <!ELEMENT MimeType EMPTY>
  791: <!ATTLIST MimeType  %localid;
  792:                     %formalname; >
  793: <!-- 
  794: ================================== NameLabel ===================================
  795: A string used by human users as a name to help identify a NewsItem. Its form is
  796: determined by the provider. It might be identical to the textual content of
  797: the SlugLine element, for example, but even if this is so, the system should not
  798: process the NameLabel as a slugline. Nothing can be assumed about the nature of
  799: the string within NameLabel beyond the fact that it can help to identify the
  800: NewsItem to humans.
  801: ================================================================================
  802: -->
  803: <!ELEMENT NameLabel  (#PCDATA )>
  804: <!ATTLIST NameLabel  %localid; >
  805: <!-- 
  806: ================================ NewsComponent =================================
  807: A container for news objects, used to identify the role of news objects in
  808: relation to one another, and to ascribe metadata to them. The Essential
  809: attribute indicates whether the provider considers that this NewsComponent
  810: is essential to the meaning of the NewsComponent within which it is contained.
  811: The EquivalentsList attribute indicates whether or not the NewsItems or
  812: NewsItemRefs, NewsComponents or ContentItems contained within this one are
  813: equivalent to one another in content and/or meaning
  814: ================================================================================
  815: -->
  816: <!ELEMENT NewsComponent  (Comment* , Catalog? , TopicSet* , Role? , BasisForChoice* , NewsLines? , AdministrativeMetadata? , RightsMetadata? , DescriptiveMetadata? , Metadata* ,  ( (NewsItem | NewsItemRef )+ | NewsComponent+ | ContentItem+ )? )>
  817: <!ATTLIST NewsComponent  %localid;
  818:                          Essential        (yes | no )  'no'
  819:                          EquivalentsList  (yes | no )  'no'
  820:                          xml:lang        CDATA  #IMPLIED >
  821: <!-- 
  822: ================================= NewsEnvelope =================================
  823: Information about the transmission of one or more NewsItems as a NewsML
  824: document.
  825: ================================================================================
  826: -->
  827: <!ELEMENT NewsEnvelope  (TransmissionId? , SentFrom? , SentTo? , DateAndTime , NewsService* , NewsProduct* , Priority? )>
  828: <!ATTLIST NewsEnvelope  %localid; >
  829: <!-- 
  830: ================================ NewsIdentifier ================================
  831: A globally unique identifier for a NewsItem. 
  832: ================================================================================
  833: -->
  834: <!ELEMENT NewsIdentifier  (ProviderId , DateId , NewsItemId , RevisionId , PublicIdentifier )>
  835: 
  836: <!-- 
  837: =================================== NewsItem ===================================
  838: A managed set of information representing a point of view, at a given time, on
  839: some event or events. Its Identification and NewsManagement provide
  840: manageability. It may contain either a NewsComponent, or one or more Updates
  841: that modify aspects of a previous Revision of the same NewsItem, or a
  842: TopicSet.
  843: ================================================================================
  844: -->
  845: <!ELEMENT NewsItem  (Comment* , Catalog? , Identification , NewsManagement ,  (NewsComponent | Update+ | TopicSet )? )>
  846: <!ATTLIST NewsItem  %localid;
  847:                     xml:lang CDATA  #IMPLIED >
  848: <!-- 
  849: ================================== NewsItemId ==================================
  850: An identifier for the NewsItem. The combination of NewsItemId and DateId must
  851: be unique among NewsItems that emanate from the same provider. Within these
  852: constraints, the NewsItemId can take any form the provider wishes. It may take
  853: the form of a name for the NewsItem that will be meaningful to humans, but this
  854: is not a requirement. The provider may optionally relate the values of
  855: NewsItemId to a controlled vocabulary, which is invoked by the Vocabulary
  856: attribute. The value ofthe Vocabulary attribute may be an http URL, a NewsML
  857: URN, or the # character followed by the value of the Duid attribute of a
  858: TopicSet in the current document. The Scheme attribute, if present, serves to
  859: distinguish which of possibly multiple naming schemes in the controlled
  860: vocabulary is the one that governs the NewsItemId.
  861: ================================================================================
  862: -->
  863: <!ELEMENT NewsItemId  (#PCDATA )>
  864: <!ATTLIST NewsItemId  Vocabulary CDATA  #IMPLIED
  865:                       Scheme     CDATA  #IMPLIED >
  866: <!-- 
  867: ================================= NewsItemRef ==================================
  868: A pointer to a NewsItem that is deemed to replace the NewsItemRef element. The
  869: NewsItem attribute is a pointer to the relevant NewsItem. Its value can be an
  870: http URL, or a NewsML URN as described in the comment to PublicIdentifier, or a
  871: fragment identifier consisting of a # character followed by the Duid of a
  872: NewsItem in the current document.
  873: ================================================================================
  874: -->
  875: <!ELEMENT NewsItemRef  (Comment* )>
  876: <!ATTLIST NewsItemRef  %localid;
  877:                        NewsItem CDATA  #IMPLIED >
  878: <!--
  879: ================================= NewsItemType =================================
  880: An indication of the type of a NewsItem. The value of the FormalName attribute
  881: is a formal name for the NewsItemType. Its meaning and permitted values are
  882: determined by a controlled vocabulary as described in the comment to the
  883: formalname ENTITY declaration above.
  884: ================================================================================
  885: -->
  886: <!ELEMENT NewsItemType EMPTY>
  887: <!ATTLIST NewsItemType  %localid;
  888:                         %formalname; >
  889: <!-- 
  890: =================================== NewsLine ===================================
  891: A newsline of a type not included in the NewsML specification.
  892: ================================================================================
  893: -->
  894: <!ELEMENT NewsLine  (NewsLineType , NewsLineText+ )>
  895: <!ATTLIST NewsLine  %localid; >
  896: <!-- 
  897: =================================== NewsLineText ===================================
  898: The text of a NewsLine of user-defined type.
  899: ================================================================================
  900: -->
  901: <!ELEMENT NewsLineText  (#PCDATA | Origin )*>
  902: <!ATTLIST NewsLineText  %localid;
  903:                         xml:lang CDATA  #IMPLIED >
  904: <!-- 
  905: ================================ NewsLineType ==================================
  906: An indication of a user-defined NewsLine type. The value of the FormalName
  907: attribute is a formal name for the NewsLineType. Its meaning and permitted
  908: values are determined by a controlled vocabulary as described in the comment
  909: to the formalname ENTITY declaration above.
  910: ================================================================================
  911: -->
  912: <!ELEMENT NewsLineType EMPTY>
  913: <!ATTLIST NewsLineType  %localid;
  914:                         %formalname; >
  915: <!-- 
  916: ================================== NewsLines ===================================
  917: A container for all the NewsLines that a NewsComponent has.
  918: ================================================================================
  919: -->
  920: <!ELEMENT NewsLines  ( (HeadLine , SubHeadLine? )* , ByLine* , DateLine* , CreditLine* , CopyrightLine* , RightsLine* , SeriesLine* , SlugLine* , KeywordLine* , NewsLine* )>
  921: <!ATTLIST NewsLines  %localid; >
  922: <!-- 
  923: ================================ NewsManagement ================================
  924: Information relevant to the management of a NewsItem.
  925: ================================================================================
  926: -->
  927: <!ELEMENT NewsManagement  (NewsItemType , FirstCreated , ThisRevisionCreated , Status , StatusWillChange? , Urgency? , RevisionHistory? , DerivedFrom* , AssociatedWith* , Instruction* , Property* )>
  928: <!ATTLIST NewsManagement  %localid; >
  929: <!-- 
  930: ==================================== NewsML ====================================
  931: A NewsML document, which must contain a NewsEnvelope and one or more NewsItems,
  932: and may include a Catalog element and a TopicSet element.
  933: ================================================================================
  934: -->
  935: <!ELEMENT NewsML  (Catalog? , TopicSet* ,  (NewsEnvelope , NewsItem+ ) )>
  936: <!ATTLIST NewsML  %localid; >
  937: <!-- 
  938: ================================= NewsProduct ==================================
  939: An identifier for a product to which all the NewsItems in a NewsML document
  940: belong. The value of the FormalName attribute is a formal name for the
  941: NewsProduct. Its meaning and permitted values are determined by a controlled
  942: vocabulary as described in the comment to the formalname ENTITY declaration
  943: above.
  944: ================================================================================
  945: -->
  946: <!ELEMENT NewsProduct EMPTY>
  947: <!ATTLIST NewsProduct  %localid;
  948:                        %formalname; >
  949: <!-- 
  950: ================================= NewsService ==================================
  951: An identifier for a service to which all the NewsItems in a NewsML document
  952: belong. The value of the FormalName attribute is a formal name for the
  953: NewsService. Its meaning and permitted values are determined by a controlled
  954: vocabulary as described in the comment to the formalname ENTITY declaration
  955: above.
  956: ================================================================================
  957: -->
  958: <!ELEMENT NewsService EMPTY>
  959: <!ATTLIST NewsService  %localid;
  960:                        %formalname; >
  961: <!-- 
  962: =================================== Notation ===================================
  963: An indication of the notation of a ContentItem. The value of the FormalName
  964: attribute is a formal name for the Notation. Its meaning and permitted values
  965: are determined by a controlled vocabulary as described in the comment to the
  966: formalname ENTITY declaration above.
  967: ================================================================================
  968: -->
  969: <!ELEMENT Notation EMPTY>
  970: <!ATTLIST Notation  %localid;
  971:                     %formalname; >
  972: <!-- 
  973: ================================= OfInterestTo =================================
  974: An indication of the target audience of a NewsItem. The value of the FormalName
  975: attribute is a formal name for the target audience. Its meaning and permitted
  976: values are determined by a controlled vocabulary as described in the comment to
  977: the formalname ENTITY declaration above.
  978: ================================================================================
  979: -->
  980: <!ELEMENT OfInterestTo  (Relevance? )>
  981: <!ATTLIST OfInterestTo  %localid;
  982:                         %formalname;
  983:                         %assignment; >
  984: <!-- 
  985: ==================================== Origin ====================================
  986: A wrapper for all or part of the text of a piece of text, which provides a
  987: pointer to an item of data corresponding formally to what is being described
  988: here in natural language. The Href attribute identifies the relevant data, and
  989: may be an http URL or a NewsML URN as described in the comment to
  990: PublicIdentifier, optionally including a fragment identifier. Alternatively, it
  991: can be a simple fragment identifier consisting of a # character followed by the
  992: value of the Duid of an element in the current document.
  993: ================================================================================
  994: -->
  995: <!ELEMENT Origin  (#PCDATA | Origin )*>
  996: <!ATTLIST Origin  %localid;
  997:                   %assignment;
  998:                   Href       CDATA  #IMPLIED >
  999: <!-- 
 1000: =================================== Party ======================================
 1001: An indication of the person, company or organisation that has a particular
 1002: relationship to this NewsItem in the news workflow. The value of the FormalName
 1003: attribute is a formal name for the Party. Its meaning and permitted values
 1004: are determined by a controlled vocabulary as described in the comment to the
 1005: formalname ENTITY declaration above.
 1006: ================================================================================
 1007: -->
 1008: <!ELEMENT Party EMPTY>
 1009: <!ATTLIST Party  %localid;
 1010:                  %formalname;
 1011:                  Topic      CDATA  #IMPLIED >
 1012: <!-- 
 1013: =================================== Priority ===================================
 1014: An indication of the priority notation of a NewsItem. The value of the
 1015: FormalName attribute is a formal name for the Priority. Its meaning and
 1016: permitted values are determined by a controlled vocabulary as described in
 1017: the comment to the formalname ENTITY declaration above.
 1018: ================================================================================
 1019: -->
 1020: <!ELEMENT Priority EMPTY>
 1021: <!ATTLIST Priority  %localid;
 1022:                     %formalname; >
 1023: <!-- 
 1024: =================================== Property ===================================
 1025: A property of a NewsComponent or of a Topic. The property has a name and either
 1026: a simple Value or a complex value consisting of a set of further properties.
 1027: 
 1028: Value
 1029: =====
 1030: A string representation of the value of a Property.
 1031: 
 1032: ValueRef
 1033: ========
 1034: A pointer to the value of the Property. This might be a Topic in a TopicSet, or
 1035: any other piece of data. If both Value and ValueRef are provided, then ValueRef
 1036: identifies the actual value of the property, with Value simply providing a
 1037: string representation or mnemonic for it.
 1038: 
 1039: 
 1040: Example:
 1041: <Catalog>
 1042:  <Resource Duid="resource1">
 1043:   <Urn>urn:newsml:reuters.com:20001001:Physical Characteristics:3</Urn>
 1044:   <Url>www.reuters.com/vocabs/physical.xml</Url>
 1045:   <Url>www.iptc.com/vocabularies/memberdefined/reuters/physical.xml</Url>
 1046:   <DefaultVocabularyFor Scheme="short" Context="Metadata/Property[@FormalName='Width']"/>
 1047:  </Resource>
 1048: </Catalog>
 1049: <Property FormalName="Width" Vocabulary="#resource1">
 1050:  <Property FormalName="Unit" ValueRef="urn:newsml:iptc.org:20001006:units:1#cm"/>
 1051:  <Property FormalName="Quantity" Value="7.5"/>
 1052: </Property>
 1053: 
 1054: AllowedValues
 1055: =============
 1056: The AllowedValues attribute, if present, is a pointer to a controlled vocabulary
 1057: that delimits the set of allowed values for the property. This may be an http
 1058: URL, or a NewsML URN, or a fragment identifier consisting of a # charactger
 1059: followed by the Duid of an element in the current document. The pointer must
 1060: reference either a Resource element that designates an external controlled
 1061: vocabulary, or a TopicSet element, that is itself the controlled vocabulary.
 1062: ================================================================================
 1063: -->
 1064: <!ELEMENT Property  (Property* )>
 1065: <!ATTLIST Property  %localid;
 1066:                     %formalname;
 1067:                     %assignment;
 1068:                     Value         CDATA  #IMPLIED
 1069:                     ValueRef      CDATA  #IMPLIED
 1070:                     AllowedValues CDATA  #IMPLIED >
 1071: <!-- 
 1072: =================================== Provider ===================================
 1073: An individual and/or company or organisation that released a news object for
 1074: publication.
 1075: ================================================================================
 1076: -->
 1077: <!ELEMENT Provider  (%party; )>
 1078: <!ATTLIST Provider  %localid; >
 1079: <!-- 
 1080: ================================== ProviderId ==================================
 1081: An identifier for the news provider that produced the NewsItem. The
 1082: provider's ID is specified in the element content. This should be an Internet
 1083: domain name that is owned by the provider at the date identified by the DateId
 1084: subelement of the NewsIdentifier, or the name for the Provider drawn from a
 1085: controlled vocabulary identified by a URN specified in the Vocabulary attribute.
 1086: This will ensure that the identity of the provider can be inferred unambiguously
 1087: from the full NewsIdentifier.
 1088: 
 1089: Example: 
 1090: <NewsIdentifier>
 1091:  <ProviderId>iptc.org</ProviderId>
 1092:  <DateId>20001001</DateId>
 1093:  <NewsItemId>NewsML version 1.0</NewsItemId>
 1094:  <RevisionId>1</RevisionId
 1095: </NewsIdentifier>
 1096: 
 1097: Because the domain name "iptc.org" was owned on 1 October 2000 by the
 1098: International Press Telecommunications Council (IPTC) and no-one else, it is
 1099: certain that IPTC is the provider in this case.
 1100: ================================================================================
 1101: -->
 1102: <!ELEMENT ProviderId  (#PCDATA )>
 1103: <!ATTLIST ProviderId  Vocabulary CDATA  #IMPLIED >
 1104: <!-- 
 1105: =============================== PublicIdentifier ===============================
 1106: A public identifier (in the sense defined by the XML 1,0 Specification) for a
 1107: NewsItem. This is the NewsML URN, and must be constructed as follows: 
 1108: 
 1109: If the ProviderId is a domain name
 1110: 
 1111: urn:newsml:{ProviderId}:{DateId}:{NewsItemId}:{RevisionId}{RevisionId@Update}
 1112: 
 1113: If the ProviderId is name drawn from a controlled vocabulary
 1114: 
 1115: urn:newsml:|{ProviderId@Vocabulary}|{ProviderId}|:{DateId}:{NewsItemId}:{RevisionId}{RevisionId@Update}
 1116: 
 1117: where {x} means "the content of the x subelement of the NewsIdentifier" and
 1118: {x@y} means "the value of the y attribute of the x subelement of the
 1119: NewsIdentifier", with the exception that if the Update attribute of the
 1120: RevisionId element has its default value of N, it is omitted from the URN, and
 1121: that the Vocabulary attribute of the ProviderId element is stripped of the
 1122: substring "urn:" with which it begins. The Vocabulary attribute of ProviderId
 1123: necessarily begins with the characters "urn:" because, as stated in the
 1124: comment to the ProviderId element above, it must take the form of a URN
 1125: identifying a controlled vocabulary.
 1126: 
 1127: Note that the existence of this URN enables the NewsItem to be referenced
 1128: unambiguously by pointers from other XML elements or resources. Within such
 1129: pointers, if  the RevisionId, its preceding : character and its following Update
 1130: qualifier are omitted, then the pointer designates the most recent revision at
 1131: the time it is resolved.
 1132: ================================================================================
 1133: -->
 1134: <!ELEMENT PublicIdentifier  (#PCDATA )>
 1135: 
 1136: <!-- 
 1137: ================================== Relevance ===================================
 1138: An indication of the relevance of a NewsItem to a given target audience. The
 1139: value of the FormalName attribute is a formal name for the Relevance. Its
 1140: meaning and permitted values are determined by a controlled vocabulary as
 1141: described in the comment to the formalname ENTITY declaration above.
 1142: ================================================================================
 1143: -->
 1144: <!ELEMENT Relevance EMPTY>
 1145: <!ATTLIST Relevance  %localid;
 1146:                      %formalname;
 1147:                      %assignment; >
 1148: <!--
 1149: =================================== Replace ====================================
 1150: An instruction to replace a designated element within a NewsItem. The element
 1151: that is to replace the designated element is the content of the Replace element.
 1152: The NewsItem within which the replacement takes place is the previous revision
 1153: of the current one, and the element to be replaced is the one whose Duid
 1154: value is equal to the value of the Replace element's DuidRef attribute.
 1155: ================================================================================
 1156: -->
 1157: <!ELEMENT Replace ANY>
 1158: <!ATTLIST Replace  %localid;
 1159:                    DuidRef CDATA  #REQUIRED >
 1160: <!-- 
 1161: ================================== Resource ====================================
 1162: An indication where a given resource can be found, and whether it is to be used
 1163: as the default vocabulary for certain formal names within the current subtree
 1164: of a NewsML document. The Urn attribute provides a NewsML URN for the resource.
 1165: THe Url attribute(s) provide(s) a location or locations where the resource may
 1166: be found. The DefaultVocabularyFor element contains an XPath pattern. The
 1167: identified resource acts as default vocabulary for any element within the
 1168: subtree whose root is the parent of the current Catalog, that matches this XPath
 1169: pattern.
 1170: ================================================================================
 1171: -->
 1172: <!ELEMENT Resource  (Urn? , Url* , DefaultVocabularyFor* )>
 1173: <!ATTLIST Resource  %localid; >
 1174: <!-- 
 1175: =============================== RevisionHistory ================================
 1176: A pointer to a file containing the revision history of the NewsItem.
 1177: ================================================================================
 1178: -->
 1179: <!ELEMENT RevisionHistory EMPTY>
 1180: <!ATTLIST RevisionHistory  %localid;
 1181:                            Href    CDATA  #REQUIRED >
 1182: <!-- 
 1183: ================================== RevisionId ==================================
 1184: A positive integer indicating which Revision of a given NewsItem this is. Any
 1185: positive integer may be used, but it must always be the case that of two
 1186: instances of a NewsItem that have the same ProviderId, DateId and NewsItemId,
 1187: the one whose RevisionId has the larger value must be the more recent revision.
 1188: A RevisionId of 0 is not permitted. The PreviousRevision attribute must be
 1189: present, and its value must be equal to the content of the RevisionId element
 1190: of the NewsItem's previous revision, if there is one, and 0 if the NewsItem has
 1191: no previous revision. If the NewsItem contains an Update element or elements,
 1192: then the Update attribute must be set to U. If the NewsItem consists only of a
 1193: replacement set of NewsManagement data, then the Update attribute must be set
 1194: to A. If neither of these is the case, then the Update attribute must be set
 1195: to N.
 1196: ================================================================================
 1197: -->
 1198: <!ELEMENT RevisionId  (#PCDATA )>
 1199: <!ATTLIST RevisionId  PreviousRevision CDATA  #REQUIRED
 1200:                       Update           CDATA  #REQUIRED >
 1201: <!-- 
 1202: ================================ RevisionStatus ================================
 1203: Indicates the status that previous revisions now has as a result of the release
 1204: of the current revision. The optional Revision attribute is an integer, equal to
 1205: the RevisionId of the revision in question. If it is not present, then the
 1206: status applies to ALL previous revisions, without exception.
 1207: ================================================================================
 1208: -->
 1209: <!ELEMENT RevisionStatus  (Status )>
 1210: <!ATTLIST RevisionStatus  %localid;
 1211:                           Revision CDATA  #IMPLIED >
 1212: <!-- 
 1213: ================================= RightsHolder =================================
 1214: A string of text indicating who has the usage rights, optionally enriched with
 1215: pointers to further information about the relevant people, companies or
 1216: organisations.
 1217: ================================================================================
 1218: -->
 1219: <!ELEMENT RightsHolder  (#PCDATA | Origin )*>
 1220: <!ATTLIST RightsHolder  %localid;
 1221:                         xml:lang   CDATA  #IMPLIED
 1222:                         %assignment; >
 1223: <!-- 
 1224: ================================== RightsLine ==================================
 1225: A displayable version of rights information. Note that this is distinct from
 1226: copyright information. Copyright information is about who owns a news object;
 1227: rights information is about who is allowed to use it, in what way and under
 1228: what circumstances.
 1229: ================================================================================
 1230: -->
 1231: <!ELEMENT RightsLine  (#PCDATA | Origin )*>
 1232: <!ATTLIST RightsLine  %localid;
 1233:                       xml:lang CDATA  #IMPLIED >
 1234: <!-- 
 1235: ================================ RightsMetadata ================================
 1236: Information about the rights pertaining to a NewsComponent. 
 1237: ================================================================================
 1238: -->
 1239: <!ELEMENT RightsMetadata  (Catalog? , Copyright* , UsageRights* , Property* )>
 1240: <!ATTLIST RightsMetadata  %localid;
 1241:                           %assignment; >
 1242: <!-- 
 1243: ===================================== Role =====================================
 1244: An identifier of the role played by a NewsComponent within a NewsComponent
 1245: that contains it. The outermost NewsComponent within a NewsItem need not
 1246: specify a Role attribute value. The value of the FormalName attribute is a
 1247: formal name for the Role. Its meaning and permitted values are determined by
 1248: a controlled vocabulary as described in the comment to the formalname ENTITY
 1249: declaration above.
 1250: ================================================================================
 1251: -->
 1252: <!ELEMENT Role EMPTY>
 1253: <!ATTLIST Role  %localid;
 1254:                 %formalname; >
 1255: <!-- 
 1256: =================================== SentFrom ===================================
 1257: An individual and/or company or organisation from whom the NewsML document is
 1258: being sent.
 1259: ================================================================================
 1260: -->
 1261: <!ELEMENT SentFrom  (%party; )>
 1262: <!ATTLIST SentFrom  %localid; >
 1263: <!-- 
 1264: ==================================== SentTo ====================================
 1265: An individual and/or company or organisation to whom the NewsML document is
 1266: being sent.
 1267: ================================================================================
 1268: -->
 1269: <!ELEMENT SentTo  (%party; )>
 1270: <!ATTLIST SentTo  %localid; >
 1271: <!-- 
 1272: ================================== SeriesLine ==================================
 1273: A displayable version of information about a news object's place in a series.
 1274: ================================================================================
 1275: -->
 1276: <!ELEMENT SeriesLine  (#PCDATA | Origin )*>
 1277: <!ATTLIST SeriesLine  %localid;
 1278:                       xml:lang CDATA  #IMPLIED >
 1279: <!-- 
 1280: ================================== SizeInBytes =================================
 1281: The exact size in bytes of a ContentItem's inline or referenced data object. 
 1282: ================================================================================
 1283: -->
 1284: <!ELEMENT SizeInBytes  (#PCDATA )>
 1285: <!ATTLIST SizeInBytes  %localid; >
 1286: <!-- 
 1287: =================================== SlugLine ===================================
 1288: A string of text, possibly embellished by hyperlinks and/or formatting, used to
 1289: display a NewsItem's slug line. (Note that the meaning of the term "slug line",
 1290: and the uses to which it is put, are a matter for individual providers to
 1291: define within their own workflow and business practice.) 
 1292: ================================================================================
 1293: -->
 1294: <!ELEMENT SlugLine  (#PCDATA | Origin )*>
 1295: <!ATTLIST SlugLine  %localid;
 1296:                     xml:lang CDATA  #IMPLIED >
 1297: <!-- 
 1298: ==================================== Source ====================================
 1299: An individual and/or company or organisation that provided source material for
 1300: a news object. The optional NewsItem attribute must be present in the case of
 1301: a syndicated NewsItem. It provides the URN of the NewsItem that is being
 1302: syndicated. Note that a sequence of Source elements can be used to indicate the
 1303: sequence of syndicators through which a NewsItem has passed.
 1304: ================================================================================
 1305: -->
 1306: <!ELEMENT Source  (%party; )>
 1307: <!ATTLIST Source  %localid;
 1308:                   NewsItem CDATA  #IMPLIED >
 1309: <!-- 
 1310: ================================== StartDate ===================================
 1311: A natural-language statement of the date at which specified usage rights come
 1312: into effect.
 1313: ================================================================================
 1314: -->
 1315: <!ELEMENT StartDate  (#PCDATA | Origin )*>
 1316: <!ATTLIST StartDate  %localid;
 1317:                      xml:lang   CDATA  #IMPLIED
 1318:                      %assignment; >
 1319: <!-- 
 1320: ==================================== Status ===================================
 1321: An indication of the Status of a NewsItem. The value of the FormalName
 1322: attribute is a formal name for the Status. Its meaning and permitted values
 1323: are determined by a controlled vocabulary as described in the comment to the
 1324: formalname ENTITY declaration above.
 1325: ================================================================================
 1326: -->
 1327: <!ELEMENT Status EMPTY>
 1328: <!ATTLIST Status  %localid;
 1329:                   %formalname; >
 1330: <!-- 
 1331: =============================== StatusWillChange ===============================
 1332: Advance notification of a status change that will automatically occur at the
 1333: specified date and time. For example, an item with a Status of "embargoed" might
 1334: have a StatusWillChange element stating that the status will become "usable" at
 1335: a specified time. This is equivalent to announcing in advance the time at which
 1336: the embargo will end and the item will be released.
 1337: ================================================================================
 1338: -->
 1339: <!ELEMENT StatusWillChange  (FutureStatus , DateAndTime )>
 1340: <!ATTLIST StatusWillChange  %localid; >
 1341: <!-- 
 1342: ================================= SubHeadLine ==================================
 1343: A displayable subsidiary headline.
 1344: ================================================================================
 1345: -->
 1346: <!ELEMENT SubHeadLine  (#PCDATA | Origin )*>
 1347: <!ATTLIST SubHeadLine  %localid;
 1348:                        xml:lang CDATA  #IMPLIED >
 1349: <!-- 
 1350: =================================== Subject ====================================
 1351: An indication of the Subject of a NewsItem. The value of the FormalName
 1352: attribute is a formal name for the Subject. Its meaning and permitted values
 1353: are determined by a controlled vocabulary as described in the comment to the
 1354: formalname ENTITY declaration above.
 1355: ================================================================================
 1356: -->
 1357: <!ELEMENT Subject EMPTY>
 1358: <!ATTLIST Subject  %localid;
 1359:                    %formalname;
 1360:                    %assignment; >
 1361: <!-- 
 1362: ================================= SubjectCode ==================================
 1363: A container for the IPTC Subject Codes that indicate the subject of a NewsItem,
 1364: as defined in the IPTC Information Interchange Model. It consists of one more
 1365: Subject, SubjectMatter and SubjectDetail elements, optionally amplified by one
 1366: or more SubjectQualifier elements.
 1367: ================================================================================
 1368: -->
 1369: <!ELEMENT SubjectCode  ( (Subject | SubjectMatter | SubjectDetail ) , SubjectQualifier* )*>
 1370: <!ATTLIST SubjectCode  %localid;
 1371:                        %assignment; >
 1372: <!-- 
 1373: ================================ SubjectDetail =================================
 1374: An indication of the SubjectDetail of a NewsItem. The value of the FormalName
 1375: attribute is a formal name for the SubjectDetail. Its meaning and permitted
 1376: values are determined by a controlled vocabulary as described in the comment
 1377: to the formalname ENTITY declaration above.
 1378: ================================================================================
 1379: -->
 1380: <!ELEMENT SubjectDetail EMPTY>
 1381: <!ATTLIST SubjectDetail  %localid;
 1382:                          %formalname;
 1383:                          %assignment; >
 1384: <!-- 
 1385: ================================ SubjectMatter =================================
 1386: An indication of the SubjectMatter of a NewsItem. The value of the FormalName
 1387: attribute is a formal name for the SubjectMatter. Its meaning and permitted
 1388: values are determined by a controlled vocabulary as described in the comment to
 1389: the formalname ENTITY declaration above.
 1390: ================================================================================
 1391: -->
 1392: <!ELEMENT SubjectMatter EMPTY>
 1393: <!ATTLIST SubjectMatter  %localid;
 1394:                          %formalname;
 1395:                          %assignment; >
 1396: <!-- 
 1397: =============================== SubjectQualifier ===============================
 1398: An indication of the SubjectQualifier of a NewsItem. The value of the FormalName
 1399: attribute is a formal name for the SubjectQualifier. Its meaning and permitted
 1400: values are determined by a controlled vocabulary as described in the comment to
 1401: the formalname ENTITY declaration above.
 1402: ================================================================================
 1403: -->
 1404: <!ELEMENT SubjectQualifier EMPTY>
 1405: <!ATTLIST SubjectQualifier  %localid;
 1406:                             %formalname;
 1407:                             %assignment; >
 1408: <!-- 
 1409: =============================== SystemIdentifier ===============================
 1410: A system identifier (in the sense defined by the XML 1,0 Specification) for a
 1411: NewsItem.
 1412: ================================================================================
 1413: -->
 1414: <!ELEMENT SystemIdentifier  (#PCDATA )>
 1415: <!ATTLIST SystemIdentifier  %localid; >
 1416: <!-- 
 1417: ============================= ThisRevisionCreated ==============================
 1418: The date and, optionally, time at which the current revision of a NewsItem was
 1419: created, expressed in ISO 8601 Basic Format, as described in the comment to the
 1420: DateAndTime attribute within the assignment ENTITY declaration above.
 1421: ================================================================================
 1422: -->
 1423: <!ELEMENT ThisRevisionCreated  (#PCDATA )>
 1424: <!ATTLIST ThisRevisionCreated  %localid; >
 1425: <!--
 1426: ==================================== Topic =====================================
 1427: This element provides information about a thing (Topic) named by a formal
 1428: name or occurring in a NewsComponent. A Topic must have one or more TopicType
 1429: subelements, which state what type of Topic it is. The optional Details
 1430: attribute provides a pointer, in the form of a URL or URN, to additional
 1431: information about the Topic.
 1432: ================================================================================
 1433: -->
 1434: <!ELEMENT Topic  (Comment* , Catalog? , TopicType+ , FormalName* , Description* , Property* )>
 1435: <!ATTLIST Topic  %localid;
 1436:                  Details CDATA  #IMPLIED >
 1437: <!-- 
 1438: =============================== TopicOccurrence ================================
 1439: An indication that a particular topic occurs within the content of a
 1440: NewsComponent. The optional HowPresent attribute indicates the nature of that
 1441: topic's occurrence. The value of the Topic attribute must consist of a #
 1442: character followed by the value of the Duid attribute of a Topic in the current
 1443: document.
 1444: ================================================================================
 1445: -->
 1446: <!ELEMENT TopicOccurrence EMPTY>
 1447: <!ATTLIST TopicOccurrence  %localid;
 1448:                            %assignment;
 1449:                            Topic      CDATA  #IMPLIED >
 1450: <!-- 
 1451: ================================== TopicSet ====================================
 1452: A container for Topics. The value of the FormalName attribute is a formal name
 1453: for the TopicSet. Its meaning and permitted values are determined by a
 1454: controlled vocabulary as described in the comment to the formalname ENTITY
 1455: declaration above.
 1456: ================================================================================
 1457: -->
 1458: <!ELEMENT TopicSet  (Comment* , Catalog? , TopicSetRef* , Topic* )>
 1459: <!ATTLIST TopicSet  %localid;
 1460:                     %formalname; >
 1461: <!-- 
 1462: ================================= TopicSetRef ==================================
 1463: A pointer to a TopicSet that is to be merged with the current one. The TopicSet
 1464: attribute is a pointer to the relevant TopicSet. Its value can be an http URL,
 1465: or a NewsML URN as described in the comment to PublicIdentifier, or a fragment
 1466: identifier consisting of a # character followed by the Duid of a TopicSet in the
 1467: current document. The presence of a TopicSetRef child in a TopicSet has the
 1468: effect that all the Topics in the referenced TopicSet are included by reference
 1469: within the current TopicSet. When this merging results in there exising two
 1470: FormalName grandchildren of the same TopicSet that have the same content and
 1471: the same Scheme attribute value, then the Topics whose children are in fact the
 1472: same topic, and are deemed to be merged. The merging of Topics need not be
 1473: performed physically by the system, but the meaning of the data is
 1474: exactly the same as if the merging were actually performed. Merging two
 1475: Topcis consists of creating a single Topic that contains all the children of
 1476: both, and eliminating duplicates.
 1477: ================================================================================
 1478: -->
 1479: <!ELEMENT TopicSetRef  (Comment* )>
 1480: <!ATTLIST TopicSetRef  %localid;
 1481:                        TopicSet CDATA  #IMPLIED >
 1482: <!-- 
 1483: ================================== TopicType ===================================
 1484: An indication of the type of a Topic. The value of the FormalName attribute is
 1485: a formal name for the TopicType. Its meaning and permitted values are determined
 1486: by a controlled vocabulary as described in the comment to the formalname ENTITY
 1487: declaration above.
 1488: ================================================================================
 1489: -->
 1490: <!ELEMENT TopicType EMPTY>
 1491: <!ATTLIST TopicType  %localid;
 1492:                      %formalname; >
 1493: <!-- 
 1494: ================================== TopicUse ====================================
 1495: An indication of where a particular Topic is used in a NewsML document. The
 1496: value of the Topic attribute must consist of a # character followed by the
 1497: value of the Duid of a Topic in the current document. The value of the Context
 1498: attribute is an XPath pattern indicating the context where the referenced topic
 1499: is used within the subtree to which the current Catalog applies. If the Context
 1500: attribute is not present, the TopicUse element simply states that this topic is
 1501: present somewhere in the subtree.
 1502: ================================================================================
 1503: -->
 1504: <!ELEMENT TopicUse EMPTY>
 1505: <!ATTLIST TopicUse  Topic   CDATA  #REQUIRED
 1506:                     Context CDATA  #IMPLIED >
 1507: <!-- 
 1508: ================================ TransmissionId ================================
 1509: An identifier for the NewsML document transmission. This should be unique among
 1510: all distinct transmissions from the same publisher. If a transmission is
 1511: repeated (perhaps because the sender is not confident that it was successfully
 1512: received) then the same TransmissionId content may be used, but a Repeat
 1513: attribute should be provided to distinguish the second transmission from the
 1514: first. The form that the value of the Repeat attribute takes is determined by
 1515: the provider. Likewise, the format for the TransmissionId itself is for the
 1516: provider to decide. It could for example consist of a channel identifier
 1517: followed by a sequence number.
 1518: ================================================================================
 1519: -->
 1520: <!ELEMENT TransmissionId  (#PCDATA )>
 1521: <!ATTLIST TransmissionId  %localid;
 1522:                           Repeat  CDATA  #IMPLIED >
 1523: <!-- 
 1524: ==================================== Update ====================================
 1525: A modification to an existing NewsItem. This can be an insertion, replacement
 1526: or deletion. Note that the Update element cannot be used to modify the
 1527: NewsManagement or Identification element, or any of their descendants.
 1528: Modifications to these parts of the NewsItem can be made by issuing the
 1529: NewsItem under the current revision number, with only the Identification and
 1530: NewsManagement elements present. These will replace the previous Identification
 1531: and NewsManagement elements in their totality.
 1532: ================================================================================
 1533: -->
 1534: <!ELEMENT Update  (InsertBefore | InsertAfter | Replace | Delete )*>
 1535: <!ATTLIST Update  %localid; >
 1536: <!-- 
 1537: =================================== Urgency ====================================
 1538: An indication of the urgency of a NewsItem. The value of the FormalName
 1539: attribute is a formal name for the Urgency. Its meaning and permitted values
 1540: are determined by a controlled vocabulary as described in the comment to the
 1541: formalname ENTITY declaration above.
 1542: ================================================================================
 1543: -->
 1544: <!ELEMENT Urgency EMPTY>
 1545: <!ATTLIST Urgency  %localid;
 1546:                    %formalname; >
 1547: <!-- 
 1548: ===================================== Url ======================================
 1549: A URL that can be used to locate a Resource.
 1550: ================================================================================
 1551: -->
 1552: <!ELEMENT Url  (#PCDATA )>
 1553: <!ATTLIST Url  %localid; >
 1554: <!-- 
 1555: ===================================== Urn ======================================
 1556: A URN that provides a global identifier for a resource. This will typically (but
 1557: not necessarily) be a NewsML URN as described in the comment to PublicIdentifier.
 1558: ================================================================================
 1559: -->
 1560: <!ELEMENT Urn  (#PCDATA )>
 1561: <!ATTLIST Urn  %localid; >
 1562: <!--
 1563: ================================= UsageRights ==================================
 1564: Information about the usage rights pertaining to a NewsComponent. 
 1565: ================================================================================
 1566: -->
 1567: <!ELEMENT UsageRights  (UsageType? , Geography? , RightsHolder? , Limitations? , StartDate? , EndDate? )>
 1568: <!ATTLIST UsageRights  %localid;
 1569:                        %assignment; >
 1570: <!-- 
 1571: ================================== UsageType ===================================
 1572: A natural-language indication of the type of usage to which the rights apply.
 1573: ================================================================================
 1574: -->
 1575: <!ELEMENT UsageType  (#PCDATA | Origin )*>
 1576: <!ATTLIST UsageType  %localid;
 1577:                      xml:lang   CDATA  #IMPLIED
 1578:                      %assignment; >

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>