Create an HTML difference display from two XML input files.
Project description
Create a difference on two RFC XML files
This program takes two XML files containing SVG or RFC documents and creates an HTML file which shows the differences between the two documents.
The RFC Editor is in the process of changing the canonical input format of Internet-Draft and RFC documents. Further information on the process can be found on the RFC Editor at the RFC Editor site.
Usage
xmldiff accepts a pair of XML documents as input and outputs an HTML document.
Basic Usage: xmldiff [options] SOURCE1 SOURCE2
Options
The following parameters affect how xmldiff 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-network
don’t use the network to resolve references
-q
--quiet
don’t print anything
-r
--raw
don’t use the xml2rfc vocabulary when matching
-v
--verbose
print extra information
-V
--version
display the version number and exit
-X
--no-xinclude
don’t resolve xi:include elements
-o FILENAME
--out=FILENAME
specify an output filename
-t FILENAME
--template=FILENAME --resource-url=URL
specify HTML template filename specify the URL for resources in the template
Templates
Two template files are installed with the package:
single.html - provides just the XML difference between the two files. This is the default template
base.html - provides three columns containing the left source files, the XML difference and the right source files.
For new template files, the following variables are define:
title - provides a default window title
body - contains the XML difference HTML
leftFile - contains the left source files
rightFile - contains the right source files
resource_dir - contains the URL to find the resources. This defaults to the Template directory of the package.
Dependencies
xmldiff depends on the following packages:
lxml (>= 4.1.1)
requests (>= 2.5.0)
rfctools_common (>= 0.1.0)
cffi (>= 1.0.0)
Changelog
Version 0.5.2 (Fri 06 Apr)
Add missing items from the manifest to make the html work correctly.
Version 0.5.1 (Sun 28 Feb)
Tag artwork and sourcecode correctly so that they are formatted as space preserving.
Emit the xml declaration and DOCTYPE declaration
Switch to a new tree paradigm as the old one did not allow needed cut and paste features.
Implement a button to just open modified nodes
Setup to have and be able to select from multiple HTML templates.
Version 0.5.0 (Sun 25 Feb)
Many different css changes applied. Changes include: resize the different columns, add background coloration, wrap lines and make the tree leafs of variable height, change the charset to allow Utf-8 characters. Long term should point to the column change code, but currently I don’t know of a good place.
Format paragraphs as a single node in the tree rather than spreading them out over the tree structure. This improves readability substantially.
Force the matching of some v2 and v3 elements which provide equivalent functionality, but have different names.
Include comments as nodes in the displayed tree.
Fix some errors in the tree merging code so that elements are placed in the correct location.
Need to separate the left/right class tagging from the li element as it gets clobbered by the tree code. Thus the addition of span elements all over the place.
Clean up some memory leaks in the distance algorithm.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.