Features

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).