- The problem ...
- We work for stakeholders who managed a database of books
- They have requirements
- What even is a pipeline?
- A pipeline is a program is focused on composition: programs that take inputs from the outputs of other programs, or even other pipelines.
- XProc is a XML pipelining technology.
- XProc has two predominant implementations:
- XML Calabash is for XProc 1.0
- MorganaXProc-IIIse is for XProc 3.0
- XProc 3.0 has made signifcant changes
- Better syntax
- Most importantly, focused on improving non-XML inputs and outputs
- This tutorial is focused on XProc 1.0
- So why even have pipelines?
- We have multiple requirements
- Some neatly fit into part of a program, or represent one program
- Other requirements are the combination of multiple programs
- How do we reuse well-organized parts or whole programs and not just copy-paste them over and over again?
- Let's make pipelines: building blocks of XProc 1.0
- Steps
- built-in library of steps in XProc 1.0
- A XProc file (`.xpl`) in and of itself can be a step
- Inputs
- `input`
- `document` - reads and parses from the file system (XML only)
- `empty`
- `port` - connects to another pipe (or this one)
- Outputs
- `output` - makes a port
- `store` - saves a resource
- Processing
- `identity` - snapshot of current state
- `xslt` - transform with provided XSLT
- Let's make pipines: use cases for building blocks
- Solution 1
- Solution 1a
- Solution 2
- Solution 3
- Solution 5
- Conclusion
- Questions