List of xmlfy features
- Command line interface.
- Self-contained, only needs libc to run. No JVM, XML, RE, enc, hash or getopt libs required.
- Reads standard input and writes to standard output.
- UTF-8, UTF-16, UTF-32, big-endian and little-endian support.
- Byte-Order-Mark (BOM) handling option.
- NULL character handling.
- DTD, RELAX NG Compact, and XSD schema support.
- Compound schema tree hierarchy support with inbuilt tree traversal optimisation.
- Wildcard handling on schema elements.
- Direct matching on any schema record element as the root element.
- Support for specifying xmlfy arguments inside the schema file.
- Unlimited XML depth levels.
- Unlimited input and output size utilizing fast block IO.
- Successfully tested on records containing 10 million fields using complex schema and multi level delimiters.
- String or character delimiters with byte mode option.
- Multiple same level delimiters support.
- Scoped delimiters with option for restarting scope.
- Column fields with multibyte code point handling.
- Regular expression field capture.
- Field expelling support.
- Element tag customisation.
- Element attribute customisation.
- Insert file content and XML files.
- Key/value tag pair generation.
- Field data trimming.
- Quote character handling.
- DOS or Unix end-of-line option.
- Line, field and XML level numbering.
- Capability to print only snippets of XML.
- XML SOAP format generation.
- HTML format generation.
- Convert ASCII input to wide UTF format option.
- Escape handling of reserved XML characters.
- Convert XML back to plain text.
- Summary report.
- SHA512 and MD5 digest of input and output.
- Multiple platform support.
- Portable source code requiring just the libc library to compile and run.
- Fast, lightweight, powerful, and simple to use.
- Opensource and free.
For information on using these features refer to either
the Manual page section in the
main documentation, or the man page xmlfy(1).