Editions and Interfaces
Editions
RaptorXML is available in the following editions:
•RaptorXML Server, which is a fast server-based XML processing engine for the validation and processing of XML, XML Schema, XML Signature, XSLT, and XQuery documents.
•RaptorXML+XBRL Server, which provides all the functionality of RaptorXML Server plus a wide range of XBRL processing functionality.
See here for a list of the supported specifications.
Interfaces
After you install RaptorXML, you can access it in one or more of the following ways:
•Command Line Interface (CLI): available for Windows, Linux, and macOS installations of RaptorXML
•HTTP REST client interface: uses RaptorXML's HTTP interface
•COM/.NET server interface (Windows): uses RaptorXML's (i) COM/.NET API and (ii) HTTP REST interface
•Java server interface (Windows, Linux, macOS): uses RaptorXML's (i) Java API and (ii) HTTP REST interface
•Altova XMLSpy interface: RaptorXML can be accessed from within the Altova XMLSpy user interface
•Python engine interface: uses (i) a RaptorXML Python-wheel in your Python environment and (ii) the Python API of RaptorXML in your Python script. In this way, RaptorXML functionality can be used in Python scripts together with third-party Python packages
•.NET engine interface (Windows): uses (i) a RaptorXML DLL and (ii) the .NET API of RaptorXML to create independent .NET applications that use RaptorXML functionality
These seven interfaces can be organized into four groups:
•Server APIs: HTTP, COM/.NET, Java
CLI, Server APIs, and Altova XMLSpy
Access via the CLI, the Server APIs, and Altova XMLSpy can be visualized as in the figure below.
RaptorXML+XBRL Server defines an HTTP REST interface, which is used by clients to dispatch validation jobs to the server. Clients can either access the HTTP REST interface directly or use the high-level COM/.NET and Java Server APIs. These APIs provide easy to use COM/.NET and Java classes which manage the creation and dispatch of the HTTP REST requests. Additionally, Altova XMLSpy can be configured to run validation jobs on a remote RaptorXML+XBRL Server.
Command line interface (CLI)
•RaptorXML is licensed on the machine on which it is installed and this instance is accessed via the command line
•Can be installed on Windows, Linux, and macOS
•Provides command line usage for validation and processing of XML, XML Schema, XML Signature,XBRL, XQuery, and XSLT documents
•Python 3.11.5 is bundled in RaptorXML and will be used when a Python script is invoked with the --script option
HTTP REST client interface
•RaptorXML is licensed on the machine on which it is installed and this instance is accessed via an HTTP REST client interface
•Client requests are made in JSON format. Each request is assigned a job directory on the server, in which output files are saved. Server responses to the client include all relevant information about the job.
•Python 3.11.5 is bundled in RaptorXML and will be used when a Python script is invoked with the --script option
COM/.NET interface
•Available on Windows only
•RaptorXML is automatically registered as a COM server object when installed, and so can be invoked from within applications and scripting languages that have programming support for COM calls
•RaptorXML is licensed on the machine on which it is installed
•The .NET interface is built as a wrapper around the COM interface
•The COM/.NET Server API of RaptorXML provides objects that can be used in COM/.NET scripting languages to access RaptorXML functionality
•Python 3.11.5 is bundled in RaptorXML and will be used when a Python script is invoked with the --script option
Java interface
•RaptorXML is licensed on the machine on which it is installed and this instance is accessed via a Java program
•RaptorXML functionality is available in the Java Server API as Java classes that can be used in Java programs.
•Python 3.11.5 is bundled in RaptorXML and will be used when a Python script is invoked with the --script option
Altova XMLSpy
•If you have installed and licensed Altova XMLSpy and if XMLSpy can access RaptorXML+XBRL Server across a network, then you can use RaptorXML+XBRL Server from withing the XMLSpy GUI to validate XML and XBRL documents, as well as run XSLT and XQuery transformations.
•You can validate the active document or all the documents in an XMLSpy project folder.
•The validation results are displayed in the Messages window of the XMLSpy GUI.
•In XMLSpy, you can (i) validate documents or (ii) run XSLT/XQuery transformation by using either XMLSpy's engines or RaptorXML Server.
•One of the main advantages of using Raptor is that you can configure individual validations by means of a large range of validation options. Furthermore, you can store a set of Raptor options as a "configuration" in XMLSpy, and then select one of your defined configurations for a particular Raptor validation. Using Raptor is also advantageous when large data collections are to be validated.
Engine APIs
The Engine APIs are different than the Server APIs in that RaptorXML is contained in the Python wheel and in the .NET DLL that are used, respectively, by Python programs and .NET applications (see figure below). These programs/applications must use, respectively, Raptor's Python API and Raptor's .NET API in order to access RaptorXML functionality.
Note: | The functionality provided by the Python API and .NET API are considerably greater than that provided by either the CLI or the Server APIs; for example, the ability to read documents and manipulate data. |
Python interface
•RaptorXML is available in a Python wheel package that can be installed in your Python 3.11.5 environment
•A Python program can then be written that uses objects from RaptorXML's Python API. This API provides much more functionality than is available in the CLI, and it can be combined with the functionality provided by third-party libraries in your Python environment
•When RaptorXML functionality is called via RaptorXML's Python wheel, a check is carried out for a valid RaptorXML license on that machine before the command is executed
.NET interface
•RaptorXML is available in a DLL that can be embedded in an application that supports the .NET Framework. See the section .NET Framework API for information about the API.
•RaptorXML's .NET API provides access to RaptorXML. The available functionality is much more than that which is available in the RaptorXML CLI.
•When RaptorXML functionality is called via a .NET application, a check is carried out for a valid RaptorXML license on that machine