Include Patterns
What are include patterns and how are they used?
When using Wildcards, include patterns MUST end with the wildcard.
❌ ✅ **.ascbcvt.*cvt.*.ascbcvt.asvt.***.asvt.**cvt.**.ascb**
When using the Shell Interface for CBXP, ensure that Include Patterns that contain Wildcards are surrounded with quotes.
❌
cbxp -i cvt.* psa
✅
cbxp -i "cvt.*" psa
Include Patterns provide a method for including Additional Control Blocks that can be found from the Root Control Block being extracted.
Include Pattern Basics
Include Patterns are specified as Dot Delimited patterns describing control blocks to include starting from the Root Control Block being extracted.
In the following example, psa is the Root Control Block and cvt.ecvt is the Include Pattern.
The following example extracts the PSA, includes the CVT, and includes the ECVT with the CVT.
Python Script
from cbxp import cbxp
cbdata = cbxp("psa", includes=["cvt.ecvt"])
Shell Script
cbxp -i cvt.ecvt psa
flowchart LR
PSA
PSA--> CVT
CVT--> ECVT
Using Multiple Include Patterns
Multiple Include Patterns can be specified.
The following example extracts the CVT, and includes the ECVT and the ASVT.
Python Script
from cbxp import cbxp
cbdata = cbxp("cvt", includes=["ecvt", "asvt"])
Shell Script
cbxp -i ecvt -i asvt cvt
flowchart LR
CVT
CVT--> ECVT
CVT--> ASVT
Using Wildcards
CBXP also supports Wildcarding. Coding * at the very end of your include pattern tells CBXP to include all Known Control Blocks pointed to directly by the Preceding Dot Delimited Control Block Name or the Root Control Block in the case where the include pattern is just *.
The following example extracts the CVT and includes all Known Control Blocks that are pointed to directly by it. Additionally, asvt.* causes the ASVT and all Known Control Blocks that are pointed to directly by the ASVT to also be included.
Python Script
from cbxp import cbxp
cbdata = cbxp("cvt", includes=["*", "asvt.*"])
Shell Script
cbxp -i "*" -i "asvt.*" cvt
flowchart LR
CVT
CVT--> ECVT
CVT--> ASVT
ASVT--> ASCBs
subgraph ASCBs["ASCB Array"]
ASCB1["ASCB"]
ASCB2["ASCB"]
ASCB3["..."]
end
Using Recursive Wildcards
Recursive Wildcarding is also supported. Coding ** at the very end of your include pattern tells CBXP to include all Known Control Blocks that can be found starting from the Preceding Dot Delimited Control Block Name or the Root Control Block in the case where the include pattern is just **.
The following example extracts the PSA, includes the CVT, and includes All Known Control Blocks that can be found starting from the CVT.
Python Script
from cbxp import cbxp
cbdata = cbxp("psa", includes=["cvt.**"])
Shell Script
cbxp -i "cvt.**" psa
flowchart LR
PSA
PSA--> CVT
CVT--> ECVT
CVT--> ASVT
ASVT--> ASCBs
subgraph ASCBs["ASCB Array"]
ASCB1["ASCB"]
ASCB2["ASCB"]
ASCB3["..."]
end