将Quark Xpress标记转换为XML
Quark-Xpress-Tags-to-xml的Python项目详细描述
将Quark Xpress标记的文本(标记,xtags)转换为XML。
此模块用作 Quark Xpress将文本标记为(语义)HTML;因此它不 尝试将每个标记转换为XML,但仅限于 与产生语义相关,符合HTML5的HTML。
这意味着段落和字符样式表定义是 忽略;我们只关心已应用的样式表名称。它也 表示导入字符属性,如<;i>;和<;b>;,但忽略 仅与打印类型相关的标记(跟踪、字距调整, 默认情况下,尽管它们可以打开。
模块实际上并不生成XML,而是生成一个元素树,以防 你想在之前对树本身做进一步的处理 用lxml.etree.tostring()序列化它。序列化的xml可以 然后使用例如beautifulsoup的html进行后处理 (例如,将Quark段落样式表映射到CSS类, 字符标记和样式表到语义HTML标记,滚动 缩进引号到<;blockquote>;等)
输出UTF-8。
用法:
>>> 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')
您还可以用一个css=true参数调用到XML。这将尝试 将一些字符样式转换为内联css(与字体一起使用, 小写,大写,删除线)。