Pointers for creating XML compatible with NavigaDoc

Saving documents in NavigaDoc format using CCA means that CCA will transform the NavigaDoc to XML before saving it to Open Content. In order to avoid data loss there are some pointers that one should stick to when creating NewsML (via a Writer plugin for example).

For a more detailed walkthrough of NavigaDoc, see Walk-through the NavigaDoc format.

Do not change any legacy XML structures in your NewsML documents to adhere to the instructions below since this will have a huge impact on producers and consumers of the documents.

Articles

Article is the content type that is most prone to changes/variations in the format due to the different Writer plugins, both "Naviga" and customer plugins, that can modify the format.

Use itemMeta

In NewsML, you have the option to put your metadata under <itemMeta> or <contentMeta>. For a seamless handling in CCA be sure to put your elements under <itemMeta>.

In addition, use <itemMetaExtProperty> instead of <contentMetaExtProperty>.

The exception to sticking to itemMeta are the meta blocks in NavigaDoc. These will be mapped to <contentMeta>.

The data element

Although the <data> element is supposed to be a placeholder for "any" data, avoid nesting of elements (use links for nesting). Also, use the element text and avoid using attributes. Below is an example of a CCA friendly XML snippet.

<data>
    <title>If miss part by fact he park just shew</title>
    <text>Discovered had get considered projection who favourable.</text>
    <subject>Necessary up knowledge it tolerably</subject>	
    <number>2</number>
</data>

Exceptions

For legacy reasons, the exceptions below are handled differently than the way described above by CCA and should therefore not be moved or changed in the NewsML.

These links will be mapped under <contentMeta> by CCA:

  • @type=x-im/articlesource

  • @type=x-im/premium

  • @type=x-im/articletype

  • @type=x-geo/point

  • @type=x-im/contenttype

  • @type=x-im/articlecontent

  • @type=x-im/articlecontenttype

  • @type=x-im/category and @rel=category

  • @type=x-im/articleoptions

  • @type=x-im/articleoptions/plus

  • @type=x-im/articleoptions/comments and @rel=comment

  • @type=x-im/plus

These properties will be mapped to <contentMeta> by CCA:

  • @type=imext:header

  • @type=imext:subheader

  • @type=imext:deck

  • @type=uri

  • @type=altId

  • @type=infosource

  • @type=contentcreated

  • @type=contentmodified

  • @type=type

  • @type=by

  • @type=headline

  • @type=provider

  • @type=imext:simplebyline

  • @type=infoSource

  • @type=language

The "has published version" flag

In order to be able to work with a draft version of an already published article, a property (or flag) is used (see snippet below).

<newsItem>
    <itemMeta>
        <itemMetaExtProperty type="imext:haspublishedversion" value="false"/>
    </itemMeta>
<newsItem>

The value for this flag should be set to true when the articles is published ("usable") and to false whenever the article is unpublished ("canceled"). Until the article has been published this flag should be set to false.

XSD

Even though the NewsML format is huge and extendable, keep to rules defined in the XSD below when adding your metadata and content XML to your NewsML documents.

Last updated