element FunctionCatalog
diagram mostfcat_3_1_0_annotated_diagrams/mostfcat_3_1_0_annotated_p1.png
namespace http://www.mostcooperation.com
type FunctionCatalog
properties
content complex
children CatalogVersion SharedParameters SharedSignals SharedFunctions FBlock
identity constraints
  Name  Refer  Selector  Field(s)  Annotation
key  SharedParametersKey    mostco:SharedParameters/mostco:SharedParameter  @Name  
documentation
Ensures that shared parameter names are unique. (Example that illustrates violation of this constraint and does not validate: TODO)
key  SharedSignalsKey    mostco:SharedSignals/mostco:SharedSignal  @Name  
documentation
Ensures that shared signal names are unique.
key  SharedFunctionsKey    mostco:SharedFunctions/mostco:SharedFunction  @Name  
documentation
Ensures that shared function names are unique.
keyref  SharedFunctionsSharedParametersKeyRef  mostco:SharedParametersKey  mostco:SharedFunctions/mostco:SharedFunction/mostco:Function/mostco:Parameters/mostco:SharedParameterReference  @Name  
documentation
Ensures the existence of shared parameters that are referenced from shared functions.
keyref  SharedFunctionsNamedSharedParametersKeyRef  mostco:SharedParametersKey  mostco:SharedFunctions/mostco:SharedFunction/mostco:Function/mostco:Parameters/mostco:NamedSharedParameterReference  @NameRef  
documentation
Ensures the existence of shared parameters that are referenced from shared functions when parameter name substitution is used.
keyref  FunctionSharedParametersKeyRef  mostco:SharedParametersKey  mostco:FBlock/mostco:Function/mostco:Parameters/mostco:SharedParameterReference  @Name  
documentation
Ensures the existence of shared parameters that are referenced from functions defined within an FBlock.
keyref  FunctionNamedSharedParametersKeyRef  mostco:SharedParametersKey  mostco:FBlock/mostco:Function/mostco:Parameters/mostco:NamedSharedParameterReference  @NameRef  
documentation
Ensures the existence of shared parameters that are referenced from functions defined within an FBlock when parameter name substitution is used.
keyref  SharedFunctionsKeyRef  mostco:SharedFunctionsKey  mostco:FBlock/mostco:SharedFunctionReference  @Name  
documentation
Ensures the existence of shared functions that are referenced from within an FBlock.
keyref  SharedParametersDataElementKeyRef  SharedParametersKey  .//mostco:SharedDataElementReference|.//mostco:SharedRecordFieldReference|.//mostco:SharedParameterReference  @Name  
documentation
Ensures the existence of shared parameters that are referenced from anywhere within the function catalog.
keyref  NamedSharedParametersDataElementKeyRef  SharedParametersKey  .//mostco:NamedSharedRecordFieldReference|.//mostco:NamedSharedParameterReference  @NameRef  
documentation
Ensures the existence of shared parameters that are referenced from anywhere within the function catalog when name substitution is used.
keyref  SharedSignalsKeyRef  mostco:SharedSignalsKey  .//mostco:SharedSignalReference  @Name  
documentation
Ensures the existence of shared signals that are referenced from anywhere within the function catalog.
annotation
documentation
The function catalog is the only global element. (Example: FunctionCatalog_Empty.xml, FunctionCatalog_SharedParam.xml)
source <xs:element name="FunctionCatalog" type="FunctionCatalog">
 
<xs:annotation>
   
<xs:documentation>The function catalog is the only global element. (Example: FunctionCatalog_Empty.xml, FunctionCatalog_SharedParam.xml)</xs:documentation>
 
</xs:annotation>
 
<xs:key name="SharedParametersKey">
   
<xs:annotation>
     
<xs:documentation>Ensures that shared parameter names are unique. (Example that illustrates violation of this constraint and does not validate: TODO)</xs:documentation>
   
</xs:annotation>
   
<xs:selector xpath="mostco:SharedParameters/mostco:SharedParameter"/>
   
<xs:field xpath="@Name"/>
 
</xs:key>
 
<xs:key name="SharedSignalsKey">
   
<xs:annotation>
     
<xs:documentation>Ensures that shared signal names are unique.</xs:documentation>
   
</xs:annotation>
   
<xs:selector xpath="mostco:SharedSignals/mostco:SharedSignal"/>
   
<xs:field xpath="@Name"/>
 
</xs:key>
 
<xs:key name="SharedFunctionsKey">
   
<xs:annotation>
     
<xs:documentation>Ensures that shared function names are unique.</xs:documentation>
   
</xs:annotation>
   
<xs:selector xpath="mostco:SharedFunctions/mostco:SharedFunction"/>
   
<xs:field xpath="@Name"/>
 
</xs:key>
 
<xs:keyref name="SharedFunctionsSharedParametersKeyRef" refer="mostco:SharedParametersKey">
   
<xs:annotation>
     
<xs:documentation>Ensures the existence of shared parameters that are referenced from shared functions.</xs:documentation>
   
</xs:annotation>
   
<xs:selector xpath="mostco:SharedFunctions/mostco:SharedFunction/mostco:Function/mostco:Parameters/mostco:SharedParameterReference"/>
   
<xs:field xpath="@Name"/>
 
</xs:keyref>
 
<xs:keyref name="SharedFunctionsNamedSharedParametersKeyRef" refer="mostco:SharedParametersKey">
   
<xs:annotation>
     
<xs:documentation>Ensures the existence of shared parameters that are referenced from shared functions when parameter name substitution is used.</xs:documentation>
   
</xs:annotation>
   
<xs:selector xpath="mostco:SharedFunctions/mostco:SharedFunction/mostco:Function/mostco:Parameters/mostco:NamedSharedParameterReference"/>
   
<xs:field xpath="@NameRef"/>
 
</xs:keyref>
 
<xs:keyref name="FunctionSharedParametersKeyRef" refer="mostco:SharedParametersKey">
   
<xs:annotation>
     
<xs:documentation>Ensures the existence of shared parameters that are referenced from functions defined within an FBlock.</xs:documentation>
   
</xs:annotation>
   
<xs:selector xpath="mostco:FBlock/mostco:Function/mostco:Parameters/mostco:SharedParameterReference"/>
   
<xs:field xpath="@Name"/>
 
</xs:keyref>
 
<xs:keyref name="FunctionNamedSharedParametersKeyRef" refer="mostco:SharedParametersKey">
   
<xs:annotation>
     
<xs:documentation>Ensures the existence of shared parameters that are referenced from functions defined within an FBlock when parameter name substitution is used.</xs:documentation>
   
</xs:annotation>
   
<xs:selector xpath="mostco:FBlock/mostco:Function/mostco:Parameters/mostco:NamedSharedParameterReference"/>
   
<xs:field xpath="@NameRef"/>
 
</xs:keyref>
 
<xs:keyref name="SharedFunctionsKeyRef" refer="mostco:SharedFunctionsKey">
   
<xs:annotation>
     
<xs:documentation>Ensures the existence of shared functions that are referenced from within an FBlock.</xs:documentation>
   
</xs:annotation>
   
<xs:selector xpath="mostco:FBlock/mostco:SharedFunctionReference"/>
   
<xs:field xpath="@Name"/>
 
</xs:keyref>
 
<xs:keyref name="SharedParametersDataElementKeyRef" refer="SharedParametersKey">
   
<xs:annotation>
     
<xs:documentation>Ensures the existence of shared parameters that are referenced from anywhere within the function catalog.</xs:documentation>
   
</xs:annotation>
   
<xs:selector xpath=".//mostco:SharedDataElementReference|.//mostco:SharedRecordFieldReference|.//mostco:SharedParameterReference"/>
   
<xs:field xpath="@Name"/>
 
</xs:keyref>
 
<xs:keyref name="NamedSharedParametersDataElementKeyRef" refer="SharedParametersKey">
   
<xs:annotation>
     
<xs:documentation>Ensures the existence of shared parameters that are referenced from anywhere within the function catalog when name substitution is used.</xs:documentation>
   
</xs:annotation>
   
<xs:selector xpath=".//mostco:NamedSharedRecordFieldReference|.//mostco:NamedSharedParameterReference"/>
   
<xs:field xpath="@NameRef"/>
 
</xs:keyref>
 
<xs:keyref name="SharedSignalsKeyRef" refer="mostco:SharedSignalsKey">
   
<xs:annotation>
     
<xs:documentation>Ensures the existence of shared signals that are referenced from anywhere within the function catalog.</xs:documentation>
   
</xs:annotation>
   
<xs:selector xpath=".//mostco:SharedSignalReference"/>
   
<xs:field xpath="@Name"/>
 
</xs:keyref>
</xs:element>