Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/peteradrichem/xul
XML Utilities
https://github.com/peteradrichem/xul
dtd lxml python relaxng xml xml-schema xpath xsd xslt
Last synced: about 21 hours ago
JSON representation
XML Utilities
- Host: GitHub
- URL: https://github.com/peteradrichem/xul
- Owner: peteradrichem
- License: mit
- Created: 2016-04-27T19:17:45.000Z (almost 9 years ago)
- Default Branch: main
- Last Pushed: 2025-01-27T15:05:21.000Z (18 days ago)
- Last Synced: 2025-01-27T15:21:16.307Z (18 days ago)
- Topics: dtd, lxml, python, relaxng, xml, xml-schema, xpath, xsd, xslt
- Language: Python
- Homepage: https://xul.readthedocs.io
- Size: 995 KB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE.txt
Awesome Lists containing this project
README
====================
Xul -- XML Utilities
====================.. image:: https://img.shields.io/pypi/v/xul
:target: https://pypi.org/project/Xul/
:alt: PyPI version.. image:: https://img.shields.io/pypi/wheel/xul.svg
:target: https://pypi.org/project/Xul/
:alt: Wheel.. image:: https://img.shields.io/pypi/pyversions/xul.svg
:target: https://pypi.org/project/Xul/
:alt: Python versions.. image:: https://img.shields.io/pypi/l/xul.svg
:target: https://pypi.org/project/Xul/
:alt: License.. image:: https://readthedocs.org/projects/xul/badge/
:target: https://xul.readthedocs.io/en/stable/
:alt: Documentation.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
:alt: Black code style.. image:: https://img.shields.io/badge/type%20checked-mypy-039dfc
:target: https://mypy-lang.org
:alt: Typing checked by mypy.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
:target: https://astral.sh/ruff
:alt: Ruff linting.. image:: https://img.shields.io/badge/imports-isort-1674b1
:target: https://pycqa.github.io/isort/
:alt: Imports sorted by isort.. image:: https://github.com/peteradrichem/Xul/actions/workflows/code-checks.yml/badge.svg
:target: https://github.com/peteradrichem/Xul/actions/workflows/code-checks.yml
:alt: Code checksXul scripts
===========
Xul is a set of XML scripts written in Python.- ``ppx``: pretty print XML
- ``xp``: select XML nodes with XPath
- ``transform``: transform XML with XSLT
- ``validate``: validate XML with XSD, DTD or RELAX NGInstallation
------------
Xul command line scripts can be installed with pip:.. code:: text
$ pip install Xul
Install Pygments_ for XML syntax highlighting (optional).
.. code:: text
$ pip install Xul[syntax]
Dependencies
------------
Xul uses the excellent lxml_ XML toolkit, a Pythonic binding for the C libraries
libxml2_ and libxslt_.Documentation
=============
Xul documentation can be found on `Read The Docs`_.Options
-------
List the command-line options of a Xul script with ``--help``.
For example:.. code::
$ xp --help
usage: xp [-h] [-V] [-l | -L] [-d DEFAULT_NS_PREFIX] [-e] [-q] [-p] [-r] [-m] xpath_expr [xml_source ...]
Select nodes in an XML source with an XPath expression.
positional arguments:
xpath_expr XPath expression
xml_source XML source (file, , http://...)options:
-h, --help show this help message and exit
-V, --version show program's version number and exit
-m, --method use ElementTree.xpath method instead of XPath classfile hit options:
output filenames to standard output-l, -f, --files-with-hits
only names of files with a result that is not false and
not NaN are written to standard output
-L, -F, --files-without-hits
only names of files with a false or NaN result, or without a result,
are written to standard outputnamespace options:
-d DEFAULT_NS_PREFIX, --default-prefix DEFAULT_NS_PREFIX
set the prefix for the default namespace in XPath [default: 'd']
-e, --exslt add EXSLT XML namespaces
-q, --quiet don't print XML source namespaceselement output options:
-p, --pretty-element pretty print the result element
-r, --result-xpath print the XPath expression of the result element (or its parent)W3C standards
-------------
- `Extensible Markup Language (XML) 1.0 `_
- `XML Schema 1.1 `_
- `XSL Transformations (XSLT) 1.0 `_
- `XML Path Language (XPath) 1.0 `_
- `Namespaces in XML 1.0 `_Related
-------
- `Extensions to XSLT (EXSLT) `_
- `RELAX NG `_.. _Read The Docs: https://xul.readthedocs.io/
.. _lxml: https://lxml.de/
.. _libxml2: https://gitlab.gnome.org/GNOME/libxml2/-/wikis/
.. _libxslt: https://gitlab.gnome.org/GNOME/libxslt/-/wikis/
.. _Pygments: https://pygments.org/