ores.ore.core
Table of Contents
2. Summary
ores.ore.core is the engine that moves ORE documents in and out of the
ORES domain model. It holds the xsdcpp-generated bindings for ORE's whole
XML vocabulary, twelve hand-written mappers between those bindings and the
ores.trading and ores.refdata domain types, the importer, the exporter
and the directory round trip, readers for ORE's market data text formats,
the import planner and directory scanner, and the generated series key
shape entity with its repository.
The XSD bindings are the largest part of the component by far and are produced by a generator outside the build. See xsdcpp before regenerating them.
3. Inputs
- ORE XML documents read from disk: portfolios, currency configurations, calendar adjustments and conventions.
- ORE market data text files (
-market*.txt,fixings*.txt) and theoresmdseries keys they carry. - The series key shape reference rows, from which the key registry is built at construction.
- ORES trading and reference data objects to serialise back to ORE XML.
4. Outputs
- Trading domain objects: trades with their instruments and envelopes, plus mapped conventions and FX conventions.
- Reference data objects: currencies, calendar adjustments, portfolios and books.
- Regenerated ORE XML documents, mirrored by the round trip.
- The series key shape entity, through the generated repository.
5. Entry points
include/ores.ore.core/domain/— thexsdcppbindings and the mappers.include/ores.ore.core/xml/— the importer, the exporter and the round trip.include/ores.ore.core/market/— the ORE market data readers, the series key registry and the FX quote convention checker.include/ores.ore.core/scanner/— the directory walk that classifies ORE files by root element.include/ores.ore.core/planner/— the import plan and its choices.include/ores.ore.core/hierarchy/— the portfolio and book node builder.include/ores.ore.core/repository/— the generated series key shape entity and its repository.include/ores.ore.core/log/— the ORE engine log line parser.
6. Dependencies
ores.ore.api— the shared contract, linked publicly.ores.database— the database context, linked publicly.ores.refdata.apiandores.trading.api— the domain types the mappers target, linked publicly.ores.dq.api,ores.history.core,ores.logging,ores.platform,ores.utilityand Boost — linked privately.
XML parsing is the generated binding code, not a library: the component
links neither pugixml nor nats.c.
7. See also
- ores.ore.api — the shared contract and the entity protocol.
- ores.ore.service — the runnable host.
- ores.ore — the composite this part belongs to.
- ORE market data catalogue — the market data files this part reads.
- Market data architecture — where the readers sit in the wider flow.
- ORE model configuration — the configuration files this part parses.
- How do I round trip an ORE document through the database? — the live path for the same documents.
- Open Source Risk Engine (ORE) — the upstream engine.
