Skip to main content

Convert Quark Xpress Tags to XML

Project description

Convert Quark Xpress tagged text (Tags, xtags) to XML.

This module is intended as a pre-processing step in the conversion of Quark Xpress tagged text to (semantic) HTML; as such it does not attempt to convert every single tag to XML, but only those that are relevant to the production of semantic, HTML5-compliant HTML.

This means that Paragraph and Character style sheet definitions are ignored; we only care about the apllied style sheet names. It also means that import character attributes like <i> and <b>, but ignore tags related to print typesseting only (tracking, kerning, baseline shift, etc.) by default , though they can be turned on.

The module doen’t actually produced XML but an Element Tree, in case you’d like to do further processing on the tree itself before serialising it with lxml.etree.tostring(). The serialised XML can then be turned to HTML with e.g. BeautifulSoup for postprocessing (for example, mapping Quark paragraph stylesheet to CSS classes, character tags and stylesheets to semantic HTML tags, rolling up indented quotes to <blockquote>, etc.)

Outputs UTF-8.

Usage:

>>> from quark_tagged_text import get_encoding, to_xml
>>> from lxml.etree import tostring
>>> encoding = get_encoding(<source file>)
>>> with open(<source file>, encoding=encoding) as tagged_text:
>>>     element_tree = to_xml(tagged_text)
>>> serialised_xml = tostring(element_tree, encoding='utf-8')

You can also call to_xml with a css=True argument. This will attempt to convert some character styles into inline CSS (works with fonts, small caps, uppercase, strikethrough).

Project details


Download files

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

Files for Quark-Xpress-Tags-to-xml, version 1.1
Filename, size File type Python version Upload date Hashes
Filename, size Quark_Xpress_Tags_to_xml-1.1-py3-none-any.whl (11.0 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page