Tag
Hash :
5151c06f
Author :
Date :
2001-10-23T13:10:19
fixed an erroneous validation bug when PE refs occurs in external parsed * parser.c: fixed an erroneous validation bug when PE refs occurs in external parsed entities referenced from the internals subset * test/valid/index.xml test/valid/dtds/nitf-2-5.dtd test/valid/dtds/NewsMLv1.0.dtd result/valid/index.xml*: added the associated testcase, it's a nice one. * HTMLparser.c: generate the DTD node as HTML still ... * HTMLtree.c: fixed errors in Set/GetMetaEncoding Daniel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578
<!--
===========================================
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; >