Gallery Tutorial [TECHNICAL SLIDE TRAIL] The Webel libraries for Wolfram Mathematica: With SysMLv1 models. Section SECTION: The Webel Abstract Data Type (ADT) stateless pseudo-classes with inheritance (with SysMLv1 models) Tags and keywords Webel Mathematica keywords ADT` Webel ADT XL$Cell US$Cell US$Cell⊙$val adt$store adt$fetch US$ResourcesHolder US$ResourcesHolder⊙xl$rm «adt:ref» Keywords Wolfram Wolfram Language Mathematica Webel::SysML4Mathematica Webel IT Australia Abstract Data Types Webel:ADT Click on the image to view it full size For reference, an associated Policy Note (you don't need to visit this link yet): Mathematica: Webel ADT pseudo classes: «adt:ref» applied to a property indicates that it is resolved by ID through the ADT store using adt$fetch[id]. Use adt$store[adt] for very large ADTs and for cleaner ADT views and easier Notebook development. Up next Next trail section SECTION: Webel ADT case study: Extracting structured data from unstructured Open XML spreadsheet data Notes [CONVENTION, POLICY]{STRICT} Mathematica: Webel ADT pseudo classes: POLICY: Where an ADT-Method uses UUID-driven Once[] caching the trigger argument is a String '$uuid' which MUST have a default None and MUST be the first argument that has a default. [CONVENTION, POLICY]{INFORMATIVE} Mathematica: Webel ADT pseudo classes: «adt:ref» applied to a property indicates that it is resolved by ID through the ADT store using adt$fetch[id]. Use adt$store[adt] for very large ADTs and for cleaner ADT views and easier Notebook development. Snippets (quotes/extracts) Visit also Mathematica: POLICY NOTES for the Webel Abstract Data Type (ADT) pseudo classes with inheritance for the Wolfram Language Dr Darren of Webel IT Australia makes the case for better object-orientation for Mathematica using pseudo class ADTs without losing the super-functional power of the Wolfram Language Visit also (backlinks) Related slides (includes other tutorials) Introduction to Webel Abstract Data Types (ADTs) with SysMLv1 models Webel Abstract Data Types (ADTs) vs the user-contributed MTools for OO Webel ADTs include inheritance (and aren’t actually formal ADTs) XL$Row and XL$Cell under the hood XL$Cell value resolution for “text” requires an XL$ResourcesMap (Real, Integer, and Boolean value resolution does not) UUID-driven Once-caching. Example: XL$Cell value resolution with an XL$ResourcesMap Related slides (backlinks, includes other tutorials) Units and Quantity extraction with US$Row US$RowList spanned rows filling US$RowList sub-list extraction US$RowList & EX$RowMap column extraction and custom styled tables US$RowList “section” extraction UD` demo package for US$Section UD` demo: Basic US$ValuesSection US$ValuesSection to EX$RowMap US$SectionMap auto-detection Specific Component-aware sub-ADTs Demo Component values extraction (but not yet as EX Component ADTs) The demo UD$EX$Component for extracted structured EX Layer data The US$SheetManager as a bridge between the US Layer and EX Layer Extracted demo UD$EX$Component:Demo UD$EX$Components: Creative views in the UD$SheetManager Demo UD$EX$Components analyser UD$EX$Components as (quick) XML UD$EX$Component “database” demo (using a Wolfram Language EntityStore) Flags Book traversal links for adt$store, adt$fetch, and «adt:ref»: Example: Reference XL$ResourcesMap by ID in US$ResourcesHolder. Previous Up Next