NSML 3.1 Specification
NSML 3.1 Specification
iNEWS NRCS
Version 3.1
30 August 2010
NOTICE: Avid Technology, Inc. accepts no responsibility for the accuracy of the
information contained herein and reserves the right to change the contents without prior
notice.
News Story Markup Language v3.1 30 August 2010
Engineering Specification
1 Introduction
The purpose of this document is to define the News Story Markup Language (NSML). NSML is an SGML
based markup which is used to express all the content and information about a story. It also can describe a
form that can be used to describe the presentation of fields when displayed.
NSML is used to express seven separate aspects of a story. NSML expresses meta information about a
story in the <head> section; it expresses the appearance of the story when displayed in the <form>
section; it expresses the story content in the <fields>, <body>, and <aeset> sections; and it expresses
arbitrary attachments in the <field-atts> and <aeset-atts> sections.
2
News Story Markup Language v3.1 30 August 2010
Engineering Specification
The <bg> tag was added to allow background color highlighting to a sequence of characters. It is similar
to the <b>, <i>, and <u> tags.
The <rtl> tag was added to denote a right to left sequence of characters. It is similar to the <b>, <i>,
and <u> tags.
Font, family, and pitch attributes were added to the <body>, <p>, <aeset>, <ae>, <mc>, and
<ap> tags.
A <bg> tag was added to hold a background color for text.
The <link> tag was added as content to the <p> and <ap> tags. The <show> and <url> tags were
added as content of the new <link> tag.
The <egroup> tag was added as content of the <head> tag..
The <storygroupid> tag was added as content of the <head> tag..
The <form> and <row> tags no longer set default values for all of the cell tag attributes.
Empty tags are now denoted with the “/>” sequence (<a/>, <meta/>, <pb/>, <tab/>, <wp/>, etc.)
All tag attributes names are in lower case.
All tag attribute values are enclosed in quotes.
All tag attributes have the form: name="value"
End tags are no longer optional. Neither are any start tags.
Hidden text has been eliminated. Most of the content was converted to attributes added the <ae> and
<mc> tags. A <hidden> tag was added to the <ae> content to accommodate text unique to ‘J’ type
anchored elements.
1.4 Precedence
Where the descriptive text of this specification differs with the syntax of the NSML XML Schema, the
Schema takes precedence and should be considered the correct definition of NSML.
2 NSML Grammar
The elements of a story are identified with NSML tags. These tags are organized in a hierarchy. At the top
of the hierarchy is the <nsml> tag which delimits a complete NSML document and contains the story meta
information, story content, story presentation, and attachment elements. The other elements of a story are
nested inside these elements as described by the NSML grammar.
The story grammar defines the ordering and nesting of the tags and story elements. There are two sets of
language elements: terminal – the actual words in the NSML language – and non-terminal – everything else.
The terminals are formatted as tags with their enclosing brackets “<>”, non-terminals are displayed in italic.
There is one predefined non-terminal, plain_text. Plain_text is defined to be regular characters, and
character entities denoted by the ampersand character. A CDATA section can be used to encapsulate
plain_text that contains many NSML markup characters that would otherwise be converted into character
entities.
3
News Story Markup Language v3.1 30 August 2010
Engineering Specification
Elements followed by a ‘?’ are optional and occur at most one time.
Elements must appear in the order they are listed. Elements that are listed as a group of elements separated
by a ‘|’ indicate a choice. When the group is defined to occur more than one time, the resulting set of
elements can occur in any order.
4
News Story Markup Language v3.1 30 August 2010
Engineering Specification
date_value ::= a decimal number representing seconds since 00:00:00 UTC, January 1, 1970
5
News Story Markup Language v3.1 30 August 2010
Engineering Specification
3 NSML Basics
NSML defines a set of tags that are embedded in the story document. NSML tags are delimited by a set of
angle brackets (< and >) and contain a tag name and optional tag attributes. For example the tag
<string id=”title”> has a tag name of string and one attribute id=”title”. Each tag has its
own set of attributes that may be applied to it. In the previous example the attribute name id is set to the
attribute value title. In general, attributes are optional and defaults are assumed if they are not specified.
There are some exceptions to this. The description of each tag in this document points out all of the
required attributes.
6
News Story Markup Language v3.1 30 August 2010
Engineering Specification
The number of characters in a tag, including the tag name and all attribute names and values but not
including the tag delimiters, cannot exceed 500. This excludes comments and CDATA sections (described
below).
Attribute values can be divided into three categories, TEXT, TOKEN and NUMBER values. A NUMBER
value is a string of decimal digits from the ASCII set 0-9. A TOKEN value is a string of ASCII characters
which has the same lexical constraints as tag and attribute names (same character set , same restrictions,
case-insensitive, etc.) A TEXT value is a string of bytes in the range 0x20 to 0xff excluding the double
quote character. TEXT values are case-sensitive. If a TEXT value contains characters not allowed in a
TOKEN then it must be enclosed in double quotes. Values of type TEXT are limited to 100 bytes.
The characters allowed in plain_text content are undefined. The plain_text content is treated as a sequence
of bytes. There are only two exceptions to this. When the plain_text content is parsed byte values in the
range 0x00 to 0x1f are stripped from the content and character entity conversion is done on the plain_text
content. The characters in the range 0x00 to 0x1f may be included in the plain_text content if represented
as character entities.
Plain_text can be encapsulated in a CDATA section. CDATA sections are used to escape blocks of text
containing characters that would otherwise be recognized as NSML markup. A CDATA section starts with
the nine character sequence ( <![CDATA[ ) and ends with the three character sequence ( ]]> ). Within a
CDATA section, only the end sequence ( ]]> ) is recognized as markup, so that left and right angle brackets
and ampersands may occur in the literal form; they need not be escaped using character entities. CDATA
sections cannot nest. Byte values in the range 0x00 to 0x1f, except 0x09, 0x0A, and 0x0D will be stripped
from CDATA sections.
3.5 Comments
Comments may be included anywhere (outside of tags) within an NSML document. Comments can only be
seen when viewing the raw form of the document. In almost all cases comments should be hidden from the
user’s view. It is allowable for applications that process a document to strip the comments from the
7
News Story Markup Language v3.1 30 August 2010
Engineering Specification
processed document. A comment is any characters between the four character start , “<!--“ and the four
character end “ -->” comment markers (i.e. <!-- Comment Text Here -->). No translation of
comment text is performed. This means that the characters ‘&’, ‘<’, and ‘>’ will be stored in the NSML
document unchanged. Comments cannot be nested - the first “ -->” encountered terminates the comment.
For details on other text that is not intended for display, see the < hidden> tag.
The version attribute is optional. Its value is TEXT that defines the NSML version used to compose a
document. It must read: version=”3.1”
If not specified an NSML parser is to assume that the document is an earlier version of NSML.
8
News Story Markup Language v3.1 30 August 2010
Engineering Specification
4.4 The <form> tag – define the appearance of the story fields
<form>
Function:
Defines a presentation/appearance of the story’s fields.
Descendents inherit all attributes unless overridden.
Attributes:
None
Contains:
row_tag *
Used in:
nsml_tag
The <form> and </form> tags enclose a presentation description for the fields of a story. It does not
contain any story content. All story content is defined within the <fields>, <body>, and <aeset>
tags. A form is a definition of the layout of the story fields on a “page” when viewed. An NSML document
9
News Story Markup Language v3.1 30 August 2010
Engineering Specification
need not contain a form definition. The presentation of the story is the responsibility of the application
displaying the document that must acquire a form.
The <body> and </body> tags enclose the text of the story. All text must be within paragraphs in the
body element.
The tabs= attribute is optional. Its value is a list of decimal numbers that, if specified, defines the tab stop
positions for all <tabs/> within the text. Each number in the list is the distance from the last stop. The
last value in the list may by a dash, this indicates that the last number in the list is to repeat indefinitely. The
numbers are in base units. For example, tabs=”40 -“ may be specified to place stops at every 40 base
units. If not specified tabs=”24” is assumed. If more than one number is specified in the list, the numbers
are separated by spaces (i.e. tabs=”72 144”).
The script= and width= attributes are optional. They are used to preserve the margin settings used for word
wrapping by the last application that modified the story. The width value is a decimal number that specifies
the width, in base units, used to word wrap the text contained in the <body> tag. The script value is a
decimal number that specifies the width, in base units, used to word wrap the text in the anchored elements.
If the script attribute is not present this indicates the story is not scripted. If the width attribute is not
present the application displaying the body text must choose an appropriate width. See description of
related <wp/> tag.
10
News Story Markup Language v3.1 30 August 2010
Engineering Specification
The pindent= attribute is optional. Its value is a decimal number that defines the left paragraph indent for
all paragraphs in the body of the story. The indent value is expressed in base units from the left. If not set it
is assumed to be zero.
The rindent= attribute is optional. Its value is a decimal number that defines the right paragraph indent for
all paragraphs in the body of the story. The indent value is expressed in base units from the right. If not set
it is assumed to be zero.
The findent= attribute is optional. Its value is a decimal number that defines the indent for the first line of
all paragraphs in the body of the story. The indent value is expressed in base units from the left. If not set it
is assumed to be the same as pindent.
The font= attribute is optional. Its value is a string that is the name of a font to be used for display
throughout the <body> of the story.
The family= attribute is optional. Its value is a decimal number in the range 0 to 5 that represents a font-
family. If not set it is assumed to be zero. The meaning of the font-family values are:
0 Don’t care
1 Roman
2 Swiss
3 Modern
4 Script
5 Decorative
The pitch= attribute is optional. Its value is a decimal number in the range 0 to 2 that represents a pitch
setting. If not set it is assumed to be zero. The meaning of the pitch values are:
0 default
1 fixed
2 variable
See the description of the attributes under the <body> tag description.
11
News Story Markup Language v3.1 30 August 2010
Engineering Specification
Contains:
Nothing
Used in:
head_tag
12
News Story Markup Language v3.1 30 August 2010
Engineering Specification
The wire= attribute is optional. If present it indicates that the story is an original, unmodified story received
from a wire service provider. Its value must be one of “f” (flash), “b” (bulletin), “u” (urgent), “r” (routine),
or “o” (other) to indicate the priority of the wire story. If not present, the story is not a wire story.
The mail= attribute is optional. If present it indicates that the story is an original, unmodified story received
as a mail message. Its value must be one of “read” or “unread” to indicate whether the receiver of the mail
message has viewed it. If not present, the story is not a mail message.
The locked= attribute is optional. If present it indicates that a user has locked the story. A user may restrict
access to a story by locking it in one of two ways. Its value must be one of “pass” or “user”. If the value is
“pass” then access is granted to users that can supply the correct password. If the value is “user” then
access is granted only to the user who locked the story. If not present, the story is not locked. See the
description of the <password> tag.
The words= attribute is optional. Its value is a decimal number that, if present, specifies the number of
countable words in the body of the story. Countable words are those words that contribute to the audio read
time of a story. If not present, the number of words is assumed to be zero.
The rate= attribute is optional. Its value is a decimal number that, if present, specifies the read rate to be
used to calculate the audio read time. The read rate is in words per minute. If not present, the rate is
assumed to be zero.
The break= attribute is optional. Its value is either either “true” / “1” or “false” / “0”. A true value indicates
that the story is a story in a rundown which marks a break or divider between segments of the rundown. If this
attribute is not present, false is assumed.
The mcserror= attribute is optional. Its value is either “true” / “1” or “false” / “0”. A true value indicates
that the story is a story in a rundown which contains machine control instructions and at least one of the
instructions cannot be understood by the machine control subsystem. If this attribute is not present, false is
assumed.
The hold= attribute is optional. Its value is either either “true” / “1” or “false” / “0”. A true value indicates
that the story is not eligible for automatic purge. A user will place a hold on a story that he wants to protect
from the automatic data base story purge policy. If this attribute is not present, false is assumed.
The float= attribute is optional. Its value is either either “true” / “1” or “false” / “0”. A true value indicates
that the story is a story in a rundown which has been “floated” by a user. A floating story deserves special
treatment in the rundown because it is not yet included as a story to go on-air. If this attribute is not present,
false is assumed.
The wordlength= attribute is optional. Its value is a decimal number that, if present, specifies the number
of characters that constitute a word in the body of the story.
The version= attribute is optional. Its value is a decimal number that, if present, specifies the version
number of the story. This number starts at 0 when a story is created.
13
News Story Markup Language v3.1 30 August 2010
Engineering Specification
The number= attribute is optional. It is a decimal number which is the internal group number associated
with the group name. It is valid to omit the group name and just specify the group number as in <rgroup
number=”20”/>. If not specified the story has no read group assigned to it.
The number= attribute is optional. It is a decimal number which is the internal group number associated
with the group name. It is valid to omit the group name and just specify the group number as in <wgroup
number=”20”/>. If not specified the story has no write group assigned to it.
The number= attribute is optional. It is a decimal number which is the internal group number associated
with the group name. It is valid to omit the group name and just specify the group number as in <egroup
number=”20”/>. If not specified the story has no editorial group assigned to it.
14
News Story Markup Language v3.1 30 August 2010
Engineering Specification
15
News Story Markup Language v3.1 30 August 2010
Engineering Specification
16
News Story Markup Language v3.1 30 August 2010
Engineering Specification
17
News Story Markup Language v3.1 30 August 2010
Engineering Specification
The idref= attribute is optional. It identifies the specific field from the <fields> section which is to be
displayed in this cell. It is the id value that is matched. If not specified the cell is assumed to be blank and
read-only.
The length= attribute is optional. Its value is a decimal number that, if present, defines the length in base
units of the cell. If not specified the length of the cell is assumed to be zero.
The style= attribute is optional. It defines the physical style of the field content displayed in the cell. If not
specified the cell inherits a style from the enclosing <row> or <form> tags. If no style is specified in
either the <cell>, <form> or <row> then the style defaults to normal. The style value must be one of
“b” (bold), “i” (italic), or “u” (underline) or a space separated list of those characters. For example
style=”b u” specifies a style of bold-underline. To specify a normal style, style=”” may be used.
The align= attribute is optional. It defines the alignment of the field content displayed in the cell. The
value must be one of “left”, “right”, or “center”. If not specified, “left” alignment is assumed.
A cell that references a field can inherit some behavior that is associated with the field’s id. For example, a
cell that references the TOTAL-TIME field will be read-only and must contain the sum of the TAPE-TIME
field and the story’s AUDIO-TIME field. This behavior is an implied attribute of the field with id=TOTAL-
TIME.
The ro= attribute is optional. Its value is either “true” / “1” or “false” / “0”. A true value indicates that the
cell is read-only. A cell is either read-write or read-only depending on the behavior inherited from the
referenced field. A cell than has this attribute set to “true” overrides the read-write access of the referenced
field. A cell presenting a field that is read-only can not force the cell to read-write. If this attribute is not
present, false is assumed which means the cell is read-write.
The aready= attribute is optional. Its value is either “true” / “1” or “false” / “0”. A true value indicates
that the field referenced by the cell via the idref= attribute is to acquire the aready attribute when a new
story is created. If this attribute is not present, false is assumed.
18
News Story Markup Language v3.1 30 August 2010
Engineering Specification
The content of a stringcell_tag is the text of the cell label. Each cell may have one label, the label appears
in its own presentation area either to the left, right, top or bottom of the cell. The stringcell_tag has some
attributes that affect the appearance of the label.
The llength= attribute is optional. Its value is a decimal number that, if present, defines the length in base
units of the cell label. If not specified the length of the cell label is assumed to be zero.
The lstyle= attribute is optional. It defines the physical style of the cell label. If not specified the cell label
inherits a style from the enclosing <row> or <form> tags. The lstyle attribute value has the same values
as the style attribute.
The lalign= attribute is optional. It defines the alignment of the cell label. The value must be one of “left”,
“right”, or “center”. If not specified, “left” alignment is assumed.
The lposition= attribute is optional. It defines the placement of the label relative to the cell. It must be one
of “left”, “right”, “top”, or “bottom”. If not specified “top” is assumed.
The limit= attribute is optional. Its value is either “true” / “1” or “false” / “0”. A true value indicates that
the text content of the field referenced by the cell via the idref= attribute is limited to what fits into the
visible space of the cell as defined by the length= attribute. If this attribute is not present, false is assumed.
The wg= attribute is optional. It defines a write group that restricts editing of the field to members of that
group. It is a decimal number which is the internal group number of the group. If not specified the
cell/field has no write group assigned to it. If this attribute is present it affects the ro= attribute of the
corresponding field only when that attribute is false and the user attempting to edit the field is not a member
of the group.
The mandatory= attribute is optional. Its value is either “true” / “1” or “false” / “0”. A true value
indicates that the field referenced by the cell via the idref= attribute cannot be empty. If this attribute is not
present, false is assumed.
19
News Story Markup Language v3.1 30 August 2010
Engineering Specification
20
News Story Markup Language v3.1 30 August 2010
Engineering Specification
The locked= attribute is optional. It determines the behavior of the combobox field. Its value is either
”true” | “1” | “false” | “0”. A true value indicates only entries in the drop down list can be entered into the
field. Otherwise any text can be entered into the field. If this attribute is not present, “true” is assumed
See the description of the other attributes under the stringcell_tag description.
The bg= attribute is optional. It defines a background color that will be applied to the field when this entry
is selected from the combobox list. It is a decimal number which identies a system color. System colors
are not defined in this specification. If not specified it defaults to zero and implies that no background color
will be applied to the field.
21
News Story Markup Language v3.1 30 August 2010
Engineering Specification
The bg= attribute is optional. It defines a background color that will be applied to the field when a member
of the group is selected from the combobox list. It is a decimal number which identies a system color.
System colors are not defined in this specification. If not specified it defaults to zero and implies that no
background color will be applied to the field.
The id= attribute is required. This is the name of a system list that contains zero or more text strings.
The bg= attribute is optional. It defines a background color that will be applied to the field when entry in
the system list is selected from the combobox list. It is a decimal number which identies a system color.
System colors are not defined in this specification. If not specified it defaults to zero and implies that the
background color contained in the system list for an entry will be applied to the field.
22
News Story Markup Language v3.1 30 August 2010
Engineering Specification
The <string> and </string> tags enclose plain_text which is uniquely associated with an identifier.
The id= attribute is required. It uniquely identifies the field in the story so that it may be referenced and
used. The id is referenced by the idref= attribute of a stringcell_tag or a comboboxcell_tag within the
<form> element of the NSML document. Each story will have only one field with a specific id. There are
23
News Story Markup Language v3.1 30 August 2010
Engineering Specification
some reserved ids that identify fields with specific meaning and in some cases contain system-supplied
content.
24
News Story Markup Language v3.1 30 August 2010
Engineering Specification
WRITER character string User name of the writer taking credit for the story.
•
The back-time and cume-time field content has a special encoding. The hard in/out times are expressed in
seconds as either a relative time or an absolute time (a.k.a. time of day.) The time is assumed to be relative
unless the first character of the field is a @ character. For example a back-time content of 600 specifies a
hard in-time of 10 minutes relative to the start of the show. A back-time content of @600 specifies a hard
in-time of 12:10:00 am (10 minutes passed midnight.)
The uec= attribute is optional. Its value is either “true” / “1” or “false” / “0”. A true value indicates that a
user has entered content to override the system supplied content normally provided in the field. It is only
significant for fields that may contain system supplied content.
The urgency= attribute is optional. Its value may be a decimal number from the 1 through 9 (if not
specified “1” is assumed.) It is intended as a clue to the applications that the data in this field has some
exceptional meaning and may need to be brought to the users attention. The specific method for presenting
this information to the user is not defined by NSML. It could be ignored. The specific meaning of the
urgency is dependent on the specific id.
The aready= attribute is optional. Its value is either “true” / “1” or “false” / “0”. A true value indicates
that the content of the field affects the content of the READY field. Specifically, if any field with the
aready attribute has a ? (question mark) as the first character of its content or it has no content, the READY
field will have a ? as its content. If this attribute is not present, false is assumed.
The ro= attribute is optional. Its value is either “true” / “1” or “false” / “0”. A true value indicates that the
field is read-only. This attribute is used in conjuction with the same attribute in the <stringcell> tag that
references this <string>. Applications should only allow modifications to this <string> when the ro
attributes of the <stringcell> and the <string> cell are both “false”. If this attribute is not present, false is
assumed.
The bg= attribute is optional. It defines a background color that will be applied to the field. This attribute
is acquired when an entry is selected from a combobox list. It is a decimal number which identies a system
color. System colors are not defined in this specification. If not specified it defaults to zero and implies
that no background color will be applied to the field.
25
News Story Markup Language v3.1 30 August 2010
Engineering Specification
The id= attribute is required. It uniquely identifies the field in the story so that it may be referenced and
used. The id is referenced by the idref= attribute of a checkboxcell_tag within the <form> element of the
NSML document.
The id= attribute is required. It uniquely identifies the field in the story so that it may be referenced and
used. The id is referenced by the idref= attribute of a datecell_tag within the <form> element of the
NSML document.
The id= attribute is required. It uniquely identifies the field in the story so that it may be referenced and
used. The id is referenced by the idref= attribute of a durationcell_tag within the <form> element of the
NSML document.
26
News Story Markup Language v3.1 30 August 2010
Engineering Specification
The <p> and </p> tags enclose the text of a paragraph. All text is inside paragraphs. See the description
of the font=, family=, and pitch= attributes under the <body> tag description.
Content-based tags attach a specific meaning, context or usage to the enclosed text. Applications parsing
the NSML document can use these tags to do content based processing on the text.
The <pi> and </pi> tags enclose text which are instructions to the presenter reading the story on-air.
This text is not included in the timing of the story. It is not intended for display on the closed caption
device and is intended for display on the prompter.
The <cc> and </cc> tags enclose text which is not read by the presenter on-air but is usually part of a
package voice-over which is to be closed captioned. This text is not included in the timing of the story. It is
not intended for display on the prompter.
The physical style tags may be nested in the content-based tags to create highlighting effects. Applications
are free to render nested styles in content-based text in any way that matches their capabilities. If an editing
application is limited in its ability to present the styles to the user in a meaningful way it is free to strip the
physical styles it cannot handle.
27
News Story Markup Language v3.1 30 August 2010
Engineering Specification
The physical style tags enclose text that is to be enhanced when presented to the user. Physical style tags
may be nested within other physical style tags to combine highlighting effects. Applications are free to
render styles in any way that matches their capabilities but the standard or preferred renderings are <b> to
bold, <i> to italic and <u> to underline. If an editing application is limited in its ability to present the styles
to the user in a meaningful way it is free to strip the combinations of styles it cannot handle.
These tags are unlike the content-based tags in that they do not identify the enclosed content, they are just
available to the user to highlight words to improve readability.
This tag is to assist in the handling of numbers for right to left environments. This is not needed for
characters that have right-to-left Unicode property. It is needed for characters that do not have that property
but should be handled similarly. This is the case with digit characters.
The <bg> tag encloses text that is to be enhanced when presented to the user. This tag may be nested within
other physical style tags to combine highlighting effects. Applications are free to render them in any way
that matches their capabilities.
28
News Story Markup Language v3.1 30 August 2010
Engineering Specification
The rgb= attribute is optional. Its value is a string of exactly six hexadecimal characters Each pair of
hexadecimal characters represent the red, green, and blue components of the color in that order.
The <pb/> tag indicates that when printing a story a page break is to occur at that position in the text.
The <tab/> tag indicates that the next character is to start at the next tab stop position.
The <wp/> tags will appear at the positions in the text where the word wrapping was performed by the last
application to modify the text. These wrap points may be used by an application if it wishes to present the
text of the story with the same appearance as it last appeared.
The <sb/> tag can be used by applications as a text marker and has no other significance in NSML. It can
be used in conjunction with video/audio sequences to indicate transition points of the sequence relative to
the text.
29
News Story Markup Language v3.1 30 August 2010
Engineering Specification
The <a/> tag marks the spot within a paragraph of the document body at which an anchored element is
referenced. The order and position of these anchors are intended to determine the order and position of the
anchored elements when displayed by an application.
The idref= attribute is required. Its value is a decimal number that identifies a specific anchored element in
the <aeset> that is referenced by this element. The value of the number must be between 0 and 255
inclusive.
The content of the <show> tag, if present, can be displayed and highlighted to denote the link.
30
News Story Markup Language v3.1 30 August 2010
Engineering Specification
The content of the <url> tag is the actual link to be used to retrieve or navigate to the referenced object.
The <ae> and </ae> tags enclose an anchored element. An anchored element is an object that is
anchored at a specific position in the body of the document. How these objects are displayed is dependent
on the object content and the application displaying the object. Anchored elements are referenced by
anchors (a_tags) within body paragraphs. The anchored elements are expected to be the same sequence as
their corresponding anchors within the story body.
The id= attribute is required. Its value is a decimal number that uniquely identifies the anchored element in
the story so that it may be referenced and used. The id is referenced by the idref= attribute of the a_tag
within the <body> element of the NSML document. Each id is unique within an anchored element set
(<aeset>). The value of the number must be between 0 and 255 inclusive.
The version= attribute is optional. Its value is plain_text. It is typically a News Server version number or
a News Client version number of the agent that created or modified the ancored element. The iNEWS
Server typically supplies version=“S3.0”. This can be used to account for changes between versions of the
server and the client.
31
News Story Markup Language v3.1 30 August 2010
Engineering Specification
The type= attribute is optional. Its value is plain_text. It is used to determine the type of information that
may be contained in the anchored element. Known types are “G” (General), “M” (MOS), “V” (Video),
“J” (Journalist Editor). If this attribute is not present “G” is assumed. Applications should allow for other
types. Applications should preserve anchored elements with a type that is not known to the application.
The runs= attribute is optional. Its value is a decimal number that represents the runs time of the anchored
element. If not set it is assumed to be zero. For “G” and “M” type elements this value is the sum of all of
the “RUNS=” values found in the content of the anchored element.
See the description of the font=, family=, and pitch= attributes under the <body> tag description.
32
News Story Markup Language v3.1 30 August 2010
Engineering Specification
The <mc> and </mc> tags enclose machine control instructions which are understood by Machine Control
Subsystem of the News System.
The error= attribute is optional. Its value is either “true” / “1” or “false” / “0”. A true value indicates that
the News System’s Machine Control Subsystem was not able to understand or carry out the instructions
contained within the tag. If this attribute is not present, false is assumed.
The idref= attribute is optional. It identifies a specific attachment in the <aeset-atts> section which
“belongs” to this machine control element. It is the id value that is matched. If not specified there is no
attachment that “belongs” to this machine control element.
The flags= attribute is optional. Its value is a sequence of characters that can be used by applications that
manipulate the machine control information. Currently there can be as many as five characters. The values
and meaning are:
The runs= attribute is optional. Its value is a decimal number that represents the runs time of the machine
control element. If not set it is assumed to be zero.
The status= attribute is optional. Its value is a decimal number in the range 0 to 255 that represents the
status as reported from the the News System’s Machine Control Subsystem. The meanings of the values are
not defined in NSML.
See the description of the font=, family=, and pitch= attributes under the <body> tag description.
33
News Story Markup Language v3.1 30 August 2010
Engineering Specification
The <ap> and </ap> tags enclose the text of a paragraph in anchored elements and machine control
elements. Ap_text is differentiated from text because ap_text cannot contain <pb/> or <a/> tags.
See the description of the font=, family=, and pitch= attributes under the <body> tag description.
The id= attribute is required. It uniquely identifies the attachment in the story so that it may be referenced
and used. It is beyond the scope of the NSML specification to define where references to the attachment
reside or how they are used.
12 Example
<?xml version="1.0"?>
<nsml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://avid.com/nsml nsml.xsd"
xmlns=http://avid.com/nsml
version="3.1">
<head>
<meta words="56" rate="180"/>
<formname>RUNDOWN-AIRDATE</formname>
34
News Story Markup Language v3.1 30 August 2010
Engineering Specification
<storyid>0d7bd190:00f0a7ee:43949af4</storyid>
</head>
<projects>
<project>fa8e61212f064ee0ae477c6225a54282</project>
<facet>fa8e61212f064ee0ae477c6225a54282f4ba2a87bed44344a04d35a5580baa9b</facet>
</projects>
<fields>
<string id="page-number">B01</string>
<string id="presenter">EC</string>
<string id="title">N:UNABOMBER HOUSE</string>
<string id="var-3">VO/W</string>
<string id="video-id">txfer310</string>
<string id="event-status"/>
<string id="status">OK</string>
<string id="item-channel"></string>
<duration id="audio-time">18</duration>
<duration id="runs-time">22</duration>
<duration id="total-time">40</duration>
<date id="modify-date">1133812468</date>
<string id="modify-by">csquire</string>
<string id="endorse-by"/>
<string id="cume-time"/>
<duration id="tape-time" />
<string id="back-time"/>
<date id="air-date">1121180576</date>
</fields>
<body>
<p>
<a idref="0"/>
<pi>((EILEEN ANIM. BOX))</pi>
</p>
<p>
<tab/>IN OTHER NATIONAL NEWS... THE COUNTRY'S MOST FAMOUS
SHACK IS ON THE MOVE TONIGHT.</p>
<p>
<a idref="1"/>
<pi>((TAKE vo))</pi>
</p>
<p>
<pi><b>bold<i>italic<a idref="5"/></i></b></pi>
<a idref="2"/>
<cc>xxx</cc>
<a idref="3"/> THE MONTANA HOME OF UNABOMBER SUSPECT TED
KACZYNSKI IS UNDER A TARP, ON THIS TRUCK, HEADING TO
SACRAMENTO.
35
News Story Markup Language v3.1 30 August 2010
Engineering Specification
</p>
<p>
<tab/> JURORS WILL BE GETTING A TOUR OF THE CABIN.</p>
<p>
<tab/>BY SHOWING HOW HE LIVED, DEFENSE ATTORNEYS ARE HOPING
TO PROVE KACZYNSKI IS MENTALLY ILL.</p>
<p>
<a idref="4"/>
<pi>((wipe vo))</pi>
</p>
<p> </p>
</body>
<aeset>
<ae id="0" version="S3.0">
<ap>EILEEN ANIM. BOX</ap>
</ae>
<ae id="1" version="S3.0" type="G" runs="0">
<ap>TAKE v/o</ap>
</ae>
<ae id="5" version="S3.0" type="M" runs="22">
<mc idref="1" flags="NNYAM" runs="22">
<ap>video Unabomber (VO)</ap>
</mc>
<ap>runs 0:22</ap>
</ae>
<ae id="2" version="S3.0" type="G" runs="0">
<mc>
<ap>CG NAT1</ap>
<ap>NEAR GREAT FALLS, MT</ap>
</mc>
</ae>
<ae id="3" version="S3.0" type="G" runs="0">
<mc>
<ap>CG NAT</ap>
</mc>
</ae>
<ae id="4" version="S3.0" type="G" runs="0">
<ap>wipe v/o----------------</ap>
</ae>
</aeset>
<aeset-atts>
<attachment
id="1"><![CDATA[<AttachmentContent><mos><mosID>mosid.inews</mosID>
<mosItemBrowserProgID> </mosItemBrowserProgID><mosAbstract>Unabomber
(VO)</mosAbstract>
36
News Story Markup Language v3.1 30 August 2010
Engineering Specification
<objID>60A10000</objID><objSlug>Unabomber</objSlug><objTB>60</objTB>
<objDur>1323</objDur><itemEdDur>1</itemEdDur>
<itemID>1</itemID></mos></AttachmentContent>
]]></attachment>
</aeset-atts>
</nsml>
37