xml.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Fri, 03 Aug 2012 12:58:44 +0300
changeset 1351 e6f209eae9df
parent 1334 9bf0d5a1f0cf
child 1409 33a935b7eabc
permissions -rw-r--r--
Switch to RST syntax.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1334
9bf0d5a1f0cf Include common header with quick links.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1277
diff changeset
     1
.. -*- coding: utf-8; -*-
9bf0d5a1f0cf Include common header with quick links.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1277
diff changeset
     2
.. include:: HEADER.rst
1277
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
======
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
 XML.
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
======
1334
9bf0d5a1f0cf Include common header with quick links.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1277
diff changeset
     7
.. contents::
1277
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     8
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
About XML.
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    10
==========
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    11
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    12
 * http://xmlhack.ru
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    13
 * http://microformats.org/wiki/namespaces-considered-harmful
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    14
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    15
relaxng-mode.
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    16
=============
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    17
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    18
  http://www.pantor.com/download.html
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
                RNC Emacs Mode (home page)
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
  http://www.emacswiki.org/emacs/RELAX_NG
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
                Emacs wili.
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
  http://www.relaxng.org/compact-tutorial-20030326.html
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
                relaxng compact syntax tutorial
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
utilities for processing xml.
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    26
=============================
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    27
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
xmlstar.
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
--------
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    31
XMLStarlet is a set of command line utilities (tools) which can be used to transform,
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    32
query, validate, and edit XML documents and files using simple set of shell commands in
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    33
similar way it is done for plain text files using UNIX grep, sed, awk, diff, patch, join,
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    34
etc.
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    35
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    36
  http://xmlstar.sourceforge.net/overview.php
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    37
                home page
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    38
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    39
Cygwin.
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
-------
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    41
::
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    42
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    43
  cmd# setup.exe -p libxml2,libxslt
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    44
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    45
``libxslt`` provide ``xsltproc``, ``libxml2`` provide ``xmlcatalog`` and
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    46
``xmllint``.
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    47
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    48
XPath query from CLI.
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    49
---------------------
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    50
::
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    51
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    52
  $ xmllint --xpath $XPATH file.xml
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    53
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    54
Microformats.
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    55
=============
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    56
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    57
  http://microformats.org/about
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    58
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    59
XML encoding.
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    60
=============
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    61
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    62
  http://www.ietf.org/rfc/rfc3023.txt
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    63
                XML Media Types
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    64
  http://www.xml.com/pub/a/2004/07/21/dive.html
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    65
                XML on the Web Has Failed
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    66
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    67
Validation of xml files.
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    68
========================
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    69
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    70
  http://infohost.nmt.edu/tcc/help/xml/lint.html
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    71
                xmllint: A validator for XML files
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    72
  http://www.cogsci.ed.ac.uk/~richard/rxp.html
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    73
                RXP - an XML parser available under the GPL
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    74
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    75
Validating using the DOCTYPE.
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    76
-----------------------------
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    77
::
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    78
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    79
  $ xmllint --valid --noout file.xml
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    80
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    81
Validating against a specific DTD.
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    82
----------------------------------
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    83
::
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    84
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    85
  $ xmllint --noout --dtdvalid URL file.xml
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    86
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    87
Validating against a Relax NG schema.
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    88
-------------------------------------
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    89
::
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    90
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    91
  $ xmllint --noout --relaxng schema.rng file.xml
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    92
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    93
If your schema is in Compact Format, you can use the trang program to convert
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    94
it to RNG format::
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    95
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    96
  $ trang file.rnc file.rng
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    97
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    98
Validating against XSchema.
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    99
---------------------------
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   100
::
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   101
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   102
  $ xmllint --noout --schema schema.xsd file.xml
c3af4a7b5ec3 RXP - an XML parser available under the GPL
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   103