This is the Novdoc and Geekodoc schemas. Although Novdoc is technically not based on DocBook the tags and structure are.
In general, XML instances of Novdoc should be compatible to DocBook.
GeekoDoc is a RELAX NG schema and a subset of DocBook 5. Currently, it can be used in two variants:
- As the file
geekodoc5.rn{c,g}
which is based ondocbookxi.rn{c,g}
. In other words, the GeekoDoc schema cannot life without the DocBook schema. - As a single
geekodoc5-flat.rn{c,g}
. This file is independant from the DocBook schema and can be used without having DocBook 5 installed on your system.
Both variants contain the same structure, elements, and attributes. They serve different purposes.
Creating the flat GeekoDoc schema requires the rnginline
tool at
https://github.com/h4l/rnginline/
Use one of the following methods to install rnginline
:
- Install from an RPM package
- Install it in a Python virtual environment
The following procedure can be used for openSUSE Leap 42.1:
-
Add the repository:
$ sudo zypper ar http://download.opensuse.org/repositories/home:/thomas-schraitle/openSUSE_Leap_42.1/home:thomas-schraitle.repo
-
Install it:
$ sudo zypper in python3-rnginline
The executable can be found in /usr/bin/rnginline
.
-
Install the RPM packages
python3-devel
,libxml2-devel
, andlibxslt-devel
. -
Create a Python3 virtual environment:
$ python3 -m venv .env3
-
Activate the virtual environment:
$ source .env3/bin/activate
=> You should see a changed prompt (look for the "(.env3)" part).
-
Install the
rnginline
library from PyPi:$ pip install rnginline
The executable can be found in .env3/bin/rnginline
.
-
Update your GitHub repository.
-
Convert the official compact version into the XML version with trang:
$ trang geekodoc.rnc geekodoc5.rng
-
Create the flat RNG version:
$ rnginline geekodoc5.rng geekodoc5-flat.rng
-
Optional: Cleanup and remove unnecessary namespaces:
$ mv geekodoc5-flat.rng _flat.rng $ xmllint -o geekodoc5-flat.rng --nsclean --format flat.rng $ rm _flat.rng
-
Optional: Create the compact version:
$ trang geekodoc5-flat.rng geekodoc5-flat.rnc