Template:— assigning_document_reference (asg_doc_ref) Date: 2010/01/28 15:27:38
Revision: 1.12

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 Templates Help/Information 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.

© OASIS 2010 — All rights reserved