xml.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Sun, 30 Jan 2011 19:25:36 +0200
changeset 795 31505dc75ede
parent 750 0c38ced8042c
child 796 7c884c0647b7
permissions -rw-r--r--
Validation of xml files

-*- mode: outline; coding: utf-8 -*-

* About.

  http://xmlhack.ru

* relaxng.

** relaxng-mode.

  http://www.pantor.com/download.html
                RNC Emacs Mode (home page)
  http://www.emacswiki.org/emacs/RELAX_NG
  http://www.relaxng.org/compact-tutorial-20030326.html
                relaxng compact syntax tutorial

* CLI utilities for processing xml.

** xmlstar.

XMLStarlet is a set of command line utilities (tools) which can be used to transform,
query, validate, and edit XML documents and files using simple set of shell commands in
similar way it is done for plain text files using UNIX grep, sed, awk, diff, patch, join,
etc.

  http://xmlstar.sourceforge.net/overview.php
                home page

** Cygwin.

  cmd# setup.exe -p libxml2,libxslt

'libxslt' provide 'xsltproc, 'libxml2' provide 'xmlcatalog' and 'xmllint'

** XPath query from CLI.

  $ xmllint --xpath $XPATH file.xml

* Microformats.

  http://microformats.org/about

* XML encoding.

  http://www.ietf.org/rfc/rfc3023.txt
                XML Media Types
  http://www.xml.com/pub/a/2004/07/21/dive.html
                XML on the Web Has Failed

* Validation of xml files.

  http://infohost.nmt.edu/tcc/help/xml/lint.html
                xmllint: A validator for XML files

** Validating using the DOCTYPE.

  $ xmllint --valid --noout file.xml

** Validating against a specific DTD.

  $ xmllint --noout --dtdvalid URL file.xml

** Validating against a Relax NG schema.

  $ xmllint --noout --relaxng schema.rng file.xml

If your schema is in Compact Format, you can use the trang program to convert
it to RNG format:

  $ trang file.rnc file.rng

** Validating against XSchema.

  $ xmllint --noout --schema schema.xsd file.xml