Integrated generic resource: Fundamentals of product description and support | ISO 10303-41:2021(E) © ISO |
EXAMPLE International, national, and organizational standards, catalogues, and tables of engineering data are examples of formal standards or documents.
This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following EXPRESS declaration begins the document_schema and identifies the necessary external references.Each implementation of an AP that uses this schema and that encodes entity names shall use the encoding specified in Annex A. Each reference to this schema in an open system shall use the identifier encoding specified in Annex B. This schema is illustrated in Annex D using the EXPRESS-G notation.
EXPRESS specification:
*)
SCHEMA document_schema;
REFERENCE FROM
product_definition_schema
--
ISO 10303-41
(product,
product_definition,
product_definition_formation);
REFERENCE FROM
support_resource_schema
--
ISO 10303-41
(bag_to_set,
identifier,
label,
text);
(*
NOTE 1 The schemas referenced above are specified in the following parts:
product_definition_schema ISO 10303-41 support_resource_schema ISO 10303-41
NOTE 2 See Annex D for a graphical representation of this schema.
EXAMPLE Heat treatment processes documentation can be specified using the resource constructs that are defined in this schema.
EXPRESS specification:
*)
TYPE
product_or_formation_or_definition
=
SELECT
(product,
product_definition_formation,
product_definition);
END_TYPE;
(*
NOTE 1 The information collected need not be represented in a format conforming to any EXPRESS schema.
EXAMPLE JPEG and HTML files are examples of document.
NOTE 2 This part of ISO 10303 provides several resources to describe documents and to associate them with product data. Annex F.2 provides an explanation about how to describe documents if they are to be considered products.
EXPRESS specification:
*)
ENTITY document;
id : identifier;
name : label;
description :
OPTIONAL
text;
kind : document_type;
INVERSE
representation_types : SET[0:?] OF document_representation_type FOR represented_document;
END_ENTITY;
(*
Attribute definitions:
id: the identifier that distinguishes the document.
NOTE 3 The meaning of this attribute can be defined in the annotated EXPRESS schemas that use or specialize this entity, or in an agreement of common understanding between the partners sharing this information.
NOTE 4 The context in which id is used as a discriminating characteristic can be identified in an annotated Express schema that uses or specializes this entity, or by default, in an agreement of common understanding between partners sharing this information.
name: the label by which the document is known.
NOTE 5 The name may include the source of the document.
EXAMPLE An example of the source of a document is "ISO".
description: the text that characterizes the document. The value of the attribute need not be specified.
kind: the document_type that specifies the sort of data that the document describes.
representation_types: the set of document_representation_type entities that specifies the way a document is represented.
NOTE 1 The role of document_product_association can be defined in the annotated EXPRESS schemas that use or specialize this entity, or by default, in an agreement of common understanding between the partners sharing this information.
NOTE 2 The document_product_association may establish an equivalence between the document and the product_definition_formation or between the document and the product of the document and the product_definition. This equivalence will provide a document with the versioning structure found in the product_definition_schema.
EXPRESS specification:
*)
ENTITY document_product_association;
name : label;
description :
OPTIONAL
text;
relating_document : document;
related_product : product_or_formation_or_definition;
END_ENTITY;
(*
Attribute definitions:
name: the label by which the document_product_association is known.
description: the text that characterizes the document_product_association. The value of the attribute need not be specified.
relating_document: the instance of document that is part of the association.
NOTE 3 The meaning of this attribute can be defined in the annotated EXPRESS schemas that use or specialize this entity, or in an agreement of common understanding between the partners sharing this information.
related_product: the instance of product, product_definition_formation, or product_definition entity data type associated with an instance of document.
NOTE 4 The meaning of this attribute can be defined in the annotated EXPRESS schemas that use or specialize this entity, or in an agreement of common understanding between the partners sharing this information.
NOTE 1 The role of document_relationship can be defined in the annotated EXPRESS schemas that use or specialize this entity, or by default, in an agreement of common understanding between the partners sharing this information.
NOTE 2 Relationships represented using this entity may be parent child relationship. Annotated EXPRESS schemas that use or specialize this entity specify whether or not the relationship is directed.
NOTE 3 This entity, together with the document entity, is based on the relationship template that is described in annex E.3.
EXPRESS specification:
*)
ENTITY document_relationship;
name : label;
description :
OPTIONAL
text;
relating_document : document;
related_document : document;
END_ENTITY;
(*
Attribute definitions:
name: the label by which the document_relationship is known.
description: the text that characterizes the document_relationship. The value of the attribute need not be specified.
relating_document: one of the instances of document that is a part of the relationship.
NOTE 4 The meaning of this attribute can be defined in the annotated EXPRESS schemas that use or specialize this entity, or in an agreement of common understanding between the partners sharing this information.
related_document: the other instance of document that is a part of the relationship. If one element of the relationship is dependent upon the other, this attribute shall be the dependent one.
NOTE 5 The meaning of this attribute can be defined in the annotated EXPRESS schemas that use or specialize this entity, or in an agreement of common understanding between the partners sharing this information.
EXPRESS specification:
*)
ENTITY document_representation_type;
name : label;
represented_document : document;
END_ENTITY;
(*
Attribute definitions:
name: the label by which the document_representation_type is known.
EXAMPLE 'Digital' and 'physical' are examples for the name.
represented_document: the document for which the kinds of representation are specified.
NOTE The applicable values of document_type can be defined in the annotated EXPRESS schemas that use or specialize this entity, or by default, in an agreement of common understanding between the partners sharing this information.
EXAMPLE 1 'Material', 'surface finish', and 'heat treatment process' are all pieces of data that can be described implicitly, by reference to other documents (such as standards documents), rather than explicitly every time they are used.
EXPRESS specification:
*)
ENTITY document_type;
product_data_type : label;
END_ENTITY;
(*
Attribute definitions:
product_data_type: the name of the kind of data contained in a document.
EXAMPLE 2 'Material description' is an example of product_data_type that characterizes the information provided by a standards document for material.
NOTE 1 This entity could be used to identify the clause of a document and the content or portions of the content in that clause that are relevant.
EXPRESS specification:
*)
ENTITY document_usage_constraint;
source : document;
subject_element : label;
subject_element_value : text;
END_ENTITY;
(*
Attribute definitions:
source: the document in which the subject_element originates.
NOTE 2 The inverse of this relationship is used to define multiple elements of a document.
subject_element: the name of an element of the source.
subject_element_value: the label that conveys a specific value of the subject_element present in the source
EXAMPLE For references to a 'surface finish' source the subject_element may be a 'Clause 2.1 surface imperfection' and its associated subject_element_value may be 'no visible imperfections', 'no more than two imperfections that are more than 0.06 inch diameter within any given square inch of surface area', or 'no imperfections under 10 times magnification'.
EXAMPLE 1 A surface finish document may be identified by various classes, class A, class B, and class C. Each class of surface finish specifies various allowances for imperfections in the surface finish. Class A may require no visible imperfections, class B may require no more than two imperfections that are more than 0.06 inch diameter within any given square inch of surface area, and class C may require no imperfections under 10 times magnification.
EXPRESS specification:
*)
ENTITY document_with_class
SUBTYPE OF (document);
class : identifier;
END_ENTITY;
(*
Attribute definitions:
class: the identification of the data classification to which the document belongs.
NOTE The meaning of this attribute can be defined in the annotated EXPRESS schemas that use or specialize this entity, or in an agreement of common understanding between the partners sharing this information.
EXAMPLE 2 The value of this attribute would be 'A', 'B' or 'C' in the previous example.
The function returns TRUE if no cycle has been detected. Otherwise it returns FALSE.
NOTE 1 The algorithm of the function is explained in annex E.2.
NOTE 2 This function is not used in this schema. It is defined here because other ISO 10303 integrated resources and application protocols that use the document_relationship entity include rules that use this function.
EXPRESS specification:
*)
FUNCTION acyclic_document_relationship (relation : document_relationship; relatives : SET[1:?] OF document; specific_relation : STRING) : BOOLEAN;
LOCAL x : SET OF document_relationship; END_LOCAL; IF relation.relating_document IN relatives THEN RETURN (FALSE); END_IF; x := QUERY(doc <* bag_to_set(USEDIN(relation.relating_document, 'DOCUMENT_SCHEMA.' + 'DOCUMENT_RELATIONSHIP.' + 'RELATED_DOCUMENT')) | specific_relation IN TYPEOF(doc)); REPEAT i := 1 TO HIINDEX(x); IF NOT acyclic_document_relationship(x[i], relatives + relation.relating_document, specific_relation) THEN RETURN (FALSE); END_IF; END_REPEAT; RETURN (TRUE);
END_FUNCTION;
(*
Argument definitions:
relation: (input) the candidate document_relationship to be checked.
relatives: (input) the set of instances of the entity data type document for which the function is searching in the relating_document parameter of the relation argument.
specific_relation: (input) the fully qualified name of a subtype of the document_relationship entity.
*)
END_SCHEMA; -- document_schema
(*
© ISO 2021 — All rights reserved