What is MIME type "application/xproc+xml"?
A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.
The MIME type application/xproc+xml is used for XML pipeline documents written in the XProc language. It tells programs that the file contains instructions for a series of XML processing steps. These documents define how XML data is transformed, validated, and manipulated.Files identified with this MIME type often use the extension XPL.
- Main use: Defining XML transformation pipelines.
- Chaining multiple XML processing steps.
- Automating XML data manipulation and validation.
- Enabling reproducible XML workflows in various environments.
Associated file extensions
Usage Examples
HTTP Header
When serving content with this MIME type, set the Content-Type header:
Content-Type: application/xproc+xml
HTML
In HTML, you can specify the MIME type in various elements:
<a href="file.dat" type="application/xproc+xml">Download file</a>
Server-side (Node.js)
Setting the Content-Type header in Node.js:
const http = require('http');
http.createServer((req, res) => {
res.setHeader('Content-Type', 'application/xproc+xml');
res.end('Content here');
}).listen(3000);
Associated file extensions
FAQs
What is the primary purpose of the application/xproc+xml MIME type?
This MIME type identifies a document as an XProc pipeline, which is an XML-based language used to define a sequence of operations on XML data. It tells the processing software that the file contains instructions for transforming, validating, or routing XML, rather than just static data.
Which file extension is associated with application/xproc+xml?
The standard file extension for this MIME type is .xpl. While the content is valid XML, using the specific xpl extension helps developers and IDEs distinguish pipeline scripts from standard XML data files.
Do web browsers natively execute XProc files?
No, standard web browsers like Chrome or Firefox do not execute XProc pipelines. If you navigate to a file served as application/xproc+xml, the browser will usually display the raw XML code (the document tree) or ask to download the file, rather than running the pipeline steps.
How do I configure Apache to serve .xpl files correctly?
To ensure your web server sends the correct Content-Type header, add the following line to your .htaccess or httpd.conf file: AddType application/xproc+xml .xpl. This prevents the server from defaulting to text/plain or generic application/xml.
Can I use application/xml instead of application/xproc+xml?
Yes, because XProc is a valid XML format, generic parsers will accept application/xml. However, using application/xproc+xml is best practice because it explicitly informs the client application (such as an XML IDE or pipeline processor) that the file is executable logic, not just data.
What is the difference between XProc and XSLT?
XSLT is primarily used to transform one XML document into another format (like HTML). XProc is a pipeline language that orchestrates the entire workflow; an XProc file might load a file, validate it against a schema, run an XSLT transformation, and then save the result.
What software is required to run application/xproc+xml files?
You need a specialized XProc processor to execute these pipelines. Common processors include XML Calabash and MorganaXProc. For editing, advanced XML editors like Oxygen XML Editor provide syntax highlighting and debugging specifically for this MIME type.
General FAQ
What is a MIME type?
A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.
MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.
MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.
How do I find the MIME type for a file?
You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.
Why are multiple MIME types listed for one extension?
Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.