|
13 | 13 | ( <UseObjectGroup> <ws> )* |
14 | 14 | ( ( "FORMULA:" <ws> <logicalExpression> <ws> ) | ( <UseFormula> <ws> ) ) |
15 | 15 | ( "FILTER:" <ws> <SecurityQueryFilter> )? |
| 16 | + ( "FILTERLIST:" <ws> ( <SecurityQueryFilter> <ws> )* )? |
16 | 17 |
|
17 | 18 | <SecurityQueryFilter> ::= |
18 | | - <FragmentObject> <ws> |
| 19 | + ( "FRAGMENT:" <FieldIdentifierFragment> <ws> ) |
19 | 20 | ( ( "CONDITION:" <ws> <logicalExpression> <ws> ) | ( <UseFormula> <ws> ) ) |
20 | 21 |
|
21 | 22 | <ACL> ::= |
|
72 | 73 |
|
73 | 74 | <ReferableObject> ::= |
74 | 75 | "REFERABLE" <ws> "$sme" <IdentifierInstanceOrAll> "." <idShortPath> |
75 | | - |
76 | | -<FragmentObject> ::= |
77 | | - "FRAGMENT" <ws> "$sme" <IdentifierInstanceOrAll> "." <idShortPath> ( <ws> <StringLiteral> )+ |
78 | 76 |
|
| 77 | +<FragmentObject> ::= |
| 78 | + "FRAGMENT" <ws> <FragmentLiteral> <ws> |
| 79 | + |
79 | 80 | <DescriptorObject> ::= |
80 | 81 | "DESCRIPTOR" <ws> ("$aasdesc" | "$smdesc") <IdentifierInstanceOrAll> |
81 | 82 |
|
|
199 | 200 | <BoolLiteral> ::= "true" | "false" |
200 | 201 |
|
201 | 202 | <FieldIdentifier> ::= <FieldIdentifierAAS> | <FieldIdentifierSM> | <FieldIdentifierSME> | <FieldIdentifierCD> | <FieldIdentifierAasDescriptor> | <FieldIdentifierSmDescriptor> |
202 | | -<FieldIdentifierAAS> ::= "$aas#" ( "idShort" | "id" | "assetInformation.assetKind" | "assetInformation.assetType" | "assetInformation.globalAssetId" | "assetInformation." <SpecificAssetIdsClause> | "submodels" ( "[" ( [0-9]* ) "]" ) "." <ReferenceClause> ) |
203 | | -<FieldIdentifierSM> ::= "$sm#" ( <SemanticIdClause> | "idShort" | "id" ) |
204 | | -<FieldIdentifierSME> ::= "$sme" ( "." <idShortPath> )? "#" ( <SemanticIdClause> | "idShort" | "value" | "valueType" | "language" ) |
205 | | -<FieldIdentifierCD> ::= "$cd#" ( "idShort" | "id" ) <ws> |
206 | | -<FieldIdentifierAasDescriptor> ::= "$aasdesc#" ( "idShort" | "id" | "assetKind" | "assetType" | "globalAssetId" | <SpecificAssetIdsClause> | "endpoints" ( "[" ( [0-9]* ) "]" ) "." <EndpointClause> | "submodelDescriptors" ( "[" ( [0-9]* ) "]" ) "." <SmDescriptorClause> ) |
| 203 | + |
| 204 | +<FieldIdentifierAAS> ::= "$aas#" <FieldsAAS> |
| 205 | +<FieldIdentifierSM> ::= "$sm#" <FieldsSM> |
| 206 | +<FieldIdentifierSME> ::= "$sme" ( "." <idShortPath> )? "#" <FieldsSME> |
| 207 | +<FieldIdentifierCD> ::= "$cd#" <FieldsCD> <ws> |
| 208 | +<FieldIdentifierAasDescriptor> ::= "$aasdesc#" <FieldsAasDescriptor> |
207 | 209 | <FieldIdentifierSmDescriptor> ::= "$smdesc#" <SmDescriptorClause> |
| 210 | + |
| 211 | +<FieldsAAS> ::= "idShort" | "id" | "assetInformation.assetKind" | "assetInformation.assetType" | "assetInformation.globalAssetId" | "assetInformation." <SpecificAssetIdsClause> | "submodels" ( "[" ( [0-9]* ) "]" ) "." <ReferenceClause> |
| 212 | +<FieldsSM> ::= <SemanticIdClause> | "idShort" | "id" |
| 213 | +<FieldsSME> ::= <SemanticIdClause> | "idShort" | "value" | "valueType" | "language" |
| 214 | +<FieldsCD> ::= "idShort" | "id" |
| 215 | +<FieldsAasDescriptor> ::= "idShort" | "id" | "assetKind" | "assetType" | "globalAssetId" | <SpecificAssetIdsClause> | "endpoints" ( "[" ( [0-9]* ) "]" ) "." <EndpointClause> | "submodelDescriptors" ( "[" ( [0-9]* ) "]" ) "." <SmDescriptorClause> |
208 | 216 | <SmDescriptorClause> ::= ( <SemanticIdClause> | "idShort" | "id" | "endpoints" ( "[" ( [0-9]* ) "]" ) "." <EndpointClause> ) |
209 | 217 | <EndpointClause> ::= "interface" | "protocolinformation.href" |
210 | 218 |
|
211 | 219 | <ReferenceClause> ::= ( "type" | "keys" ( "[" ( [0-9]* ) "]" ) ( ".type" | ".value" ) ) |
212 | 220 | <SemanticIdClause> ::= ( "semanticId" | "semanticId." <ReferenceClause> ) |
213 | 221 | <SpecificAssetIdsClause> ::= ( "specificAssetIds" ( "[" ( [0-9]* ) "]" ) ( ".name" | ".value" | ".externalSubjectId" | ".externalSubjectId." <ReferenceClause> ) ) |
| 222 | + |
| 223 | + |
| 224 | +<FieldIdentifierFragment> ::= <FieldIdentifierAASFragment> | <FieldIdentifierSMFragment> | <FieldIdentifierSMEFragment> | <FieldIdentifierCDFragment> | <FieldIdentifierAasDescriptorFragment> | <FieldIdentifierSmDescriptorFragment> |
| 225 | + |
| 226 | +<FieldIdentifierAASFragment> ::= "$aas#" ( "idShort" | "assetInformation.assetType" | "assetInformation.globalAssetId" | "assetInformation." <SpecificAssetIdsClauseFragment> | "submodels" ( "[" ( [0-9]* ) "]" ) ("." <ReferenceClauseFragment>)? ) |
| 227 | +<FieldIdentifierSMFragment> ::= "$sm#" ( <SemanticIdClauseFragment> | "idShort" | "id" ) |
| 228 | +<FieldIdentifierSMEFragment> ::= "$sme" ( "." <idShortPath> )? ( "#" ( <SemanticIdClauseFragment> | "idShort" | "value" | "valueType" | "language" ))? |
| 229 | +<FieldIdentifierCDFragment> ::= "$cd#" ( "idShort" ) <ws> |
| 230 | +<FieldIdentifierAasDescriptorFragment> ::= "$aasdesc#" ( "idShort" | "description" | "displayName" | "extension" | "administration" | "assetKind" | "assetType" | "globalAssetId" | <SpecificAssetIdsClauseFragment> | <EndpointClauseFragment> | "submodelDescriptors[" ( [0-9]* ) "]" ("." <SmDescriptorClauseFragment>)? ) |
| 231 | +<FieldIdentifierSmDescriptorFragment> ::= "$smdesc#" <SmDescriptorClauseFragment> |
| 232 | + |
| 233 | +<SpecificAssetIdsClauseFragment> ::= "specificAssetIds" ( "[" ( [0-9]* ) "]" ) (".externalSubjectId" | ".externalSubjectId." <ReferenceClauseFragment>)? |
| 234 | +<SmDescriptorClauseFragment> ::= ( <SemanticIdClauseFragment> | "idShort" | <EndpointClauseFragment> ) |
| 235 | +<EndpointClauseFragment> ::= "endpoints" ( "[" ( [0-9]* ) "]" ) |
| 236 | + |
| 237 | +<SemanticIdClauseFragment> ::= "semanticId" | "semanticId." <ReferenceClauseFragment> |
| 238 | +<ReferenceClauseFragment> ::= "keys[" ( [0-9]* ) "]" |
| 239 | + |
| 240 | + |
214 | 241 | <idShortPath> ::= ( <idShort> ("[" ( [0-9]* ) "]" )* ( "." <idShortPath> )* ) |
215 | 242 | <idShort> ::= ( ( [a-z] | [A-Z] ) (( [a-z] | [A-Z] | [0-9] | "_" | "-" )* ( [a-z] | [A-Z] | [0-9] | "_" ) )? ) |
216 | 243 |
|
|
0 commit comments