associationField Element

The associationField element contains the schema information required to create a form field for specifying a relationship between an instance of the topic type defined by the parent topicType element and other topics in the topic map. The associationField element has the following syntax:

<nf:associationField>
  <nf:associationType id="...">
    <nf:subjectIdentifier> PSI </nf:subjectIdentifier>
    <nf:displayName> NAME </nf:displayName>
    <nf:extension ... > ... </nf:extension>
  </nf:associationType>
  <nf:thisRole id="..."
      minCardinality="MINCARD"
      maxCardinality="MAXCARD">
    <nf:subjectIdentifier> PSI </nf:subjectIdentifier>
    <nf:displayName> NAME </nf:displayName>
    <nf:extension ... > ... </nf:extension>
    <nf:rolePlayerType id="..." 
        isAbstract="true|false"
        minCardinality="MINCARD"
        maxCardinality="MAXCARD"
        associationSpecificCardinality="true|false">
      <nf:subjectIdentifier> PSI </nf:subjectIdentifier>
      <nf:displayName> NAME </nf:displayName>
      <nf:extension ... > ... </nf:extension>
   </nf:rolePlayerType>
  </nf:thisRole>
  <nf:otherRole id="..."
      minCardinality="MINCARD"
      maxCardinality="MAXCARD">
    <nf:subjectIdentifier> PSI </nf:subjectIdentifier>
    <nf:displayName> NAME </nf:displayName>
    <nf:extension ... > ... </nf:extension>
    <nf:rolePlayerType id="..."
        isAbstract="true|false"
        minCardinality="MINCARD"
        maxCardinality="MAXCARD"
        associationSpecificCardinality="true|false">
      <nf:subjectIdentifier> PSI </nf:subjectIdentifier>
      <nf:displayName> NAME </nf:displayName>
      <nf:extension ... > ... </nf:extension>
   </nf:rolePlayerType>
  </nf:otherRole>
  ...
</nf:associationField>
nf:associationField/nf:associationType

Contains information about the association type for the relationship. This element is REQUIRED and NON-REPEATABLE

Note

Each associationField element specifies the roles and role players for one association type / role type binding for the topic type. NPCL allows a topic to be constrained to be a role player in a specific role type without specifying which association type that role must be in - in such cases, a complete NPCL Forms document will list all possible combinations of that role type and association types that allow that role type to occur as separate associationField elements.

nf:associationField/nf:associationType/@id

Contains the ID of the association type that gives rise to this field. If the schema is stored in a topic map in a TMCore database, then the value of this attribute will be the OID of the topic that defines the association type.

nf:associationField/nf:associationType/nf:subjectIdentifier

Contains a single subject identifier URI for the association type. This element is OPTIONAL and REPEATABLE.

nf:associationField/nf:associationType/nf:displayName

Contains a display label for the association type. This element is OPTIONAL and NON-REPEATABLE.

nf:associationField/nf:associationType/nf:extension

Contains a single NPCL schema extension value for the association type. This element is OPTIONAL and REPEATABLE.

nf:associationField/nf:thisRole

Contains the schema information for the type of role that can be played by this topic type. This element is REQUIRED and NON-REPEATABLE.

nf:assocaitionField/nf:thisRole/@id

Contains the ID of the role type that is played by this topic type. If the schema is stored in a topic map in a TMCore database, the value of this attribute will be the database OID of the topic that defines the role type.

nf:associationField/nf:thisRole/@minCardinality

Specifies the lower bound on the number of times an instance of the topic type must play the role defined by the parent thisRole element. This attribute is REQUIRED and its value must be a non-negative integer.

nf:associationField/nf:thisRole/@maxCardinality

Specifies the upper bound on the number of times an instance of the topic type must play the role defined by the parent thisRole element. This attribute is REQUIRED and its value must be either a non-negative integer or the string "unbounded" to indicate that there is no upper bound.

nf:associationField/nf:thisRole/@associationSpecificCardinality

A boolean field that indicates if the cardinality values specified by the minCardinality and maxCardinality attribute apply to any association in which the topic plays the type of role defined by the thisRole element (when the attribute value is 'false'), or only to the associations of the type defined by the associationType element in which the topic plays the type of role defined by the thisRole element (when the attribute value is 'true'). This attribute is OPTIONAL and if not present defaults to the value 'false'.

nf:associationField/nf:thisRole/nf:subjectIdentifier

Contains a single URI subject identifier for this role type. This element is OPTIONAL and REPEATABLE.

nf:associationField/nf:thisRole/nf:displayName

Contains a display label for the role type. This element is OPTIONAL and NON-REPEATABLE.

nf:associationField/nf:thisRole/nf:extension

Contains a single NPCL schema extension value for this role type. This element is OPTIONAL and REPEATABLE.

nf:associationField/nf:thisRole/nf:rolePlayerType

Contains the schema information for one of the types of topic that can play the role type defined by the parent thisRole element. This element is REQUIRED and REPEATABLE.

nf:associationField/nf:thisRole/nf:rolePlayerType/@id

Contains the ID of the topic type that is described by this rolePlayerType element. If the schema is stored in a topic map in a TMCore database then the value of this attribute will be the database OID of the topic that defines the topic type.

nf:associationField/nf:thisRole/nf:rolePlayerType/@isAbtract

Contains a boolean value indicating if the topic type described by this rolePlayerType element is marked as abstract in the schema.

nf:associationField/nf:thisRole/nf:rolePlayerType/@minCardinality

Specifies the lower bound on the number of times an instance of this role player topic type must play the role defined by the parent thisRole element. This attribute is REQUIRED and its value must be a non-negative integer.

nf:associationField/nf:thisRole/nf:rolePlayerType/@maxCardinality

Specifies the upper bound on the number of times an instance of this role player topic type must play the role defined by the parent thisRole element. This attribute is REQUIRED and its value must be either a non-negative integer or the string "unbounded" to indicate that there is no upper bound.

nf:associationField/nf:thisRole/nf:rolePlayerType/@associationSpecificCardinality

A boolean field that indicates if the cardinality values specified by the minCardinality and maxCardinality attribute apply to any association in which the topic plays the type of role defined by the parent thisRole element (when the attribute value is 'false'), or only to the associations of the type defined by the ancestor associationType element in which the topic plays the type of role defined by the parent thisRole element (when the attribute value is 'true'). This attribute is OPTIONAL and if not present defaults to the value 'false'.

nf:associationField/nf:thisRole/nf:rolePlayerType/nf:subjectIdentifier

Contains a single URI subject identifier for this role player topic type. This element is OPTIONAL and REPEATABLE.

nf:associationField/nf:thisRole/nf:rolePlayerType/nf:displayName

Contains a single displayable label for this role player topic type. This element is OPTIONAL and NON-REPEATABLE.

nf:associationField/nf:thisRole/nf:rolePlayerType/nf:extension

Contains a single NPCL schema extension value for the role player topic type. This element is OPTIONAL and REPEATABLE.

nf:associationField/nf:otherRole

Contains the schema information for one of the other types of role allowed on the association. This element is OPTIONAL and REPEATABLE.

nf:associationField/nf:otherRole/@minCardinality

Specifies the lower bound on the number of times a role of this type may appear in the association. This attribute is REQUIRED and its value must be a non-negative integer.

nf:associationField/nf:otherRole/@maxCardinality

Specifies the upper bound on the number of times a role of this type may appear in the association. This attribute is REQUIRED and its value must be either a non-negative integer or the string "unbounded" indicating that there is no upper bound.

nf:associationField/nf:otherRole/nf:subjectIdentifier

Contains a single URI subject identifier for this role type. This element is OPTIONAL and REPEATABLE.

nf:associationField/nf:otherRole/nf:displayName

Contains a display label for the role type. This element is OPTIONAL and NON-REPEATABLE.

nf:associationField/nf:otherRole/nf:extension

Contains a single NPCL schema extension value for this role type. This element is OPTIONAL and REPEATABLE.

nf:associationField/nf:otherRole/nf:rolePlayerType

Contains the schema information for one of the types of topic that can play the role type defined by the parent otherRole element. This element is REQUIRED and REPEATABLE.

nf:associationField/nf:otherRole/nf:rolePlayerType/@id

Contains the ID of the topic type that is described by this rolePlayerType element. If the schema is stored in a topic map in a TMCore database then the value of this attribute will be the database OID of the topic that defines the topic type.

nf:associationField/nf:otherRole/nf:rolePlayerType/@isAbtract

Contains a boolean value indicating if the topic type described by this rolePlayerType element is marked as abstract in the schema.

nf:associationField/nf:otherRole/nf:rolePlayerType/@minCardinality

Specifies the lower bound on the number of times an instance of this role player topic type must play the role defined by the parent otherRole element. This attribute is REQUIRED and its value must be a non-negative integer.

nf:associationField/nf:otherRole/nf:rolePlayerType/@maxCardinality

Specifies the upper bound on the number of times an instance of this role player topic type must play the role defined by the parent otherRole element. This attribute is REQUIRED and its value must be either a non-negative integer or the string "unbounded" to indicate that there is no upper bound.

nf:associationField/nf:otherRole/nf:rolePlayerType/@associationSpecificCardinality

A boolean field that indicates if the cardinality values specified by the minCardinality and maxCardinality attribute apply to any association in which the topic plays the type of role defined by the parent otherRole element (when the attribute value is 'false'), or only to the associations of the type defined by the ancestor associationType element in which the topic plays the type of role defined by the parent otherRole element (when the attribute value is 'true'). This attribute is OPTIONAL and if not present defaults to the value 'false'.

nf:associationField/nf:otherRole/nf:rolePlayerType/nf:subjectIdentifier

Contains a single URI subject identifier for this role player topic type. This element is OPTIONAL and REPEATABLE.

nf:associationField/nf:otherRoleType/nf:rolePlayerType/nf:displayName

Contains a single displayable label for this role player topic type. This element is OPTIONAL and NON-REPEATABLE.

nf:associationField/nf:otherRoleType/nf:rolePlayerType/nf:extension

Contains a single NPCL schema extension value for the role player topic type. This element is OPTIONAL and REPEATABLE.

nf:associationField/{##other}

An extension point in the NPCL Forms XML Schema that allows any number of elements from other namespaces to appear as the last children of an associationField element.