Metadata-Version: 1.1
Name: xml2rfc
Version: 2.9.2
Summary: Xml2rfc generates RFCs and IETF drafts from document source in XML according to the dtd in RFC2629.
Home-page: https://tools.ietf.org/tools/xml2rfc/trac/
Author: Henrik Levkowetz
Author-email: henrik@levkowetz.com
License: Simplified BSD Licence
Download-URL: https://pypi.python.org/pypi/xml2rfc
Description-Content-Type: UNKNOWN
Description: Introduction
        ============
        
        The IETF_ uses a specific format for the standards and other documents it
        publishes as RFCs_, and for the draft documents which are produced when
        developing documents for publications.  There exists a number of different
        tools to facilitate the formatting of drafts and RFCs according to the
        existing rules, and this tool, **xml2rfc**, is one of them.  It takes as input
        an xml file which contains the text and meta-information about author names
        etc., and transforms it into suitably formatted output.  The input xml file
        should follow the DTD given in RFC2629_ (or it's `inofficial successor`_).
        
        The current incarnation of **xml2rfc** provides output in the following
        formats: Paginated and unpaginated ascii text, html, nroff, and expanded xml.
        Only the paginated text format is currently (January 2013) accepable as draft
        submissions to the IETF.
        
        .. _IETF: https://www.ietf.org/
        .. _RFCs: https://www.rfc-editor.org/
        .. _RFC2629: https://tools.ietf.org/html/rfc2629
        .. _inofficial successor: https://tools.ietf.org/html/draft-mrose-writing-rfcs
        
        Installation
        ============
        
        System Install
        --------------
        
        To install a system-wide version of xml2rfc, download and unpack the `xml2rfc 
        distribution package`_, then cd into the resulting package directory and run::
        
            $ python setup.py install
        
        Alternatively, if you have the 'pip_' command ('Pip Installs Packages') installed,
        you can run pip to download and install the package::
        
            $ pip install xml2rfc
        
        .. _lxml:				http://lxml.de/
        .. _pip:				https://pypi.python.org/pypi/pip
        .. _xml2rfc distribution package:	https://pypi.python.org/pypi/pip
        .. _requests:				http://docs.python-requests.org/
        
        
        User Install
        ------------
        
        If you want to perform a local installation for a specific user,
        you have a couple of options.  You may use python's default location
        of user site-packages by specifying the flag ``--user``.  These locations are:
        
            * UNIX: $HOME/.local/lib/python<ver>/site-packages
            * OSX: $HOME/Library/Python/<ver>/lib/python/site-packages
            * Windows: %APPDATA%/Python/Python<ver>/site-packages
        
        You can additionally combine the flag ``--install-scripts`` with ``--user`` to
        specify a directory on your PATH to install the xml2rfc executable to.  For
        example, the following command::
        
            $ python setup.py install --user --install-scripts=$HOME/bin
        
        will install the xml2rfc library and data to your local site-packages
        directory, and an executable python script ``xml2rfc`` to $HOME/bin.
        
        Custom Install
        --------------
        
        The option ``--prefix`` allows you to specify the base path for all
        installation files.  The setup.py script will exit with an error if your
        PYTHONPATH is not correctly configured to contain the library path
        the script tries to install to.
        
        The command is used as follows::
        
            $ python setup.py install --prefix=<path>
        
        For further fine-tuning of the installation behavior, you can get a list
        of all available options by running::
        
            $ python setup.py install --help
        
        Usage
        =====
        
        xml2rfc accepts a single XML document as input and outputs to one or more conversion formats.
        
        **Basic Usage**: ``xml2rfc SOURCE [options] FORMATS...``
        
        **Options**
            The following parameters affect how xml2rfc behaves, however none are required.
            
            ===============  ======================= ==================================================
            Short            Long                    Description
            ===============  ======================= ==================================================
            ``-C``           ``--clear-cache``       purge the cache and exit
            ``-h``           ``--help``              show the help message and exit
            ``-n``           ``--no-dtd``            disable DTD validation step
            ``-N``           ``--no-network``        don't use the network to resolve references
            ``-q``           ``--quiet``             dont print anything
            ``-v``           ``--verbose``           print extra information
            ``-V``           ``--version``           display the version number and exit
        
            ``-b BASENAME``  ``--basename=BASENAME`` specify the base name for output files
            ``-c CACHE``     ``--cache=CACHE``       specify an alternate cache directory to write to
            ``-D DATE``      ``--date=DATE``         run as if todays date is DATE (format: yyyy-mm-dd)
            ``-d DTD``       ``--dtd=DTD``           specify an alternate dtd file
            ``-o FILENAME``  ``--out=FILENAME``      specify an output filename
            ===============  ======================= ==================================================
        
        **Formats**
            At least one but as many as all of the following output formats must
            be specified. The destination file will be created according to the
            argument given to --filename.  If no argument was given, it will
            create the file(s) "output.format".  If no format is specified, xml2rfc
            will default to paginated text (``--text``).
        
            ===========     ============================================================
            Command         Description
            ===========     ============================================================
            ``--raw``       outputs to a text file, unpaginated
            ``--text``      outputs to a text file with proper page breaks
            ``--nroff``     outputs to an nroff file
            ``--html``      outputs to an html file
            ``--exp``       outputs to an XML file with all references expanded
            ===========     ============================================================
        
        
        **Examples**
            | ``xml2rfc draft.xml``
            | ``xml2rfc draft.xml --dtd=alt.dtd --basename=draft-1.0 --text --nroff --html``
        
        Dependencies
        ============
        xml2rfc depends on the following packages:
        
        * lxml_ *(> 2.2.7)*
        * requests_ *(> 2.5.0)*
        
        
        Changelog
        =========
        
        
        Version 2.9.2 (09 Feb 2018)
        ------------------------------------------------
        
        
          * Fixed issues with packaging and with execution under python 2.7.  
            Fixes issue #342 and #343.
        
        
        
        
        
        
        Version 2.9.1 (09 Feb 2018)
        ------------------------------------------------
        
        
          * Boilerplate grammar fix, see https://www.rfc-editor.org/errata/eid5248
        
        
        
        
        
        
        Version 2.9.0 (09 Feb 2018)
        ------------------------------------------------
        
        
          This release introduces preptool functionality, through a --preptool output
          mode.  With reservation for some points for which issues has been raised,
          this follows the spedicfication in RFC7998.
        
          The preptool currently takes vocabulary v3 input, and produces prepped
          output.  When work on the text formatter commences, the idea is that the
          input xml source will always be run through v2v3 conversion and preptool
          processing before the output formatting, in order to increase consistency
          and reduce complexity of the output formatter.
        
          There are also some changes which are not related to the preptool
          functionality: The tox tests have been changed to add testing under Python
          3.6, and removed test runs for Python 3.3.  Although there is no intention
          of breaking compatibility with Python 3.3, it may happen eventually since
          there will not be any release testing with that version of Python.
        
          The v2v3 converter in some cases could insert <seriesInfo> elements with
          only a name= attribute, because the required seriesNo= attribute on <rfc>
          was missing.  This has been changed.
        
          In order to work around a debilitating issue with relax-ng validation in
          libxml2 (time to validate increases exponentially with number of attributes
          on the root element: https://bugzilla.gnome.org/show_bug.cgi?id=133736)
          some empty attributes on <rfc> are removed during processing; for instance
          obsoletes="" and updates="".  They don't contribute information, but
          increase validation time with a factor ~20.
        
          In order to identify the unicode scripts needed to display a document,
          a module to efficiently identify the scripts related to unicode codepoints
          has been written.  The 'uniscripts' module which was originally intended to
          be used for this turned out not to be viable.  The new 'scripts' module can
          be broken out for separate release as a library module, if desired.
        
          In order to work with vocabulary v3 input, the parser has been slightly
          modified to not do input validation according to rfc2629.dtd if not
          appropriate.
        
        
        
        
        
Platform: UNKNOWN
Classifier: Environment :: Console
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Topic :: Text Processing
Classifier: Topic :: Text Processing :: Markup :: XML
Classifier: License :: OSI Approved :: BSD License
