This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Xml2rfc generates RFCs and IETF drafts from document source in XML according to the dtd in RFC2629.

Project 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.

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

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:

Changelog

Version 2.7.0 (01 Jul 2017)

This introduces the vocabulary v2 to v3 converter, which reads RFC7749-compliant xml input, and writes RFC7991-compliant xml output, converting elements marked as deprecated in RFC7991 to the eqivalent new constructs, or removing attributes and elements if no equivalent construct exists. Use the format switch –v2v3 to request v2v3 conversion. Use –verbose to have comments added to the converted xml detailing the conversions which have been done.

Version 2.6.2 (19 Jun 2017)

  • Refactored the input file reading to accept files with Mac line endings, using python’s Universal Newline support. This should make xml2rfc deal correctly with input files following DOS, MAC and Linux line-ending conventions.

Version 2.6.1 (03 Jun 2017)

  • Inialised the widow and orphan limit settings from PIs. Did some related refactoring.
  • Added an option to show the known PIs, and their default values. Also commented out PIs for which there are no implementations from the internal PI list, and did some refactoring of the option parser setup.
  • Changed a number of numeric constants related to page breaking which occured inline in the code, so that appropriate settings on the writer are used instead: self.page_end_blank_lines, self.orphan_limit, self.widow_limit. Some refactoring.
  • Restored support for the quiet= argument to writers, as this is used by other tools that invoke writers, and backwards compatibility is desired.
  • Added a mkrelease script.
  • Limited the changelog on the pypi page to the 2 latest releases.
Release History

Release History

This version
History Node

2.7.0

History Node

2.6.2

History Node

2.6.1

History Node

2.6.0

History Node

2.5.3.dev0

History Node

2.5.2

History Node

2.5.1

History Node

2.5.0

History Node

2.4.12

History Node

2.4.11

History Node

2.4.10

History Node

2.4.10.dev0

History Node

2.4.9

History Node

2.4.8

History Node

2.4.7

History Node

2.4.6

History Node

2.4.5

History Node

2.4.4

History Node

2.4.3

History Node

2.4.2

History Node

2.4.1

History Node

2.4.0

History Node

2.3.11.3

History Node

2.3.11.2

History Node

2.3.11.1

History Node

2.3.11

History Node

2.3.10

History Node

2.3.9

History Node

2.3.8

History Node

2.3.7

History Node

2.3.6

History Node

2.3.5

History Node

2.3.4

History Node

2.3.3

History Node

2.3.2

History Node

2.3.1

History Node

2.3.0

History Node

2.2.7

History Node

2.2.5

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
xml2rfc-2.7.0.tar.gz (1.5 MB) Copy SHA256 Checksum SHA256 Source Jul 1, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting