Skip to content

SCDH/seed-xc

Repository files navigation

SEED XC - XML Processing with Composable REST Services

Tests Formatting

This project provides micro services for XML processing and high-level components for building them.

Services:

Components:

  • SEED API: OpenAPI specs and derived data models and service interfaces, common supporting classes
  • SEED XC Transformation Map: compile transformations once ahead of time and make them available for processing subsequent transformation request instantly
  • XSLT: a plugin to the SEED XC Transformation Map that provides transformation by XSLT
  • XQuery: a plugin similar to the XSLT plugin, but for XQuery
  • SPARQL (planned): a plugin similar to XSLT, but for running a SPARQL query against a serialized RDF graph
  • ResourceProviders: Plugins for accessing resources (source documents) from different storage types
    • local filesystem: activated per default in dev mode
    • URL (planned)
    • URN (planned)
    • InvenioRDM by DOI (planned)
    • RDBMS (planned)
  • transformation-info.xsl: XSLT stylesheet for generating configuration files for an XSLT stylesheet or package that is used in an transformation. See documentation.

This project is part of the SEED, which is--choose one--either a recursive acronym for SEED Electronic Editions or a word build from the alphabet D S E (the acronym for digital scholarly editions).

Getting Started

For DTS see dts directory!

Build:

Once after cloning and after each cleanup:

 ./mvnw -Pdownload-openapi generate-sources

Then building all components:

./mvnw package

To run one of the services in dev mode, use -P switch to select a service profile.

XSLT Compiler:

./mvnw -Pcompiler quarkus:dev

XML Transformer:

./mvnw -Ptransformer quarkus:dev

Dev-Server will listen on http://localhost:8080

Contributing

See contributing guide!

Packages

 
 
 

Contributors

Languages