Mono(mono-xmltool)

πŸ“¦
version 6.14.1 Β· 2 versions
, in alpine 3.24, epel 10, fedora 44, nixos 26.05, nixpkgs unstable, ubuntu resolute, ubuntu stonking

✨ mono-xmltool ✨

okay bestie, welcome to the Mono(mono-xmltool) era πŸ’– this is the glow-up page for mono-xmltool β€” Mono's XML validation and transformation tool. no cap, it's giving command-line-front-end-for-XML-realness, and i'm gonna walk you through every single flag like we're texting at 2am 🫢


🌸 SYNOPSIS 🌸

mono-xmltool --validate [*.rng | *.rnc | *.nvdl | *.xsd] [instances]

mono-xmltool --validate-rng relax-ng-grammar-xml [instances]

mono-xmltool --validate-rnc relax-ng-compact-grammar-file [instances]

mono-xmltool --validate-nvdl nvdl-script-xml [instances]

mono-xmltool --validate-xsd xml-schema [instances]

mono-xmltool --transform stylesheet instance-xml

mono-xmltool --prettyprint [source [result]]

πŸ¦‹ DESCRIPTION πŸ¦‹

so mono-xmltool is literally a command line front end for a bunch of different functions that live inside the Mono XML class libraries. and right now β€” rn β€” it offers validation with all sorts of different kinds of schemas, xslt transformations, and pretty printing. iconic triple threat behavior, honestly πŸ’…


🌈 XML VALIDATION 🌈

mono-xmltool can validate a given set of XML files (that's the instances parameter, mwah) using the schema file you hand it. the schema files it supports currently are:

  • Relax NG (*.rng)
  • Compact Relax NG (*.rnc)
  • Namespace-based Validation Dispatching Language (*.nvdl)
  • XML Schema (*.xsd)

if you invoke it with the --validate argument, Mono will use the filename extension to guess which kind of validation you're asking for. and if you wanna be extra and force it, the --validate-xxx flags do exactly that πŸ”₯

here's the full list of flags and the actual class in Mono that implements each one, because we love transparency in this house:

  • --validate-rng β€” uses Commons.Xml.Relaxng.RelaxNgPattern as the schema, and Commons.Xml.Relaxng.RelaxngValidatingReader as the validator.
  • --validate-rnc β€” uses Commons.Xml.Relaxng.RncParser as the schema, and Commons.Xml.Relaxng.RelaxngValidatingReader as the validator.
  • --validate-nvdl β€” uses Commons.Xml.Nvdl as the schema and Commons.Xml.NvdlValidatingReader as the validator.
  • --validate-xsd β€” uses System.Xml.Schema.XmlSchema as the schema and uses System.Xml.XmlValidatingReader as the validator.
bestie note: the classes are the whole point here. don't mix em up, they're each doing their own little job πŸŽ€

πŸ’œ TRANSFORMATIONS πŸ’œ

this does an XSLT transformation. the stylesheet must be an XSLT file, and the instance-xml is the document to be processed. the output is sent to the standard output. main character behavior: it just does the thing and shows you the result ✨


πŸŽ€ PRETTY PRINTING πŸŽ€

produces a pretty-print rendering of the source file. if source is not specified, it reads the standard input. if result is not specified, the output is sent to the standard output. so like, flexible. we love options. slay πŸ’…


🧚 MAILING LISTS 🧚

mailing lists are listed at http://www.mono-project.com/community/help/mailing-lists/


⭐ WEB SITE ⭐

http://www.mono-project.com


πŸ‘‘ SEE ALSO πŸ‘‘


and that's the whole page, bestie πŸ’– this one was Mono(mono-xmltool) β€” the Mono XML validation and transformation tool β€” and now you know it fr fr. go validate something. periodt. πŸŒΈπŸ¦‹