The namespace name http://www.prevo.com/namespace/nfm/links/ is intended for use in various specifications such as:

  • NFM - NASA Format for the Millennia

The purpose of the NFM Links namespace is to be able to define a simple list of link targets to be used for navigating within a document. It provides a fast way to determine where a viewer should position itself within the document for a specific link target name.

The following is the DTD for the NFM Links associated with the NFM Links namespace:

  <!ENTITY % PageNo "CDATA">
    <!-- A decimal integer page number from 1 to the number of pages in the document. -->

  <!ENTITY % VisPosition "CDATA">
    <!-- A point or rectangle to make visible if possible. A point is specified as x,y and
            a rectangle is specified as left,top,right,bottom. The coordinates are specified
            as floating-point decimal notation numbers in millimeters. -->

  <!ELEMENT Links (Target*)>
  <!ELEMENT Target EMPTY>
  <!ATTLIST Target
    Name         NMTOKEN        #REQUIRED
    Page         %PageNo;       #REQUIRED
    Position     %VisPosition;  #IMPLIED
    Description  CDATA          #IMPLIED
    >

An NFM Links entity starts with a single top-level Links element. The Links element may contain zero or more Target elements.

Each Target element must have a Name attribute. URI's can refer to this target by ending a URI with a pound sign (#). If a URI begins with the pound sign, it denotes that the hyperlink points to a target contained within the current document.

Each Target element must have a Page attribute. This specifies which page number the target is located on. The page number is specified as a decimal integer from 1 to the number of pages in the document. If the page number is less than 1, it is assumed that it should have been 1. If the page number is greater than the number of pages in the document, it is assumed that it should have been the last page of the document.

Each Target element may have a Position attribute. The Position attribute hints to the viewer what point or rectangle within the page that the viewer should try to make visible. This is most useful when the whole page doesn't fit in the visible area of the viewer. If the Position attribute is not specified, it defaults to the media box, which covers the entire physical page. The value of this attribute is specified as two floating-point decimal notation numbers denoting the x and y coordinates of the point in millimeters or four floating-point decimal notation numbers denoting the upper left and lower right corners of the rectangle in millimeters. The numbers are specified in the following order: x, y for a point or left, top, right, bottom for a rectangle. If a viewer does not support a rectangle position, it may use the first two values as if a point was specified. Note: In NFM, the origin of a page (0,0) is at the bottom left corner of the page.

Each Target element may have a Description attribute. The Description attribute is highly recommended as it may be very useful for devices such as screen readers that can assist blind, visually impaired, illiterate or learning disabled people with navigation of a document.

The following is an example of an NFM Links element embedded in a Metadata element of an NFM document:

  <Metadata Metadata_Type="Links" xmlns:L="http://www.prevo.com/namespace/nfm/links/">
     <L:Links>
        <L:Target L:Name="first" L:Page="1" />
        <L:Target L:Name="origin" L:Page="1" L:Position="72,720"
                  L:Description="Origin and Goals" />
        <L:Target L:Name="terms" L:Page="1" L:Position="72,498.5"
                  L:Description="Terminology" />
        <L:Target L:Name="word" L:Page="3" L:Position="72,720,540,708"
                  L:Description="Word Structure" />
        <L:Target L:Name="sent" L:Page="3" L:Position="72,350.25,540,338.25"
                  L:Description="Sentence Structure" />
        <L:Target L:Name="para" L:Page="4" L:Position="72,720,540,708"
                  L:Description="Paragraph Structure" />
        <L:Target L:Name="idx" L:Page="5"
                  L:Description="Index" />
        <L:Target L:Name="last" L:Page="6" />
     </L:Links>
  </Metadata>