Capability (C005):— representing_documents Date: 2010/11/19 15:15:37
Revision: 1.25

Business overview

This section provides a business level overview of this capability.

In PLCS documents are handled using the same basic principles applied to any other type of product, which includes the fundamental requirements of; identification of Documents, versioning of Documents, and the definition of Documents. These fundamental concepts are described in the capabilities C001: assigning_identifiers and C002: representing_parts.

However, Documents are distinguished from other products in the representation of Document structure and consituent parts. In addition, documents can be assigned to many items, such as parts, products, resources, activities, tasks and events.

Information model overview

This section provides an overview of the information model that supports this capability.

Information Model Overview

As a Document is a type of product, its revision control is managed in a similar way - through using the entity Document_version. Revision control allows the various Document_definitions associated with a Document_version to be distinguished between. The Document_version represents the minimum identification of a managed document under revision control for referencing purposes. A Document_definition may be either a Digital_document_definition or a Physical_document_definition. The former of these may contain a number of Digital_files, whereas the latter may refer to a number of Hardcopy components. Document_definitions or Files may also be identified as an item of an externally referenced source.



Figure 1 —  Document Information Model

Figure 1 —  Document Information Model

EXAMPLE - a configuration controlled managed paper document such as a drawing would generally map to a usage of the entity 'Document', with a Document_version and a Physical_document_definition representating the view definition according to the 'document as a type of product' approach.

External File s in the PLCS Schema are identified through a File_location_identification (a type of External_item_identification). The supertype, External_source_identification, allows the source to be associated with either a Document_definition or a File (Digital_file or Hardcopy ) through the external_identification_item select type. Although an external File is normally managed independently of the system - and hence no revision control or any representation definitions of external File s, this can be achieved via the document_defintion referenced through the select type. In this manner, version identification may optionally be associated with an external File , but this is for information only and is not used for managed revision control.

Documents may be associated with product data in a specified role, to represent some relationship between a Document and other elements of product data. Constraints may also be specified on this association, in order to distinguish an applicable portion of an entire Document or File in the association. With 'Document as Product', additional entities are required to relate a managed document to other product data - see Document_assignment described later.

Representing Documents

In PLCS documents are handled using the same basic principles applied to any other type of product, which includes the fundamental requirements of; identification of Documents, versioning of Documents, and the definition of Documents. However, Documents are distinguished from other products in the representation of Document structure and consituent parts. In addition, documents can be assigned to many items, such as parts, products, resources, activities, tasks and events.

Document Identification

The concepts of base identification, version identification, and definition are structurally distinct in Documents. The general recommendations given for identification apply to the Document master, except where differences are noted.

Base Document identification is always associated with at least one Document_version. Multiple Document_versions of a base Document identification may be related together to represent Document_version history.

With Documents the Document_definition is used to define a view of a particular representation of a Document_version. A Document_version, however, does not have to have an associated Document_definition.

The Document_definition is used for the association of document properties (see later), to build Document structures, or to associate a Document_version (and hence a Document) with the set of constituent Files that may make it up.

Document_version identification without an associated Document_definition represents the minimum requirements for Document identification. However, it also includes the use of identification_assignment, classification_assignment and organization_or_person_assignment to uniquely identify the Document_version and Document that it refers to.

The steps to identification are described in the C001: assigning_identifiers capability.

Document

A Document is a type of Product used to identify documentation data that is under configuration change management.

Document_version

A Document_version is a type of Product_version. A Document_version identifies a particular version of a Document. It is a collector of the definitions of this revision of the Document.

Context Information

Life-cycle information should be provided (as it is for parts or other products to identify the development life-cycle stages), through a Document_definition (see below). However, when this is not provided, for a Document_version, (but the Document is assigned to a part or other product with a definition), the life-cycle stage of the part may be extrapolated as relevant to the Document.

Document_definition

A Document_definition is a representation of a Document_version in a particular format. Each Document_definition is either a Digital_document_definition or a Physical_document_definition. The Document_definition entity denotes the definition of a particular view of a representation of a Document_version. There may be more than one Document_definition associated with a single Document_version. The Document_definition is used for the association of document properties, to build Document structures, or to associate a Document with the set of constituent external File s that make it up. type).

The subtypes Digital_document_definition and Physical_document_definition distinguish between types of Documents and are used to associate a representation of a Document_version on one hand, with the set of constituent File s that make it up on the other. A version of a logical Document, which contains a shape model, may be represented in the native formats of different CAD systems.

Document Properties

The entity Document_definition supports property association and Document structure. The Document_definition may be associated to the property described in an Assigned_document_property through the described_element attribute. The attribute is a document_property_item select type (which is a subtype of the property_assignment_select type). This allows an instance of Digital_document_definition or Physical_document_definition to be associated to a Property. The process and mechanism of assigning proprties is described more fully in the C087: assigning_document_properties capability.

Document_assignment

A Document is assigned to a part or product (amongst others) through the Document_assignment entity. The Document_assignment may be used to relate the Document_definition to a part. A Document_assignment may be applied to an instance of Document, Document_definition, Document_version or File .

Digital_document_definition

A Digital_document_definition is a type of Document_definition. It identifies a collection of File s that are archived on an optical computer disc, magnetic, electronic storage, or a combination thereof. A Digital_document_definition may consist of one or many component Digital_files.

Physical_document_definition

A Physical_document_definition is a type of Document_definition. A Physical_document_definition may consist of one or many component Hardcopy File s. Paper plots of technical drawings, micro fiche, or paper documents such as calculations or test reports are examples of Physical_document_definition.

Type Classification

Type classification is provided through a combination of mechanisms in PLCS. Firstly, the model makes several explicit distinctions in the use of Digital_document_definition and Physical_document_definitions. Secondly, the Digital_file and Hardcopy concepts inherit an attribute named "contained_data_type" where the type of data contained in the file can be categorized (through reference data). Thirdly, reference data can be used to provide a classification of the Document.

More than one classification can be applied, hence a Document may be classed as a "packaging guide", a "technical packaging guide", and a "users packaging guide". Likewise, a Digital_file may be a "technical drawing" and a "detail drawing". Others may have a single or simpler set of classes defined.

Relationship Between Documents and Constituent Files

In PLCS, the Document_definition is used to represent a definition of a particular Document representation. There may be more than one representated definition associated with a Document_version. The Document_definition may be associated with the constituent File s that make it up. The association of constituent File s with the definition of a document representation is optional.

If a File is under configuration control, it should be represented as a constituent File (or component) of a Document_definition. In this case it is actually the managed Document that is under direct configuration control, the File is in this way indirectly under configuration management. A change to the File results in a change to the managed Document (i.e., a new version) - the changed File would be mapped as a constituent File (or component) of a definition of the new Document_version. A simple reference to a File alone is not configuration controlled; it is just an File reference to product data.

While managed revision control representing multiple versions and version history is not available for external File s, external File s may have an optional version identification providing a string labeling the version of the File .

Constituent files

One or more Files may be related to a Document_definition, allowing the association of the File occurrences making up the definition to be identified.

However, the actual identification of each instance of File is done using an instance of Identification_assignment. This is applied to the File using the template assigning_identification as defined within the capability C001: assigning_identifiers. The identification data should be provided in the context of a "Document identification code" (urn:plcs:rdl:std:Document identification code).

File

A File is a file stored on a computer system or in a stack of non-digital Documents. A File is either a Hardcopy or a Digital_file . A File may be specified as an external source through the external_identification_item select type.

Digital_file

A Digital_file is a type of File . A Digital_file contains computer interpretable data and is stored on an electronic device. A Digital_file may be a constituent of a Digital_document_definition.

Hardcopy

A Hardcopy is a type of File that represents a non-digital Document. For example, an actual stack of paper consisting of one or more sheets, on which some product data is written, printed or plotted.

External Documents

Document_definitions and/or their constituent File s may be identified externally. In the PLCS Schema these are identified by a simple External_source_identification to either a File or a Document_definition. The external File identified may be a Digital_file or a physical, 'Hardcopy ' File . The external Document_definition may be either a Digital_document_definition or a Physical_document_definition. As opposed to a managed 'Document, an external File is not managed by the system. However - there is a capability for managed revision control for a Document_definition which may or may not have constituent Digital_files or Hardcopy components.

An external File may simply be an external reference that may be associated with other product data. Document/File properties may be associated with an external File as with a managed Document. In the case where properties differ with different versions, the managed 'Document' approach is recommended.

Although a File can exist and be referenced independantly, if it is under configuration control, it should be represented as a constituent of a Document_definition view/representation. In this case, it is actually the managed Document that is under direct configuration control; the File is, in this way, indirectly under configuration control. A change to the File results in a change to the managed Document (i.e., a new version) - the changed File would be mapped as a constituent of a Document_definition of the new Document_version. A simple external reference alone is not configuration controlled, it is just an external File reference to product data.

While managed revision control representing multiple versions and version history is not available for external Files, Files identified as external may have an optional version identification providing a string labeling the version of the File itself.

This is done using an instance of Identification_assignment, applied to the File using the template assigning_identification as defined within the capability C001: assigning_identifiers. The version data should be provided in the context of a "Version identification code" (urn:plcs:rdl:std:Version identification code).

Identification of an external source is achieved through the external_identification_item select type via the item attribute of the External_source_identification entity. If a File is identified, it may be a constituent of a Document_definition, thereby allowing an association of properties to the external File , or a type of Document_definition.



Figure 10 —  External Source Identification SubModel

Figure 10 —  External Source Identification SubModel

External source identification

An External_source_identification is the identification of the source where an item, that is not fully represented in a population of instances of EXPRESS entity data types but is only referred to, or the components of such an item, can be found.

The Instance Model: EXPRESS entities and attributes

The instantiation of the EXPRESS entities and attributes used to support the requirements of External Source Identification are shown in the figure below.



Figure 11 —  External Source Identification Instance Diagram

Figure 11 —  External Source Identification Instance Diagram

Note - organization and identification assignment information has been removed from the figure above for the purposes of clarity.

Several subtypes of External_source_identification are provided to constrain the item to a specific type of File or Document_definition. All behave similarly to that of the External_source_identification, however, these subtypes are to be prefered over the more general External_source_identification as they are more explicit.

The External_item_identification_assignment entity is a general purpose entity which is provides contraints through it's subtypes. Where possible, a subtype should be used in preference to this entity.

External item identification

An External_item_identification is a type of External_source_identification that provides the identifier of an item in the context of an external source where it can be found.

The Instance Model: EXPRESS entities and attributes

The instantiation of the EXPRESS entities and attributes used to support the requirements of External Item Identification are shown in the figure below.



Figure 12 —  External Item Identification Instance Diagram

Figure 12 —  External Item Identification Instance Diagram

Note - the filename is provided within the same instance (#51, #52, #53), rather than implicitly as before. This method is prefered when the filename is known. This also requires less processing to retrieve the full path information.

File location identification

A File_location_identification is a type of External_item_identification that identifies the location of a File in an external storage system where it can be found.

EXAMPLE    For a computer File identified by a filename and directory path, for example 'D:\project1\specification.txt', the external_id attribute represents the filename, 'specification.txt' and the source_id attribute represents the path name, 'D:\project1\'. Examples of source_type are: 'URL' - for a web page; 'FTP' - for an FTP address; 'ISBN' - for physical documents

Attribute Population

File_location_identification is a type of External_item_identification, hence it inherits all the attributes of it's supertype. There are no additional attributes for this entity.

NOTE    A File_location_identification entity restricts the type of items to be types of File . Hence Digital_file and Hardcopy are the only legal instances that can be referenced as items from an instance of File_location_identification .

The Instance Model: EXPRESS entities and attributes

The instantiation of the EXPRESS entities and attributes used to support the requirements of File Location Identification are shown in the figure below.



Figure 13 —  File Location Identification Instance Diagram

Figure 13 —  File Location Identification Instance Diagram

Note - organization and identification assignment information has been removed from the figure above for the purposes of clarity.

Document location identification

A Document_location_identificationis a type of External_source_identification that identifies the location of the components of a Document_definition in an external storage system where they can be found.

EXAMPLE    An HTML file that includes a picture may be represented as a Document_definition made of two components: the HTML file; the binary file that contains the picture. If these files were located within the same directory or relatively to the same directory, the source_id attribute would convey the directory name. Examples of source_type are: 'URL' - for a web page; 'FTP' - for an FTP address; 'ISBN' - for physical documents

Attribute Population

Document_location_identificationis a type of External_source_identification, hence it inherits all the attributes of it's supertype. There are no additional attributes for this entity.

NOTE    The Document_location_identificationentity restricts the items that are allowed to be only of type Document_definition. Hence Digital_document_definition and Physical_document_definition are the only legal instances that can be referenced as items from an instance of Document_location_identification.

The Instance Model: EXPRESS entities and attributes

The instantiation of the EXPRESS entities and attributes used to support the requirements of Document location identification are shown in the figure below.



Figure 14 —  Document location identification Instance Diagram

Figure 14 —  Document location identification Instance Diagram

NOTE    The instances of Document_location_identificationonly apply to types of Document_definitions, which explains why there are fewer than those (above) that apply to types of File - which are more numerous in this and the examples above.

Document and File Relationships

This section discusses relationships between File s, Documents and structure relationships between versions of managed Documents.

The PLCS Schema supports the definition of corresponding relationships between Document File instances via the entity File_relationship. The schema also supports the definition of document structure by defining relationships between the Document_definitions using the Document_definition_relationship entity. In addition, the schema supports the definition of relations between versions of a managed Document to model Document history using the Product_version_relationship entity.



Figure 15 —  File and Documemt Relationships SubModel

Figure 15 —  File and Documemt Relationships SubModel

File_relationship

A File_relationship is a relationship between two instances of File . The semantics of the relationship are defined by the attributes relation_type and description of the entity Document_definition_relationship. The relation_type attribute of File_relationship defines the type of relationship between the two instances.

EXAMPLE    A service manual may contain graphics for explanatory reasons. In this case, the File objects that contain the graphics are referenced as related from the File object that contains the body of the service manual with relation_type 'reference'.

Attribute Population

The entity (File_relationship) and attributes (relation_type, description, relating_document_file and related_document_file) describe the different values that are expected to be populated for each attribute.

NOTE    The Document_definition_relationship entity ensures that the relating_document and the related_document are not the same.

The Instance Model: EXPRESS entities and attributes

The instantiation of the EXPRESS entities and attributes used to support the requirements of File_relationship are shown in the figure below.



Figure 16 —  File_relationship Instance Diagram

Figure 16 —  File_relationship Instance Diagram

NOTE    The instances of File_relationship only apply to types of Document_definitions, which explains why there are fewer than those (above) that apply to types of File - which are more numerous in this and the examples above.

Document_definition_relationship

A Document_definition_relationship is a relationship between two instances of Document_definition. The semantics of the relationship are defined by the attributes relation_type and description of the entity relationship. The relation_type attribute defines the type of relationship between the two instances.

EXAMPLE    The Document_definition_relationship entity provides a mechanism to build "assembly type" structures of Document_definitions. Hence the relation_type between two Document_definitions might be "decomposition" or "substitution". Similarly, one may be a "sequence", "translation" or copy of the other. The recommended relation_type values are described in greater detail in the Document_definition_relationship entity and are similar across the other relationships described above and below this section.

Attribute Population

The entity (Document_definition_relationship) and attributes (relation_type, description, relating_document_definition and related_document_definition) describe the different values that are expected to be populated for each attribute.

NOTE    The Document_definition_relationship entity ensures that the relating_document and the related_document are not the same.

The Instance Model: EXPRESS entities and attributes

The instantiation of the EXPRESS entities and attributes used to support the requirements of Document_definition_relationship are shown in the figure below.



Figure 17 —  Document_definition_relationship Instance Diagram

Figure 17 —  Document_definition_relationship Instance Diagram

NOTE    In this example, the instance of Document_definition_relationship relates two Digital_document_definitions, where one (#61) is the substitution of the other (#29). In this case the Document_definition for version 3.3 is replacing the definition for 3.2. The newer version is an enhanced version and includes more drawings.

Document version relationships

Document_version relationships are handled through the Product_version_relationship entity is a relationship between two types of Product_version. This is applicable to Documents since the entity Document_version is a subtype of Product_version. Hence, the relationship may be between two Document_version instances. The semantics of the relationship are defined by the attributes relation_type and description of the entity relationship. The relation_type attribute defines the type of relationship between the two instances.

EXAMPLE    The Product_version_relationship entity provides a mechanism to express a "sequence" or "derivation" between two instances of Document_version. A "sequence" defines a version sequence where the relating Document_version is the preceding version of the related Document_version that is the following version.

Attribute Population

The entity (Product_version_relationship) and attributes (relation_type, description, relating_version and related_version) describe the different values that are expected to be populated for each attribute.

NOTE    The Product_version_relationship entity is a generic relationdhip that can be applied to all of it's subtypes. The Product_version_relationship entity ensures that the relating_version and the related_version instances are not the same.

The Instance Model: EXPRESS entities and attributes

The instantiation of the EXPRESS entities and attributes used to support the requirements of Product_version_relationship are shown in the figure below.



Figure 18 —  Product_version_relationship Instance Diagram

Figure 18 —  Product_version_relationship Instance Diagram

NOTE    In this example, the instance of Product_version_relationship relates two Document_versions, where one (#60) is the derivation of the other (#28). In this case the Document_version 3.3 is derived from 3.2.

Capability templates

The following sections define a set of templates for the capability, where a template is a specification of a set of entities that need to be instantiated to represent a given set of information.

Template: assigning_document (Short name: asg_doc)

This section specifies the template assigning_document.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description
This template describes how to assign a document to an item. It does not create the document entity instance to be populated, nor does it create the item to which the document is to be assigned to - these are the subject of separate templates. This template only facilitates the assignment.
Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "assigning_document". The text highlighted in blue shows the template parameters.


Figure 1 —  An EXPRESS-G representation of the Information model for assigning_document

Figure 1 —  An EXPRESS-G representation of the Information model for assigning_document

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  2 below.


Figure 2 —  The graphical representation of the assigning_document template

Figure 2 —  The graphical representation of the assigning_document template

Input parameters
The following input parameters are defined for this template:
assigned_document (Type= 'SELECT (assigned_document_select)' )
The Document, Document_version, Document_definition or File which is assigned by the Document_assignment.
doc_ass_role (Type='CLASS')
The name of the External_class being used to determine the role of the assignment.
The following classes and their sub-classes can be used:
classifications: "Document_assignment" (urn:plcs:rdl:std:Document_assignment)
doc_ar_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library that stores the External_class used to classify the Document_assignment.
is_assigned_to (Type= 'SELECT (documented_element_select)' )
The entity to which the Document, Document_version, Document_definition or File is assigned.
Reference parameters
The following reference parameters are defined for this template:
doc_asg(Type='ENTITY (Document_assignment)')
Allow the Document_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Document_assignment entity can be referenced in a template path by:
%^target = $assigning_document.doc_asg%
where target is the parameter to which the Document_assignment is bound.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
-- Create the document assignment entity.
Document_assignment
Document_assignment.role = '/IGNORE'
Document_assignment.is_assigned_to -> @is_assigned_to

-- Mark the Document_assignment entity as referable when this template is used.
-- In other words, bind the Document_assignment instance to the reference
-- parameter doc_asg
%^doc_asg = Document_assignment%

-- Assign the role through ref data
/assigning_reference_data(
    items=^doc_asg,
    class_name=@doc_ass_role,
    ecl_id=@doc_ar_ecl_id)/

-- Assign the document to be used
Document_assignment.assigned_document -> @assigned_document
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Document_assignment.role '/IGNORE'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_document(assigned_document='#7', doc_ass_role='Document_reference', doc_ar_ecl_id='urn:plcs:rdl:sample', is_assigned_to='#8')/
(an illustration of the consolidated assigning_document template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by assigning_document template

Figure 3 —  Entities instantiated by assigning_document template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#2 = DOCUMENT_ASSIGNMENT(#7,#8,'/IGNORE'); #7 = DOCUMENT('/IGNORE','/IGNORE','/IGNORE'); #8 = PART_VERSION('/IGNORE','/IGNORE',$); #10 = CLASSIFICATION_ASSIGNMENT(#12,(#2),'/IGNORE'); #12 = EXTERNAL_CLASS('/NULL','Document_reference','/IGNORE',#13); #13 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:sample',$);
The instance diagram in Figure 4 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/assigning_document(assigned_document='#7', doc_ass_role='Document_reference', doc_ar_ecl_id='urn:plcs:rdl:sample', is_assigned_to='#8')/


Figure 4 —  Invocation of assigning_document template example - graphical presentations

Figure 4 —  Invocation of assigning_document template example - graphical presentations

Characterizations
The following section details how the assigning_document template can be optionally characterized by assigning other constructs to it. These are characterizations commonly applied to the template. The ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
The EXPRESS-G diagram in Figure 5 shows the possible characterizations of the template "assigning_document".


Figure 5 —  Possible characterizations of the assignment of a document.

Figure 5 —  Possible characterizations of the assignment of a document.

The following characterizations may apply:
Characterization Assigning date time

NOTE   this characterization is optional.

The date and time when a document was assigned to an item can be represented using the assigning_time template. The assigning_time input parameter 'date_class_name' can be set to e.g. "Date actual" (urn:plcs:rdl:std:Date actual).

Characterization Assigning organization or person in organization

NOTE   this characterization is optional.

The organization or person in an organization that creates the association between a document and an item can be represented using the template assigning_organization, or assigning_person_in_organization.

Template: assigning_document_reference (Short name: asg_doc_ref)

This section specifies the template assigning_document_reference.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to represent a reference to a version of a document.

NOTE    Reference to a document where the version is not known (of not of interest), shall follow the guidelines described in the template assigning_identification.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "assigning_document_reference". The text highlighted in blue shows the template parameters.


Figure 1 —  An EXPRESS-G representation of the Information model for assigning_document_reference

Figure 1 —  An EXPRESS-G representation of the Information model for assigning_document_reference

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  2 below.


Figure 2 —  The graphical representation of the assigning_document_reference template

Figure 2 —  The graphical representation of the assigning_document_reference template

Input parameters
The following input parameters are defined for this template:
doc_id (Type='STRING')
The identification of the Document being referenced.
doc_id_class_name (Default=Document_identification_code,Type='CLASS')
The name of the External_class that determines the type of identifier given by the input parameter @doc_id.
The following classes and their sub-classes can be used:
classifications: "Document_identification_code" (urn:plcs:rdl:std:Document_identification_code), "Document_name" (urn:plcs:rdl:std:Document_name)
doc_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identification of the External_class_library storing the External_class given by the input parameter @doc_id_class_name.
doc_ver_id (Type='STRING')
The identification of the Document_version being referenced.
doc_ver_id_class_name (Default=Version_identification_code,Type='CLASS')
The name of the External_class that determines the type of identifier given by the input parameter @doc_ver_id.
The following classes and their sub-classes can be used:
classifications: "Progression_identification_code" (urn:plcs:rdl:std:Progression_identification_code)
doc_ver_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identification of the External_class_library storing the External_class given by the input parameter @doc_ver_id_class_name.
org_id (Type='STRING')
The identification or name of the Organization that "owns" the Document and Document_version identifiers (@doc_id and @doc_ver_id).
org_id_class_name (Default=Organization_name,Type='CLASS')
The name of the External_class that determines the type of organization identification (@org_id) being used. For example CAGE code.
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identification of the External_class_library storing the External_class given by the input parameter @org_id_class_name
doc_asg_class_name (Default=Document_reference,Type='CLASS')
The name of the External_class that determines the role of Document_assignment, i.e. providing the role of the referenced Document
The following classes and their sub-classes can be used:
classifications: "Document_reference" (urn:plcs:rdl:std:Document_reference)
doc_asg_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identification of the External_class_library storing the External_class given by the input parameter @doc_asg_class_name.
is_assigned_to (Type= 'SELECT (documented_element_select)' )
The items to which the referenced document is assigned.
Reference parameters
The following reference parameters are defined for this template:
doc(Type='ENTITY (Document)')
Allow the Document entity instantiated in this path to be referenced when this template is used.
Note: The Document entity can be referenced in a template path by:
%^target = $assigning_document_reference.doc%
where target is the parameter to which the Document is bound.
doc_vn(Type='ENTITY (Document_version)')
Allow the Document_version entity instantiated in this path to be referenced when this template is used.
Note: The Document_version entity can be referenced in a template path by:
%^target = $assigning_document_reference.doc_vn%
where target is the parameter to which the Document_version is bound.
doc_asg(Type='ENTITY (Document_assignment)')
Allow the Document_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Document_assignment entity can be referenced in a template path by:
%^target = $assigning_document_reference.doc_asg%
where target is the parameter to which the Document_assignment is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique document
Each instance of the entity (Document) within the data set shall be uniquely identified by a combination of the following parameters on this template (assigning_document_reference) namely: doc_id, doc_id_class_name, doc_id_ecl_id, org_id, org_id_class_name, org_id_ecl_id.
The instance is referenced by the following template parameter: doc.
This rule means that there can be only one document (Document) with any given identifier.
Unique constraint: Unique document version
Each instance of the entity (Document_version) within the data set shall be uniquely identified by a combination of the following parameters on this template (assigning_document_reference) namely: doc_id, doc_id_class_name, doc_id_ecl_id, org_id, org_id_class_name, org_id_ecl_id, doc_ver_id, doc_ver_id_class_name, doc_ver_id_ecl_id.
The instance is referenced by the following template parameter: doc_vn.
This rule means that there can be only one version (Document_version) of a document (Document) with any given identifier.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
Document

-- Mark the Document entity as
-- referable when this template is used by binding it to the reference
-- parameter doc
%^doc = Document%
Document.id = '/IGNORE'
Document.name = '/IGNORE'
Document.description = '/IGNORE'

-- assign the identification to the Document
/assigning_identification(
    items=^doc,
    id=@doc_id,
    id_class_name=@doc_id_class_name,
    id_ecl_id=@doc_id_ecl_id,
    org_id=@org_id,
    org_id_class_name=@org_id_class_name,
    org_id_ecl_id=@org_id_ecl_id)/

-- Mark the Document_version entity as
-- referable when this template is used by binding it to the reference
-- parameter doc_vn
Document_version
%^doc_vn = Document_version%
Document_version.id = '/IGNORE'
Document_version.description = '/IGNORE'
Document_version.of_product -> ^doc

-- assign the identification to the Document_version
/assigning_identification(
    items=^doc_vn,
    id=@doc_ver_id,
    id_class_name=@doc_ver_id_class_name,
    id_ecl_id=@doc_ver_id_ecl_id,
    org_id=@org_id,
    org_id_class_name=@org_id_class_name,
    org_id_ecl_id=@org_id_ecl_id)/

-- assign the referenced document to the entity given by the
-- input parameter @is_assigned_to
-- and classify it as 'Document_reference' or subtype thereof
/assigning_document(
    assigned_document=^doc_vn,
    is_assigned_to=@is_assigned_to,
    doc_ass_role=@doc_asg_class_name,
    doc_ar_ecl_id=@doc_asg_ecl_id)/

-- Mark the Document_assignment entity in the template assigning_document as
-- referable when this template is used by binding it to the reference
-- parameter doc_asg
%^doc_asg = $assigning_document.doc_asg%
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Document.id '/IGNORE' Product.id
Document.name '/IGNORE' Product.name
Document.description '/IGNORE' Product.description
Document_version.id '/IGNORE' Product_version.id
Document_version.description '/IGNORE' Product_version.description
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_document_reference(doc_id='BICYCLEXXXAAA-AAA-DA1-00-00-0000-341A-A', doc_id_class_name='Data_module_code', doc_id_ecl_id='urn:plcs:rdl:sample', doc_ver_id='1', doc_ver_id_class_name='Issue_number', doc_ver_id_ecl_id='urn:plcs:rdl:sample', org_id='ASD', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std', doc_asg_class_name='Document_reference', doc_asg_ecl_id='urn:plcs:rdl:std', is_assigned_to='#1')/
(an illustration of the consolidated assigning_document_reference template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by assigning_document_reference template

Figure 3 —  Entities instantiated by assigning_document_reference template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#1 = TASK_METHOD_VERSION('/IGNORE','/IGNORE','/IGNORE','/IGNORE',$,$); #2 = DOCUMENT('/IGNORE','/IGNORE','/IGNORE'); #3 = DOCUMENT_VERSION('/IGNORE','/IGNORE',#2); #5 = IDENTIFICATION_ASSIGNMENT('BICYCLEXXXAAA-AAA-DA1-00-00-0000-341A-A','/IGNORE',$,(#2)); #7 = CLASSIFICATION_ASSIGNMENT(#8,(#5),'/IGNORE'); #8 = EXTERNAL_CLASS('/NULL','Data_module_code','/IGNORE',#9); #9 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:sample','/IGNORE'); #12 = ORGANIZATION('/IGNORE','/IGNORE'); #14 = IDENTIFICATION_ASSIGNMENT('ASD','/IGNORE','/IGNORE',(#12)); #16 = CLASSIFICATION_ASSIGNMENT(#17,(#14),'/IGNORE'); #17 = EXTERNAL_CLASS('/NULL','Organization_name','/IGNORE',#18); #18 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std','/IGNORE'); #20 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#12,'/IGNORE',(#5,#26)); #22 = CLASSIFICATION_ASSIGNMENT(#23,(#20),'/IGNORE'); #23 = EXTERNAL_CLASS('/NULL','Owner_of','/IGNORE',#18); #26 = IDENTIFICATION_ASSIGNMENT('1','/IGNORE',$,(#3)); #28 = CLASSIFICATION_ASSIGNMENT(#29,(#26),'/IGNORE'); #29 = EXTERNAL_CLASS('/NULL','Issue_number','/IGNORE',#9); #47 = DOCUMENT_ASSIGNMENT(#3,#1,'/IGNORE'); #49 = CLASSIFICATION_ASSIGNMENT(#50,(#47),'/IGNORE'); #50 = EXTERNAL_CLASS('/NULL','Document_reference','/IGNORE',#18);
The instance diagram in Figure 4 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/assigning_document_reference(doc_id='BICYCLEXXXAAA-AAA-DA1-00-00-0000-341A-A', doc_id_class_name='Data_module_code', doc_id_ecl_id='urn:plcs:rdl:sample', doc_ver_id='1', doc_ver_id_class_name='Issue_number', doc_ver_id_ecl_id='urn:plcs:rdl:sample', org_id='ASD', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std', doc_asg_class_name='Document_reference', doc_asg_ecl_id='urn:plcs:rdl:std', is_assigned_to='#1')/


Figure 4 —  Instantiation of assigning_document_reference template

Figure 4 —  Instantiation of assigning_document_reference template

Characterizations
The following section details how the assigning_document_reference template can be optionally characterized by assigning other constructs to it. These are characterizations commonly applied to the template. The ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
The EXPRESS-G diagram in Figure 5 shows the possible characterizations of the template "assigning_document_reference".


Figure 5 —  Possible characterizations of the referenced document.

Figure 5 —  Possible characterizations of the referenced document.

The following characterizations may apply:
Characterization Assigning identification

NOTE   this characterization is optional.

Additional identifications of the referenced Document may be assigned using the assigning_identification template.

Characterization Assigning descriptor

NOTE   this characterization is optional.

Description, remarks etc, may be assigned to the referenced Document using the assigning_descriptor template.

Template: assigning_partial_document (Short name: asg_partial_doc)

This section specifies the template assigning_partial_document.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description
This template describes how to assign a portion of a document to an item. It does not create the document entity instance to be populated, nor does it create the item to which the document is to be assigned to - these are the subject of separate templates. This template only facilitates the assignment.
AP239 Issue (GYL-8)
The current version of AP239 does not allow the 'assigning_descriptor'' to be assigned to a Partial_document_assignment. This requires that the documented_element_select is extended to include Document_assignment.

This has been raised as issue, GYL-8, against ISO 10303-239. The EXPRESS schema has been modified in DEXlib (Long form: dexlib/data/schemas/ap239_arm_lf.exp, short form: dexlib/data/schemas/ap239_arm_sf.exp). These changes will be made to ISO 10303-239 as a Technical Corrigendum at some stage.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "assigning_partial_document". The text highlighted in blue shows the template parameters.


Figure 1 —  An EXPRESS-G representation of the Information model for assigning_partial_document

Figure 1 —  An EXPRESS-G representation of the Information model for assigning_partial_document

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  2 below.


Figure 2 —  The graphical representation of the assigning_partial_document template

Figure 2 —  The graphical representation of the assigning_partial_document template

Input parameters
The following input parameters are defined for this template:
doc (Type= 'SELECT (assigned_document_select)' )
The Document, Document_version, Document_definition or File which is assigned by the Document_assignment.
doc_asg_role (Type='CLASS')
The name of the External_class being used to determine the role of the assignment.
The following classes and their sub-classes can be used:
classifications: "Partial_document_assignment" (urn:plcs:rdl:std:Partial_document_assignment)
doc_asg_role_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library that stores the External_class used to classify the Document_assignment.
doc_portion (Type='STRING')
A textual description that identifies a specific portion of the contents of a document..
is_assigned_to (Type= 'SELECT (documented_element_select)' )
The entity of which the identified portion is assigned (Document, Document_version, Document_definition or File).
Reference parameters
The following reference parameters are defined for this template:
partial_doc_asg(Type='ENTITY (Partial_document_assignment)')
Allow the Partial_document_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Partial_document_assignment entity can be referenced in a template path by:
%^target = $assigning_partial_document.partial_doc_asg%
where target is the parameter to which the Partial_document_assignment is bound.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
-- Create the partial document assignment entity.
Partial_document_assignment
Partial_document_assignment.role = '/IGNORE'
Partial_document_assignment.document_portion = '/IGNORE'
Partial_document_assignment.is_assigned_to -> @is_assigned_to

-- Mark the Partial_document_assignment entity as referable when this template is used.
-- In other words, bind the Partial_document_assignment instance to the reference
-- parameter partial_doc_asg
%^partial_doc_asg = Partial_document_assignment%

-- Assign the role through ref data
/assigning_reference_data(
    items=^partial_doc_asg,
    class_name=@doc_asg_role,
    ecl_id=@doc_asg_role_ecl_id)/

-- Assign the text identifying the portion of the document being assigned
/assigning_descriptor(
    descr=@doc_portion,
    class_name='Description',
    ecl_id='urn:plcs:rdl:std',
    is_assigned_to=^partial_doc_asg)/

-- Assign the partial document to be used
Partial_document_assignment.assigned_document -> @doc
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Partial_document_assignment.role '/IGNORE' Document_assignment.role
Partial_document_assignment.document_portion '/IGNORE'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_partial_document(doc='#1', doc_asg_role='Partial_document_reference', doc_asg_role_ecl_id='urn:plcs:rdl:std', doc_portion='Chapter 2', is_assigned_to='#2')/
(an illustration of the consolidated assigning_partial_document template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by assigning_partial_document template

Figure 3 —  Entities instantiated by assigning_partial_document template

The instance diagram in Figure 4 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/assigning_partial_document(doc='#1', doc_asg_role='Partial_document_reference', doc_asg_role_ecl_id='urn:plcs:rdl:std', doc_portion='Chapter 2', is_assigned_to='#2')/


Figure 4 —  Instantiation of assigning_partial_document template

Figure 4 —  Instantiation of assigning_partial_document template

Characterizations
No common characterizations of the template assigning_partial_document have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: assigning_partial_document_reference (Short name: asg_partial_doc_ref)

This section specifies the template assigning_partial_document_reference.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to represent a reference to a portion of a version of a document.

NOTE    Reference to a document where the version is not known (of not of interest), shall follow the guidelines described in the template assigning_identification.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "assigning_partial_document_reference". The text highlighted in blue shows the template parameters.


Figure 1 —  An EXPRESS-G representation of the Information model for assigning_partial_document_reference

Figure 1 —  An EXPRESS-G representation of the Information model for assigning_partial_document_reference

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  2 below.


Figure 2 —  The graphical representation of the assigning_partial_document_reference template

Figure 2 —  The graphical representation of the assigning_partial_document_reference template

Input parameters
The following input parameters are defined for this template:
doc_id (Type='STRING')
The identification of the Document being referenced.
doc_id_class_name (Default=Document_identification_code,Type='CLASS')
The name of the External_class that determines the type of identifier given by the input parameter @doc_id.
The following classes and their sub-classes can be used:
classifications: "Document_identification_code" (urn:plcs:rdl:std:Document_identification_code), "Document_name" (urn:plcs:rdl:std:Document_name)
doc_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identification of the External_class_library storing the External_class given by the input parameter @doc_id_class_name.
doc_ver_id (Type='STRING')
The identification of the Document_version being referenced.
doc_ver_id_class_name (Default=Version_identification_code,Type='CLASS')
The name of the External_class that determines the type of identifier given by the input parameter @doc_ver_id.
The following classes and their sub-classes can be used:
classifications: "Progression_identification_code" (urn:plcs:rdl:std:Progression_identification_code)
doc_ver_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identification of the External_class_library storing the External_class given by the input parameter @doc_ver_id_class_name.
org_id (Type='STRING')
The identification or name of the Organization that "owns" the Document and Document_version identifiers (@doc_id and @doc_ver_id).
org_id_class_name (Default=Organization_name,Type='CLASS')
The name of the External_class that determines the type of organization identification (@org_id) being used. For example CAGE code.
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identification of the External_class_library storing the External_class given by the input parameter @org_id_class_name
doc_portion (Type='STRING')
A textual description identifying the portion of the document being referenced.
doc_asg_class_name (Default=Partial_document_reference,Type='CLASS')
The name of the External_class that determines the role of Partial_document_assignment, i.e. providing the role of the referenced Document
The following classes and their sub-classes can be used:
classifications: "Partial_document_reference" (urn:plcs:rdl:std:Partial_document_reference)
doc_asg_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identification of the External_class_library storing the External_class given by the input parameter @doc_asg_class_name.
is_assigned_to (Type= 'SELECT (documented_element_select)' )
The items to which the referenced document is assigned.
Reference parameters
The following reference parameters are defined for this template:
doc(Type='ENTITY (Document)')
Allow the Document entity instantiated in this path to be referenced when this template is used.
Note: The Document entity can be referenced in a template path by:
%^target = $assigning_partial_document_reference.doc%
where target is the parameter to which the Document is bound.
doc_ver(Type='ENTITY (Document_version)')
Allow the Document_version entity instantiated in this path to be referenced when this template is used.
Note: The Document_version entity can be referenced in a template path by:
%^target = $assigning_partial_document_reference.doc_ver%
where target is the parameter to which the Document_version is bound.
partial_doc_asg(Type='ENTITY (Partial_document_assignment)')
Allow the Partial_document_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Partial_document_assignment entity can be referenced in a template path by:
%^target = $assigning_partial_document_reference.partial_doc_asg%
where target is the parameter to which the Partial_document_assignment is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique document
Each instance of the entity (Document) within the data set shall be uniquely identified by a combination of the following parameters on this template (assigning_partial_document_reference) namely: doc_id, doc_id_class_name, doc_id_ecl_id, org_id, org_id_class_name, org_id_ecl_id.
The instance is referenced by the following template parameter: doc.
This rule means that there can be only one document (Document) with any given identifier.
Unique constraint: Unique document version
Each instance of the entity (Document_version) within the data set shall be uniquely identified by a combination of the following parameters on this template (assigning_partial_document_reference) namely: doc_id, doc_id_class_name, doc_id_ecl_id, org_id, org_id_class_name, org_id_ecl_id, doc_ver_id, doc_ver_id_class_name, doc_ver_id_ecl_id.
The instance is referenced by the following template parameter: doc_ver.
This rule means that there can be only one version (Document_version) of a document (Document) with any given identifier.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
Document

-- Mark the Document entity as
-- referable when this template is used by binding it to the reference
-- parameter doc
%^doc = Document%
Document.id = '/IGNORE'
Document.name = '/IGNORE'
Document.description = '/IGNORE'

-- assign the identification to the Document
/assigning_identification(
    items=^doc,
    id=@doc_id,
    id_class_name=@doc_id_class_name,
    id_ecl_id=@doc_id_ecl_id,
    org_id=@org_id,
    org_id_class_name=@org_id_class_name,
    org_id_ecl_id=@org_id_ecl_id)/

-- Mark the Document_version entity as
-- referable when this template is used by binding it to the reference
-- parameter doc_ver
Document_version
%^doc_ver = Document_version%
Document_version.id = '/IGNORE'
Document_version.description = '/IGNORE'

-- assign the identification to the Document_version
/assigning_identification(
    items=^doc_ver,
    id=@doc_ver_id,
    id_class_name=@doc_ver_id_class_name,
    id_ecl_id=@doc_ver_id_ecl_id,
    org_id=@org_id,
    org_id_class_name=@org_id_class_name,
    org_id_ecl_id=@org_id_ecl_id)/

-- assign the referenced portion of a document to the entity given by the
-- input parameter @is_assigned_to
-- and classify it as 'Document_reference' or subtype thereof
/assigning_partial_document(
    doc=^doc_ver,
    is_assigned_to=@is_assigned_to,
    doc_asg_role=@doc_asg_class_name,
    doc_asg_role_ecl_id=@doc_asg_ecl_id,
    doc_portion=@doc_portion)/

-- Mark the Partial_document_assignment entity in the template assigning_partial_document as
-- referable when this template is used by binding it to the reference
-- parameter doc_asg
%^partial_doc_asg = $assigning_partial_document.partial_doc_asg%
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Document.id '/IGNORE' Product.id
Document.name '/IGNORE' Product.name
Document.description '/IGNORE' Product.description
Document_version.id '/IGNORE' Product_version.id
Document_version.description '/IGNORE' Product_version.description
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_partial_document_reference(doc_id='BICYCLEXXXAAA-AAA-DA1-00-00-0000-341A-A', doc_id_class_name='Data_module_code', doc_id_ecl_id='urn:plcs:rdl:sample', doc_ver_id='1', doc_ver_id_class_name='Issue_number', doc_ver_id_ecl_id='urn:plcs:rdl:sample', org_id='ASD', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std', doc_asg_class_name='Partial_document_reference', doc_asg_ecl_id='urn:plcs:rdl:std', doc_portion='Figure 3', is_assigned_to='#1')/
(an illustration of the consolidated assigning_partial_document_reference template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by assigning_partial_document_reference template

Figure 3 —  Entities instantiated by assigning_partial_document_reference template

The instance diagram in Figure 4 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/assigning_partial_document_reference(doc_id='BICYCLEXXXAAA-AAA-DA1-00-00-0000-341A-A', doc_id_class_name='Data_module_code', doc_id_ecl_id='urn:plcs:rdl:sample', doc_ver_id='1', doc_ver_id_class_name='Issue_number', doc_ver_id_ecl_id='urn:plcs:rdl:sample', org_id='ASD', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std', doc_asg_class_name='Partial_document_reference', doc_asg_ecl_id='urn:plcs:rdl:std', doc_portion='Figure 3', is_assigned_to='#1')/


Figure 4 —  Instantiation of assigning_partial_document_reference template

Figure 4 —  Instantiation of assigning_partial_document_reference template

Characterizations
No common characterizations of the template assigning_partial_document_reference have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: referencing_document (Short name: ref_doc)

This section specifies the template referencing_document.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to represent a document and its version.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "referencing_document". The text highlighted in blue shows the template parameters.


Figure 1 —  An EXPRESS-G representation of the Information model for referencing_document

Figure 1 —  An EXPRESS-G representation of the Information model for referencing_document

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  2 below.


Figure 2 —  The graphical representation of the referencing_document template

Figure 2 —  The graphical representation of the referencing_document template

Input parameters
The following input parameters are defined for this template:
doc_id (Type='STRING')
The document identifier.
doc_id_class_name (Default=Document_identification_code,Type='CLASS')
The name of the External_class being used to classify the assigned document identifier (@doc_id).
The following classes and their sub-classes can be used:
classifications: "Document_identification_code" (urn:plcs:rdl:std:Document_identification_code), "Document_name" (urn:plcs:rdl:std:Document_name)
doc_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the External_class referenced by parameter @doc_id_class_name.
doc_ver_id (Type='STRING')
Document revision identifier.
doc_ver_id_class_name (Default=Version_identification_code,Type='CLASS')
The name of the External_class being used to classify the assigned document revision identifier (@doc_ver_id).
The following classes and their sub-classes can be used:
classifications: "Progression_identification_code" (urn:plcs:rdl:std:Progression_identification_code)
doc_ver_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the External_class used to classify the document revision identifier (@doc_ver_id).
org_id (Type='STRING')
The name or identifier of the organization that "owns" the document and document revision identifiers (@doc_id and @doc_ver_id).
org_id_class_name (Default=Organization_name,Type='CLASS')
The name of the External_class being used to classify the identification of the organization (@org_id) that "owns" the document and document revision identifiers (@doc_id and @doc_ver_id).
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the External_class used to classify the organization identifier (@org_id).
Reference parameters
The following reference parameters are defined for this template:
doc(Type='ENTITY (Document)')
Allow the Document entity instantiated in this path to be referenced when this template is used.
Note: The Document entity can be referenced in a template path by:
%^target = $referencing_document.doc%
where target is the parameter to which the Document is bound.
doc_vn(Type='ENTITY (Document_version)')
Allow the Document_version entity instantiated in this path to be referenced when this template is used.
Note: The Document_version entity can be referenced in a template path by:
%^target = $referencing_document.doc_vn%
where target is the parameter to which the Document_version is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique document
Each instance of the entity (Document) within the data set shall be uniquely identified by a combination of the following parameters on this template (referencing_document) namely: doc_id, doc_id_class_name, doc_id_ecl_id, org_id, org_id_class_name, org_id_ecl_id.
The instance is referenced by the following template parameter: doc.
This rule means that there can be only one document (Document) with any given identifier.
Unique constraint: Unique document version
Each instance of the entity (Document_version) within the data set shall be uniquely identified by a combination of the following parameters on this template (referencing_document) namely: doc_id, doc_id_class_name, doc_id_ecl_id, org_id, org_id_class_name, org_id_ecl_id, doc_ver_id, doc_ver_id_class_name, doc_ver_id_ecl_id.
The instance is referenced by the following template parameter: doc_vn.
This rule means that there can be only one version (Document_version) of a document (Document) with any given identifier.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
Document

-- Mark the Document entity as
-- referable when this template is used by binding it to the reference
-- parameter doc
%^doc = Document%
Document.id = '/IGNORE'
Document.name = '/IGNORE'
Document.description = '/IGNORE'

-- assign the identification to the Document
/assigning_identification(
    items=^doc,
    id=@doc_id,
    id_class_name=@doc_id_class_name,
    id_ecl_id=@doc_id_ecl_id,
    org_id=@org_id,
    org_id_class_name=@org_id_class_name,
    org_id_ecl_id=@org_id_ecl_id)/

-- Mark the Document_version entity as
-- referable when this template is used by binding it to the reference
-- parameter doc_vn
Document_version
%^doc_vn = Document_version%
Document_version.id = '/IGNORE'
Document_version.description = '/IGNORE'
Document_version.of_product -> ^doc

-- assign the identification to the Document_version
/assigning_identification(
    items=^doc_vn,
    id=@doc_ver_id,
    id_class_name=@doc_ver_id_class_name,
    id_ecl_id=@doc_ver_id_ecl_id,
    org_id=@org_id,
    org_id_class_name=@org_id_class_name,
    org_id_ecl_id=@org_id_ecl_id)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Document.id '/IGNORE' Product.id
Document.name '/IGNORE' Product.name
Document.description '/IGNORE' Product.description
Document_version.id '/IGNORE' Product_version.id
Document_version.description '/IGNORE' Product_version.description
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/referencing_document(doc_id='BI-2410', doc_id_class_name='Feedback_form_identification_code', doc_id_ecl_id='urn:plcs:rdl:sample', doc_ver_id='1', doc_ver_id_class_name='Issue_number', doc_ver_id_ecl_id='urn:plcs:rdl:sample', org_id='Bike Ltd', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated referencing_document template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by referencing_document template

Figure 3 —  Entities instantiated by referencing_document template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#1 = DOCUMENT('/IGNORE','/IGNORE','/IGNORE'); #2 = DOCUMENT_VERSION('/IGNORE','/IGNORE',#1); #4 = IDENTIFICATION_ASSIGNMENT('BI-2410','/IGNORE','/IGNORE',(#1)); #6 = CLASSIFICATION_ASSIGNMENT(#7,(#4),'/IGNORE'); #7 = EXTERNAL_CLASS('/NULL','Feedback_form_identification_code','/IGNORE',#8); #8 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:sample','/IGNORE'); #11 = ORGANIZATION('/IGNORE','/IGNORE'); #13 = IDENTIFICATION_ASSIGNMENT('Bike Ltd','/IGNORE','/IGNORE',(#11)); #15 = CLASSIFICATION_ASSIGNMENT(#16,(#13),'/IGNORE'); #16 = EXTERNAL_CLASS('/NULL','Organization_name','/IGNORE',#17); #17 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std','/IGNORE'); #18 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#11,'/IGNORE',(#4,#24)); #20 = CLASSIFICATION_ASSIGNMENT(#21,(#18),'/IGNORE'); #21 = EXTERNAL_CLASS('/NULL','Owner_of','/IGNORE',#17); #24 = IDENTIFICATION_ASSIGNMENT('1','/IGNORE','/IGNORE',(#2)); #26 = CLASSIFICATION_ASSIGNMENT(#27,(#24),'/IGNORE'); #27 = EXTERNAL_CLASS('/NULL','Issue_number','/IGNORE',#8);
The instance diagram in Figure 4 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/referencing_document(doc_id='BI-2410', doc_id_class_name='Feedback_form_identification_code', doc_id_ecl_id='urn:plcs:rdl:sample', doc_ver_id='1', doc_ver_id_class_name='Issue_number', doc_ver_id_ecl_id='urn:plcs:rdl:sample', org_id='Bike Ltd', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Instantiation of referencing_document template

Figure 4 —  Instantiation of referencing_document template

Characterizations
No common characterizations of the template referencing_document have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: representing_document (Short name: rep_doc)

This section specifies the template representing_document.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to represent a Document.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_document". The text highlighted in blue shows the template parameters.


Figure 1 —  An EXPRESS-G representation of the Information model for representing_document

Figure 1 —  An EXPRESS-G representation of the Information model for representing_document

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  2 below.


Figure 2 —  The graphical representation of the representing_document template

Figure 2 —  The graphical representation of the representing_document template

Input parameters
The following input parameters are defined for this template:
doc_id (Type='STRING')
The identifier of the Document.
doc_id_class_name (Default=Document_identification_code,Type='CLASS', Optional)
The name of the class being used to classify the identification (Identification_assignment) of the Document. This provides the role or reason for the identification. The identifier of the External_class_library that stores the class used to classify the type of identifier
The following classes and their sub-classes can be used:
classifications: "Document_identification_code" (urn:plcs:rdl:std:Document_identification_code), "Document_name" (urn:plcs:rdl:std:Document_name)
doc_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class referenced by the parameter @doc_id_class_name.
doc_org_id (Type='STRING')
The name or identifier of the Organization owning the document identifier or name @doc_id.
doc_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class being used to classify the identification (Identification_assignment) of the Organization owning the identifier (@doc_org_id).
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
doc_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the Organization identifier.
doc_vn_id (Type='STRING')
The identifier of the document version.
doc_vn_id_class_name (Default=Version_identification_code,Type='CLASS', Optional)
The name of the class being used to classify the identification (Identification_assignment) of the the version identifier.
The following classes and their sub-classes can be used:
classifications: "Version_identification_code" (urn:plcs:rdl:std:Version_identification_code)
doc_vn_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class referenced by the parameter @doc_vn_id_class_name.
doc_vn_org_id (Type='STRING')
The name or identifier of the Organization owning the document version identifier or name @doc_vn_id.
doc_vn_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class being used to classify the identification (Identification_assignment) of the Organization owning the version identifier (@doc_vn_org_id).
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
doc_vn_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the Organization identifier.
domain (Default=Product_life_cycle_support,Type='CLASS', Optional)
The identifier of the External_class_library used to describe the type of application domain of the View_definition_context instance.
The following classes and their sub-classes can be used:
classifications: "Discipline_domain" (urn:plcs:rdl:std:Discipline_domain)
domain_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class referenced by the parameter @domain class.
life_cycle_stage (Default=Support_stage,Type='CLASS', Optional)
The identifier of the External_class_library used to describe the type of life cycle stage of the View_definition_context instance.
The following classes and their sub-classes can be used:
classifications: "Life_cycle_stage" (urn:plcs:rdl:std:Life_cycle_stage)
life_cycle_stage_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class referenced by the parameter @life_cycle_stage class.
Reference parameters
The following reference parameters are defined for this template:
document(Type='ENTITY (Document)')
Allow the Document entity instantiated in this path to be referenced when this template is used.
Note: The Document entity can be referenced in a template path by:
%^target = $representing_document.document%
where target is the parameter to which the Document is bound.
document_version(Type='ENTITY (Document_version)')
Allow the Document_version entity instantiated in this path to be referenced when this template is used.
Note: The Document_version entity can be referenced in a template path by:
%^target = $representing_document.document_version%
where target is the parameter to which the Document_version is bound.
document_definition(Type='ENTITY (Document_definition)')
Allow the Document_definition entity instantiated in this path to be referenced when this template is used.
Note: The Document_definition entity can be referenced in a template path by:
%^target = $representing_document.document_definition%
where target is the parameter to which the Document_definition is bound.
view_definition_context(Type='ENTITY (View_definition_context)')
Allow the View_definition_context entity instantiated in this path to be referenced when this template is used.
Note: The View_definition_context entity can be referenced in a template path by:
%^target = $representing_document.view_definition_context%
where target is the parameter to which the View_definition_context is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique document
Each instance of the entity (Document) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_document) namely: doc_id, doc_id_class_name, doc_id_ecl_id, doc_org_id, doc_org_id_class_name, doc_org_id_ecl_id.
The instance is referenced by the following template parameter: document.
Unique constraint: Unique document definition
Each instance of the entity (Document_definition) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_document) namely: doc_id, doc_id_class_name, doc_id_ecl_id, doc_org_id, doc_org_id_class_name, doc_org_id_ecl_id, doc_vn_id, doc_vn_id_class_name, doc_vn_id_ecl_id, doc_vn_org_id, doc_vn_org_id_class_name, doc_vn_org_id_ecl_id, domain, domain_ecl_id, life_cycle_stage, life_cycle_stage_ecl_id.
The instance is referenced by the following template parameter: document_definition.
This rule means that there can be only one view (Document_definition) of a Document_version with any given View_definition_context.
Unique constraint: Unique document version
Each instance of the entity (Document_version) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_document) namely: doc_id, doc_id_class_name, doc_id_ecl_id, doc_org_id, doc_org_id_class_name, doc_org_id_ecl_id, doc_vn_id, doc_vn_id_class_name, doc_vn_id_ecl_id, doc_vn_org_id, doc_vn_org_id_class_name, doc_vn_org_id_ecl_id.
The instance is referenced by the following template parameter: document_version.
This rule means that there can be only one version (Document_version) of a Document with any given identifier.
Unique constraint: Unique view_definition_context
Each instance of the entity (View_definition_context) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_document) namely: domain, domain_ecl_id, life_cycle_stage, life_cycle_stage_ecl_id.
The instance is referenced by the following template parameter: view_definition_context.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
-- Document
Document

-- Mark the Document entity as
-- referable when this template is used by binding it to the reference
-- parameter id_assgn
%^document = Document%
Document.id = '/IGNORE'
Document.name = '/IGNORE'
Document.description = '/IGNORE'

-- Identify the Document
/assigning_identification(
    items=^document,
    id=@doc_id,
    id_class_name=@doc_id_class_name,
    id_ecl_id=@doc_id_ecl_id,
    org_id=@doc_org_id,
    org_id_class_name=@doc_org_id_class_name,
    org_id_ecl_id=@doc_org_id_ecl_id )/

-- Document version
Document_version

-- Mark the Document_version entity as
-- referable when this template is used by binding it to the reference
-- parameter ^document_version
%^document_version = Document_version%
Document_version.id = '/IGNORE'
Document_version.description = '/IGNORE'

-- Relate the document_version to the document
Document_version.of_product -> Document

-- Identify the Document_version
/assigning_identification(
    items=^document_version,
    id=@doc_vn_id,
    id_class_name=@doc_vn_id_class_name,
    id_ecl_id=@doc_vn_id_ecl_id,
    org_id=@doc_vn_org_id,
    org_id_class_name=@doc_vn_org_id_class_name,
    org_id_ecl_id=@doc_vn_org_id_ecl_id )/

-- Document_definition
Document_definition

-- Mark the Document_definition entity as
-- referable when this template is used by binding it to the reference
-- parameter ^document_definition
%^document_definition = Document_definition%

-- Set the Document_definition attributes
Document_definition.id = '/IGNORE'
Document_definition.name = '/IGNORE'
Document_definition.additional_characterization = '/IGNORE'

-- Relate the document_version to the document
Document_definition.defined_version -> Document_version

-- View_definition_context
View_definition_context

-- Mark the View_definition_context entity as
-- referable when this template is used by binding it to the reference
-- parameter ^view_definition_context
%^view_definition_context = View_definition_context%

-- Ignore the attributes
View_definition_context.application_domain = '/IGNORE'
View_definition_context.life_cycle_stage = '/IGNORE'
View_definition_context.description = '/IGNORE'

-- provide the application domain of the view definition by classification
/assigning_reference_data(
    items=^view_definition_context,
    class_name=@life_cycle_stage,
    ecl_id=@life_cycle_stage_ecl_id)/

-- provide the life cycle stage of the view definition by classification
/assigning_reference_data(
    items=^view_definition_context,
    class_name=@domain,
    ecl_id=@domain_ecl_id)/

-- Relate the document_definition to the View_definition_context
Document_definition.initial_context -> View_definition_context
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Document.id '/IGNORE' Product.id
Document.name '/IGNORE' Product.name
Document.description '/IGNORE' Product.description
Document_version.id '/IGNORE' Product_version.id
Document_version.description '/IGNORE' Product_version.description
Document_definition.id '/IGNORE' Product_view_definition.id
Document_definition.name '/IGNORE' Product_view_definition.name
Document_definition.additional_characterization '/IGNORE' Product_view_definition.additional_characterization
View_definition_context.application_domain '/IGNORE'
View_definition_context.life_cycle_stage '/IGNORE'
View_definition_context.description '/IGNORE'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_document(doc_id='DOC-PH-001-001', doc_id_class_name='Document_identification_code', doc_id_ecl_id='urn:plcs:rdl:std', doc_org_id='Parts R Us Ltd', doc_org_id_class_name='Organization_name', doc_org_id_ecl_id='urn:plcs:rdl:std', doc_vn_id='0.3', doc_vn_id_class_name='Version_identification_code', doc_vn_id_ecl_id='urn:plcs:rdl:std', doc_vn_org_id='Parts R Us Ltd', doc_vn_org_id_class_name='Organization_name', doc_vn_org_id_ecl_id='urn:plcs:rdl:std', domain='Maintenance', domain_ecl_id='urn:plcs:rdl:std', life_cycle_stage='Support_stage', life_cycle_stage_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated representing_document template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_document template

Figure 3 —  Entities instantiated by representing_document template

The instance diagram in Figure 4 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/representing_document(doc_id='DOC-PH-001-001', doc_id_class_name='Document_identification_code', doc_id_ecl_id='urn:plcs:rdl:std', doc_org_id='Parts R Us Ltd', doc_org_id_class_name='Organization_name', doc_org_id_ecl_id='urn:plcs:rdl:std', doc_vn_id='0.3', doc_vn_id_class_name='Version_identification_code', doc_vn_id_ecl_id='urn:plcs:rdl:std', doc_vn_org_id='Parts R Us Ltd', doc_vn_org_id_class_name='Organization_name', doc_vn_org_id_ecl_id='urn:plcs:rdl:std', domain='Maintenance', domain_ecl_id='urn:plcs:rdl:std', life_cycle_stage='Support_stage', life_cycle_stage_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Entities instantiated by representing_document template

Figure 4 —  Entities instantiated by representing_document template

Characterizations
The following section details how the representing_document template can be optionally characterized by assigning other constructs to it. These are characterizations commonly applied to the template. The ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
The following characterizations may apply:
Characterization Assigning time

NOTE   this characterization is optional.

Dates and time can be associated with either Document or Document_version by using one of the templates assigning_time, or assigning_calendar_date as shown in Figure 5



Figure 5 —  Characterization by time of Document

Figure 5 —  Characterization by time of Document

A creation date is commonly assigned to the template representing_document. The date and time assignment is classified as: "Date actual creation" (urn:plcs:rdl:std:Date actual creation) to indicate that it is the date (and time) when the Document or Document_version was actually created.

Template: representing_digital_document (Short name: rep_dig_doc)

This section specifies the template representing_digital_document.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to represent a digital document.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_digital_document". The text highlighted in blue shows the template parameters.


Figure 1 —  An EXPRESS-G representation of the Information model for representing_digital_document

Figure 1 —  An EXPRESS-G representation of the Information model for representing_digital_document

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  2 below.


Figure 2 —  The graphical representation of the representing_digital_document template

Figure 2 —  The graphical representation of the representing_digital_document template

Input parameters
The following input parameters are defined for this template:
doc_id (Type='STRING')
The identifier of the document
doc_id_class_name (Default=Document_identification_code,Type='CLASS', Optional)
The id of the External_class_library that stores the class used to classify the type of identifier
The following classes and their sub-classes can be used:
classifications: "Document_identification_code" (urn:plcs:rdl:std:Document_identification_code), "Document_name" (urn:plcs:rdl:std:Document_name), "Document_number" (urn:plcs:rdl:std:Document_number)
doc_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The location of the External_class_library that stores the classifications used to classify the document, document_version and document_definition.
doc_org_id (Type='STRING')
The name or identifier of the organization responsible for the document representation
doc_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class being used to classify the identification (Identification_assignment) of the organization responsible for creating the document representation
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
doc_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
doc_vn_id (Type='STRING')
The version identifier of the document version
doc_vn_id_class_name (Default=Version_identification_code,Type='CLASS', Optional)
The id of the External_class_library that stores the class used to classify the type of identifier
The following classes and their sub-classes can be used:
classifications: "Version_identification_code" (urn:plcs:rdl:std:Version_identification_code)
doc_vn_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The location of the External_class_library that stores the classifications used to classify the document, document_version and document_definition.
doc_vn_org_id (Type='STRING')
The name or identifier of the organization responsible for the document representation
doc_vn_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class being used to classify the identification (Identification_assignment) of the organization responsible for the document representation
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
doc_vn_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
domain (Default=Product_life_cycle_support,Type='CLASS', Optional)
The id of the External_class_library used to describe the type of application domain of the view_definition_context instance.
The following classes and their sub-classes can be used:
classifications: "Discipline_domain" (urn:plcs:rdl:std:Discipline_domain)
domain_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
life_cycle_stage (Default=Support_stage,Type='CLASS', Optional)
The id of the External_class_library used to describe the type of life cycle stage of the view_definition_context instance.
The following classes and their sub-classes can be used:
classifications: "Life_cycle_stage" (urn:plcs:rdl:std:Life_cycle_stage)
life_cycle_stage_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
digital_file (Type= 'ENTITY (Digital_file)' , Optional)
The entities to which the Digital_document_definition may be related to.
Reference parameters
The following reference parameters are defined for this template:
document(Type='ENTITY (Document)')
Allow the Document entity instantiated in this path to be referenced when this template is used.
Note: The Document entity can be referenced in a template path by:
%^target = $representing_digital_document.document%
where target is the parameter to which the Document is bound.
document_version(Type='ENTITY (Document_version)')
Allow the Document_version entity instantiated in this path to be referenced when this template is used.
Note: The Document_version entity can be referenced in a template path by:
%^target = $representing_digital_document.document_version%
where target is the parameter to which the Document_version is bound.
digital_document_definition(Type='ENTITY (Digital_document_definition)')
Allow the Digital_document_definition entity instantiated in this path to be referenced when this template is used.
Note: The Digital_document_definition entity can be referenced in a template path by:
%^target = $representing_digital_document.digital_document_definition%
where target is the parameter to which the Digital_document_definition is bound.
view_definition_context(Type='ENTITY (View_definition_context)')
Allow the View_definition_context entity instantiated in this path to be referenced when this template is used.
Note: The View_definition_context entity can be referenced in a template path by:
%^target = $representing_digital_document.view_definition_context%
where target is the parameter to which the View_definition_context is bound.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
Document

-- Mark the Document entity as
-- referable when this template is used by binding it to the reference
-- parameter id_assgn
%^document = Document%
Document.id = '/IGNORE'
Document.name = '/IGNORE'
Document.description = '/IGNORE'

-- Identify the Document
/assigning_identification(
    items=^document,
    id=@doc_id,
    id_class_name=@doc_id_class_name,
    id_ecl_id=@doc_id_ecl_id,
    org_id=@doc_org_id,
    org_id_class_name=@doc_org_id_class_name,
    org_id_ecl_id=@doc_org_id_ecl_id )/
Document_version

-- Mark the Document_version entity as
-- referable when this template is used by binding it to the reference
-- parameter ^document_version
%^document_version = Document_version%
Document_version.id = '/IGNORE'
Document_version.description = '/IGNORE'

-- Relate the document_version to the document
Document_version.of_product -> Document

-- Identify the Document_version
/assigning_identification(
    items=^document_version,
    id=@doc_vn_id,
    id_class_name=@doc_vn_id_class_name,
    id_ecl_id=@doc_vn_id_ecl_id,
    org_id=@doc_vn_org_id,
    org_id_class_name=@doc_vn_org_id_class_name,
    org_id_ecl_id=@doc_vn_org_id_ecl_id )/
Digital_document_definition

-- Mark the Digital_document_definition entity as
-- referable when this template is used by binding it to the reference
-- parameter ^digital_document_definition
%^digital_document_definition = Digital_document_definition%
Digital_document_definition.id = '/IGNORE'
Digital_document_definition.name = '/IGNORE'
Digital_document_definition.additional_characterization = '/IGNORE'

-- If an optional Digital hardcopy is provided, then link it to the Digital doc definition
Digital_document_definition.files -> @digital_file

-- Relate the document_version to the document
Digital_document_definition.defined_version -> Document_version
View_definition_context

-- Mark the View_definition_context entity as
-- referable when this template is used by binding it to the reference
-- parameter ^view_definition_context
%^view_definition_context = View_definition_context%

-- Ignore the attributes
View_definition_context.application_domain = '/IGNORE'
View_definition_context.life_cycle_stage = '/IGNORE'
View_definition_context.description = '/IGNORE'

-- provide the application domain of the view definition by classification
/assigning_reference_data(
    items=^view_definition_context,
    class_name=@life_cycle_stage,
    ecl_id=@life_cycle_stage_ecl_id)/

-- provide the life cycle stage of the view definition by classification
/assigning_reference_data(
    items=^view_definition_context,
    class_name=@domain,
    ecl_id=@domain_ecl_id)/

-- Relate the digital_document_definition to the View_definition_context
Digital_document_definition.initial_context -> View_definition_context
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Document.id '/IGNORE' Product.id
Document.name '/IGNORE' Product.name
Document.description '/IGNORE' Product.description
Document_version.id '/IGNORE' Product_version.id
Document_version.description '/IGNORE' Product_version.description
Digital_document_definition.id '/IGNORE' Product_view_definition.id
Digital_document_definition.name '/IGNORE' Product_view_definition.name
Digital_document_definition.additional_characterization '/IGNORE' Product_view_definition.additional_characterization
View_definition_context.application_domain '/IGNORE'
View_definition_context.life_cycle_stage '/IGNORE'
View_definition_context.description '/IGNORE'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_digital_document(doc_id='DOC-PH-001-001', doc_id_class_name='Document_identification_code', doc_id_ecl_id='urn:plcs:rdl:std', doc_org_id='Parts R Us Ltd', doc_org_id_class_name='Organization_name', doc_org_id_ecl_id='urn:plcs:rdl:std', doc_vn_id='0.3', doc_vn_id_class_name='Version_identification_code', doc_vn_id_ecl_id='urn:plcs:rdl:std', doc_vn_org_id='urn:plcs:rdl:std', doc_vn_org_id_class_name='Organization_name', doc_vn_org_id_ecl_id='urn:plcs:rdl:std', domain='Maintenance', domain_ecl_id='urn:plcs:rdl:std', life_cycle_stage='Support_stage', life_cycle_stage_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated representing_digital_document template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_digital_document template

Figure 3 —  Entities instantiated by representing_digital_document template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
DATA; #15 = EXTERNAL_CLASS('/IGNORE','Organization_name','/IGNORE',#16); #14 = CLASSIFICATION_ASSIGNMENT(#15,(#12),'/IGNORE'); #12 = IDENTIFICATION_ASSIGNMENT('Parts R Us Ltd','/IGNORE','/IGNORE',(#10)); #10 = ORGANIZATION('/IGNORE','/IGNORE'); #8 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #7 = EXTERNAL_CLASS('/IGNORE','Document_identification_code','/IGNORE',#8); #6 = CLASSIFICATION_ASSIGNMENT(#7,(#4),'/IGNORE'); #4 = IDENTIFICATION_ASSIGNMENT('DOC-PH-001-001','/IGNORE',$,(#2)); #2 = DOCUMENT('/IGNORE','/IGNORE','/IGNORE'); #30 = ORGANIZATION('/IGNORE','/IGNORE'); #28 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #27 = EXTERNAL_CLASS('/IGNORE','Version_identification_code','/IGNORE',#28); #26 = CLASSIFICATION_ASSIGNMENT(#27,(#24),'/IGNORE'); #24 = IDENTIFICATION_ASSIGNMENT('0.3','/IGNORE',$,(#22)); #22 = DOCUMENT_VERSION('/IGNORE','/IGNORE',#2); #21 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #20 = EXTERNAL_CLASS('/IGNORE','Owner_of','/IGNORE',#21); #19 = CLASSIFICATION_ASSIGNMENT(#20,(#17),'/IGNORE'); #17 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#10,'/IGNORE',(#4)); #16 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #47 = EXTERNAL_CLASS_LIBRARY($,$); #46 = EXTERNAL_CLASS('/IGNORE','Support_stage','/IGNORE',#47); #45 = CLASSIFICATION_ASSIGNMENT(#46,(#43),'/IGNORE'); #43 = VIEW_DEFINITION_CONTEXT('/IGNORE','/IGNORE','/IGNORE'); #42 = DIGITAL_DOCUMENT_DEFINITION('/IGNORE','/IGNORE','/IGNORE',#43,(),#22,()); #41 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #40 = EXTERNAL_CLASS('/IGNORE','Owner_of','/IGNORE',#41); #39 = CLASSIFICATION_ASSIGNMENT(#40,(#37),'/IGNORE'); #37 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#30,'/IGNORE',(#24)); #36 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #35 = EXTERNAL_CLASS('/IGNORE','Organization_name','/IGNORE',#36); #34 = CLASSIFICATION_ASSIGNMENT(#35,(#32),'/IGNORE'); #32 = IDENTIFICATION_ASSIGNMENT('Parts R Us Ltd','/IGNORE','/IGNORE',(#30)); #51 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #50 = EXTERNAL_CLASS('/IGNORE','Maintenance','/IGNORE',#51); #49 = CLASSIFICATION_ASSIGNMENT(#50,(#43),'/IGNORE'); ENDSEC;
The instance model in STEP XML exchange file format (ISO 10303 Part 28 ed.2 syntax) is:
The instance diagram in Figure 4 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/representing_digital_document(doc_id='DOC-PH-001-001', doc_id_class_name='Document_identification_code', doc_id_ecl_id='urn:plcs:rdl:std', doc_org_id='Parts R Us Ltd', doc_org_id_class_name='Organization_name', doc_org_id_ecl_id='urn:plcs:rdl:std', doc_vn_id='0.3', doc_vn_id_class_name='Version_identification_code', doc_vn_id_ecl_id='urn:plcs:rdl:std', doc_vn_org_id='urn:plcs:rdl:std', doc_vn_org_id_class_name='Organization_name', doc_vn_org_id_ecl_id='urn:plcs:rdl:std', domain='Maintenance', domain_ecl_id='urn:plcs:rdl:std', life_cycle_stage='Support_stage', life_cycle_stage_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Entities instantiated by representing_digital_document template

Figure 4 —  Entities instantiated by representing_digital_document template

Characterizations
The following section details how the representing_digital_document template can be optionally characterized by assigning other constructs to it. These are characterizations commonly applied to the template. The ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
The following characterizations may apply:
Characterization Assigning date

NOTE   this characterization is optional.

The date when the Work_order and the Directed_activity was issued can be represented by assigning a date (using the relationship Date_or_date_time_assignment) to the Work_order and the Directed_activity using the assigning_calendar_date template with the Date_time being classified as a type of "Date actual release" (urn:plcs:rdl:std:Date actual release).

NOTE    The assignment of dates is described the capability C036: assigning_date_time.

Template: representing_physical_document (Short name: rep_phys_doc)

This section specifies the template representing_physical_document.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to represent a physical document.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_physical_document". The text highlighted in blue shows the template parameters.


Figure 1 —  An EXPRESS-G representation of the Information model for representing_physical_document

Figure 1 —  An EXPRESS-G representation of the Information model for representing_physical_document

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  2 below.


Figure 2 —  The graphical representation of the representing_physical_document template

Figure 2 —  The graphical representation of the representing_physical_document template

Input parameters
The following input parameters are defined for this template:
doc_id (Type='STRING')
The identifier of the document
doc_id_class_name (Default=Document_identification_code,Type='CLASS', Optional)
The id of the External_class_library that stores the class used to classify the type of identifier
The following classes and their sub-classes can be used:
classifications: "Document_identification_code" (urn:plcs:rdl:std:Document_identification_code), "Document_name" (urn:plcs:rdl:std:Document_name), "Document_number" (urn:plcs:rdl:std:Document_number)
doc_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The location of the External_class_library that stores the classifications used to classify the document, document_version and document_definition.
doc_org_id (Type='STRING')
The name or identifier of the organization responsible for the document representation
doc_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class being used to classify the identification (Identification_assignment) of the organization responsible for creating the document representation
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
doc_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
doc_vn_id (Type='STRING')
The version identifier of the document version
doc_vn_id_class_name (Default=Version_identification_code,Type='CLASS', Optional)
The id of the External_class_library that stores the class used to classify the type of identifier
The following classes and their sub-classes can be used:
classifications: "Version_identification_code" (urn:plcs:rdl:std:Version_identification_code)
doc_vn_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The location of the External_class_library that stores the classifications used to classify the document, document_version and document_definition.
doc_vn_org_id (Type='STRING')
The name or identifier of the organization responsible for the document representation
doc_vn_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class being used to classify the identification (Identification_assignment) of the organization responsible for the document representation
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
doc_vn_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
domain (Default=Product_life_cycle_support,Type='CLASS', Optional)
The id of the External_class_library used to describe the type of application domain of the view_definition_context instance.
The following classes and their sub-classes can be used:
classifications: "Discipline_domain" (urn:plcs:rdl:std:Discipline_domain)
domain_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
life_cycle_stage (Default=Support_stage,Type='CLASS', Optional)
The id of the External_class_library used to describe the type of life cycle stage of the view_definition_context instance.
The following classes and their sub-classes can be used:
classifications: "Life_cycle_stage" (urn:plcs:rdl:std:Life_cycle_stage)
life_cycle_stage_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
hardcopy (Type= 'ENTITY (Hardcopy)' , Optional)
The entities to which the physical_document_definition may be related to.
Reference parameters
The following reference parameters are defined for this template:
document(Type='ENTITY (Document)')
Allow the Document entity instantiated in this path to be referenced when this template is used.
Note: The Document entity can be referenced in a template path by:
%^target = $representing_physical_document.document%
where target is the parameter to which the Document is bound.
document_version(Type='ENTITY (Document_version)')
Allow the Document_version entity instantiated in this path to be referenced when this template is used.
Note: The Document_version entity can be referenced in a template path by:
%^target = $representing_physical_document.document_version%
where target is the parameter to which the Document_version is bound.
physical_document_definition(Type='ENTITY (Physical_document_definition)')
Allow the Physical_document_definition entity instantiated in this path to be referenced when this template is used.
Note: The Physical_document_definition entity can be referenced in a template path by:
%^target = $representing_physical_document.physical_document_definition%
where target is the parameter to which the Physical_document_definition is bound.
view_definition_context(Type='ENTITY (View_definition_context)')
Allow the View_definition_context entity instantiated in this path to be referenced when this template is used.
Note: The View_definition_context entity can be referenced in a template path by:
%^target = $representing_physical_document.view_definition_context%
where target is the parameter to which the View_definition_context is bound.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
Document

-- Mark the Document entity as
-- referable when this template is used by binding it to the reference
-- parameter id_assgn
%^document = Document%
Document.id = '/IGNORE'
Document.name = '/IGNORE'
Document.description = '/IGNORE'

-- Identify the Document
/assigning_identification(
    items=^document,
    id=@doc_id,
    id_class_name=@doc_id_class_name,
    id_ecl_id=@doc_id_ecl_id,
    org_id=@doc_org_id,
    org_id_class_name=@doc_org_id_class_name,
    org_id_ecl_id=@doc_org_id_ecl_id )/
Document_version

-- Mark the Document_version entity as
-- referable when this template is used by binding it to the reference
-- parameter ^document_version
%^document_version = Document_version%
Document_version.id = '/IGNORE'
Document_version.description = '/IGNORE'

-- Relate the document_version to the document
Document_version.of_product -> Document

-- Identify the Document_version
/assigning_identification(
    items=^document_version,
    id=@doc_vn_id,
    id_class_name=@doc_vn_id_class_name,
    id_ecl_id=@doc_vn_id_ecl_id,
    org_id=@doc_vn_org_id,
    org_id_class_name=@doc_vn_org_id_class_name,
    org_id_ecl_id=@doc_vn_org_id_ecl_id )/
Physical_document_definition

-- Mark the Physical_document_definition entity as
-- referable when this template is used by binding it to the reference
-- parameter ^physical_document_definition
%^physical_document_definition = Physical_document_definition%
Physical_document_definition.id = '/IGNORE'

-- n/a as (DER) Physical_document_definition.description = '/IGNORE'
Physical_document_definition.additional_characterization = '/IGNORE'

-- If an optional hardcopy is provided, then link it to the physical doc definition
Physical_document_definition.components -> @hardcopy

-- Relate the document_version to the document
Physical_document_definition.defined_version -> Document_version

-- Assign an identifier to the digital document to distinguish from others.
View_definition_context

-- Mark the View_definition_context entity as
-- referable when this template is used by binding it to the reference
-- parameter ^view_definition_context
%^view_definition_context = View_definition_context%

-- Ignore the attributes
View_definition_context.application_domain = '/IGNORE'
View_definition_context.life_cycle_stage = '/IGNORE'
View_definition_context.description = '/IGNORE'

-- provide the application domain of the view definition by classification
/assigning_reference_data(
    items=^view_definition_context,
    class_name=@life_cycle_stage,
    ecl_id=@life_cycle_stage_ecl_id)/

-- provide the life cycle stage of the view definition by classification
/assigning_reference_data(
    items=^view_definition_context,
    class_name=@domain,
    ecl_id=@domain_ecl_id)/

-- Relate the physical_document_definition to the View_definition_context
Physical_document_definition.initial_context -> View_definition_context
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Document.id '/IGNORE' Product.id
Document.name '/IGNORE' Product.name
Document.description '/IGNORE' Product.description
Document_version.id '/IGNORE' Product_version.id
Document_version.description '/IGNORE' Product_version.description
Physical_document_definition.id '/IGNORE' Product_view_definition.id
Physical_document_definition.additional_characterization '/IGNORE' Product_view_definition.additional_characterization
View_definition_context.application_domain '/IGNORE'
View_definition_context.life_cycle_stage '/IGNORE'
View_definition_context.description '/IGNORE'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_physical_document(doc_id='DOC-PH-001-001', doc_id_class_name='Document_identification_code', doc_id_ecl_id='urn:plcs:rdl:std', doc_org_id='Parts R Us Ltd', doc_org_id_class_name='Organization_name', doc_org_id_ecl_id='urn:plcs:rdl:std', doc_vn_id='0.3', doc_vn_id_class_name='Version_identification_code', doc_vn_id_ecl_id='urn:plcs:rdl:std', doc_vn_org_id='urn:plcs:rdl:std', doc_vn_org_id_class_name='Organization_name', doc_vn_org_id_ecl_id='urn:plcs:rdl:std', domain='Maintenance', domain_ecl_id='urn:plcs:rdl:std', life_cycle_stage='Support_stage', life_cycle_stage_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated representing_physical_document template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_physical_document template

Figure 3 —  Entities instantiated by representing_physical_document template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
DATA; #15 = EXTERNAL_CLASS('/IGNORE','Organization_name','/IGNORE',#16); #14 = CLASSIFICATION_ASSIGNMENT(#15,(#12),'/IGNORE'); #12 = IDENTIFICATION_ASSIGNMENT('Parts R Us Ltd','/IGNORE','/IGNORE',(#10)); #10 = ORGANIZATION('/IGNORE','/IGNORE'); #8 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #7 = EXTERNAL_CLASS('/IGNORE','Document_identification_code','/IGNORE',#8); #6 = CLASSIFICATION_ASSIGNMENT(#7,(#4),'/IGNORE'); #4 = IDENTIFICATION_ASSIGNMENT('DOC-PH-001-001','/IGNORE',$,(#2)); #2 = DOCUMENT('/IGNORE','/IGNORE','/IGNORE'); #30 = ORGANIZATION('/IGNORE','/IGNORE'); #28 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #27 = EXTERNAL_CLASS('/IGNORE','Version_identification_code','/IGNORE',#28); #26 = CLASSIFICATION_ASSIGNMENT(#27,(#24),'/IGNORE'); #24 = IDENTIFICATION_ASSIGNMENT('0.3','/IGNORE',$,(#22)); #22 = DOCUMENT_VERSION('/IGNORE','/IGNORE',#2); #21 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #20 = EXTERNAL_CLASS('/IGNORE','Owner_of','/IGNORE',#21); #19 = CLASSIFICATION_ASSIGNMENT(#20,(#17),'/IGNORE'); #17 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#10,'/IGNORE',(#4)); #16 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #47 = EXTERNAL_CLASS_LIBRARY($,$); #46 = EXTERNAL_CLASS('/IGNORE','Support_stage','/IGNORE',#47); #45 = CLASSIFICATION_ASSIGNMENT(#46,(#43),'/IGNORE'); #43 = VIEW_DEFINITION_CONTEXT('/IGNORE','/IGNORE','/IGNORE'); #42 = PHYSICAL_DOCUMENT_DEFINITION('/IGNORE','/IGNORE','/IGNORE',#43,(),#22,()); #41 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #40 = EXTERNAL_CLASS('/IGNORE','Owner_of','/IGNORE',#41); #39 = CLASSIFICATION_ASSIGNMENT(#40,(#37),'/IGNORE'); #37 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#30,'/IGNORE',(#24)); #36 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #35 = EXTERNAL_CLASS('/IGNORE','Organization_name','/IGNORE',#36); #34 = CLASSIFICATION_ASSIGNMENT(#35,(#32),'/IGNORE'); #32 = IDENTIFICATION_ASSIGNMENT('Parts R Us Ltd','/IGNORE','/IGNORE',(#30)); #51 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #50 = EXTERNAL_CLASS('/IGNORE','Maintenance','/IGNORE',#51); #49 = CLASSIFICATION_ASSIGNMENT(#50,(#43),'/IGNORE'); ENDSEC;
The instance model in STEP XML exchange file format (ISO 10303 Part 28 ed.2 syntax) is:
The instance diagram in Figure 4 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/representing_physical_document(doc_id='DOC-PH-001-001', doc_id_class_name='Document_identification_code', doc_id_ecl_id='urn:plcs:rdl:std', doc_org_id='Parts R Us Ltd', doc_org_id_class_name='Organization_name', doc_org_id_ecl_id='urn:plcs:rdl:std', doc_vn_id='0.3', doc_vn_id_class_name='Version_identification_code', doc_vn_id_ecl_id='urn:plcs:rdl:std', doc_vn_org_id='urn:plcs:rdl:std', doc_vn_org_id_class_name='Organization_name', doc_vn_org_id_ecl_id='urn:plcs:rdl:std', domain='Maintenance', domain_ecl_id='urn:plcs:rdl:std', life_cycle_stage='Support_stage', life_cycle_stage_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Entities instantiated by representing_physical_document template

Figure 4 —  Entities instantiated by representing_physical_document template

Characterizations
The following section details how the representing_physical_document template can be optionally characterized by assigning other constructs to it. These are characterizations commonly applied to the template. The ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
The following characterizations may apply:
Characterization Assigning date

NOTE   this characterization is optional.

The date when the Work_order and the Directed_activity was issued can be represented by assigning a date (using the relationship Date_or_date_time_assignment) to the Work_order and the Directed_activity using the assigning_calendar_date template with the Date_time being classified as a type of "Date actual release" (urn:plcs:rdl:std:Date actual release).

NOTE    The assignment of dates is described the capability C036: assigning_date_time.

Template: representing_digital_file (Short name: rep_dig_file)

This section specifies the template representing_digital_file.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to represent a digital file. It does not describe the digital document definition to which a digital file may belong.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_digital_file". The text highlighted in blue shows the template parameters.


Figure 1 —  An EXPRESS-G representation of the Information model for representing_digital_file

Figure 1 —  An EXPRESS-G representation of the Information model for representing_digital_file

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  2 below.


Figure 2 —  The graphical representation of the representing_digital_file template

Figure 2 —  The graphical representation of the representing_digital_file template

Input parameters
The following input parameters are defined for this template:
dig_file_id (Type='STRING')
The identifier of the digital file.
dig_file_id_class_name (Default=File_identification_code,Type='CLASS', Optional)
The name of the External_class being used to classify the identifier assigned to the digital file (i.e. the @dig_file_id)
The following classes and their sub-classes can be used:
classifications: "File_identification_code" (urn:plcs:rdl:std:File_identification_code), "File_name" (urn:plcs:rdl:std:File_name)
dig_file_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the External_class referenced by the parameter @dig_file_id_class_name.
dig_file_org_id (Type='STRING')
The name or identifier of the organization that owns the digital file id (@dig_file_id).
dig_file_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class being used to classify the identification of the organization (@dig_file_org_id) responsible for creating the digital file.
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
dig_file_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the External_class used to classify the organization identifier (@dig_file_org_id).
cont_data_type_class_name (Default=Digital_file,Type='CLASS', Optional)
The name of the External_class being used to determine the Digital_file type.
The following classes and their sub-classes can be used:
classifications: "Digital_file" (urn:plcs:rdl:std:Digital_file)
cont_data_type_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the External_class being used to determine the Digital_file type (@cont_data_type_class_name).
Reference parameters
The following reference parameters are defined for this template:
digital_file(Type='ENTITY (Digital_file)')
Allow the Digital_file entity instantiated in this path to be referenced when this template is used.
Note: The Digital_file entity can be referenced in a template path by:
%^target = $representing_digital_file.digital_file%
where target is the parameter to which the Digital_file is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique digital file
Each instance of the entity (Digital_file) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_digital_file) namely: dig_file_id, dig_file_id_class_name, dig_file_id_ecl_id, dig_file_org_id, dig_file_org_id_class_name, dig_file_org_id_ecl_id, cont_data_type_class_name, cont_data_type_ecl_id.
The instance is referenced by the following template parameter: digital_file.
This rule means that there can be only one digital file (Digital_file ) with any given combination of identifier and file type.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
Digital_file

-- Mark the Digital_file entity as
-- referable when this template is used by binding it to the reference
-- parameter digital_file
%^digital_file = Digital_file%
Digital_file.id = '/IGNORE'
Digital_file.version = '/IGNORE'
Digital_file.contained_data_type = '/IGNORE'

-- Identify the Digital_file
/assigning_identification(
    items=^digital_file,
    id=@dig_file_id,
    id_class_name=@dig_file_id_class_name,
    id_ecl_id=@dig_file_id_ecl_id,
    org_id=@dig_file_org_id,
    org_id_class_name=@dig_file_org_id_class_name,
    org_id_ecl_id=@dig_file_org_id_ecl_id )/

-- provide the contained data type of the digital_file by classification
/assigning_reference_data(
    items=^digital_file,
    class_name=@cont_data_type_class_name,
    ecl_id=@cont_data_type_ecl_id)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Digital_file.id '/IGNORE' File.id
Digital_file.version '/IGNORE' File.version
Digital_file.contained_data_type '/IGNORE' File.contained_data_type
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_digital_file(dig_file_id='FIG1-C005-T005-001', dig_file_id_class_name='File_identification_code', dig_file_id_ecl_id='urn:plcs:rdl:std', dig_file_org_id='Bike Ltd', dig_file_org_id_class_name='Organization_name', dig_file_org_id_ecl_id='urn:plcs:rdl:std', cont_data_type_class_name='Drawing', cont_data_type_class_name_ecl_id='urn:plcs:rdl:sample')/
(an illustration of the consolidated representing_digital_file template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_digital_file template

Figure 3 —  Entities instantiated by representing_digital_file template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
DATA; #1 = DIGITAL_FILE('/IGNORE','/IGNORE','/IGNORE'); #3 = IDENTIFICATION_ASSIGNMENT('FIG1-C005-T005-001','/IGNORE','/IGNORE',(#1)); #5 = CLASSIFICATION_ASSIGNMENT(#6,(#3),'/IGNORE'); #6 = EXTERNAL_CLASS('/NULL','File_identification_code','/IGNORE',#7); #7 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std','/IGNORE'); #10 = ORGANIZATION('/IGNORE','/IGNORE'); #12 = IDENTIFICATION_ASSIGNMENT('Bike Ltd','/IGNORE','/IGNORE',(#10)); #14 = CLASSIFICATION_ASSIGNMENT(#15,(#12),'/IGNORE'); #15 = EXTERNAL_CLASS('/NULL','Organization_name','/IGNORE',#7); #17 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#10,'/IGNORE',(#3)); #19 = CLASSIFICATION_ASSIGNMENT(#20,(#17),'/IGNORE'); #20 = EXTERNAL_CLASS('/NULL','Owner_of','/IGNORE',#7); #23 = CLASSIFICATION_ASSIGNMENT(#24,(#1),'/IGNORE'); #24 = EXTERNAL_CLASS('/NULL','Drawing','/IGNORE',#25); #25 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:sample','/IGNORE'); ENDSEC;
The instance diagram in Figure 4 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/representing_digital_file(dig_file_id='FIG1-C005-T005-001', dig_file_id_class_name='File_identification_code', dig_file_id_ecl_id='urn:plcs:rdl:std', dig_file_org_id='Bike Ltd', dig_file_org_id_class_name='Organization_name', dig_file_org_id_ecl_id='urn:plcs:rdl:std', cont_data_type_class_name='Drawing', cont_data_type_class_name_ecl_id='urn:plcs:rdl:sample')/


Figure 4 —  Entities instantiated by representing_digital_file template

Figure 4 —  Entities instantiated by representing_digital_file template

Characterizations
No common characterizations of the template representing_digital_file have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: representing_hardcopy_file (Short name: rep_hard_file)

This section specifies the template representing_hardcopy_file.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to represent a hardcopy file. It does not describe the physical document definition to which a hardcopy file may belong.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_hardcopy_file". The text highlighted in blue shows the template parameters.


Figure 1 —  An EXPRESS-G representation of the Information model for representing_hardcopy_file

Figure 1 —  An EXPRESS-G representation of the Information model for representing_hardcopy_file

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  2 below.


Figure 2 —  The graphical representation of the representing_hardcopy_file template

Figure 2 —  The graphical representation of the representing_hardcopy_file template

Input parameters
The following input parameters are defined for this template:
hardcopy_id (Type='STRING')
The identifier of the document
hardcopy_id_class_name (Default=File_identification_code,Type='CLASS', Optional)
The id of the External_class_library that stores the class used to classify the type of identifier
The following classes and their sub-classes can be used:
classifications: "File_identification_code" (urn:plcs:rdl:std:File_identification_code), "File_name" (urn:plcs:rdl:std:File_name)
hardcopy_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The location of the External_class_library that stores the classifications used to classify the document, document_version and document_definition.
hardcopy_org_id (Type='STRING')
The name or identifier of the organization responsible for the document representation
hardcopy_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class being used to classify the identification (Identification_assignment) of the organization responsible for creating the document representation
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
hardcopy_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
hardcopy_vn_id (Type='STRING')
The version identifier of the document version
hardcopy_vn_id_class_name (Default=Version_identification_code,Type='CLASS', Optional)
The id of the External_class_library that stores the class used to classify the type of identifier
The following classes and their sub-classes can be used:
classifications: "Version_identification_code" (urn:plcs:rdl:std:Version_identification_code), "Variant_identification_code" (urn:plcs:rdl:std:Variant_identification_code)
hardcopy_vn_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The location of the External_class_library that stores the classifications used to classify the document, document_version and document_definition.
hardcopy_vn_org_id (Type='STRING')
The name or identifier of the organization responsible for the document representation
hardcopy_vn_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class being used to classify the identification (Identification_assignment) of the organization responsible for the document representation
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
hardcopy_vn_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
cont_data_type_class_name (Default=Unknown_data_type,Type='CLASS', Optional)
The type of data used to describe the content of the file instance identified.
The following classes and their sub-classes can be used:
classifications: "Contained_data" (urn:plcs:rdl:std:Contained_data), "Unknown_data_type" (urn:plcs:rdl:std:Unknown_data_type)
cont_data_type_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the file identified.
Reference parameters
The following reference parameters are defined for this template:
hardcopy(Type='ENTITY (Hardcopy)')
Allow the Hardcopy entity instantiated in this path to be referenced when this template is used.
Note: The Hardcopy entity can be referenced in a template path by:
%^target = $representing_hardcopy_file.hardcopy%
where target is the parameter to which the Hardcopy is bound.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
Hardcopy

-- Mark the file entity as
-- referable when this template is used by binding it to the reference
-- parameter id_assgn
%^hardcopy = Hardcopy%
Hardcopy.id = '/IGNORE'
Hardcopy.version = '/IGNORE'
Hardcopy.contained_data_type = '/IGNORE'

-- Identify the Document
/assigning_identification(
    items=^hardcopy,
    id=@hardcopy_id,
    id_class_name=@hardcopy_id_class_name,
    id_ecl_id=@hardcopy_id_ecl_id,
    org_id=@hardcopy_org_id,
    org_id_class_name=@hardcopy_org_id_class_name,
    org_id_ecl_id=@hardcopy_org_id_ecl_id )/

-- Note that digital files do not have a digital_file_version - only single atttribute on the file itself. However, we'll use the same mechanism as previously to identify it.
-- Identify the Document_version
/assigning_identification(
    items=^hardcopy,
    id=@hardcopy_vn_id,
    id_class_name=@hardcopy_vn_id_class_name,
    id_ecl_id=@hardcopy_vn_id_ecl_id,
    org_id=@hardcopy_vn_org_id,
    org_id_class_name=@hardcopy_vn_org_id_class_name,
    org_id_ecl_id=@hardcopy_vn_org_id_ecl_id )/

-- provide the contained data type of the file by classification
/assigning_reference_data(
    items=^hardcopy,
    class_name=@cont_data_type_class_name,
    ecl_id=@cont_data_type_ecl_id)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Hardcopy.id '/IGNORE' File.id
Hardcopy.version '/IGNORE' File.version
Hardcopy.contained_data_type '/IGNORE' File.contained_data_type
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_hardcopy_file(hardcopy_id='Hardcopy Print of FIG1-C005-T005-001', hardcopy_id_class_name='File_name', hardcopy_id_ecl_id='urn:plcs:rdl:std', hardcopy_id='Parts R Us Ltd', hardcopy_id_class_name='Organization_name', hardcopy_id_ecl_id='urn:plcs:rdl:std', hardcopy_id='Print 1', hardcopy_id_class_name='Version_identification_code', hardcopy_id_ecl_id='urn:plcs:rdl:std', hardcopy_id='Parts R Us Ltd', hardcopy_id_class_name='Organization_name', hardcopy_id_ecl_id='urn:plcs:rdl:std', hardcopy_id_class_name='Drawing', hardcopy_id_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated representing_hardcopy_file template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_hardcopy_file template

Figure 3 —  Entities instantiated by representing_hardcopy_file template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
DATA; #15 = EXTERNAL_CLASS('/IGNORE','Organization_name','/IGNORE',#16); #14 = CLASSIFICATION_ASSIGNMENT(#15,(#12),'/IGNORE'); #12 = IDENTIFICATION_ASSIGNMENT('Parts R Us Ltd','/IGNORE','/IGNORE',(#10)); #10 = ORGANIZATION('/IGNORE','/IGNORE'); #8 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #7 = EXTERNAL_CLASS('/IGNORE','File_name','/IGNORE',#8); #6 = CLASSIFICATION_ASSIGNMENT(#7,(#4),'/IGNORE'); #4 = IDENTIFICATION_ASSIGNMENT('Hardcopy Print of FIG1-C005-T005-001','/IGNORE',$,(#2)); #2 = HARDCOPY('/IGNORE','/IGNORE','/IGNORE'); #31 = IDENTIFICATION_ASSIGNMENT('Parts R Us Ltd','/IGNORE','/IGNORE',(#29)); #29 = ORGANIZATION('/IGNORE','/IGNORE'); #27 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #26 = EXTERNAL_CLASS('/IGNORE','Version_identification_code','/IGNORE',#27); #25 = CLASSIFICATION_ASSIGNMENT(#26,(#23),'/IGNORE'); #23 = IDENTIFICATION_ASSIGNMENT('Print 1','/IGNORE',$,(#2)); #21 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #20 = EXTERNAL_CLASS('/IGNORE','Owner_of','/IGNORE',#21); #19 = CLASSIFICATION_ASSIGNMENT(#20,(#17),'/IGNORE'); #17 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#10,'/IGNORE',(#4)); #16 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #44 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #43 = EXTERNAL_CLASS('/IGNORE','Drawing','/IGNORE',#44); #42 = CLASSIFICATION_ASSIGNMENT(#43,(#2),'/IGNORE'); #40 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #39 = EXTERNAL_CLASS('/IGNORE','Owner_of','/IGNORE',#40); #38 = CLASSIFICATION_ASSIGNMENT(#39,(#36),'/IGNORE'); #36 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#29,'/IGNORE',(#23)); #35 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #34 = EXTERNAL_CLASS('/IGNORE','Organization_name','/IGNORE',#35); #33 = CLASSIFICATION_ASSIGNMENT(#34,(#31),'/IGNORE'); ENDSEC;
The instance model in STEP XML exchange file format (ISO 10303 Part 28 ed.2 syntax) is:
The instance diagram in Figure 4 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/representing_hardcopy_file(hardcopy_id='Hardcopy Print of FIG1-C005-T005-001', hardcopy_id_class_name='File_name', hardcopy_id_ecl_id='urn:plcs:rdl:std', hardcopy_id='Parts R Us Ltd', hardcopy_id_class_name='Organization_name', hardcopy_id_ecl_id='urn:plcs:rdl:std', hardcopy_id='Print 1', hardcopy_id_class_name='Version_identification_code', hardcopy_id_ecl_id='urn:plcs:rdl:std', hardcopy_id='Parts R Us Ltd', hardcopy_id_class_name='Organization_name', hardcopy_id_ecl_id='urn:plcs:rdl:std', hardcopy_id_class_name='Drawing', hardcopy_id_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Entities instantiated by representing_hardcopy_file template

Figure 4 —  Entities instantiated by representing_hardcopy_file template

Characterizations
The following section details how the representing_hardcopy_file template can be optionally characterized by assigning other constructs to it. These are characterizations commonly applied to the template. The ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
The following characterizations may apply:
Characterization Assigning time

NOTE   this characterization is optional.

Dates and time can be associated with a Hardcopy by using one of the templates assigning_time, or assigning_calendar_date (deprecated).



Figure 5 —  Characterization by time of Hardcopy

Figure 5 —  Characterization by time of Hardcopy

A creation date is commonly assigned to the template representing_hardcopy_file. The date and time assignment is classified as: "Date actual creation" (urn:plcs:rdl:std:Date actual creation) to indicate that it is the date (and time) when the Hardcopy was actually created.

Template: representing_file_relationships (Short name: rep_file_relns)

This section specifies the template representing_file_relationships.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to represent a relationship between two Files. The File(s) related can be either Digital_file(s), Hardcopy files, or one of each. The "relating" and "related" File(s) must be different instances.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_file_relationships". The text highlighted in blue shows the template parameters.


Figure 1 —  An EXPRESS-G representation of the Information model for representing_file_relationships

Figure 1 —  An EXPRESS-G representation of the Information model for representing_file_relationships

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  2 below.


Figure 2 —  The graphical representation of the representing_file_relationships template

Figure 2 —  The graphical representation of the representing_file_relationships template

Input parameters
The following input parameters are defined for this template:
relating_file (Type= 'ENTITY (File)' )
The relating File - could be a Digital_file or Hardcopy instance
related_file (Type= 'ENTITY (File)' )
The relating File - could be a Digital_file or Hardcopy instance
file_reln_class_name (Default=File_relationship,Type='CLASS', Optional)
The classification of the File_relationship entity.
The following classes and their sub-classes can be used:
classifications: "File_relationship" (urn:plcs:rdl:std:File_relationship), [References]
[warning:]Error RDL1: The class References does not exist in RDL at urn urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Originates]
[warning:]Error RDL1: The class Originates does not exist in RDL at urn urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Derivation]
[warning:]Error RDL1: The class Derivation does not exist in RDL at urn urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
file_reln_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the file identified.
Reference parameters
The following reference parameters are defined for this template:
relating_file(Type='ENTITY (File)')
Allow the File entity instantiated in this path to be referenced when this template is used.
Note: The File entity can be referenced in a template path by:
%^target = $representing_file_relationships.relating_file%
where target is the parameter to which the File is bound.
related_file(Type='ENTITY (File)')
Allow the File entity instantiated in this path to be referenced when this template is used.
Note: The File entity can be referenced in a template path by:
%^target = $representing_file_relationships.related_file%
where target is the parameter to which the File is bound.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
File_relationship

-- Create the file relationship entity
-- Set the attributes
File_relationship.relation_type = '/IGNORE'
File_relationship.description = '/IGNORE'
File_relationship.relating_document_file -> @relating_file
File_relationship.related_document_file -> @related_file

-- provide the role of the relationship by classifying the file_relationship
/assigning_reference_data(
    items=File_relationship,
    class_name=@file_reln_class_name,
    ecl_id=@file_reln_ecl_id)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
File_relationship.relation_type '/IGNORE'
File_relationship.description '/IGNORE'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_file_relationships(file_reln_class_name='References', file_reln_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated representing_file_relationships template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_file_relationships template

Figure 3 —  Entities instantiated by representing_file_relationships template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
DATA; #7 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #6 = EXTERNAL_CLASS('/IGNORE','References','/IGNORE',#7); #5 = CLASSIFICATION_ASSIGNMENT(#6,(#1),'/IGNORE'); #3 = DIGITAL_FILE('/IGNORE','/IGNORE','/IGNORE'); #2 = DIGITAL_FILE('/IGNORE','/IGNORE','/IGNORE'); #1 = FILE_RELATIONSHIP('/IGNORE','/IGNORE',#2,#3); ENDSEC;
The instance model in STEP XML exchange file format (ISO 10303 Part 28 ed.2 syntax) is:
The instance diagram in Figure 4 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/representing_file_relationships(file_reln_class_name='References', file_reln_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Entities instantiated by representing_file_relationships template

Figure 4 —  Entities instantiated by representing_file_relationships template

Characterizations
The following section details how the representing_file_relationships template can be optionally characterized by assigning other constructs to it. These are characterizations commonly applied to the template. The ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
The following characterizations may apply:
Characterization Assigning descriptor

NOTE   this characterization is optional.

A description of the relationship can be provided using the template assigning_descriptor. This is applied to the ^relating_file or ^related_file reference parameters. See Figure 4 for the an abstract view of this. The following template call shows how this might be instantiated.

/assigning_descriptor(descr='This relationship relates any constituent parts to a top level item', class_name='Description', ecl_id='urn:plcs:rdl:std', is_assigned_to='@1')/
Template: representing_document_history (Short name: rep_doc_hist)

This section specifies the template representing_document_history.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to represent the version history of a document. This is primarily achieved through use of the Document_version and Product_version_relationship entities.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_document_history". The text highlighted in blue shows the template parameters.


Figure 1 —  An EXPRESS-G representation of the Information model for representing_document_history

Figure 1 —  An EXPRESS-G representation of the Information model for representing_document_history

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  2 below.


Figure 2 —  The graphical representation of the representing_document_history template

Figure 2 —  The graphical representation of the representing_document_history template

Input parameters
The following input parameters are defined for this template:
relating_doc_version (Type= 'ENTITY (Document_version)' )
The relating Document version
related_doc_version (Type= 'ENTITY (Document_version)' )
The related Document version
version_reln_class_name (Type='CLASS')
The classification of the File_relationship entity.
The following classes and their sub-classes can be used:
classifications: [Sequential_version_relationship]
[warning:]Error RDL1: The class Sequential_version_relationship does not exist in RDL at urn urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Derived_version_relationship]
[warning:]Error RDL1: The class Derived_version_relationship does not exist in RDL at urn urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Hierarchical_version_relationship]
[warning:]Error RDL1: The class Hierarchical_version_relationship does not exist in RDL at urn urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
version_reln_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the file identified.
Reference parameters
The following reference parameters are defined for this template:
relating_doc_version(Type='ENTITY (Document_version)')
Allow the Document_version entity instantiated in this path to be referenced when this template is used.
Note: The Document_version entity can be referenced in a template path by:
%^target = $representing_document_history.relating_doc_version%
where target is the parameter to which the Document_version is bound.
related_doc_version(Type='ENTITY (Document_version)')
Allow the Document_version entity instantiated in this path to be referenced when this template is used.
Note: The Document_version entity can be referenced in a template path by:
%^target = $representing_document_history.related_doc_version%
where target is the parameter to which the Document_version is bound.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
Product_version_relationship

-- Create the Product_version_relationship entity
-- Set the attributes
Product_version_relationship.relation_type = '/IGNORE'
Product_version_relationship.description = '/IGNORE'
Product_version_relationship.relating_version -> @relating_doc_version
Product_version_relationship.related_version -> @related_doc_version

-- provide the role of the relationship by classifying the file_relationship
/assigning_reference_data(
    items=Product_version_relationship,
    class_name=@version_reln_class_name,
    ecl_id=@version_reln_ecl_id)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Product_version_relationship.relation_type '/IGNORE'
Product_version_relationship.description '/IGNORE'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_document_history(version_reln_class_name='Document', version_reln_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated representing_document_history template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_document_history template

Figure 3 —  Entities instantiated by representing_document_history template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
DATA; #8 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #7 = EXTERNAL_CLASS('/IGNORE','Document','/IGNORE',#8); #6 = CLASSIFICATION_ASSIGNMENT(#7,(#1),'/IGNORE'); #4 = DOCUMENT('/IGNORE','/IGNORE','/IGNORE'); #3 = DOCUMENT_VERSION('/IGNORE','/IGNORE',#4); #2 = DOCUMENT_VERSION('/IGNORE','/IGNORE',#4); #1 = PRODUCT_VERSION_RELATIONSHIP('/IGNORE','/IGNORE',#2,#3); ENDSEC;
The instance model in STEP XML exchange file format (ISO 10303 Part 28 ed.2 syntax) is:
The instance diagram in Figure 4 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/representing_document_history(version_reln_class_name='Document', version_reln_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Entities instantiated by representing_document_history template

Figure 4 —  Entities instantiated by representing_document_history template

Characterizations
The following section details how the representing_document_history template can be optionally characterized by assigning other constructs to it. These are characterizations commonly applied to the template. The ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
The following characterizations may apply:
Characterization Assigning time

NOTE   this characterization is optional.

Dates and time can be associated with a historical version of a document by using one of the templates assigning_time, or assigning_calendar_date (deprecated).



Figure 5 —  Characterization by time of document version history

Figure 5 —  Characterization by time of document version history

A creation date is commonly assigned to the template representing_document_history. The date and time assignment is classified as: "Date actual creation" (urn:plcs:rdl:std:Date actual creation) to indicate that it is the date (and time) when the document version was actually created.

Related capabilities

This capability "Representing Documents" is related to the following capabilities:

Dependent capabilities

This capability "Representing Documents" is dependent on the following capabilities:

Related standards

There might be the need to classify product data items according to a classification system with explicit reference to the classification criteria and related properties of the product data items. This classification mechanism is called general classification. The PDM Schema only supports specific classification of product data items via assigned categories, which are defined by labeling them with a name. PLCS provides the general classification.

Model reference data

The following classes of reference data are required for this capability:

Document_identification_code(urn:plcs:rdl:std:Document_identification_code)
A Document_identification_code is an Identification_code that identifies a Document. CONSTRAINT: An Identification_assignment classified as a Document_identification_code can only be assigned to a Document or its subclasses where the document is not a descriptor or an information collection.
[Document_type_code]
[warning:]Error RDL1: The class Document_type_code does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
Version_identification_code(urn:plcs:rdl:std:Version_identification_code)
A Version_identifcation_code is a Progression_identifcation_code that identifies a particular version of an item in a series of versions. NOTE: The code is normally sequential. CONSTRAINT: An Identification_assignment classified as a Version_identification_code can only be assigned to a Product_version or its sub classes, Task_method_version, Scheme_version
Organization_identification_code(urn:plcs:rdl:std:Organization_identification_code)
An Organization_identification_code is an identification_code that identifies an organization. CONSTRAINT: An Identification_assignment classified as an Organization_identification_code can only be assigned to an Organization or its subclasses.
[Document_definition_identification_code]
[warning:]Error RDL1: The class Document_definition_identification_code does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml

© OASIS 2010 — All rights reserved