[Libreoffice-commits] help.git: .gitignore wiki-to-help/call_convert.sh wiki-to-help/convert.py wiki-to-help/executor.py wiki-to-help/HHC wiki-to-help/hhc.py wiki-to-help/htmlhelp.xsl wiki-to-help/metabook.json wiki-to-help/metabook.py wiki-to-help/metabook_translated.py wiki-to-help/mwlib_mods wiki-to-help/mw.py wiki-to-help/nfo.json wiki-to-help/README wiki-to-help/test2.xml

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Mon Aug 27 18:46:11 UTC 2018


 .gitignore                                       |   24 -
 wiki-to-help/HHC/htmlhelp.reg                    |   12 
 wiki-to-help/HHC/install_hhc.sh                  |   69 ---
 wiki-to-help/README                              |   56 --
 wiki-to-help/call_convert.sh                     |    3 
 wiki-to-help/convert.py                          |  222 ----------
 wiki-to-help/executor.py                         |   21 
 wiki-to-help/hhc.py                              |   70 ---
 wiki-to-help/htmlhelp.xsl                        |   23 -
 wiki-to-help/metabook.json                       |   26 -
 wiki-to-help/metabook.py                         |  154 -------
 wiki-to-help/metabook_translated.py              |  118 -----
 wiki-to-help/mw.py                               |   49 --
 wiki-to-help/mwlib_mods/__init__.py              |   28 -
 wiki-to-help/mwlib_mods/custom_nfo.py            |   19 
 wiki-to-help/mwlib_mods/docbook45grammar.py      |    2 
 wiki-to-help/mwlib_mods/docbook_grammar.py       |   11 
 wiki-to-help/mwlib_mods/docbook_internLinks.py   |   76 ---
 wiki-to-help/mwlib_mods/docbook_table_tags.py    |   93 ----
 wiki-to-help/mwlib_mods/docbookwriter_options.py |   54 --
 wiki-to-help/mwlib_mods/indexterm_from_title.py  |   24 -
 wiki-to-help/mwlib_mods/no_sections.py           |   38 -
 wiki-to-help/nfo.json                            |    5 
 wiki-to-help/test2.xml                           |  489 -----------------------
 24 files changed, 1686 deletions(-)

New commits:
commit d2330a41e530b22a89fb32e4963d874f6a1d69ea
Author:     Andras Timar <andras.timar at collabora.com>
AuthorDate: Mon Aug 27 20:38:14 2018 +0200
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Mon Aug 27 20:45:43 2018 +0200

    remove unused and abandoned wiki-to-help code
    
    Change-Id: Ifd3585262f6e5a04a19e040a5e5cfd48376bfbe6
    Reviewed-on: https://gerrit.libreoffice.org/59676
    Tested-by: Jenkins
    Reviewed-by: Andras Timar <andras.timar at collabora.com>

diff --git a/.gitignore b/.gitignore
index a10b0320a..1215d3a9a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,34 +7,10 @@
 /wikisetup.txt
 
 # Python
-/wiki-to-help/*.pyc
-/wiki-to-help/mwlib_mods/*.pyc
 /to-wiki/*.pyc
 
 # the build directories
 /callcatcher
-/unxlng??
-/unxlng??.pro
-/unxlng???
-/unxlng???.pro
-/wntmsc???
-/wntmsc???.pro
-/wntgcc?
-/wntgcc?.pro
-/unxmac??
-/unxmac??.pro
-/unx?bsd??
-/unx?bsd??.pro
-/unxdfly??
-/unxdfly??.pro
-/unxso???
-/unxso???.pro
-/unxaig??
-/unxaig??.pro
-/unxios?
-/unxios?.pro
-/unxand?
-/unxand?.pro
 
 # libxslt debug memdump
 .memdump
diff --git a/wiki-to-help/HHC/htmlhelp.reg b/wiki-to-help/HHC/htmlhelp.reg
deleted file mode 100644
index e38e0ef82..000000000
--- a/wiki-to-help/HHC/htmlhelp.reg
+++ /dev/null
@@ -1,12 +0,0 @@
-REGEDIT4
-
-[HKEY_CURRENT_USER\Software\Wine]
-"Version"="win2k"
-
-[HKEY_CURRENT_USER\Software\Wine\AppDefaults\hhc.exe\DllOverrides]
-"itircl"="native"
-"itss"="native"
-
-[HKEY_CURRENT_USER\Software\Wine\AppDefaults\hhw.exe\DllOverrides]
-"itircl"="native"
-"itss"="native"
diff --git a/wiki-to-help/HHC/install_hhc.sh b/wiki-to-help/HHC/install_hhc.sh
deleted file mode 100755
index eefbc2a92..000000000
--- a/wiki-to-help/HHC/install_hhc.sh
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/bash -e
-# -e  Exit immediately if a command exits with a non-zero status.
-
-# This installs Microsoft HHC (HTML Help Compiler)
-# Copyright 2011 Timo Richter and others.
-# Licensed under GNU GPLv3
-# Depends on: wine, wget, cabextract
-#
-# Usage of HHC: wine c:\\htmlhelp\\hhc.exe c:\\test\\htmlhelp.hhp
-#
-# Changes:  Set installation directory to c:\htmlhelp
-#           Copy also itcc.dll, this is necessary
-#           No execution of htmlhelp.exe installer needed
-#           Abortion of install if anything fails, e.g. the download of HHC.
-#
-
-which wine > /dev/null 2>&1 || { echo "Please install 'wine'." ; exit 1 ; }
-which cabextract > /dev/null 2>&1 || { echo "Please install 'cabextract'." ; exit 1 ; }
-which wget > /dev/null 2>&1 || { echo "Please install 'wget'." ; exit 1 ; }
-
-echo "Going to install hhc.exe to your wine installation..."
-
-cd "$(dirname $0)" # cd to path of this script
-
-WINEPREFIX=${WINEPREFIX:=$HOME/.wine}
-test -d "$WINEPREFIX" || winecfg
-HHDIR="${WINEPREFIX}/dosdevices/c:/htmlhelp"
-mkdir -p "$HHDIR"
-
-# Setup the registry
-# Set Wine's Windows version to Windows 2000 (or above), and add an override to use the native itss.dll, both via winecfg.
-wine regedit htmlhelp.reg
-
-cd "$HHDIR"
-
-# Install HTML Help Workshop
-wget -O htmlhelp.exe 'http://go.microsoft.com/fwlink/?LinkId=14188'
-
-# unnecessary
-#wine htmlhelp.exe
-
-cabextract -F hhc.exe htmlhelp.exe
-cabextract -F HHA.dll htmlhelp.exe
-
-# Install ITSS.DLL
-cabextract -F hhupd.exe htmlhelp.exe
-cabextract -F itircl.dll hhupd.exe
-cabextract -F itss.dll hhupd.exe
-cabextract -F itcc.dll htmlhelp.exe
-cabextract -F hhctrl.ocx hhupd.exe
-cp -a itircl.dll "$WINEPREFIX/drive_c/windows/system32/"
-cp -a itcc.dll "$WINEPREFIX/drive_c/windows/system32/"
-cp -a itss.dll "$WINEPREFIX/drive_c/windows/system32/"
-cp -a hhctrl.ocx "$WINEPREFIX/drive_c/windows/system32/"
-wine regsvr32 'C:\WINDOWS\SYSTEM32\itcc.dll'
-wine regsvr32 'C:\WINDOWS\SYSTEM32\itircl.dll'
-wine regsvr32 'C:\WINDOWS\SYSTEM32\itss.dll'
-wine regsvr32 'C:\WINDOWS\SYSTEM32\hhctrl.ocx'
-
-# Install MFC40.DLL
-wget -N http://activex.microsoft.com/controls/vc/mfc40.cab
-cabextract -F mfc40.exe mfc40.cab
-cabextract -F mfc40.dll mfc40.exe
-cp -a mfc40.dll "$WINEPREFIX/drive_c/windows/system32/"
-
-echo
-echo Done, hhc.exe installed.
-
-exit 0
diff --git a/wiki-to-help/README b/wiki-to-help/README
deleted file mode 100644
index 2f254ac0a..000000000
--- a/wiki-to-help/README
+++ /dev/null
@@ -1,56 +0,0 @@
-
-Conversion of an XML-Dump to platformspecific help files
---------------------------------------------------------
-
-1 INSTALLATION
-
-The following programs are required:
- - mwlib
- - python
- - python-lxml
- - xsltproc
- - unzip
- - docbook-xsl-stylesheets
-
-HHC-Installer depends on:
- - wine
- - cabextract
- - wget
-
-1.1 On GNU and UNIX
-
- - Install wine
- - Execute HHC/install_hhc.sh
-
-1.2 On Windows
-
- - Install HHC from http://go.microsoft.com/fwlink/?LinkId=14188
-
-2 USAGE
-
-See ./convert.py -h
-
-For the correct operation, you need to modify htmlhelp.xsl to point to your
-docbook-xsl-stylesheets installation, like:
-
---- a/helpcontent2/wiki-to-help/htmlhelp.xsl
-+++ b/helpcontent2/wiki-to-help/htmlhelp.xsl
-@@ -16,8 +16,8 @@
- 
-      ******************************************************************** -->
- 
--<xsl:import href="xsl/html/chunk.xsl"/>
-+<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/1.76.1/html/chunk.xsl"/>
- <xsl:param name="htmlhelp.use.hhk" select="1"></xsl:param>
--<xsl:include href="xsl/htmlhelp/htmlhelp-common.xsl"/>
-+<xsl:include href="/usr/share/xml/docbook/stylesheet/nwalsh/1.76.1/htmlhelp/htmlhelp-common.xsl"/>
- 
- </xsl:stylesheet>
-
-
-3 LICENSE
-
-The following applies to all files if not stated differently
-
- - Licensed under GNU LGPLv3 or later / MPL
- - Copyright 2011 Timo Richter
diff --git a/wiki-to-help/call_convert.sh b/wiki-to-help/call_convert.sh
deleted file mode 100755
index c3ff714fc..000000000
--- a/wiki-to-help/call_convert.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-./convert.py test2.xml test/
-
diff --git a/wiki-to-help/convert.py b/wiki-to-help/convert.py
deleted file mode 100755
index 830430874..000000000
--- a/wiki-to-help/convert.py
+++ /dev/null
@@ -1,222 +0,0 @@
-#!/usr/bin/env python
-#!/usr/bin/python -i
-"""
-Convert an XML-Dump to platformspecific help files.
-Copyright 2011 Timo Richter
-
-This program depends on:
-mwlib
-python
-python-lxml
-xsltproc
-Microsoft HHC: http://go.microsoft.com/fwlink/?LinkId=14188
-
-
-"""
-
-import subprocess, tempfile, os, shutil, argparse
-
-#import mwlib_mods # is being imported. see below
-from hhc import HHC
-from mw import MW
-from metabook_translated import MetabookTranslated
-from metabook_translated import LanguageSeparator
-from executor import Executor
-
-scriptpath=os.path.dirname(os.path.realpath(__file__) )
-
-class Main(object):
-    ''' Defines program parameters and returns them as a dictionary '''
-    def parseArgs(self):
-        parser = argparse.ArgumentParser(description='Conversion from a mediawiki xml-dumpfile to helpfiles')
-        parser.add_argument("--startpage", metavar="PATH", dest="startpage", default=None, type=str, help="Sets a HTML-file as the start page")
-        parser.add_argument("--images", metavar="PATH", dest="imgPath", default=None, type=str, help="Uses images from PATH. PATH is a zipfile or a directory.")
-        parser.add_argument("--keep", dest="keepTmp", default=False, action='store_true', help="Keeps temporary files in /tmp")
-        parser.add_argument("--only-en", dest="onlyEn", action='store_true', default=False, help="Converts only English articles")
-        parser.add_argument("--no-chm", dest="createChm", default=True, action='store_false', help="Avoids creation of a CHM file at the end")
-        parser.add_argument("-v", dest="verbose", default=False, action='store_true', help="Verbose")
-        parser.add_argument("input", type=str, help="XML input")
-        parser.add_argument("output", type=str, help="Directory for output")
-
-        return parser.parse_args()
-
-    def __init__(self):
-        args = self.parseArgs()
-        import mwlib_mods
-        r = Converter(
-            keepTmp=args.keepTmp, 
-            createChm=args.createChm,
-            source=args.input,
-            dest=args.output,
-            startpage=args.startpage,
-            onlyEn=args.onlyEn,
-            imgPath=args.imgPath,
-            verbose=args.verbose,
-        )()
-        exit(int(not r))
-
-
-class Converter(object):
-    verbose=False
-    createChm = None # 
-    keepTmp = None # 
-    #style=os.path.join(scriptpath,'xsl/htmlhelp/htmlhelp.xsl') # final
-    style=os.path.join(scriptpath,'htmlhelp.xsl') # final
-    title="Book" # final
-
-    tmp=None
-    includeFiles=[]
-
-    def __init__(self,source,dest,onlyEn,imgPath,verbose,
-        keepTmp=False,createChm=True,startpage=None):
-        """
-        Parameters are documented in Main.parseArgs()
-        """
-        self.createChm = createChm
-        self.keepTmp=keepTmp
-        self.tmp = tempfile.mkdtemp()
-        self.style = os.path.abspath(self.style)
-        source = os.path.abspath(source)
-        dest = os.path.abspath(dest)
-        if startpage is not None:
-            startpage = os.path.abspath(startpage)
-        self.source=source
-        self.dest=dest
-        self.startpage=startpage
-        self.onlyEn = onlyEn
-        self.imgPath = imgPath
-        self.verbose = verbose
-        self.ex = Executor(showErr=verbose,showOutput=True,showCmd=verbose)
-        self.hhc = HHC(showErr=True,showOutput=verbose,showCmd=verbose)
-        self.title = self.getTitle(self.title)
-
-    def getTitle(self,default=None):
-        """
-        If given, return TEXT from <siteinfo><sitename>TEXT</sitename></siteinfo>
-            in xml file self.source.
-        Otherwise return @default
-        """
-        import xml.dom.minidom
-        print "Loading title"
-        dom = xml.dom.minidom.parse(self.source)
-        try:
-            siteinfo = dom.getElementsByTagName("siteinfo")[0]
-            sitename = siteinfo.getElementsByTagName("sitename")[0]
-            name = sitename.childNodes[0].data
-        except IndexError:
-            return default
-        else:
-            return name
-        
-    def createDir(self,path):
-        try:
-            os.mkdir(path)
-        except OSError:
-            pass
-
-    def setupImgPath(self):
-        """
-        If --images is not given, the path will be in the format "images/name.jpg".
-        If --images is given a zipfile, it is being extracted to "images/".
-        If --images is a directory, it is being copied to "images/".
-        The filenames in images/ are being stored to self.includeFiles.
-        """ 
-        imgDest = "images" # puts images to output/imgDest/
-        if not self.imgPath:
-            self.imgPath = os.path.join(imgDest,"IMAGENAME")
-            return
-        extension = os.path.splitext(self.imgPath)[1].lower()
-        imgTmp = os.path.join(self.tmp,imgDest)
-        print "Copying images..."
-        if extension == ".zip":
-            self.ex("unzip","-q","-o","-j","-d",imgTmp,self.imgPath)
-        else:
-            shutil.copytree(self.imgPath,imgTmp)
-        shutil.copytree(imgTmp, os.path.join(self.dest,imgDest) )
-        self.imgPath = os.path.join(imgDest,"IMAGENAME")
-        # Save filenames for inclusion in chm
-        for fname in os.listdir(imgTmp):
-            fpath = os.path.join(imgDest,fname)
-            self.includeFiles.append(fpath)
-
-    def writeHhp(self):
-        """
-        Writes changes to the .hhp-file.
-        self.includeFiles will be flushed to the hhp.
-        """
-        hhp=os.path.join(self.tmp,"htmlhelp.hhp")
-        with open(hhp,"a") as f:
-            f.write("\n".join(self.includeFiles))
-
-    def __call__(self):
-        """
-        Create the environment for conversion and call convert()
-        @return boolean Success
-        """
-        tmp = self.tmp
-        self.createDir(self.dest)
-
-        print "Working directory: "+tmp
-
-        self.setupImgPath()
-
-        shutil.copy(os.path.join(scriptpath,"nfo.json"),tmp)
-        metabook_template = os.path.join(scriptpath,"metabook.json")
-        ls = LanguageSeparator.fromFileToFiles(metabook_template,self.source,tmp)
-        MW.buildcdb(self.source,tmp)
-
-        if self.onlyEn:
-            return self.convert("en",ls["en"])
-        else:
-
-            for lang, metabook in ls.iteritems():
-                if not self.convert(lang,metabook): return False
-
-    def convert(self,lang,metabook):
-        """
-        Private.
-        This function executes the programs for the conversion.
-        @lang Language of book
-        @metabook Path to metabook-json-file
-        """
-        print "Rendering language "+lang
-        tmp = self.tmp
-        docbookfile = os.path.join(tmp,"%s.xml"%lang)
-        chmDest = os.path.join(self.dest,lang+".chm")
-
-        renderArgs = ("-L",lang,"-W","imagesrcresolver=%s"%self.imgPath,
-            "--config=%s/wikiconf.txt"%(tmp),
-            "-w","docbook","-o",docbookfile,"-m",metabook,"--title",self.title)
-        MW.quietCall(MW.render,renderArgs,showErr=self.verbose)
-        shutil.copy(docbookfile,self.dest)
-        print "Parsing docbook"
-        xsltreturn = self.ex("/usr/bin/xsltproc","--nonet","--novalid","-o",tmp+'/',self.style,docbookfile)
-        if not xsltreturn: return False
-        self.setStartpage(self.startpage)
-        self.writeHhp()
-        if self.createChm:
-            print("Compiling chm...")
-            self.hhc(tmp)
-            shutil.copy(os.path.join(tmp,'htmlhelp.chm'),chmDest)
-        return True
-
-    def setStartpage(self,startpage):
-        """
-        Private.
-        Copies @startpage to our tmp dir so that it will be used as the start page.
-        @return False if @startpage doesn't exist, otherwise True.
-        """
-        if startpage is None: return True
-        filename="index.html"
-        if not os.path.exists(startpage): return False
-        os.remove(os.path.join(self.tmp,filename))
-        shutil.copy(startpage, os.path.join(self.tmp,filename))
-        return True
-
-    def __del__(self):
-        if not self.keepTmp:
-            shutil.rmtree(self.tmp) # remove temp files
-
-if __name__ == '__main__':
-    Main()
-
diff --git a/wiki-to-help/executor.py b/wiki-to-help/executor.py
deleted file mode 100644
index 464ec222e..000000000
--- a/wiki-to-help/executor.py
+++ /dev/null
@@ -1,21 +0,0 @@
-import subprocess, os
-
-class Executor(object):
-    def __init__(self,showErr=True,showOutput=True,showCmd=False):
-        self.showCmd=showCmd
-        if showErr: self.stderr = None 
-        else: self.stderr=open(os.devnull,"w")
-        if showOutput: self.stdout = None 
-        else: self.stdout=open(os.devnull,"w")
-
-    def __call__(self,*cmd):
-        """ 
-        Execute a program, e.g. Executor()("/bin/ls","/home")
-        @cmd Command, args
-        @return boolean True if succeed
-        """
-        if self.showCmd:
-            print cmd
-        return (subprocess.Popen(list(cmd),stderr=self.stderr,
-                stdout=self.stdout).wait() == 0)
-
diff --git a/wiki-to-help/hhc.py b/wiki-to-help/hhc.py
deleted file mode 100644
index de9879c25..000000000
--- a/wiki-to-help/hhc.py
+++ /dev/null
@@ -1,70 +0,0 @@
-import platform, os
-from executor import Executor
-
-class HHC(object):
-    """ Class for execution of Html Help Compiler """
-    hhcexe="c:\\htmlhelp\\hhc.exe"
-
-    def __init__(self,**args):
-        """
-        @args Arguments for Executor.__init__()
-        """
-        self.args=args
-
-    def exWindows(self,source):
-        """ Private. Compile @source calling HHC natively under Windows """
-        cmd=[self.hhcexe,os.path.join(source,"htmlhelp.hhp")]
-        return Executor(**self.args).executor(*tuple(cmd))
-
-    def exWine(self,source):
-        """ Private. Compile @source calling HHC via Wine """
-        #dirname = os.path.dirname(source)
-        wine = Wine(source,"j:",self.args)
-        r = wine(self.hhcexe,"j:\\htmlhelp.hhp")
-        del wine
-        return r
-
-    def __call__(self,source):
-        """
-        Converts @source with HHC
-        @source path to input directory that contains htmlhelp.hhp
-        """
-        windows=(platform.system()=="Windows")
-        if windows is False:
-            self.exWine(source)
-        else:
-            self.exWindows(source)
-
-class Wine(object):
-    # TODO: this should be a singleton
-    def __init__(self,workingDir,driveletter,args={}):
-        """ 
-        Setup the wine environment. Granting access so that wine is able 
-        @workingDir will be accessible via @driveletter
-        @args Arguments for Executor as dict (**args)
-        E.g. Wine("/tmp/dir","j:") 
-        """
-        homedir = os.path.expanduser('~')
-        wineprefix=os.path.join(homedir,".wine")
-        drive=os.path.join(wineprefix,"dosdevices",driveletter)
-        if os.path.lexists(drive):
-            self.driveBak = drive+".bak"
-            shutil.move(drive,self.driveBak)
-        os.symlink(workingDir,drive)
-        self.drive = drive
-        #self.driveBak = driveBak
-        self.executor = Executor(**args)
-
-    def ex(self,*cmd):
-        """ execute something with wine """
-        cmd = [elem for elem in cmd]
-        cmd = ["/usr/bin/wine"]+cmd
-        return self.executor(*tuple(cmd))
-
-    def __call__(self,*cmd):
-        return self.ex(*cmd)
-
-    def __del__(self):
-        os.remove(self.drive)
-        if hasattr(self,'driveBak'):
-            shutil.move(self.driveBak,self.drive)
diff --git a/wiki-to-help/htmlhelp.xsl b/wiki-to-help/htmlhelp.xsl
deleted file mode 100644
index ad815b6e1..000000000
--- a/wiki-to-help/htmlhelp.xsl
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
-                xmlns:exsl="http://exslt.org/common"
-                xmlns:set="http://exslt.org/sets"
-		version="1.0"
-                exclude-result-prefixes="doc exsl set">
-
-<!-- ********************************************************************
-     $Id: htmlhelp.xsl 1676 2002-06-12 13:21:54Z kosek $
-     ******************************************************************** 
-
-     This file is used by htmlhelp.xsl if you want to generate source
-     files for HTML Help.  It is based on the XSL DocBook Stylesheet
-     distribution (especially on JavaHelp code) from Norman Walsh.
-
-     ******************************************************************** -->
-
-<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/1.76.1/html/chunk.xsl"/>
-<xsl:param name="htmlhelp.use.hhk" select="1"></xsl:param>
-<xsl:include href="/usr/share/xml/docbook/stylesheet/nwalsh/1.76.1/htmlhelp/htmlhelp-common.xsl"/>
-
-</xsl:stylesheet>
diff --git a/wiki-to-help/metabook.json b/wiki-to-help/metabook.json
deleted file mode 100644
index 4f460a1e4..000000000
--- a/wiki-to-help/metabook.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-    "items": [], 
-    "licenses": [
-        {
-            "mw_license_url": "", 
-            "type": "license"
-        }
-    ], 
-    "summary": "", 
-    "type": "collection", 
-    "version": 1, 
-    "wikis(deprecated)": [
-        {
-            "baseurl": "http://help.libreoffice.org/", 
-            "imagesize": 800, 
-            "keep_tmpfiles": false, 
-            "script_extension": ".php", 
-            "type": "wikiconf",
-            "ident": "en"
-        }
-    ],
-    "images(deprecated)": {
-        "movedata.png": {"url": "http://path/movedata.png"}
-        
-    }
-}
diff --git a/wiki-to-help/metabook.py b/wiki-to-help/metabook.py
deleted file mode 100644
index c0ce855bf..000000000
--- a/wiki-to-help/metabook.py
+++ /dev/null
@@ -1,154 +0,0 @@
-import json
-import xml.dom.minidom as minidom
-
-class Article(object):
-    itemTag = {"content_type":"text/x-wiki","type":"article"}
-    #itemTag = {"content_type":"text/x-wiki","type":"article","wikiident":"lo","url":"http://asdlkf/","source-url":"http://sourceurl/","source":"http://source/"}
-    attributes = {}
-    include = True #""" True if this article should be included in the metabook """
-    
-    def __init__(self,attributes):
-        self.attributes = attributes
-
-    def getInclude(self):
-        """ @return True if this article should be included in the metabook """
-        return self.include
-
-    def toDict(self):
-        #if not self.include: return None
-        article = self.itemTag.copy()
-        article.update(self.attributes) # merge dicts
-        return article
-
-class Metabook(object):
-    """ 
-    I am your metabook and wish you a pleasant evening. 
-    Sequence of usage:
-        m = Metabook()
-        m.loadTemplate(...)
-        m.loadArticles(xml input)
-        m.createBook()
-        m.write(output)
-    If template, in- and output are files, use fromFileToFile()
-    """
-    ArticleClass = Article # final
-    artTags = ["title"] # final
-
-    m = {} # Dict metabook
-    template = None
-    items = []
-    #source = "" # String input file, xmldump
-    #dest = "" # FileObject destination of json metabook
-
-    def getClone(self):
-        m = Metabook()
-        m.template = self.template # No copy() necessary here
-        m.ArticleClass = self.ArticleClass
-        m.artTags = self.artTags
-        #m.m = self.m.copy()
-        #m.dest = self.dest
-        return m
-
-    def getArtTags(self,filename,tagnames):
-        """ 
-        Get Article Tags
-        Reads all specified tags from an xml file and returns a list of all tags.
-        @filename XML-file
-        @tagnames List of String Tagnames
-        @return List of Dict<String Tagname, String Value>
-        """
-        dom=minidom.parse(filename)
-        out = []
-
-        elements=dom.getElementsByTagName("page")
-        
-        for element in elements:
-            tagdict = {}
-            for tagname in tagnames:
-                tags = element.getElementsByTagName(tagname)
-                if len(tags) > 0:
-                    tagdict[tagname] = self.getText(tags[0])
-                else:
-                    tagdict[tagname] = ""
-            out.append(tagdict)
-        return out
-
-    def getText(self,element):
-        """
-        @element xml Node
-        @return String content
-        """
-        return element.childNodes[0].data
-
-    def load_data(self,filename):
-        """ Unserialize data from jsonfile """
-        with open(filename, "r") as infile:
-            outdict = json.load(infile)
-        return outdict
-
-    def loadTemplate(self,jsonStruct):
-        """ 
-        Loads an existing json file at the beginning 
-        @jsonStruct File object
-        """
-        self.template = json.load(jsonStruct)
-        #self.m = self.load_data(source)
-
-    def loadArticles(self,source):
-        """
-        Loads the articles and saves them as objects to self.items
-        """
-        pages = self.getArtTags(source,self.artTags)
-        self.items = [self.ArticleClass(page) for page in pages]
-        """return
-        items=[]
-        for page in pages:
-            item = self.ArticleClass(page)
-            if item.getInclude():
-                items.append(item.toDict())
-        self.m["items"] = items
-        """
-
-    def createBook(self):
-        """
-        Convert all article objects to dicts and merge them with the template.
-        The result is saved to self.m
-        """
-        if self.template is None:
-            self.m = []
-        else:
-            self.m = self.template.copy()
-        self.m["items"] = []
-        for item in self.items:
-            if item.getInclude():
-                self.m["items"].append(item.toDict())
-
-    def __call__(self,source):
-        """
-        Creates a metabook for @source and writes it to self.m. To continue, 
-            use write()
-        @source xml-dump
-        """
-        self.loadArticles(source)
-        self.createBook()
-
-    def write(self,dest):
-        json.dump(self.m,dest)
-        
-    def fromFileToFile(jsonStructFile,xmldump,output): 
-        """
-        Creates a Metabook from a file and writes it to a file.
-        Short cut Function. This loads a metabook template file, creates the 
-            metabook content from @xmldump and writes the book to @output.
-        @jsonStructFile String path to Metabook template
-        @xmldump String path
-        @output String path
-        """
-        #m = MetabookTranslated()
-        with open(jsonStructFile,"r") as f:
-            self.loadTemplate(f)
-        self.__call__(xmldump)
-        with open(output,"w") as f:
-            self.write(f)
-
-
diff --git a/wiki-to-help/metabook_translated.py b/wiki-to-help/metabook_translated.py
deleted file mode 100644
index a7f90dbcd..000000000
--- a/wiki-to-help/metabook_translated.py
+++ /dev/null
@@ -1,118 +0,0 @@
-import metabook
-import re, os
-
-class ArticleTranslated(metabook.Article):
-    lang = "en" # default language code
-    trans = "" # translated title
-
-    def __init__(self,attributes):
-        title = attributes["title"]
-        parts = title.split("/")
-        #if len(parts) < 2: 
-        #    self.include = False
-        #    return
-        if len(parts) == 1:
-            # title = "blabla"
-            self.title = title
-        if len(parts) == 2: 
-            # title = "Category/englishTitle"
-            self.title = parts[1]
-        if len(parts) == 3:
-            # title = "Category/englishTitle/langCode"
-            self.lang = parts[2]
-            self.title = parts[1]
-        
-        comment = attributes["comment"]
-        if '{Lang|' in comment:
-            # Language-tag exists
-            r = re.search("\{Lang\|([^\}]*)\}",comment)
-            trans = r.group(1)
-            self.trans = trans
-        else:
-            self.trans = self.title
-
-        attr = {}
-        attr["title"] = attributes["title"]
-        attr["displaytitle"] = self.trans
-        attr["lang"] = self.lang
-        self.attributes = attr
-
-class MetabookTranslated(metabook.Metabook):
-    """ 
-    This metabook contains all articles with translated titles.
-    This concrete metabook expects article titles in this form:
-        Category/Title/lang
-    Comments include this:
-        {{Lang|translatedTitle}}
-    """
-    ArticleClass=ArticleTranslated
-    artTags = ["title","comment"]
-
-class LanguageSeparator(object):
-    """
-    A translated metabook is a metabook where all titles are in the destination
-    language. 
-    This class splits a translated metabook into many books with homogenous languages.
-    """
-    books={} # Dict<Str lang, Metabook>
-    sortedItems={} # Dict<Str lang, List<TranslatedArticle>>
-    items=[] # List<TranslatedArticle>
-
-    def __init__(self, book):
-        self.book = book
-        self.items = book.items
-
-    def splitItemsByLanguage(self):
-        """
-        Sort the articles in self.items by language and put them to self.sortedItems
-        """
-        sortedItems={}
-        for item in self.items:
-            if item.lang in sortedItems.keys():
-                sortedItems[item.lang].append(item)
-            else:
-                sortedItems[item.lang] = [item]
-        self.sortedItems = sortedItems
-        #return sortedItems
-
-    def createBooksByLanguage(self):
-        """
-        Generate metabooks to self.books.
-        Create a metabook for each language from self.sortedItems.
-        """
-        for lang, items in self.sortedItems.iteritems():
-            m = self.book.getClone()
-            m.items = items
-            m.lang = lang
-            self.books[lang] = m
-        
-    @staticmethod
-    def fromFileToFiles(jsonStructFile,xmldump,output): 
-        """
-        Creates a Metabook from a file and writes it to one file per language.
-        Short cut Function. This loads a metabook template file, creates the 
-            metabook content from @xmldump and writes the book to @output.
-        @jsonStructFile String path to Metabook template
-        @xmldump String path
-        @output String path to output directory
-        @return Dict<String lang, String output>
-        """
-        m = MetabookTranslated()
-        with open(jsonStructFile,"r") as f:
-            m.loadTemplate(f)
-
-        m.loadArticles(xmldump)
-        ls = LanguageSeparator(m)
-        ls.splitItemsByLanguage()
-        ls.createBooksByLanguage()
-
-        pathlist={}
-
-        for lang, book in ls.books.iteritems():
-            book.createBook()
-            dest = os.path.join(output,"metabook_%s.json" % lang)
-            pathlist[lang] = dest
-            with open(dest,"w") as f:
-                book.write(f)
-        return pathlist
-
diff --git a/wiki-to-help/mw.py b/wiki-to-help/mw.py
deleted file mode 100644
index f19ca15be..000000000
--- a/wiki-to-help/mw.py
+++ /dev/null
@@ -1,49 +0,0 @@
-#import mwlib.cdbwiki, mwlib.apps.render, mwlib.apps
-import mwlib.apps
-import sys, os
-
-class MW(object):
-    """ 
-    Use this adapter class to call mwlib within python.
-    Example: import mw; MW.buildcdb("in.xml","out")
-    """
-
-    @staticmethod
-    def quietCall(function,args=(),showErr=True,showOutput=True):
-        """
-        Calls a python function and redirects parts to /dev/null.
-        This is platform independent.
-        """
-        saveout = sys.stdout
-        saveerr = sys.stderr
-
-        if not showErr: sys.stderr=nullerr=open(os.devnull,"w")
-        if not showOutput: sys.stdout=nullout=open(os.devnull,"w")
-        function(*args)
-        if not showErr: nullerr.close()
-        if not showOutput: nullout.close()
-        
-        sys.stdout=saveout
-        sys.stderr=saveerr
-
-    @staticmethod
-    def _setArgs(function,args):
-        """ Set sys.argv for @function """
-        bak = sys.argv
-        args=("nothing",)+args
-        dec=[x.encode() for x in args]
-        sys.argv=dec
-        r=function()
-        sys.argv=bak
-        return r
-
-    @staticmethod
-    def buildcdb(source,dest):
-        args=("--input",source,"--output",dest)
-        return MW._setArgs(mwlib.apps.buildcdb,args)
-        #mwlib.cdbwiki.BuildWiki(*args)
-
-    @staticmethod
-    def render(*args):
-        import mwlib.apps.render
-        return MW._setArgs(mwlib.apps.render.Main(),args)
diff --git a/wiki-to-help/mwlib_mods/__init__.py b/wiki-to-help/mwlib_mods/__init__.py
deleted file mode 100644
index c31bda4a9..000000000
--- a/wiki-to-help/mwlib_mods/__init__.py
+++ /dev/null
@@ -1,28 +0,0 @@
-"""
-This package sets up modifications and bugfixes for mwlib.
-Usage: import mwlib_mods
-"""
-
-# The order of the imports is relevant!
-
-import docbook_grammar
-docbook_grammar.apply()
-
-import docbook_table_tags
-docbook_table_tags.apply()
-
-import docbookwriter_options
-docbookwriter_options.apply()
-
-import no_sections
-no_sections.apply()
-
-import docbook_internLinks
-docbook_internLinks.apply()
-
-import custom_nfo
-custom_nfo.apply()
-
-import indexterm_from_title
-indexterm_from_title.apply()
-
diff --git a/wiki-to-help/mwlib_mods/custom_nfo.py b/wiki-to-help/mwlib_mods/custom_nfo.py
deleted file mode 100644
index 9d60fe6c8..000000000
--- a/wiki-to-help/mwlib_mods/custom_nfo.py
+++ /dev/null
@@ -1,19 +0,0 @@
-""" 
-Enable looking for a custom nfo.json and siteinfo.json 
-
-Author: Timo Richter
-"""
-import mwlib.cdbwiki
-class WikiDB(mwlib.cdbwiki.WikiDB):
-            def __init__(self, dir, prefix='wiki', lang="en"):
-                try:
-                    super(WikiDB,self).__init__(dir,prefix,lang)
-                except(RuntimeError):
-                    print("Warning: "+"could not get siteinfo for language %r" % (lang,))
-                    print("Please set up a custom siteinfo and nfo.")
-                self.nfo = self.get_data("nfo") or self.nfo
-                self.siteinfo = self.get_data("siteinfo") or self.siteinfo
-
-def apply():
-    mwlib.cdbwiki.WikiDB=WikiDB
-
diff --git a/wiki-to-help/mwlib_mods/docbook45grammar.py b/wiki-to-help/mwlib_mods/docbook45grammar.py
deleted file mode 100644
index e06b8879c..000000000
--- a/wiki-to-help/mwlib_mods/docbook45grammar.py
+++ /dev/null
@@ -1,2 +0,0 @@
-# autogenerated grammar from file docbook-rng-4.5b1/docbook.rng using: ./build_rng_grammar.new.py
-grammar = {'em': {'attributes': [], 'children': []}, 'programlisting': {'attributes': ['revisionflag', 'continuation', 'xml:space', 'xml:base', 'startinglinenumber', 'id', 'width', 'role', 'xreflabel', 'conformance', 'revision', 'remap', 'vendor', 'linenumbering', 'format', 'userlevel', 'arch', 'condition', 'lang', 'language', 'wordsize', 'security', 'os', 'dir'], 'children': ['code', 'keycombo', 'modespec', 'guiicon', 'lineannotation', 'guimenu', 'guisubmenu', 'userinput', 'errortext', 'methodsynopsis', 'footnoteref', 'inlineequation', 'structname', 'interfacename', 'mousebutton', 'envar', 'othercredit', 'ulink', 'methodname', 'guimenuitem', 'classsynopsis', 'systemitem', 'keycap', 'productname', 'token', 'citerefentry', 'medialabel', 'guilabel', 'termdef', 'wordasword', 'corpauthor', 'ooexception', 'destructorsynopsis', 'filename', 'errorcode', 'constructorsynopsis', 'computeroutput', 'subscript', 'email', 'acronym', 'replaceable', 'citetitle', 'exceptionname', 'oointerface', 'rev
 history', 'interface', 'optional', 'keycode', 'remark', 'package', 'varname', 'errortype', 'textobject', 'ooclass', 'guibutton', 'structfield', 'funcsynopsis', 'productnumber', 'authorinitials', 'classname', 'fieldsynopsis', 'prompt', 'inlinegraphic', 'personname', 'trademark', 'literal', 'type', 'olink', 'function', 'option', 'corpcredit', 'link', 'foreignphrase', 'co', 'inlinemediaobject', 'glossterm', 'property', 'anchor', 'constant', 'menuchoice', 'footnote', 'citation', 'errorname', 'hardware', 'phrase', 'xref', 'author', 'orgname', 'synopsis', 'application', 'emphasis', 'returnvalue', 'indexterm', 'parameter', 'firstterm', 'sgmltag', 'quote', 'symbol', 'beginpage', 'cmdsynopsis', 'action', 'biblioref', 'database', 'markup', 'coref', 'uri', 'abbrev', 'command', 'keysym', 'superscript']}, 'varlistentry': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'conformance', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condi
 tion', 'revision'], 'children': ['term', 'listitem']}, 'colspec': {'attributes': ['char', 'rowsep', 'colname', 'align', 'colsep', 'colnum', 'colwidth', 'charoff'], 'children': []}, 'mediaobject': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'conformance', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['audioobject', 'videoobject', 'caption', 'imageobject', 'imageobjectco', 'textobject', 'objectinfo']}, 'citation': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'conformance', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['code', 'keycombo', 'modespec', 'guiicon', 'guimenu', 'guisubmenu', 'userinput', 'errortext', 'methodsynopsis', 'footnoteref', 'inlineequation', 'structname', 'interfacename', 'mousebutton', 'envar', 'othercredit', 'ulink', 'methodname', 'guimenuitem', 'classsynopsi
 s', 'systemitem', 'keycap', 'productname', 'token', 'citerefentry', 'medialabel', 'guilabel', 'termdef', 'wordasword', 'corpauthor', 'ooexception', 'destructorsynopsis', 'filename', 'errorcode', 'constructorsynopsis', 'computeroutput', 'subscript', 'email', 'acronym', 'replaceable', 'citetitle', 'exceptionname', 'oointerface', 'revhistory', 'interface', 'optional', 'keycode', 'remark', 'package', 'varname', 'errortype', 'ooclass', 'guibutton', 'structfield', 'funcsynopsis', 'productnumber', 'authorinitials', 'classname', 'fieldsynopsis', 'prompt', 'inlinegraphic', 'personname', 'trademark', 'literal', 'type', 'olink', 'function', 'option', 'corpcredit', 'link', 'foreignphrase', 'inlinemediaobject', 'glossterm', 'property', 'anchor', 'constant', 'menuchoice', 'footnote', 'citation', 'errorname', 'hardware', 'phrase', 'xref', 'author', 'orgname', 'synopsis', 'application', 'emphasis', 'returnvalue', 'indexterm', 'parameter', 'firstterm', 'sgmltag', 'quote', 'symbol', 'beginpage', 'cmd
 synopsis', 'action', 'biblioref', 'database', 'markup', 'uri', 'abbrev', 'command', 'keysym', 'superscript']}, 'imageobject': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'conformance', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['objectinfo', 'imagedata']}, 'table': {'attributes': ['orient', 'revisionflag', 'rowsep', 'tabstyle', 'frame', 'remap', 'onmousedown', 'xml:base', 'tocentry', 'border', 'id', 'style', 'bgcolor', 'label', 'width', 'xml:lang', 'shortentry', 'xreflabel', 'onmousemove', 'cellspacing', 'revision', 'rowheader', 'vendor', 'onclick', 'onmouseout', 'onkeypress', 'rules', 'colsep', 'onkeydown', 'floatstyle', 'onkeyup', 'onmouseover', 'userlevel', 'role', 'arch', 'class', 'condition', 'lang', 'conformance', 'align', 'title', 'summary', 'wordsize', 'pgwide', 'onmouseup', 'cellpadding', 'security', 'ondblclick', 'os', 'dir'], 'children': ['graphic', 'title', 'mediao
 bject', 'colgroup', 'tr', 'titleabbrev', 'tbody', 'caption', 'tgroup', 'tfoot', 'textobject', 'blockinfo', 'indexterm', 'col', 'thead']}, 'phrase': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'conformance', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['code', 'keycombo', 'modespec', 'guiicon', 'guimenu', 'guisubmenu', 'userinput', 'errortext', 'methodsynopsis', 'footnoteref', 'inlineequation', 'structname', 'interfacename', 'mousebutton', 'envar', 'othercredit', 'ulink', 'methodname', 'guimenuitem', 'classsynopsis', 'systemitem', 'keycap', 'productname', 'token', 'citerefentry', 'medialabel', 'guilabel', 'termdef', 'wordasword', 'corpauthor', 'ooexception', 'destructorsynopsis', 'filename', 'errorcode', 'constructorsynopsis', 'computeroutput', 'subscript', 'email', 'acronym', 'replaceable', 'citetitle', 'exceptionname', 'oointerface', 'revhistory', 'interface', 'optional', 'keyc
 ode', 'remark', 'package', 'varname', 'errortype', 'ooclass', 'guibutton', 'structfield', 'funcsynopsis', 'productnumber', 'authorinitials', 'classname', 'fieldsynopsis', 'prompt', 'inlinegraphic', 'personname', 'trademark', 'literal', 'type', 'olink', 'function', 'option', 'corpcredit', 'link', 'foreignphrase', 'inlinemediaobject', 'glossterm', 'property', 'anchor', 'constant', 'menuchoice', 'footnote', 'citation', 'errorname', 'hardware', 'phrase', 'xref', 'author', 'orgname', 'synopsis', 'application', 'emphasis', 'returnvalue', 'indexterm', 'parameter', 'firstterm', 'sgmltag', 'quote', 'symbol', 'beginpage', 'cmdsynopsis', 'action', 'biblioref', 'database', 'markup', 'uri', 'abbrev', 'command', 'keysym', 'superscript']}, 'literallayout': {'attributes': ['revisionflag', 'continuation', 'xml:space', 'xml:base', 'startinglinenumber', 'id', 'width', 'role', 'xreflabel', 'conformance', 'revision', 'remap', 'vendor', 'linenumbering', 'format', 'userlevel', 'arch', 'class', 'condition'
 , 'lang', 'language', 'wordsize', 'security', 'os', 'dir'], 'children': ['code', 'keycombo', 'modespec', 'guiicon', 'lineannotation', 'guimenu', 'guisubmenu', 'userinput', 'errortext', 'methodsynopsis', 'footnoteref', 'inlineequation', 'structname', 'interfacename', 'mousebutton', 'envar', 'othercredit', 'ulink', 'methodname', 'guimenuitem', 'classsynopsis', 'systemitem', 'keycap', 'productname', 'token', 'citerefentry', 'medialabel', 'guilabel', 'termdef', 'wordasword', 'corpauthor', 'ooexception', 'destructorsynopsis', 'filename', 'errorcode', 'constructorsynopsis', 'computeroutput', 'subscript', 'email', 'acronym', 'replaceable', 'citetitle', 'exceptionname', 'oointerface', 'revhistory', 'interface', 'optional', 'keycode', 'remark', 'package', 'varname', 'errortype', 'textobject', 'ooclass', 'guibutton', 'structfield', 'funcsynopsis', 'productnumber', 'authorinitials', 'classname', 'fieldsynopsis', 'prompt', 'inlinegraphic', 'personname', 'trademark', 'literal', 'type', 'olink', 
 'function', 'option', 'corpcredit', 'link', 'foreignphrase', 'co', 'inlinemediaobject', 'glossterm', 'property', 'anchor', 'constant', 'menuchoice', 'footnote', 'citation', 'errorname', 'hardware', 'phrase', 'xref', 'author', 'orgname', 'synopsis', 'application', 'emphasis', 'returnvalue', 'indexterm', 'parameter', 'firstterm', 'sgmltag', 'quote', 'symbol', 'beginpage', 'cmdsynopsis', 'action', 'biblioref', 'database', 'markup', 'coref', 'uri', 'abbrev', 'command', 'keysym', 'superscript']}, 'row': {'attributes': ['revisionflag', 'rowsep', 'onmousedown', 'xml:base', 'id', 'style', 'title', 'wordsize', 'onmousemove', 'xreflabel', 'valign', 'role', 'conformance', 'revision', 'remap', 'vendor', 'onclick', 'onmouseout', 'onkeypress', 'onkeydown', 'onmouseover', 'userlevel', 'arch', 'class', 'condition', 'lang', 'xml:lang', 'onmouseup', 'onkeyup', 'security', 'ondblclick', 'os', 'dir'], 'children': ['entry', 'entrytbl']}, 'xref': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor',
  'os', 'conformance', 'endterm', 'xrefstyle', 'linkend', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': []}, 'span': {'attributes': [], 'children': []}, 'caption': {'attributes': ['revisionflag', 'onmousedown', 'xml:base', 'id', 'style', 'title', 'wordsize', 'role', 'onclick', 'onmousemove', 'conformance', 'revision', 'remap', 'vendor', 'xreflabel', 'onmouseout', 'onkeypress', 'onkeydown', 'onmouseover', 'userlevel', 'arch', 'class', 'condition', 'lang', 'align', 'xml:lang', 'onmouseup', 'onkeyup', 'security', 'ondblclick', 'os', 'dir'], 'children': ['programlisting', 'tip', 'formalpara', 'warning', 'caution', 'literallayout', 'glosslist', 'screenshot', 'simpara', 'segmentedlist', 'note', 'screenco', 'calloutlist', 'blockquote', 'para', 'screen', 'important', 'orderedlist', 'programlistingco', 'bibliolist', 'variablelist', 'simplelist', 'itemizedlist']}, 'section': {'attributes': ['status', 'lang', 're
 map', 'vendor', 'os', 'revisionflag', 'conformance', 'label', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['programlisting', 'subtitle', 'simplesect', 'figure', 'cmdsynopsis', 'mediaobject', 'titleabbrev', 'formalpara', 'informalequation', 'warning', 'caution', 'informalexample', 'table', 'fieldsynopsis', 'funcsynopsis', 'literallayout', 'glosslist', 'index', 'msgset', 'bibliography', 'destructorsynopsis', 'title', 'highlights', 'section', 'bridgehead', 'tip', 'segmentedlist', 'informalfigure', 'methodsynopsis', 'note', 'informaltable', 'screenco', 'constructorsynopsis', 'lot', 'toc', 'sectioninfo', 'indexterm', 'abstract', 'calloutlist', 'blockquote', 'screenshot', 'screen', 'graphicco', 'remark', 'qandaset', 'epigraph', 'task', 'important', 'para', 'address', 'orderedlist', 'beginpage', 'classsynopsis', 'sidebar', 'mediaobjectco', 'simpara', 'anchor', 'refentry', 'glossary', 'programlistingco', 'g
 raphic', 'example', 'authorblurb', 'synopsis', 'bibliolist', 'variablelist', 'simplelist', 'itemizedlist', 'equation', 'procedure']}, 'tr': {'attributes': ['revisionflag', 'onmousedown', 'char', 'xml:base', 'id', 'style', 'title', 'bgcolor', 'wordsize', 'onmousemove', 'onclick', 'valign', 'conformance', 'revision', 'remap', 'vendor', 'xreflabel', 'onmouseout', 'onkeypress', 'onkeydown', 'onmouseover', 'userlevel', 'arch', 'class', 'condition', 'lang', 'charoff', 'align', 'xml:lang', 'onmouseup', 'onkeyup', 'security', 'ondblclick', 'os', 'dir'], 'children': ['td', 'th']}, 'tbody': {'attributes': ['revisionflag', 'onmousedown', 'xml:base', 'id', 'style', 'title', 'wordsize', 'onmousemove', 'onclick', 'valign', 'role', 'conformance', 'revision', 'remap', 'vendor', 'xreflabel', 'onmouseout', 'onkeypress', 'onkeydown', 'onmouseover', 'userlevel', 'arch', 'class', 'condition', 'lang', 'xml:lang', 'onmouseup', 'onkeyup', 'security', 'ondblclick', 'os', 'dir'], 'children': ['tr', 'row']}, 
 'informaltable': {'attributes': ['orient', 'revisionflag', 'rowsep', 'tabstyle', 'frame', 'remap', 'onmousedown', 'xml:base', 'tocentry', 'border', 'id', 'style', 'title', 'label', 'pgwide', 'xml:lang', 'onmousemove', 'xreflabel', 'role', 'conformance', 'revision', 'rowheader', 'vendor', 'onclick', 'onmouseout', 'onkeypress', 'rules', 'colsep', 'onkeydown', 'floatstyle', 'cellpadding', 'onmouseover', 'userlevel', 'arch', 'class', 'condition', 'lang', 'cellspacing', 'align', 'shortentry', 'bgcolor', 'summary', 'wordsize', 'onmouseup', 'onkeyup', 'security', 'ondblclick', 'os', 'width', 'dir'], 'children': ['tgroup', 'colgroup', 'mediaobject', 'tr', 'tbody', 'graphic', 'tfoot', 'textobject', 'blockinfo', 'col', 'thead']}, 'emphasis': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'conformance', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['code', 'keycombo', 'modespec', 'guiicon', 'g
 uimenu', 'guisubmenu', 'userinput', 'errortext', 'methodsynopsis', 'footnoteref', 'inlineequation', 'structname', 'interfacename', 'mousebutton', 'envar', 'othercredit', 'ulink', 'methodname', 'guimenuitem', 'classsynopsis', 'systemitem', 'keycap', 'productname', 'token', 'citerefentry', 'medialabel', 'guilabel', 'termdef', 'wordasword', 'corpauthor', 'ooexception', 'destructorsynopsis', 'filename', 'errorcode', 'constructorsynopsis', 'computeroutput', 'subscript', 'email', 'acronym', 'replaceable', 'citetitle', 'exceptionname', 'oointerface', 'revhistory', 'interface', 'optional', 'keycode', 'remark', 'package', 'varname', 'errortype', 'ooclass', 'guibutton', 'structfield', 'funcsynopsis', 'productnumber', 'authorinitials', 'classname', 'fieldsynopsis', 'prompt', 'inlinegraphic', 'personname', 'trademark', 'literal', 'type', 'olink', 'function', 'option', 'corpcredit', 'link', 'foreignphrase', 'inlinemediaobject', 'glossterm', 'property', 'anchor', 'constant', 'menuchoice', 'footno
 te', 'citation', 'errorname', 'hardware', 'phrase', 'xref', 'author', 'orgname', 'synopsis', 'application', 'emphasis', 'returnvalue', 'indexterm', 'parameter', 'firstterm', 'sgmltag', 'quote', 'symbol', 'beginpage', 'cmdsynopsis', 'action', 'biblioref', 'database', 'markup', 'uri', 'abbrev', 'command', 'keysym', 'superscript']}, 'book': {'attributes': ['status', 'lang', 'remap', 'vendor', 'os', 'revisionflag', 'conformance', 'fpi', 'label', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['chapter', 'index', 'subtitle', 'colophon', 'reference', 'title', 'glossary', 'appendix', 'setindex', 'titleabbrev', 'article', 'bookinfo', 'bibliography', 'lot', 'preface', 'dedication', 'toc', 'part']}, 'listitem': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'conformance', 'userlevel', 'wordsize', 'role', 'dir', 'xreflabel', 'override', 'xml:base', 'security', 'arch', 'id', 'condition', 'revisio
 n'], 'children': ['programlisting', 'funcsynopsis', 'figure', 'cmdsynopsis', 'mediaobject', 'mediaobjectco', 'formalpara', 'informalequation', 'warning', 'caution', 'informalexample', 'fieldsynopsis', 'table', 'literallayout', 'glosslist', 'task', 'msgset', 'destructorsynopsis', 'authorblurb', 'highlights', 'bridgehead', 'tip', 'segmentedlist', 'informalfigure', 'methodsynopsis', 'note', 'informaltable', 'screenco', 'constructorsynopsis', 'indexterm', 'abstract', 'calloutlist', 'blockquote', 'screenshot', 'screen', 'graphicco', 'qandaset', 'epigraph', 'important', 'para', 'address', 'orderedlist', 'beginpage', 'classsynopsis', 'sidebar', 'remark', 'simpara', 'anchor', 'programlistingco', 'graphic', 'example', 'synopsis', 'bibliolist', 'variablelist', 'simplelist', 'itemizedlist', 'equation', 'procedure']}, 'sectioninfo': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'conformance', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch',
  'id', 'condition', 'revision'], 'children': ['contractsponsor', 'isbn', 'contractnum', 'pubdate', 'productnumber', 'mediaobject', 'address', 'invpartnumber', 'itermset', 'printhistory', 'edition', 'modespec', 'pubsnumber', 'contrib', 'seriesvolnums', 'corpauthor', 'authorgroup', 'artpagenums', 'author', 'orgname', 'volumenum', 'confgroup', 'authorinitials', 'pagenums', 'editor', 'bibliorelation', 'honorific', 'corpname', 'indexterm', 'abstract', 'keywordset', 'subjectset', 'firstname', 'citebiblioid', 'title', 'issuenum', 'collab', 'othercredit', 'corpcredit', 'citetitle', 'biblioset', 'legalnotice', 'bibliomisc', 'date', 'othername', 'surname', 'lineage', 'publisher', 'biblioid', 'graphic', 'publishername', 'copyright', 'subtitle', 'affiliation', 'bibliocoverage', 'issn', 'bibliosource', 'productname', 'authorblurb', 'personname', 'abbrev', 'titleabbrev', 'releaseinfo', 'revhistory']}, 'chapterinfo': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'conformance', '
 wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['contractsponsor', 'isbn', 'contractnum', 'pubdate', 'productnumber', 'mediaobject', 'address', 'invpartnumber', 'itermset', 'printhistory', 'edition', 'modespec', 'pubsnumber', 'contrib', 'seriesvolnums', 'corpauthor', 'authorgroup', 'artpagenums', 'author', 'orgname', 'volumenum', 'confgroup', 'authorinitials', 'pagenums', 'editor', 'bibliorelation', 'honorific', 'corpname', 'indexterm', 'abstract', 'keywordset', 'subjectset', 'firstname', 'citebiblioid', 'title', 'issuenum', 'collab', 'othercredit', 'corpcredit', 'citetitle', 'biblioset', 'legalnotice', 'bibliomisc', 'date', 'othername', 'surname', 'lineage', 'publisher', 'biblioid', 'graphic', 'publishername', 'copyright', 'subtitle', 'affiliation', 'bibliocoverage', 'issn', 'bibliosource', 'productname', 'authorblurb', 'personname', 'abbrev', 'titleabbrev', 'releaseinfo', 'revhistory']}, 'math': {'att
 ributes': [], 'children': []}, 'tfoot': {'attributes': ['revisionflag', 'onmousedown', 'xml:base', 'id', 'style', 'title', 'wordsize', 'onmousemove', 'onclick', 'valign', 'role', 'conformance', 'revision', 'remap', 'vendor', 'xreflabel', 'onmouseout', 'onkeypress', 'onkeydown', 'onmouseover', 'userlevel', 'arch', 'class', 'condition', 'lang', 'xml:lang', 'onmouseup', 'onkeyup', 'security', 'ondblclick', 'os', 'dir'], 'children': ['colspec', 'tr', 'row']}, 'tgroup': {'attributes': ['revisionflag', 'rowsep', 'cols', 'onmousedown', 'char', 'xml:base', 'id', 'style', 'title', 'xml:lang', 'onmousemove', 'xreflabel', 'role', 'charoff', 'revision', 'remap', 'vendor', 'onclick', 'onmouseout', 'onkeypress', 'colsep', 'onkeydown', 'onmouseover', 'userlevel', 'tgroupstyle', 'arch', 'class', 'condition', 'lang', 'conformance', 'align', 'wordsize', 'onmouseup', 'onkeyup', 'security', 'ondblclick', 'os', 'dir'], 'children': ['colspec', 'spanspec', 'tfoot', 'tbody', 'thead']}, 'blockquote': {'attr
 ibutes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'conformance', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['programlisting', 'funcsynopsis', 'figure', 'cmdsynopsis', 'mediaobject', 'mediaobjectco', 'formalpara', 'informalequation', 'warning', 'caution', 'informalexample', 'fieldsynopsis', 'table', 'blockinfo', 'glosslist', 'literallayout', 'task', 'msgset', 'destructorsynopsis', 'title', 'highlights', 'bridgehead', 'tip', 'segmentedlist', 'informalfigure', 'methodsynopsis', 'note', 'informaltable', 'screenco', 'constructorsynopsis', 'indexterm', 'abstract', 'calloutlist', 'blockquote', 'attribution', 'screenshot', 'screen', 'graphicco', 'qandaset', 'epigraph', 'important', 'para', 'address', 'orderedlist', 'beginpage', 'classsynopsis', 'sidebar', 'remark', 'simpara', 'anchor', 'programlistingco', 'graphic', 'example', 'authorblurb', 'synopsis', 'bibliolist', 'variablelist', 'simplelist',
  'itemizedlist', 'equation', 'procedure']}, 'para': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'conformance', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['mediaobjectco', 'code', 'keycombo', 'mediaobject', 'informalequation', 'modespec', 'guiicon', 'literallayout', 'guimenu', 'guisubmenu', 'userinput', 'errortext', 'methodsynopsis', 'footnoteref', 'inlineequation', 'structname', 'calloutlist', 'blockquote', 'interfacename', 'mousebutton', 'envar', 'othercredit', 'ulink', 'methodname', 'guimenuitem', 'classsynopsis', 'systemitem', 'keycap', 'productname', 'token', 'bibliolist', 'citerefentry', 'medialabel', 'guilabel', 'termdef', 'table', 'wordasword', 'corpauthor', 'ooexception', 'destructorsynopsis', 'segmentedlist', 'filename', 'errorcode', 'informaltable', 'screenco', 'constructorsynopsis', 'computeroutput', 'subscript', 'email', 'graphicco', 'acronym', 'screen', 'replaceab
 le', 'citetitle', 'exceptionname', 'oointerface', 'revhistory', 'interface', 'optional', 'keycode', 'remark', 'itemizedlist', 'package', 'varname', 'programlistingco', 'errortype', 'example', 'glosslist', 'ooclass', 'guibutton', 'structfield', 'programlisting', 'funcsynopsis', 'productnumber', 'authorinitials', 'address', 'classname', 'fieldsynopsis', 'prompt', 'inlinegraphic', 'figure', 'personname', 'trademark', 'literal', 'type', 'olink', 'function', 'option', 'corpcredit', 'link', 'foreignphrase', 'orderedlist', 'graphic', 'equation', 'inlinemediaobject', 'glossterm', 'simplelist', 'property', 'anchor', 'constant', 'menuchoice', 'footnote', 'citation', 'errorname', 'hardware', 'warning', 'caution', 'informalexample', 'phrase', 'xref', 'author', 'orgname', 'tip', 'synopsis', 'informalfigure', 'note', 'application', 'emphasis', 'returnvalue', 'variablelist', 'indexterm', 'parameter', 'firstterm', 'sgmltag', 'screenshot', 'quote', 'symbol', 'beginpage', 'cmdsynopsis', 'action', 'im
 portant', 'biblioref', 'database', 'markup', 'uri', 'abbrev', 'command', 'keysym', 'superscript']}, 'quote': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'conformance', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['code', 'keycombo', 'modespec', 'guiicon', 'guimenu', 'guisubmenu', 'userinput', 'errortext', 'methodsynopsis', 'footnoteref', 'inlineequation', 'structname', 'interfacename', 'mousebutton', 'envar', 'othercredit', 'ulink', 'methodname', 'guimenuitem', 'classsynopsis', 'systemitem', 'keycap', 'productname', 'token', 'citerefentry', 'medialabel', 'guilabel', 'termdef', 'wordasword', 'corpauthor', 'ooexception', 'destructorsynopsis', 'filename', 'errorcode', 'constructorsynopsis', 'computeroutput', 'subscript', 'email', 'acronym', 'replaceable', 'citetitle', 'exceptionname', 'oointerface', 'revhistory', 'interface', 'optional', 'keycode', 'remark', 'package', 'varname', '
 errortype', 'ooclass', 'guibutton', 'structfield', 'funcsynopsis', 'productnumber', 'authorinitials', 'classname', 'fieldsynopsis', 'prompt', 'inlinegraphic', 'personname', 'trademark', 'literal', 'type', 'olink', 'function', 'option', 'corpcredit', 'link', 'foreignphrase', 'inlinemediaobject', 'glossterm', 'property', 'anchor', 'constant', 'menuchoice', 'footnote', 'citation', 'errorname', 'hardware', 'phrase', 'xref', 'author', 'orgname', 'synopsis', 'application', 'emphasis', 'returnvalue', 'indexterm', 'parameter', 'firstterm', 'sgmltag', 'quote', 'symbol', 'beginpage', 'cmdsynopsis', 'action', 'biblioref', 'database', 'markup', 'uri', 'abbrev', 'command', 'keysym', 'superscript']}, 'object': {'attributes': [], 'children': []}, 'bookinfo': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'conformance', 'dir', 'wordsize', 'role', 'condition', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'contents', 'revision'], 'children': ['contractsponsor', 'i
 sbn', 'contractnum', 'pubdate', 'productnumber', 'mediaobject', 'address', 'invpartnumber', 'itermset', 'printhistory', 'edition', 'modespec', 'pubsnumber', 'contrib', 'seriesvolnums', 'corpauthor', 'authorgroup', 'artpagenums', 'author', 'orgname', 'volumenum', 'confgroup', 'authorinitials', 'pagenums', 'editor', 'bibliorelation', 'honorific', 'corpname', 'indexterm', 'abstract', 'keywordset', 'subjectset', 'firstname', 'citebiblioid', 'title', 'issuenum', 'collab', 'othercredit', 'corpcredit', 'citetitle', 'biblioset', 'legalnotice', 'bibliomisc', 'date', 'othername', 'surname', 'lineage', 'publisher', 'biblioid', 'graphic', 'publishername', 'copyright', 'subtitle', 'affiliation', 'bibliocoverage', 'issn', 'bibliosource', 'productname', 'authorblurb', 'personname', 'abbrev', 'titleabbrev', 'releaseinfo', 'revhistory']}, 'thead': {'attributes': ['revisionflag', 'onmousedown', 'xml:base', 'id', 'style', 'title', 'wordsize', 'onmousemove', 'onclick', 'valign', 'role', 'conformance', 
 'revision', 'remap', 'vendor', 'xreflabel', 'onmouseout', 'onkeypress', 'onkeydown', 'onmouseover', 'userlevel', 'arch', 'class', 'condition', 'lang', 'xml:lang', 'onmouseup', 'onkeyup', 'security', 'ondblclick', 'os', 'dir'], 'children': ['colspec', 'tr', 'row']}, 'td': {'attributes': ['revisionflag', 'colspan', 'onmousedown', 'char', 'xml:base', 'nowrap', 'id', 'axis', 'style', 'rowspan', 'title', 'bgcolor', 'wordsize', 'onmousemove', 'onclick', 'valign', 'scope', 'conformance', 'revision', 'remap', 'vendor', 'xreflabel', 'onmouseout', 'onkeypress', 'onkeydown', 'onmouseover', 'userlevel', 'height', 'arch', 'class', 'condition', 'lang', 'charoff', 'align', 'headers', 'xml:lang', 'onmouseup', 'onkeyup', 'security', 'ondblclick', 'os', 'width', 'dir', 'abbr'], 'children': ['code', 'keycombo', 'mediaobject', 'modespec', 'guiicon', 'literallayout', 'guimenu', 'guisubmenu', 'userinput', 'errortext', 'methodsynopsis', 'footnoteref', 'inlineequation', 'structname', 'calloutlist', 'interf
 acename', 'mousebutton', 'envar', 'othercredit', 'ulink', 'methodname', 'guimenuitem', 'classsynopsis', 'systemitem', 'keycap', 'productname', 'token', 'bibliolist', 'citerefentry', 'medialabel', 'guilabel', 'termdef', 'table', 'wordasword', 'corpauthor', 'ooexception', 'destructorsynopsis', 'simpara', 'segmentedlist', 'filename', 'errorcode', 'informaltable', 'screenco', 'constructorsynopsis', 'computeroutput', 'subscript', 'email', 'acronym', 'screen', 'replaceable', 'citetitle', 'exceptionname', 'oointerface', 'revhistory', 'interface', 'optional', 'keycode', 'remark', 'itemizedlist', 'package', 'varname', 'programlistingco', 'errortype', 'glosslist', 'ooclass', 'guibutton', 'structfield', 'programlisting', 'funcsynopsis', 'productnumber', 'authorinitials', 'classname', 'fieldsynopsis', 'prompt', 'inlinegraphic', 'personname', 'trademark', 'formalpara', 'literal', 'type', 'olink', 'function', 'option', 'para', 'corpcredit', 'link', 'foreignphrase', 'orderedlist', 'graphic', 'inli
 nemediaobject', 'glossterm', 'simplelist', 'property', 'anchor', 'constant', 'menuchoice', 'footnote', 'citation', 'errorname', 'hardware', 'warning', 'caution', 'phrase', 'xref', 'author', 'orgname', 'tip', 'synopsis', 'note', 'application', 'emphasis', 'returnvalue', 'variablelist', 'indexterm', 'parameter', 'firstterm', 'sgmltag', 'screenshot', 'quote', 'symbol', 'beginpage', 'cmdsynopsis', 'action', 'important', 'biblioref', 'database', 'markup', 'uri', 'abbrev', 'command', 'keysym', 'superscript']}, 'ulink': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'url', 'arch', 'xrefstyle', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'revision', 'type', 'id', 'condition', 'conformance'], 'children': ['code', 'keycombo', 'modespec', 'guiicon', 'guimenu', 'guisubmenu', 'userinput', 'errortext', 'methodsynopsis', 'footnoteref', 'inlineequation', 'structname', 'interfacename', 'mousebutton', 'envar', 'othercredit', 'ulink', 'methodname', 'g
 uimenuitem', 'classsynopsis', 'systemitem', 'keycap', 'productname', 'token', 'citerefentry', 'medialabel', 'guilabel', 'termdef', 'wordasword', 'corpauthor', 'ooexception', 'destructorsynopsis', 'filename', 'errorcode', 'constructorsynopsis', 'computeroutput', 'subscript', 'email', 'acronym', 'replaceable', 'citetitle', 'exceptionname', 'oointerface', 'revhistory', 'interface', 'optional', 'keycode', 'remark', 'package', 'varname', 'errortype', 'ooclass', 'guibutton', 'structfield', 'funcsynopsis', 'productnumber', 'authorinitials', 'classname', 'fieldsynopsis', 'prompt', 'inlinegraphic', 'personname', 'trademark', 'literal', 'type', 'olink', 'function', 'option', 'corpcredit', 'link', 'foreignphrase', 'inlinemediaobject', 'glossterm', 'property', 'anchor', 'constant', 'menuchoice', 'footnote', 'citation', 'errorname', 'hardware', 'phrase', 'xref', 'author', 'orgname', 'synopsis', 'application', 'emphasis', 'returnvalue', 'indexterm', 'parameter', 'firstterm', 'sgmltag', 'quote', '
 symbol', 'beginpage', 'cmdsynopsis', 'action', 'biblioref', 'database', 'markup', 'uri', 'abbrev', 'command', 'keysym', 'superscript']}, 'entry': {'attributes': ['revisionflag', 'rowsep', 'spanname', 'remap', 'onmousedown', 'char', 'nameend', 'xml:base', 'id', 'style', 'title', 'xml:lang', 'morerows', 'xreflabel', 'valign', 'onmousemove', 'charoff', 'revision', 'namest', 'vendor', 'onclick', 'onmouseout', 'onkeypress', 'colname', 'colsep', 'onkeydown', 'onmouseover', 'userlevel', 'role', 'arch', 'class', 'condition', 'lang', 'rotate', 'conformance', 'align', 'wordsize', 'onmouseup', 'onkeyup', 'security', 'ondblclick', 'os', 'dir'], 'children': ['code', 'keycombo', 'mediaobject', 'modespec', 'guiicon', 'literallayout', 'guimenu', 'guisubmenu', 'userinput', 'errortext', 'methodsynopsis', 'footnoteref', 'inlineequation', 'structname', 'calloutlist', 'interfacename', 'mousebutton', 'envar', 'othercredit', 'ulink', 'methodname', 'guimenuitem', 'classsynopsis', 'systemitem', 'keycap', 'p
 roductname', 'token', 'bibliolist', 'citerefentry', 'medialabel', 'guilabel', 'termdef', 'wordasword', 'corpauthor', 'ooexception', 'destructorsynopsis', 'simpara', 'segmentedlist', 'filename', 'errorcode', 'screenco', 'constructorsynopsis', 'computeroutput', 'subscript', 'email', 'acronym', 'screen', 'replaceable', 'citetitle', 'exceptionname', 'oointerface', 'revhistory', 'interface', 'optional', 'keycode', 'remark', 'itemizedlist', 'package', 'varname', 'programlistingco', 'errortype', 'glosslist', 'ooclass', 'guibutton', 'structfield', 'programlisting', 'funcsynopsis', 'productnumber', 'authorinitials', 'classname', 'fieldsynopsis', 'prompt', 'inlinegraphic', 'personname', 'trademark', 'formalpara', 'literal', 'type', 'olink', 'function', 'option', 'para', 'corpcredit', 'link', 'foreignphrase', 'orderedlist', 'graphic', 'inlinemediaobject', 'glossterm', 'simplelist', 'property', 'anchor', 'constant', 'menuchoice', 'footnote', 'citation', 'errorname', 'hardware', 'warning', 'caut
 ion', 'phrase', 'xref', 'author', 'orgname', 'tip', 'synopsis', 'note', 'application', 'emphasis', 'returnvalue', 'variablelist', 'indexterm', 'parameter', 'firstterm', 'sgmltag', 'screenshot', 'quote', 'symbol', 'beginpage', 'cmdsynopsis', 'action', 'important', 'biblioref', 'database', 'markup', 'uri', 'abbrev', 'command', 'keysym', 'superscript']}, 'article': {'attributes': ['status', 'lang', 'remap', 'vendor', 'os', 'revisionflag', 'conformance', 'xml:base', 'class', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'parentbook', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['appendix', 'programlisting', 'subtitle', 'simplesect', 'figure', 'cmdsynopsis', 'mediaobject', 'titleabbrev', 'formalpara', 'informalequation', 'warning', 'caution', 'informalexample', 'table', 'fieldsynopsis', 'funcsynopsis', 'literallayout', 'glosslist', 'task', 'msgset', 'bibliography', 'destructorsynopsis', 'title', 'highlights', 'section', 'bridgehead', 'tip', 'segmentedlist', 'in
 formalfigure', 'methodsynopsis', 'note', 'informaltable', 'screenco', 'constructorsynopsis', 'lot', 'ackno', 'sect1', 'indexterm', 'abstract', 'calloutlist', 'blockquote', 'screenshot', 'index', 'screen', 'graphicco', 'remark', 'qandaset', 'epigraph', 'important', 'para', 'address', 'toc', 'orderedlist', 'beginpage', 'classsynopsis', 'sidebar', 'mediaobjectco', 'simpara', 'anchor', 'colophon', 'refentry', 'tocchap', 'programlistingco', 'graphic', 'articleinfo', 'example', 'authorblurb', 'glossary', 'synopsis', 'bibliolist', 'variablelist', 'simplelist', 'itemizedlist', 'equation', 'procedure']}, 'orderedlist': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'continuation', 'spacing', 'dir', 'wordsize', 'role', 'condition', 'xreflabel', 'xml:base', 'userlevel', 'inheritnum', 'security', 'revision', 'arch', 'id', 'numeration', 'conformance'], 'children': ['programlisting', 'funcsynopsis', 'cmdsynopsis', 'mediaobject', 'titleabbrev', 'informalequation', 'fieldsynopsis'
 , 'caution', 'informalexample', 'authorblurb', 'blockinfo', 'literallayout', 'destructorsynopsis', 'title', 'highlights', 'bridgehead', 'tip', 'formalpara', 'informalfigure', 'methodsynopsis', 'note', 'informaltable', 'screenco', 'constructorsynopsis', 'indexterm', 'abstract', 'listitem', 'blockquote', 'screenshot', 'screen', 'graphicco', 'remark', 'important', 'para', 'address', 'beginpage', 'classsynopsis', 'mediaobjectco', 'simpara', 'programlistingco', 'graphic', 'synopsis', 'warning', 'epigraph', 'anchor']}, 'subscript': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'conformance', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['remark', 'symbol', 'replaceable', 'inlinemediaobject', 'emphasis', 'ulink', 'link', 'subscript', 'inlinegraphic', 'anchor', 'olink', 'superscript']}, 'chapter': {'attributes': ['status', 'lang', 'remap', 'vendor', 'os', 'revisionflag', 'conformance', 'la
 bel', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['programlisting', 'subtitle', 'simplesect', 'figure', 'cmdsynopsis', 'mediaobject', 'titleabbrev', 'formalpara', 'sect1', 'informalequation', 'tocchap', 'caution', 'informalexample', 'table', 'fieldsynopsis', 'funcsynopsis', 'literallayout', 'glosslist', 'graphicco', 'index', 'msgset', 'bibliography', 'destructorsynopsis', 'title', 'highlights', 'section', 'bridgehead', 'tip', 'segmentedlist', 'informalfigure', 'methodsynopsis', 'note', 'informaltable', 'screenco', 'constructorsynopsis', 'lot', 'toc', 'indexterm', 'chapterinfo', 'abstract', 'calloutlist', 'blockquote', 'screenshot', 'screen', 'beginpage', 'remark', 'qandaset', 'epigraph', 'task', 'important', 'para', 'address', 'orderedlist', 'classsynopsis', 'sidebar', 'mediaobjectco', 'simpara', 'anchor', 'refentry', 'glossary', 'programlistingco', 'graphic', 'example', 'authorblurb', 'synopsis', 
 'bibliolist', 'variablelist', 'simplelist', 'itemizedlist', 'warning', 'equation', 'procedure']}, 'term': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'conformance', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['code', 'keycombo', 'modespec', 'guiicon', 'guimenu', 'guisubmenu', 'userinput', 'errortext', 'methodsynopsis', 'footnoteref', 'inlineequation', 'structname', 'interfacename', 'mousebutton', 'envar', 'othercredit', 'ulink', 'methodname', 'guimenuitem', 'classsynopsis', 'systemitem', 'keycap', 'productname', 'token', 'citerefentry', 'medialabel', 'guilabel', 'termdef', 'wordasword', 'corpauthor', 'ooexception', 'destructorsynopsis', 'filename', 'errorcode', 'constructorsynopsis', 'computeroutput', 'subscript', 'email', 'acronym', 'replaceable', 'citetitle', 'exceptionname', 'oointerface', 'revhistory', 'interface', 'optional', 'keycode', 'remark', 'package', 'varname', 'err
 ortype', 'ooclass', 'guibutton', 'structfield', 'funcsynopsis', 'productnumber', 'authorinitials', 'classname', 'fieldsynopsis', 'prompt', 'inlinegraphic', 'personname', 'trademark', 'literal', 'type', 'olink', 'function', 'option', 'corpcredit', 'link', 'foreignphrase', 'inlinemediaobject', 'glossterm', 'property', 'anchor', 'constant', 'menuchoice', 'footnote', 'citation', 'errorname', 'hardware', 'phrase', 'xref', 'author', 'orgname', 'synopsis', 'application', 'emphasis', 'returnvalue', 'indexterm', 'parameter', 'firstterm', 'sgmltag', 'quote', 'symbol', 'beginpage', 'cmdsynopsis', 'action', 'biblioref', 'database', 'markup', 'uri', 'abbrev', 'command', 'keysym', 'superscript']}, 'imagedata': {'attributes': ['revisionflag', 'xml:base', 'id', 'srccredit', 'scale', 'width', 'contentdepth', 'role', 'xreflabel', 'valign', 'conformance', 'revision', 'remap', 'scalefit', 'vendor', 'format', 'userlevel', 'fileref', 'arch', 'condition', 'lang', 'align', 'depth', 'wordsize', 'entityref',
  'contentwidth', 'security', 'os', 'dir'], 'children': []}, 'title': {'attributes': ['lang', 'revisionflag', 'remap', 'pagenum', 'os', 'conformance', 'xml:base', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'vendor', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['code', 'keycombo', 'modespec', 'guiicon', 'guimenu', 'guisubmenu', 'userinput', 'errortext', 'footnoteref', 'inlineequation', 'structname', 'interfacename', 'mousebutton', 'envar', 'othercredit', 'ulink', 'methodname', 'guimenuitem', 'systemitem', 'keycap', 'productname', 'token', 'citerefentry', 'medialabel', 'guilabel', 'termdef', 'wordasword', 'corpauthor', 'ooexception', 'filename', 'errorcode', 'computeroutput', 'subscript', 'email', 'acronym', 'replaceable', 'citetitle', 'exceptionname', 'oointerface', 'revhistory', 'interface', 'optional', 'keycode', 'remark', 'package', 'varname', 'errortype', 'ooclass', 'guibutton', 'structfield', 'productnumber', 'authorinitials', 'classname', 'prompt', 
 'inlinegraphic', 'personname', 'trademark', 'literal', 'type', 'olink', 'function', 'option', 'corpcredit', 'link', 'foreignphrase', 'inlinemediaobject', 'glossterm', 'property', 'anchor', 'constant', 'menuchoice', 'footnote', 'citation', 'errorname', 'hardware', 'phrase', 'xref', 'author', 'orgname', 'application', 'emphasis', 'returnvalue', 'indexterm', 'parameter', 'firstterm', 'sgmltag', 'quote', 'symbol', 'action', 'biblioref', 'database', 'markup', 'uri', 'abbrev', 'command', 'keysym', 'superscript']}, 'articleinfo': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'conformance', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['contractsponsor', 'isbn', 'contractnum', 'pubdate', 'productnumber', 'mediaobject', 'address', 'invpartnumber', 'itermset', 'printhistory', 'edition', 'modespec', 'pubsnumber', 'contrib', 'seriesvolnums', 'corpauthor', 'authorgroup', 'artpagenums', 'author'
 , 'orgname', 'volumenum', 'confgroup', 'authorinitials', 'pagenums', 'editor', 'bibliorelation', 'honorific', 'corpname', 'indexterm', 'abstract', 'keywordset', 'subjectset', 'firstname', 'citebiblioid', 'title', 'issuenum', 'collab', 'othercredit', 'corpcredit', 'citetitle', 'biblioset', 'legalnotice', 'bibliomisc', 'date', 'othername', 'surname', 'lineage', 'publisher', 'biblioid', 'graphic', 'publishername', 'copyright', 'subtitle', 'affiliation', 'bibliocoverage', 'issn', 'bibliosource', 'productname', 'authorblurb', 'personname', 'abbrev', 'titleabbrev', 'releaseinfo', 'revhistory']}, 'inlinemediaobject': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'conformance', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['audioobject', 'videoobject', 'imageobject', 'imageobjectco', 'textobject', 'objectinfo']}, 'variablelist': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'o
 s', 'termlength', 'conformance', 'spacing', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['programlisting', 'funcsynopsis', 'varlistentry', 'cmdsynopsis', 'mediaobject', 'titleabbrev', 'informalequation', 'fieldsynopsis', 'caution', 'informalexample', 'authorblurb', 'blockinfo', 'literallayout', 'destructorsynopsis', 'title', 'highlights', 'bridgehead', 'tip', 'formalpara', 'informalfigure', 'methodsynopsis', 'note', 'informaltable', 'screenco', 'constructorsynopsis', 'indexterm', 'abstract', 'blockquote', 'screenshot', 'screen', 'graphicco', 'remark', 'important', 'para', 'address', 'beginpage', 'classsynopsis', 'mediaobjectco', 'simpara', 'programlistingco', 'graphic', 'synopsis', 'warning', 'epigraph', 'anchor']}, 'link': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'arch', 'endterm', 'xrefstyle', 'linkend', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'secu
 rity', 'revision', 'type', 'id', 'condition', 'conformance'], 'children': ['code', 'keycombo', 'modespec', 'guiicon', 'guimenu', 'guisubmenu', 'userinput', 'errortext', 'methodsynopsis', 'footnoteref', 'inlineequation', 'structname', 'interfacename', 'mousebutton', 'envar', 'othercredit', 'ulink', 'methodname', 'guimenuitem', 'classsynopsis', 'systemitem', 'keycap', 'productname', 'token', 'citerefentry', 'medialabel', 'guilabel', 'termdef', 'wordasword', 'corpauthor', 'ooexception', 'destructorsynopsis', 'filename', 'errorcode', 'constructorsynopsis', 'computeroutput', 'subscript', 'email', 'acronym', 'replaceable', 'citetitle', 'exceptionname', 'oointerface', 'revhistory', 'interface', 'optional', 'keycode', 'remark', 'package', 'varname', 'errortype', 'ooclass', 'guibutton', 'structfield', 'funcsynopsis', 'productnumber', 'authorinitials', 'classname', 'fieldsynopsis', 'prompt', 'inlinegraphic', 'personname', 'trademark', 'literal', 'type', 'olink', 'function', 'option', 'corpcre
 dit', 'link', 'foreignphrase', 'inlinemediaobject', 'glossterm', 'property', 'anchor', 'constant', 'menuchoice', 'footnote', 'citation', 'errorname', 'hardware', 'phrase', 'xref', 'author', 'orgname', 'synopsis', 'application', 'emphasis', 'returnvalue', 'indexterm', 'parameter', 'firstterm', 'sgmltag', 'quote', 'symbol', 'beginpage', 'cmdsynopsis', 'action', 'biblioref', 'database', 'markup', 'uri', 'abbrev', 'command', 'keysym', 'superscript']}, 'itemizedlist': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'conformance', 'spacing', 'mark', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['programlisting', 'funcsynopsis', 'cmdsynopsis', 'mediaobject', 'titleabbrev', 'informalequation', 'fieldsynopsis', 'caution', 'informalexample', 'authorblurb', 'blockinfo', 'literallayout', 'destructorsynopsis', 'title', 'highlights', 'bridgehead', 'tip', 'formalpara', 'informalfigure', 'methodsyno
 psis', 'note', 'informaltable', 'screenco', 'constructorsynopsis', 'indexterm', 'abstract', 'listitem', 'blockquote', 'screenshot', 'screen', 'graphicco', 'remark', 'important', 'para', 'address', 'beginpage', 'classsynopsis', 'mediaobjectco', 'simpara', 'programlistingco', 'graphic', 'synopsis', 'warning', 'epigraph', 'anchor']}, 'superscript': {'attributes': ['lang', 'revisionflag', 'remap', 'vendor', 'os', 'conformance', 'wordsize', 'role', 'dir', 'xreflabel', 'userlevel', 'xml:base', 'security', 'arch', 'id', 'condition', 'revision'], 'children': ['remark', 'symbol', 'replaceable', 'inlinemediaobject', 'emphasis', 'ulink', 'link', 'subscript', 'inlinegraphic', 'anchor', 'olink', 'superscript']}}
diff --git a/wiki-to-help/mwlib_mods/docbook_grammar.py b/wiki-to-help/mwlib_mods/docbook_grammar.py
deleted file mode 100644
index ebef889f4..000000000
--- a/wiki-to-help/mwlib_mods/docbook_grammar.py
+++ /dev/null
@@ -1,11 +0,0 @@
-"""
-New docbook grammar enables more tags.
-"""
-
-## Set up docbookwriter.grammar
-import mwlib.docbookwriter
-import docbook45grammar
-
-def apply():
-    mwlib.docbookwriter.grammar = docbook45grammar.grammar
-
diff --git a/wiki-to-help/mwlib_mods/docbook_internLinks.py b/wiki-to-help/mwlib_mods/docbook_internLinks.py
deleted file mode 100644
index 2d22edd16..000000000
--- a/wiki-to-help/mwlib_mods/docbook_internLinks.py
+++ /dev/null
@@ -1,76 +0,0 @@
-"""
-This enables the conversion of article links to internal links within the docbook output.
-Usage:
-    import docbook_internLinks
-    docbook_internLinks.apply()
-Requires:
-    docbook_grammar
-
-Author: Timo Richter
-"""
-
-## Set up nuwiki.adapt
-import mwlib.nuwiki
-class MyAdapt(mwlib.nuwiki.adapt):
-    def getParsedArticle(self, title, revision=None):
-        """ Add the original title to the attributes of each article """
-        a = super(MyAdapt,self).getParsedArticle(title,revision)
-        if a:
-            a.title = title
-        return a
-    def getURL(self, name, revision=None, defaultns=None):
-        """ Returns raw link targets """
-        return name
-
-def setupAdapt():
-    mwlib.nuwiki.adapt = MyAdapt
-
-
-## Set up docbookwriter
-import mwlib.docbookwriter
-#import lxml.etree
-Element = mwlib.docbookwriter.Element
-SubElement = mwlib.docbookwriter.SubElement
-class MyDocBookWriter(mwlib.docbookwriter.DocBookWriter):
-    def getTargetId(self,title):
-        """ Transform "The first article" to "The_first_article" """
-        # See mwlib.zipwiki.normalize_title()
-        return title.replace(" ","_")
-
-    def dbwriteArticle(self, a):
-        """ 
-        Add id-attribute with original title to all articles.
-        <article id="a.title">
-        """
-        e = super(MyDocBookWriter,self).dbwriteArticle(a)
-        targetId = self.getTargetId(a.title)
-        e.set("id",targetId)
-        return e
-
-    def dbwriteArticleLink(self, obj):
-        a = Element("link")
-        if obj.target:
-            a.set("linkend", obj.target)
-        if not obj.children:
-            a.text = obj.target
-        return a
-    #dbwriteLink = dbwriteURL
-    #dbwriteNamedURL = dbwriteURL
-    #dbwriteSpecialLink = dbwriteURL
-    #dbwriteCategoryLink = dbwriteURL
-    #dbwriteLangLink = dbwriteURL
-    #dbwriteArticleLink = dbwriteLink 
-    #dbwriteLangLink = dbwriteLink # FIXME
-    #dbwriteNamespaceLink = dbwriteLink# FIXME
-    #dbwriteInterwikiLink = dbwriteLink# FIXME
-    #dbwriteSpecialLink = dbwriteLink# FIXME
-
-def setupDocBookWriter():
-    mwlib.docbookwriter.DocBookWriter = MyDocBookWriter
-
-def apply():
-    setupAdapt()
-    #setupGrammar()
-    setupDocBookWriter()
-
-
diff --git a/wiki-to-help/mwlib_mods/docbook_table_tags.py b/wiki-to-help/mwlib_mods/docbook_table_tags.py
deleted file mode 100644
index 37eb8a5fa..000000000
--- a/wiki-to-help/mwlib_mods/docbook_table_tags.py
+++ /dev/null
@@ -1,93 +0,0 @@
-"""
-Create docbook- instead of HTML-tables.
-
-Requires:
-    docbook_grammar
-
-Example of a docbook table:
-
-<table frame='all'><title>Sample Table</title>
-<tgroup cols='5' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'/>
-<colspec colname='c2'/>
-<colspec colname='c3'/>
-<colspec colnum='5' colname='c5'/>
-<thead>
-<row>
-  <entry namest="c1" nameend="c2" align="center">Horizontal Span</entry>
-  <entry>a3</entry>
-  <entry>a4</entry>
-  <entry>a5</entry>
-</row>
-</thead>
-<tfoot>
-<row>
-  <entry>f1</entry>
-  <entry>f2</entry>
-  <entry>f3</entry>
-  <entry>f4</entry>
-  <entry>f5</entry>
-</row>
-</tfoot>
-<tbody>
-<row>
-  <entry>b1</entry>
-  <entry>b2</entry>
-  <entry>b3</entry>
-  <entry>b4</entry>
-  <entry morerows='1' valign='middle'><para>  <!-- Pernicious Mixed Content -->
-  Vertical Span</para></entry>
-</row>
-<row>
-  <entry>c1</entry>
-  <entry namest="c2" nameend="c3" align='center' morerows='1' valign='bottom'>Span Both</entry>
-  <entry>c4</entry>
-</row>
-<row>
-  <entry>d1</entry>
-  <entry>d4</entry>
-  <entry>d5</entry>
-</row>
-</tbody>
-</tgroup>
-</table>
-
-Example from http://www.docbook.org/tdg/en/html/table.html
-"""
-
-## Set up docbookwriter
-import mwlib.docbookwriter
-Element = mwlib.docbookwriter.Element
-SubElement = mwlib.docbookwriter.SubElement
-setVList=mwlib.docbookwriter.setVList
-class MyDocBookWriter(mwlib.docbookwriter.DocBookWriter):
-    def dbwriteTable(self, t):           
-        """
-        rowspan & colspan are supported
-        nested tables not supported in DocBook V4.4
-        """
-        table = Element("informaltable") #border=1
-        tgroup = SubElement(table,"tgroup",cols="1") # FIXME: cols=1 is not always correct
-        
-        tbody = SubElement(tgroup,"tbody")
-        setVList(table, t)           
-        if t.caption:
-            #c = SubElement(table, "caption")
-            #self.writeText(t.caption, c)
-            pass
-        table.writeto = tbody
-        #docbookwriter.py l 220
-        return table
-
-    def dbwriteCell(self, cell):
-        td = Element("entry")
-        #setVList(td, cell)           
-        return td
-            
-    def dbwriteRow(self, row):
-        return Element("row")
-
-
-def apply():
-    mwlib.docbookwriter.DocBookWriter = MyDocBookWriter
-
diff --git a/wiki-to-help/mwlib_mods/docbookwriter_options.py b/wiki-to-help/mwlib_mods/docbookwriter_options.py
deleted file mode 100644
index e5b4350f9..000000000
--- a/wiki-to-help/mwlib_mods/docbookwriter_options.py
+++ /dev/null
@@ -1,54 +0,0 @@
-"""
-This enables -L, --language and -W for docbook output.
-Additionally the magic word IMAGENAME will contain the imagename instead of "IMAGE:imagename"
-
-Example:
-    mw-render -w docbook -L de -W debug=True;imagesrcresolver=/home/images/IMAGENAME
-
-The content of writer() belongs to the mwlib.
-
-"""
-
-from mwlib.docbookwriter import *
-def writer(env, output, status_callback, **args): # changed
-    """ This is the function for external use. It is called by apps.render """
-    if status_callback:
-        buildbook_status = status_callback.getSubRange(0, 50)
-    else:
-        buildbook_status = None
-    book = writerbase.build_book(env, status_callback=buildbook_status)
-    scb = lambda status, progress :  status_callback is not None and status_callback(status=status, progress=progress)
-    scb(status='preprocessing', progress=50)
-    for c in book.children:
-        preprocess(c)   
-    scb(status='rendering', progress=60)
-    
-    args["language"] = args["lang"] # changed
-    del args["lang"] # changed
-    mwlib.docbookwriter.DocBookWriter(env, status_callback=scb, documenttype="book", **args).writeBook(book, output=output) # changed
-
-def setupWriter():
-    mwlib.docbookwriter.writer = writer
-    mwlib.docbookwriter.writer.options = \
-        ["documenttype","lang","imagesrcresolver","debug"]
-
-
-
-import mwlib.docbookwriter
-class MyDocBookWriter(mwlib.docbookwriter.DocBookWriter):
-    def dbwriteImageLink(self, obj): 
-        if obj.target:
-            name = obj.target
-            obj.target = name[name.find(":") + 1:]
-        return super(MyDocBookWriter,self).dbwriteImageLink(obj)
-            
-def setupDocBookWriter():
-    mwlib.docbookwriter.DocBookWriter = MyDocBookWriter
-
-
-
-def apply():
-    setupWriter()
-    setupDocBookWriter()
-
-
diff --git a/wiki-to-help/mwlib_mods/indexterm_from_title.py b/wiki-to-help/mwlib_mods/indexterm_from_title.py
deleted file mode 100644
index 53d3cfdef..000000000
--- a/wiki-to-help/mwlib_mods/indexterm_from_title.py
+++ /dev/null
@@ -1,24 +0,0 @@
-"""
-Adds 
-<indexterm><primary>TITLE</primary></indexterm>
-to each <article>
-"""
-
-## Set up docbookwriter
-import mwlib.docbookwriter
-#import lxml.etree
-SubElement = mwlib.docbookwriter.SubElement
-class MyDocBookWriter(mwlib.docbookwriter.DocBookWriter):
-    def dbwriteArticle(self, a):
-        """ 
-        Add <indexterm><primary>a.caption</primary></indexterm>
-        """
-        e = super(MyDocBookWriter,self).dbwriteArticle(a)
-        i = SubElement(e,"indexterm")
-        p = SubElement(i,"primary")
-        p.text = a.caption
-        return e
-
-def apply():
-    mwlib.docbookwriter.DocBookWriter = MyDocBookWriter
-
diff --git a/wiki-to-help/mwlib_mods/no_sections.py b/wiki-to-help/mwlib_mods/no_sections.py
deleted file mode 100644
index d01b7b951..000000000
--- a/wiki-to-help/mwlib_mods/no_sections.py
+++ /dev/null
@@ -1,38 +0,0 @@
-"""
-Writes <article>...</article> instead of <article><section>...</section></article>.
-
-"""
-
-import mwlib.docbookwriter
-#import lxml.etree
-Element = mwlib.docbookwriter.Element
-SubElement = mwlib.docbookwriter.SubElement
-class MyDocBookWriter(mwlib.docbookwriter.DocBookWriter):
-    def dbwriteArticle(self, a):
-        """
-        this generates the root element if not available
-        """
-        #e = super(MyDocBookWriter,self).dbwriteArticle(a)
-        #e.remove(e.find("section"))
-        #return e
-        # add head + title
-        e = Element("article", lang=self.language)
-        if self.root is None:
-            self.root = e
-        h = SubElement(e,"articleinfo")
-        t = SubElement(h, "title")
-        if a.caption:
-            t.text = a.caption
-        
-        # DONT add a section and heading for this article 
-        #s = SubElement(e, "section")
-        #si = SubElement(s, "sectioninfo")
-        #h = SubElement(si, "title")
-        #h.text = a.caption
-        #e.writeto = s
-        return e 
-
-def apply():
-    mwlib.docbookwriter.DocBookWriter = MyDocBookWriter
-
-
diff --git a/wiki-to-help/nfo.json b/wiki-to-help/nfo.json
deleted file mode 100644
index ae6b9c80e..000000000
--- a/wiki-to-help/nfo.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-    "base_url": "http://help.libreoffice.org/", 
-    "format": "nuwiki", 
-    "script_extension": ".php"
-}
diff --git a/wiki-to-help/test2.xml b/wiki-to-help/test2.xml
deleted file mode 100644
index 2a634768a..000000000
--- a/wiki-to-help/test2.xml
+++ /dev/null
@@ -1,489 +0,0 @@
-<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.4/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.4/ http://www.mediawiki.org/xml/export-0.4.xsd" version="0.4" xml:lang="en">
-  <siteinfo>
-    <sitename>LibreOffice Help</sitename>
-    <base>http://gimli/Main_Page</base>
-    <generator>MediaWiki 1.16.0</generator>
-    <case>first-letter</case>
-    <namespaces>
-      <namespace key="-2" case="first-letter">Media</namespace>
-      <namespace key="-1" case="first-letter">Special</namespace>
-      <namespace key="0" case="first-letter" />
-      <namespace key="1" case="first-letter">Talk</namespace>
-      <namespace key="2" case="first-letter">User</namespace>
-      <namespace key="3" case="first-letter">User talk</namespace>
-      <namespace key="4" case="first-letter">LibreOffice Help</namespace>
-      <namespace key="5" case="first-letter">LibreOffice Help talk</namespace>
-      <namespace key="6" case="first-letter">File</namespace>
-      <namespace key="7" case="first-letter">File talk</namespace>
-      <namespace key="8" case="first-letter">MediaWiki</namespace>
-      <namespace key="9" case="first-letter">MediaWiki talk</namespace>
-      <namespace key="10" case="first-letter">Template</namespace>
-      <namespace key="11" case="first-letter">Template talk</namespace>
-      <namespace key="12" case="first-letter">Help</namespace>
-      <namespace key="13" case="first-letter">Help talk</namespace>
-      <namespace key="14" case="first-letter">Category</namespace>
-      <namespace key="15" case="first-letter">Category talk</namespace>
-    </namespaces>
-  </siteinfo>
-  <page>
-    <title>Main Page</title>
-    <id>1</id>
-    <revision>
-      <id>120128</id>
-      <timestamp>2011-02-17T21:54:02Z</timestamp>
-      <contributor>
-        <username>Kendy</username>
-        <id>2</id>
-      </contributor>
-      <comment>Added Basic help.</comment>
-      <text xml:space="preserve">{{OrigLang|Welcome to {{ProductName}} Help!}}
-Thank you for using the [https://www.documentfoundation.org/download/ {{ProductName}}] application help. Press F1 whenever you need help using the {{ProductName}} software, and you will be redirected to this site.  Alternatively, you can install an off-line version of the help in your native language.
-
-If you only want to browse the help, please use the following entry points for easier navigation:
-
-* [[Writer/Welcome_to_the_Writer_Help|{{ProductName}} Writer]] (text processing)
-* [[Calc/Welcome_to_the_Calc_Help|{{ProductName}} Calc]] (spreadsheets)
-* [[Impress/Welcome_to_the_Impress_Help|{{ProductName}} Impress]] (presentations)
-* [[Draw/Welcome_to_the_Draw_Help|{{ProductName}} Draw]] (drawing)
-* [[Common/Database_1|{{ProductName}} Base]] (database processing)
-* [[Math/Welcome_to_the_Math_Help|{{ProductName}} Math]] (formula editing)
-* [[Basic/Basic_Help|{{ProductName}} Basic]] (programming using the Basic language)
-
-== How to Participate ==
-
-At the moment, we are still fine-tuning the tools converting the off-line help to the on-line form.  Later, you will be able to participate, and improve the help pages.  The plans are described in [https://wiki.documentfoundation.org/Development/Wikihelp The Document Foundation wiki].
-
-Consult the [https://meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software.</text>
-    </revision>
-  </page>
-  <page>
-    <title>Swriter/.uno:GraphicFilterSolarize</title>
-    <id>2</id>
-    <redirect />
-    <revision>
-      <id>43159</id>
-      <timestamp>2010-12-17T15:23:21Z</timestamp>
-      <contributor>
-        <username>WikiSysop</username>
-        <id>1</id>
-      </contributor>
-      <comment>Redirected page to [[Common/Graphic Filter Bar#bm id3154910]]</comment>
-      <text xml:space="preserve">#REDIRECT [[Common/Graphic_Filter_Bar#bm_id3154910]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>Swriter/59886</title>
-    <id>3</id>
-    <redirect />
-    <revision>
-      <id>43160</id>
-      <timestamp>2010-12-17T15:23:21Z</timestamp>
-      <contributor>
-        <username>WikiSysop</username>
-        <id>1</id>
-      </contributor>
-      <comment>Redirected page to [[Common/Presentation Wizard Page 1#bm id3155136]]</comment>
-      <text xml:space="preserve">#REDIRECT [[Common/Presentation_Wizard_Page_1#bm_id3155136]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>Swriter/704807947</title>
-    <id>4</id>
-    <redirect />
-    <revision>
-      <id>43161</id>
-      <timestamp>2010-12-17T15:23:22Z</timestamp>
-      <contributor>
-        <username>WikiSysop</username>
-        <id>1</id>
-      </contributor>
-      <comment>Redirected page to [[Common/Accessibility#bm id3153881]]</comment>
-      <text xml:space="preserve">#REDIRECT [[Common/Accessibility#bm_id3153881]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>Swriter/.uno:SelectTable</title>
-    <id>5</id>
-    <redirect />
-    <revision>
-      <id>43162</id>
-      <timestamp>2010-12-17T15:23:22Z</timestamp>
-      <contributor>
-        <username>WikiSysop</username>
-        <id>1</id>
-      </contributor>
-      <comment>Redirected page to [[Writer/Table#bm id3954588]]</comment>
-      <text xml:space="preserve">#REDIRECT [[Writer/Table#bm_id3954588]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>Swriter/859636226</title>
-    <id>6</id>
-    <redirect />
-    <revision>
-      <id>43163</id>
-      <timestamp>2010-12-17T15:23:23Z</timestamp>
-      <contributor>
-        <username>WikiSysop</username>
-        <id>1</id>
-      </contributor>
-      <comment>Redirected page to [[Common/Address Data Source#bm id611896]]</comment>
-      <text xml:space="preserve">#REDIRECT [[Common/Address_Data_Source#bm_id611896]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>Swriter/546685977</title>
-    <id>7</id>
-    <redirect />
-    <revision>
-      <id>43164</id>
-      <timestamp>2010-12-17T15:23:24Z</timestamp>
-      <contributor>
-        <username>WikiSysop</username>
-        <id>1</id>
-      </contributor>
-      <comment>Redirected page to [[Common/General 2#bm id3145750]]</comment>
-      <text xml:space="preserve">#REDIRECT [[Common/General_2#bm_id3145750]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>Swriter/1417988121</title>
-    <id>8</id>
-    <redirect />
-    <revision>
-      <id>43165</id>
-      <timestamp>2010-12-17T15:23:24Z</timestamp>
-      <contributor>
-        <username>WikiSysop</username>
-        <id>1</id>
-      </contributor>
-      <comment>Redirected page to [[Writer/Caption#bm id7607959]]</comment>
-      <text xml:space="preserve">#REDIRECT [[Writer/Caption#bm_id7607959]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>Swriter/34666</title>
-    <id>9</id>
-    <redirect />
-    <revision>
-      <id>43166</id>
-      <timestamp>2010-12-17T15:23:25Z</timestamp>
-      <contributor>
-        <username>WikiSysop</username>
-        <id>1</id>
-      </contributor>
-      <comment>Redirected page to [[Common/Euro Converter Wizard#bm id3152960]]</comment>
-      <text xml:space="preserve">#REDIRECT [[Common/Euro_Converter_Wizard#bm_id3152960]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>Swriter/54892</title>
-    <id>10</id>
-    <redirect />
-    <revision>
-      <id>43167</id>
-      <timestamp>2010-12-17T15:23:25Z</timestamp>
-      <contributor>
-        <username>WikiSysop</username>
-        <id>1</id>
-      </contributor>
-      <comment>Redirected page to [[Writer/Define Bibliography Entry#bm id3149689]]</comment>
-      <text xml:space="preserve">#REDIRECT [[Writer/Define_Bibliography_Entry#bm_id3149689]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>Common/Size/da</title>
-    <id>87185</id>
-    <revision>
-      <id>131455</id>
-      <timestamp>2011-03-01T17:57:01Z</timestamp>
-      <contributor>
-        <username>WikiSysop</username>
-        <id>1</id>
-      </contributor>
-      <comment>Created page with "{{Lang|Størrelse}} <div id="bm_id3153391"></div> Sæt skriftstørrelsen for den markerede tekst.  Åbn genvejsmenu - vælg '''Størrelse'''"</comment>
-      <text xml:space="preserve">{{Lang|Størrelse}}
-<div id="bm_id3153391"></div>
-Sæt skriftstørrelsen for den markerede tekst.
-
-Åbn genvejsmenu - vælg '''Størrelse'''</text>
-    </revision>
-  </page>
-  <page>
-    <title>Common/Size/zh-TW</title>
-    <id>87186</id>
-    <revision>
-      <id>131456</id>
-      <timestamp>2011-03-01T17:57:02Z</timestamp>
-      <contributor>
-        <username>WikiSysop</username>
-        <id>1</id>
-      </contributor>
-      <comment>Created page with "{{Lang|大小}} <div id="bm_id3153391"></div> 設定所選文字的字型大小。  右鍵功能表'''「大小」'''"</comment>
-      <text xml:space="preserve">{{Lang|大小}}
-<div id="bm_id3153391"></div>
-設定所選文字的字型大小。
-
-右鍵功能表'''「大小」'''</text>
-    </revision>
-  </page>
-  <page>
-    <title>Common/Size/zh-CN</title>
-    <id>87187</id>
-    <revision>
-      <id>131457</id>
-      <timestamp>2011-03-01T17:57:03Z</timestamp>
-      <contributor>
-        <username>WikiSysop</username>
-        <id>1</id>
-      </contributor>
-      <comment>Created page with "{{Lang|大小}} <div id="bm_id3153391"></div> 设置选定文字的字体大小。  打开上下文菜单 - 选择'''大小'''"</comment>
-      <text xml:space="preserve">{{Lang|大小}}
-<div id="bm_id3153391"></div>
-设置选定文字的字体大小。
-
-打开上下文菜单 - 选择'''大小'''</text>
-    </revision>
-  </page>
-  <page>
-    <title>Common/Size/ko</title>
-    <id>87188</id>
-    <revision>
-      <id>131458</id>
-      <timestamp>2011-03-01T17:57:04Z</timestamp>
-      <contributor>
-        <username>WikiSysop</username>
-        <id>1</id>
-      </contributor>
-      <comment>Created page with "{{Lang|크기}} <div id="bm_id3153391"></div> 선택한 텍스트의 글꼴 크기를 설정합니다.  '''크기''' 콘텍스트 메뉴"</comment>
-      <text xml:space="preserve">{{Lang|크기}}
-<div id="bm_id3153391"></div>
-선택한 텍스트의 글꼴 크기를 설정합니다.
-
-'''크기''' 콘텍스트 메뉴</text>
-    </revision>
-  </page>
-  <page>
-    <title>Common/Creating a New Database/sv</title>
-    <id>87189</id>
-    <revision>
-      <id>131459</id>
-      <timestamp>2011-03-01T17:57:05Z</timestamp>
-      <contributor>
-        <username>WikiSysop</username>
-        <id>1</id>
-      </contributor>
-      <comment>Created page with "{{Lang|Skapa en ny databas}} <div id="bm_id6911526"></div> <!-- mw deleted "creating;" -->#Välj '''Arkiv - Nytt - Databas'''.<br/><br/>Då öppnas [[Common/Database_Wizard/sv|Da..."</comment>
-      <text xml:space="preserve">{{Lang|Skapa en ny databas}}
-<div id="bm_id6911526"></div>
-<!-- mw deleted "creating;" -->#Välj '''Arkiv - Nytt - Databas'''.<br/><br/>Då öppnas [[Common/Database_Wizard/sv|Databasguiden]] där du skapar en ny databasfil.<br/>
-#I Databasguiden väljer du typ av databas och du kan välja att öppna Tabellguiden som nästa guide.<br/><br/>I [[Common/Table_Wizard/sv|Tabellguiden]] får du hjälp med att infoga en tabell i den nya databasfilen.<br/>
-
-{{RelatedTopics|[[Common/Database_1/sv|Använda databaser i {{ProductName}} Base]]
-
-[[Common/Database_Overview/sv|Databasöversikt]]
-
-}}</text>
-    </revision>
-  </page>
-  <page>
-    <title>Common/Creating a New Database/da</title>
-    <id>87190</id>
-    <revision>
-      <id>131460</id>
-      <timestamp>2011-03-01T17:57:06Z</timestamp>
-      <contributor>
-        <username>WikiSysop</username>
-        <id>1</id>
-      </contributor>
-      <comment>Created page with "{{Lang|Oprette en ny Database}} <div id="bm_id6911526"></div> <!-- mw deleted "creating;" -->#Vælg '''Filer - Ny(t) - Database'''.<br/><br/>Dette åbner [[Common/Database_Wizard..."</comment>
-      <text xml:space="preserve">{{Lang|Oprette en ny Database}}
-<div id="bm_id6911526"></div>
-<!-- mw deleted "creating;" -->#Vælg '''Filer - Ny(t) - Database'''.<br/><br/>Dette åbner [[Common/Database_Wizard/da|Databaseguiden]], hvor du kan oprette en ny databasefil.<br/>
-#I Databaseguiden vælges typen af database og vælg indstillingen for at åbne Tabelguiden som den næste guide.<br/><br/>[[Common/Table_Wizard/da|Tabelguiden]] hjælper dig med at tilføje en tabel til den nye databasefil.<br/>
-
-{{RelatedTopics|[[Common/Database_1/da|Brug af databaser i {{ProductName}} Base]]
-
-[[Common/Database_Overview/da|Databaseoversigt]]
-
-}}</text>
-    </revision>
-  </page>
-  <page>
-    <title>Common/Creating a New Database/zh-TW</title>
-    <id>87191</id>
-    <revision>
-      <id>131461</id>
-      <timestamp>2011-03-01T17:57:07Z</timestamp>
-      <contributor>
-        <username>WikiSysop</username>
-        <id>1</id>
-      </contributor>
-      <comment>Created page with "{{Lang|建立新的資料庫}} <div id="bm_id6911526"></div> <!-- mw deleted "creating;" -->#選擇 '''[檔案] - [開啟新檔] - [資料庫]'''。<br/><br/>這會開啟[[Common..."</comment>
-      <text xml:space="preserve">{{Lang|建立新的資料庫}}
-<div id="bm_id6911526"></div>

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list