1- # AP242 Schema Files
1+ # AP242 TREAT Schema File
22
3- This directory contains two versions of the AP242 (ISO 10303-242) schema.
3+ This directory contains an altered version of the AP242 (ISO 10303-242) schema.
44
5- ## Files
6-
7- ### ` 242_mim_lf.exp ` (Original)
8- - ** Status** : Original ISO schema with non-standard parsing requirement
9- - ** Size** : 54,756 lines
10- - ** Parsing** : Requires STEPcode's flow-sensitive type narrowing extension
11- - ** Standards** : Contains pattern that needs implicit type narrowing (non-standard)
12-
13- ### ` 242_mim_lf_treat.exp ` (Standards-Compliant)
14- - ** Status** : Corrected version using TREAT expression
15- - ** Size** : 54,756 lines
16- - ** Parsing** : Fully ISO 10303-11 compliant
17- - ** Standards** : Uses explicit TREAT expression for type narrowing
5+ It is corrected to avoid the non-standard parsing requirement of the original
6+ by using explicit TREAT expression for type narrowing
187
198## The Difference
209
@@ -30,8 +19,6 @@ QUERY(it <* item | ...)
3019QUERY(it <* TREAT(item AS set_representation_item) | ...)
3120```
3221
33- ## Why Two Versions?
34-
3522### Historical Context
3623The original AP242 schema contains a WHERE rule that:
37241 . Checks if ` item ` (a SELECT type) is a ` SET_REPRESENTATION_ITEM `
@@ -68,13 +55,6 @@ Expected output:
6855
6956For detailed comparison, see ` doc/ap242-comparison.md ` .
7057
71- ## Which Version to Use?
72-
73- - ** For STEPcode** : Both work equally well
74- - ** For portability** : Use the TREAT version (` 242_mim_lf_treat.exp ` )
75- - ** For ISO compliance** : Use the TREAT version (` 242_mim_lf_treat.exp ` )
76- - ** For historical reference** : The original is preserved as ` 242_mim_lf.exp `
77-
7858## Related Documentation
7959
8060- ` doc/ap242-comparison.md ` - Detailed comparison and analysis
0 commit comments