packages feed

concrete-relaxng-parser-0.1: concrete-relaxng-parser.cabal

Name:                concrete-relaxng-parser
Version:             0.1
Cabal-Version:       >= 1.10
Build-Type:          Simple
Synopsis:            A parser driven by a standard RELAX NG schema with concrete syntax extensions.
Category:            Parsing, XML
Tested-with:         GHC
Description:
  This package exports a parser executable named @parse-concrete@. The executable takes two arguments, the target RELAX
  NG schema filename and the input filename. The input must be well-formed XML. The output of the parser is either an
  error or XML conforming to the schema.
  .
  If the input XML already conforms to the target schema, the parser acts as an ordinary RELAX NG validator. If not, it
  attempts to insert the missing element tags and to parse the text nodes within the input XML into XML elements. The
  target schema can be enriched by concrete syntax extensions, syntactically compatible with standard RELAX NG, to drive
  the parsing process.
  .
  The included sample RELAX NG schema @xhtml-concrete.rng@ is an extension of the regular must be used together with
  James Clark's modularized RELAX NG schema for XHTML, which can be downloaded from
  <http://www.thaiopensource.com/relaxng/xhtml/>. Here is an example session:
  .
  > $ cat <<END >test.xhtml.short<?xml version="1.0" encoding="UTF-8"?>
  > <html xmlns="http://www.w3.org/1999/xhtml">
  > Title
  >
  > A paragraph may contain more than one line.
  > Use *four* (that was emphasized) hyphens to draw a horizontal line:
  >
  > ----
  >
  > Unnumbered lists are like
  > * item a
  > * item b
  >
  > Numbered lists are like
  > * item a
  > * item b
  > </html>
  > END
  > $ parse-concrete xhtml-concrete.rng test.xhtml.short | tee test.xhtml
  > <?xml version="1.0" encoding="UTF-8"?>
  > <html xmlns="http://www.w3.org/1999/xhtml"><head><title>
  > Title</title></head><body><p>A paragraph may contain more than one line.
  > Use <em>four</em> (that was emphasized) hyphens to draw a horizontal line:</p>
  > <hr/><p>Unnumbered lists are like</p><ul><li>item a</li><li>item b</li></ul><p
  > >Numbered lists are like</p><ul><li>item a</li><li>item b
  > </li></ul></body></html>
  > $ parse-concrete xhtml-concrete.rng test.xhtml | diff test.xhtml -
  > $
  
License:             GPL
License-file:        LICENSE.txt
Copyright:           Copyright (C) Stilo International plc, 2012
Author:              Mario Blazevic
Maintainer:          mblazevic@stilo.com

Data-files: xhtml-concrete.rng

Executable parse-concrete
  Main-is:           ParseShortXML.hs
  Other-Modules:     Text.XML.HXT.RelaxNG.Parser
  Build-Depends:     base < 5, containers >= 0.4 && < 0.6, hxt >= 9.2 && < 10, hxt-relaxng == 9.1.*,
                     hxt-charproperties == 9.*, hxt-tagsoup == 9.1.*, hxt-curl == 9.1.*, cmdargs == 0.9.*
  GHC-options:       -threaded
  default-language:  Haskell2010