1Metadata-Version: 1.2
2Name: xml2rfc
3Version: 3.5.0
4Summary: Xml2rfc generates RFCs and IETF drafts from document source in XML according to the IETF xml2rfc v2 and v3 vocabularies.
5Home-page: https://tools.ietf.org/tools/xml2rfc/trac/
6Author: Henrik Levkowetz
7Author-email: tools-discuss@ietf.org
8Maintainer: Henrik Levkowetz
9Maintainer-email: henrik@levkowetz.com
10License: BSD-3-Clause
11Download-URL: https://pypi.python.org/pypi/xml2rfc
12Description: Introduction
13        ============
14
15        The IETF_ uses a specific format for the standards and other documents it
16        publishes as RFCs_, and for the draft documents which are produced when
17        developing documents for publications.  There exists a number of different
18        tools to facilitate the formatting of drafts and RFCs according to the
19        existing rules, and this tool, **xml2rfc**, is one of them.  It takes as input
20        an xml file which contains the text and meta-information about author names
21        etc., and transforms it into suitably formatted output.  The input xml file
22        should follow the grammars in RFC7749_ (for v2 documents) or RFC7991_ (for
23        v3 documents). Note that the grammar for v3 is still being refined, and
24        changes will eventually be captured in the `bis draft for 7991`_.
25        Changes not yet captured can be seen in the xml2rfc source `v3.rng`_.
26
27        **xml2rfc** provides a variety of output formats. See the command line
28        help for a full list of formats. It also provides conversion from v2 to
29        v3, and can run the preptool_ on its input.
30
31        .. _IETF: https://www.ietf.org/
32        .. _RFCs: https://www.rfc-editor.org/
33        .. _RFC7749: https://tools.ietf.org/html/rfc7749
34        .. _RFC7991: https://tools.ietf.org/html/rfc7991
35        .. _bis draft for 7991: https://tools.ietf.org/html/draft-iab-rfc7991bis
36        .. _v3.rng: https://trac.tools.ietf.org/tools/xml2rfc/trac/browser/trunk/cli/xml2rfc/data/v3.rng
37        .. _preptool: https://tools.ietf.org/html/rfc7998
38
39        Installation
40        ============
41
42        Installation of the python package is done as usual with 'pip install xml2rfc',
43        using appropriate switches and/or sudo.
44
45        Installation of support libraries for the PDF-formatter
46        -------------------------------------------------------
47
48        In order to generate PDFs, xml2rfc uses the WeasyPrint module, which
49        depends on external libaries that must be installed as native packages
50        on your platform, separately from the xml2rfc install.
51
52        First, install the Cairo, Pango, and GDK-PixBuf library files on your
53        system.  See installation instructions on the WeasyPrint Docs:
54
55            https://weasyprint.readthedocs.io/en/stable/install.html
56
57        (Python 3 is not needed if your system Python is 2.7, though).
58
59        (On some OS X systems with System Integrity Protection active, you may
60        need to create a symlink from your home directory to the library installation
61        directory (often /opt/local/lib):
62
63            ln -s /opt/local/lib ~/lib
64
65        in order for weasyprint to find the installed cairo and pango libraries.
66        Whether this is needed or not depends on whether you used macports or homebrew
67        to install cairo and pango, and the homebrew / macport version.)
68
69        Next, install the pycairo and weasyprint python modules using pip.
70        Depending on your system, you may need to use 'sudo' or install in
71        user-specific directories, using the --user switch.  On OS X in
72        particular, you may also need to install a newer version of setuptools
73        using --user before weasyprint can be installed.  If you install with
74        the --user switch, you may need to also set PYTHONPATH, e.g.,
75
76            PYTHONPATH=/Users/henrik/Library/Python/2.7/lib/python/site-packages
77
78        for Python 2.7.
79
80        The basic pip commands (modify as needed according to the text above)
81        are:
82
83            pip install 'pycairo>=1.18' 'weasyprint<=0.42.3'
84
85        With these installed and available to xml2rfc, the --pdf switch will be
86        enabled.
87
88        For PDF output, you also need to install the Noto font set.  Download the full
89        set from https://noto-website-2.storage.googleapis.com/pkgs/Noto-unhinted.zip,
90        and install as appropriate for your platform.
91
92        Usage
93        =====
94
95        xml2rfc accepts a single XML document as input and outputs to one or more conversion formats.
96
97        **Basic Usage**: ``xml2rfc SOURCE [options] FORMATS...``
98
99        Run ``xml2rfc --help`` for a full listing of command-line options.
100
101
102        Changelog
103        =========
104
105
106        Version 3.5.0 (18 Nov 2020)
107        ------------------------------------------------
108
109
110          * Added some missing test cache entries.
111
112          * Added missing line joiner settings for <artwork>, <artset> and
113            <sourcecode> within <blockquote>.  Fixes issue #569
114
115          * Fixed a diff exclusion regex in the Makefile, and added a Makefile target
116            to update manpage and docfiles, and a mkrelease step to update those files
117            with the new release version as part of the release actions.
118
119          * Changed the output text for <xref> with text content equal to the
120            reference tag to output both, rather than suppressing one.  Fixes issue
121            #571.
122
123
124
125
126
127
128
129        Version 3.4.0 (06 Nov 2020)
130        ------------------------------------------------
131
132
133          * Added handling for 'indent' attributes that have been set to the empty
134            string.  Fixes issue #564.
135
136          * Added some new unlisted switches to make some test cases easier to
137            maintain.
138
139          * Changed the default handling for draft reference XIncludes to use
140            revision-agnostic bibxml URLs in v2-to-v3 conversions, and added a switch
141            to use explicit revisions instead if desired.
142
143          * Tweaked doc.py and doc.xml to suppress mention of switches with
144            argparse.SUPPRESS help settings, for consistency between --help and --doc
145            output.
146
147          * Changed the text output for <xref format='title'/> on request from the
148            RPC.  Fixes issue #563.
149
150
151
152
153
154
155
156        Version 3.3.0 (19 Oct 2020)
157        ------------------------------------------------
158
159
160          * Removed validation before unprepping in order to be able to process source
161            files that use XInclude without failing validation because of missing IDREF
162            targets.
163
164          * Fixed a problem where some name entries permitted Latin script names,
165            but not all.  Fixed a misleading error message for <iref> elements that
166            lack a useful anchor to refer back to.
167
168          * Fixed some diff exclusion patterns in the Makefile.
169
170          * Added a couple of test cases.
171
172
173
174
175
176
177Platform: UNKNOWN
178Classifier: Development Status :: 5 - Production/Stable
179Classifier: Environment :: Console
180Classifier: Operating System :: MacOS :: MacOS X
181Classifier: Operating System :: Microsoft :: Windows
182Classifier: Operating System :: POSIX :: Linux
183Classifier: Programming Language :: Python
184Classifier: Topic :: Text Processing
185Classifier: Topic :: Text Processing :: Markup :: XML
186Classifier: License :: OSI Approved :: BSD License
187