{"id":22832861,"url":"https://github.com/ietf-tools/rfc-xmldiff","last_synced_at":"2026-02-12T14:08:18.215Z","repository":{"id":90548155,"uuid":"452139403","full_name":"ietf-tools/rfc-xmldiff","owner":"ietf-tools","description":"Create a difference on two RFC XML files","archived":false,"fork":false,"pushed_at":"2022-07-07T08:52:33.000Z","size":8596,"stargazers_count":4,"open_issues_count":0,"forks_count":6,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-08-18T07:28:07.767Z","etag":null,"topics":["diff","rfc","xml"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ietf-tools.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-01-26T04:25:32.000Z","updated_at":"2024-11-30T17:51:58.000Z","dependencies_parsed_at":"2023-07-19T00:46:32.547Z","dependency_job_id":null,"html_url":"https://github.com/ietf-tools/rfc-xmldiff","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/ietf-tools/rfc-xmldiff","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ietf-tools%2Frfc-xmldiff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ietf-tools%2Frfc-xmldiff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ietf-tools%2Frfc-xmldiff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ietf-tools%2Frfc-xmldiff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ietf-tools","download_url":"https://codeload.github.com/ietf-tools/rfc-xmldiff/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ietf-tools%2Frfc-xmldiff/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29367933,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["diff","rfc","xml"],"created_at":"2024-12-12T21:10:01.556Z","updated_at":"2026-02-12T14:08:18.211Z","avatar_url":"https://github.com/ietf-tools.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \n\u003cimg src=\"https://raw.githubusercontent.com/ietf-tools/common/main/assets/logos/rfc-xmldiff.svg\" alt=\"RFC-XMLDIFF\" height=\"125\" /\u003e\n    \n[![Release](https://img.shields.io/github/release/ietf-tools/rfc-xmldiff.svg?style=flat\u0026maxAge=360)](https://github.com/ietf-tools/rfc-xmldiff/releases)\n[![License](https://img.shields.io/github/license/ietf-tools/rfc-xmldiff)](https://github.com/ietf-tools/rfc-xmldiff/blob/main/LICENSE)\n[![PyPI - Version](https://img.shields.io/pypi/v/rfc-xmldiff)](https://pypi.org/project/rfc-xmldiff/)\n[![PyPI - Status](https://img.shields.io/pypi/status/rfc-xmldiff)](https://pypi.org/project/rfc-xmldiff/)\n[![PyPI - Format](https://img.shields.io/pypi/format/rfc-xmldiff)](https://pypi.org/project/rfc-xmldiff/)\n\n##### Create a difference on two RFC XML files\n\n\u003c/div\u003e\n\n- [Changelog](https://github.com/ietf-tools/rfc-xmldiff/blob/main/CHANGELOG.md)\n- [Contributing](https://github.com/ietf-tools/.github/blob/main/CONTRIBUTING.md)\n\n---\n\nThis program takes two XML files containing SVG or RFC documents and creates an HTML file which shows the differences between the two documents.\n\nThe [RFC Editor](https://www.rfc-editor.org) is in the process of changing the canonical input format of [Internet-Draft](https://en.wikipedia.org/wiki/Internet_Draft) and [RFC](https://en.wikipedia.org/wiki/Request_for_Comments) documents.  Further information on the process can be found on the RFC Editor at the [RFC Editor](https://www.rfc-editor.org) site.\n\n## Usage\n\n`rfc-xmldiff` accepts a pair of XML documents as input and outputs an HTML document.\n\n### Basic Usage\n\n```sh\nrfc-xmldiff [options] SOURCE1 SOURCE2\n```\n\n### Options\n\nThe following parameters affect how rfc-xmldiff behaves, however none are required.\n\n| Short         | Long                  | Description                                    |\n|---------------|-----------------------|------------------------------------------------|\n| `-C`          | `--clear-cache`       | purge the cache and exit                       |\n| `-h`          | `--help`              | show the help message and exit                 |\n| `-N`          | `--no-network`        | don't use the network to resolve references    |\n| `-q`          | `--quiet`             | don't print anything                           |\n| `-r`          | `--raw`               | don't use the xml2rfc vocabulary when matching |\n| `-v`          | `--verbose`           | print extra information                        |\n| `-V`          | `--version`           | display the version number and exit            |\n| `-X`          | `--no-xinclude`       | don't resolve xi:include elements              |\n| `-o FILENAME` | `--out=FILENAME`      | specify an output filename                     |\n| `-t FILENAME` | `--template=FILENAME` | specify HTML template filename                 |\n| `-D`          | `--no-defaults`       | don't load attribute defaults from the dtd     |\n| `.`           | `--resource-url=URL`  | specify the URL for resources in the template  |\n\n## Templates\n\nTwo template files are installed with the package:\n\n- `single.html` - provides just the XML difference between the two files.\n- `base.html` - provides three columns containing the left source files, the XML difference and the right source files. Uses color to highlight changes. This is the default template.\n- `wdiff.html` - provides three columns containing the left source files, the XML difference and the right source files. Uses color and strike throughs to highlight changes.\n\nFor new template files, the following variables are define:\n\n- `title` - provides a default window title\n- `body` - contains the XML difference HTML\n- `leftSourceNames` - the list of all input files for the left sources\n- `leftFile` - contains the left source files\n- `rigthSourceNames` - the list of all input files for the right sources\n- `rightFile` - contains the right source files\n- `resource_dir` - contains the URL to find the resources. This defaults to the Template directory of the package.\n- `allScript` - contains the contents of `resize.js` so the resulting html file is self contained.\n\n## Dependencies\n\n`rfc-xmldiff` depends on the following packages:\n\n- [lxml](http://lxml.de) *(\u003e= 4.1.1)*\n- [requests](http://docs.python-requests.org) *(\u003e= 2.5.0)*\n- [rfctools_common](https://pypi.python.org/pypi/pip) *(\u003e= 0.5.10)*\n- [cffi](https://pypi.python.org/pypi/pip) *(\u003e= 1.0.0)*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fietf-tools%2Frfc-xmldiff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fietf-tools%2Frfc-xmldiff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fietf-tools%2Frfc-xmldiff/lists"}