At the 2020 IPTC Spring Meeting in May, the IPTC Standards Committee endorsed version 2.29 of our flagship news markup and syndication standard, NewsML-G2.

Version 2.29, including the 2.29 XML Schema, example documents and schema documentation, can be downloaded from https://iptc.org/std/NewsML-G2/2.29/ or from the NewsML-G2 GitHub repository at https://github.com/iptc/newsml-g2.

The NewsML-G2 Guidelines have been updated to reflect the latest changes in the schema. The NewsML-G2 Specification will be updated soon.

Summary of changes in NewsML-G2 2.29

Below we summarise the changes made in version 2.29. A full change history of NewsML-G2 up to and including version 2.28 is documented in Changes to NewsML-G2 and related Standards section of the NewsML-G2 Guidelines.

Affiliation for organisation details

Up to an including v2.28, Affiliations could be expressed only for Persons, using <personDetails>. Recent use cases pointed to the need for Affiliations to be added to Organisations. In order to do this, a new Property Type, OrganisationAffiliationType, has been created. This is a copy of PersonAffiliationType, with the addition of a new attribute group, FlexOrganisationPropType, which enables @role/@roleuri to be used.

Example: Organisation affiliated with another Organisation

Acme Financials is a member of Financial Group ABC

<assert qcode="example-org:123">
    <name>Acme Financials</name>
    <organisationDetails>
        <affiliation role="example-affrole:memberOf" type="cpnat:organisation" qcode="example-fingroup:ABC"/>

Example: Person affiliated with an Organisation

John Smith is:

  • Employed by Club A

  • Supporter of Club B

<assert qcode="example-pers:22">
    <name>John Smith</name>
    <personDetails>
        <affiliation role="example-affrole:employedBy" type="cpnat:organisation" qcode="example-club:A"/>
        <affiliation role="example-affrole:supporterOf" type="cpnat:organisation" qcode="example-club:B"/>

Retiring a Scheme

In its initial design, NewsML-G2 provided for Concepts to be retired, by using the @retired attribute of conceptId. As the standard has matured, we have reached the point where entire Schemes need to be retired. The issue, as with retiring Concepts, is how this can be done without breaking existing NewsML-G2 Items.

There are two changes that support this use case:

  • Add the attributes @schemecreated, @schememodified and @schemeretired to scheme to be used in Catalogs

  • Add the attributes @schemecreated, @schememodified and @schemeretired to schemeMeta to be used in Knowledge Items.

For details, see Scheme Metadata and <scheme> properties.

 

For any questions regarding NewsML-G2, please post to the NewsML-G2 discussion forum.