%% %% This is file `apmptempl.tex', %% generated with the docstrip utility. %% %% The original source files were: %% %% stepe.dtx (with options: `apmptempl') %% %% This work has been partially funded by the US government %% and is not subject to copyright. %% %% This program is provided under the terms of the %% LaTeX Project Public License distributed from CTAN %% archives in directory macros/latex/base/lppl.txt. %% %% Author: Peter Wilson (CUA and NIST) %% now at: peter.r.wilson@boeing.com %% \ProvidesFile{apmptempl.tex}[2001/07/16 AP mapping template boilerplate] \typeout{apmptempl.tex [2001/07/16 STEP AP mapping template boilerplate]} This mapping specification includes mapping templates. A mapping template is a reusable portion of a reference path that defines a commonly used part of the structure of the application interpreted model. A mapping template is similar to a programming language macro. The mapping templates used in this part of ISO~10303 are defined in this subclause. Each mapping template definition has three components as follows: \begin{itemize} \item the template signature that specifies the name of the template and may also specify the names and the order of the formal parameters of the template; \item descriptions of the formal parameters of the template, if any; \item the template body that defines the reusable portion of a reference path and may indicate, through the use of the formal parameter names included in the template signature, the points at which the value parameters are supplied in each template application. \end{itemize} Each mapping template is used at least once in the reference paths specified in~\ref{;uof1} to~\ref{;uoflast}. Each such template application is a reference to the template definition, based on the pattern established by the template signature, and supplies the value parameters that are to be substitued for the formal parameters specified in the template definition. The full reference path can be derived by replacing any formal parameters in the template body by the value parameters specified in the template application and then substituting the completed template body for the template application. %%\begin{anexample} %%The following is an example of a template application that invokes and %%supplies parameters for the GROUPS mapping template. %% %%/GROUPS(shape\_aspect, 'boundary index 1')/ %% %%\end{anexample} The non-blank characters following the first `/' define the name of the mapping template. The name of the mapping template is given in upper case. The name of the template is followed by a list of parameter values, seperated by commas, enclosed in parentheses. Parameter values are given in lower case except in the case that the value parameter is a string literal that includes upper case characters. The following notational conventions apply to the definitions and applications of templates: \begin{itemize} \item[\texttt{/}] marks the beginning and end of a template signature or a template application; \item[\texttt{\&}] prefixes the name of a formal parameter within the definition of a template body; \item[\texttt{()}] enclose the formal parameters in a template signature or the value parameters in a template application; \item[\texttt{,}] separates formal parameters in a template signature or value parameters in a template application; \item[\texttt{' '}] denotes a string literal that is used as a value parameter in a template application. \end{itemize} Value parameters that are not enclosed by quotes are \Express{} data type identifiers. This part of ISO~10303 uses the templates that are specified in the following subclauses. \endinput %% %% End of file `apmptempl.tex'.