CoffeePot An Invisible XML processor Wider Title Norm Tovey Walsh Copyright © 2022–2023, 2025 Norm Tovey-Walsh Version 3.3.8 Table of Contents Introduction 1. Installing CoffeePot 2. Running CoffeePot 2.1. The command line 2.2. In build tools 3. How it works 3.1. Mapping a simple rule 3.2. Mapping alternatives 3.3. Mapping “x?” 3.4. Mapping “x*” 3.5. Mapping “x+” 3.6. Mapping “x1**x2” 3.7. Mapping “x1++x2” 3.8. Mapping ¯\_(ツ)_/¯ 3.9. A word about “-”, “@”, and “^” 3.10. Insertions 4. Finding errors 5. Ambiguity 5.1. Describing ambiguity 6. Choosing among alternatives 6.1. Using a function library 6.2. Using XPath expressions 7. Configuration 8. Output formats 8.1. XML 8.2. JSON 8.3. CSV 9. Pragmas 10. Parsing records A. Property files A.1. A first attempt A.2. Refining name-value A.3. More line options A.4. Character escapes A.5. Challenges for the reader B. Experimental features B.1. Repetition B.2. Modularity 11. Diagrams Part I. API Documentation 12. Parser options 12.1. ParserOptions