The SwiftXML project provides a suite of packages implemented in the Swift programming language that complement each other to enable the processing and transformation of XML documents.
See the documentation of the SwiftXML repository and the sample application SwiftXMLExample.
The sample application also uses the Pipeline framework which is part of the SwiftXML project and which can be used for constructing a pipeline to process a single work item.
The inventor and project lead of SwiftXML is struktaris. An important supporter and user of SwiftXML is the German Institute for Standardization (DIN), mainly by its subsidiary DIN Solutions.
Most project parts have previously been published on another GitHub account (their version numbers have been reset to 1.0.0 when initiating them here).
There is a roadmap for things that should or could come for the SwiftXML project; it also includes a list of known issues.
The following repositories are part of the SwiftXML project:
- SwiftXMLInterfaces: A libray for some interfaces to be useful in XML projects.
- SwiftXMLParser: A non-validating parser for XML files encoded in UTF-8.
- SwiftXML: A library written in Swift to process XML.
- Libxml2Validation: A small C project for the validation of XML documents using libxml2.
- Localization: Tools for localization.
- Pipeline: A simple framework for constructing a pipeline to process a single work item.
- PipelineExtensionsForSwiftXML: Extension of the Pipeline package for SwiftXML.
- LoggingInterfaces: The interface to a common logger.
- PipelineLoggingBinding: A binding of the LoggingInterfaces to the Pipeline library.
- BasicLogging: A small multi-platform logging library.
- PipelineBasicLogging: Implements the use of BasicLogging for the Pipeline library.
- LoopsOnOptionals: Mini library to extend optional chains to include for-loops.
- SwiftXMLComplete: SwiftXML with common packages (but LoopsOnOptionals would need to be added as a separate dependency).
- SwiftXMLExample: A sample project to show how to use SwiftXML and the Pipeline package.
- Roadmap: A roadmap of things that should or could come for the SwiftXML project.