#### Beyond Linux® From Scratch (System V Edition) - Version 12.3

### Chapter 49. Extensible Markup Language (XML)

- Prev

  Extensible Markup Language (XML)

- Next

  docbook-xml-5.0

- Up
- Home

# docbook-xml-4.5

## Introduction to DocBook-4.5 XML DTD

The DocBook-4.5 XML DTD-4.5 package contains document type definitions for verification of XML data files against the DocBook rule set. These are useful for structuring books and software documentation to a standard allowing you to utilize transformations already written for that standard.

This package is known to build and work properly using an LFS 12.3 platform.

### Package Information

- Download (HTTP): https://www.docbook.org/xml/4.5/docbook-xml-4.5.zip

- Download MD5 sum: 03083e288e87a7e829e437358da7ef9e

- Download size: 96 KB

- Estimated disk space required: 1.2 MB

- Estimated build time: less than 0.1 SBU

### DocBook-4.5 XML DTD Dependencies

#### Required

libarchive-3.7.7 and libxml2-2.13.6

## Installation of DocBook-4.5 XML DTD

### Note

The package source is distributed in `zip` format and requires unzip (actually a symlink to bsdunzip from libarchive). You should create a directory and change to that directory before unzipping the file to ease the removal of the source files after the package has been installed.

Install DocBook XML DTD by running the following commands as the `root` user:

    install -v -d -m755 /usr/share/xml/docbook/xml-dtd-4.5 &&
    install -v -d -m755 /etc/xml &&
    cp -v -af --no-preserve=ownership docbook.cat *.dtd ent/ *.mod \
        /usr/share/xml/docbook/xml-dtd-4.5

Create (or update) and populate the `/etc/xml/docbook` catalog file by running the following commands as the `root` user:

    if [ ! -e /etc/xml/docbook ]; then
        xmlcatalog --noout --create /etc/xml/docbook
    fi &&
    xmlcatalog --noout --add "public" \
        "-//OASIS//DTD DocBook XML V4.5//EN" \
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" \
        /etc/xml/docbook &&
    xmlcatalog --noout --add "public" \
        "-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" \
        "file:///usr/share/xml/docbook/xml-dtd-4.5/calstblx.dtd" \
        /etc/xml/docbook &&
    xmlcatalog --noout --add "public" \
        "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
        "file:///usr/share/xml/docbook/xml-dtd-4.5/soextblx.dtd" \
        /etc/xml/docbook &&
    xmlcatalog --noout --add "public" \
        "-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" \
        "file:///usr/share/xml/docbook/xml-dtd-4.5/dbpoolx.mod" \
        /etc/xml/docbook &&
    xmlcatalog --noout --add "public" \
        "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" \
        "file:///usr/share/xml/docbook/xml-dtd-4.5/dbhierx.mod" \
        /etc/xml/docbook &&
    xmlcatalog --noout --add "public" \
        "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" \
        "file:///usr/share/xml/docbook/xml-dtd-4.5/htmltblx.mod" \
        /etc/xml/docbook &&
    xmlcatalog --noout --add "public" \
        "-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" \
        "file:///usr/share/xml/docbook/xml-dtd-4.5/dbnotnx.mod" \
        /etc/xml/docbook &&
    xmlcatalog --noout --add "public" \
        "-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" \
        "file:///usr/share/xml/docbook/xml-dtd-4.5/dbcentx.mod" \
        /etc/xml/docbook &&
    xmlcatalog --noout --add "public" \
        "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" \
        "file:///usr/share/xml/docbook/xml-dtd-4.5/dbgenent.mod" \
        /etc/xml/docbook &&
    xmlcatalog --noout --add "rewriteSystem" \
        "http://www.oasis-open.org/docbook/xml/4.5" \
        "file:///usr/share/xml/docbook/xml-dtd-4.5" \
        /etc/xml/docbook &&
    xmlcatalog --noout --add "rewriteURI" \
        "http://www.oasis-open.org/docbook/xml/4.5" \
        "file:///usr/share/xml/docbook/xml-dtd-4.5" \
        /etc/xml/docbook

Create (or update) and populate the `/etc/xml/catalog` catalog file by running the following commands as the `root` user:

    if [ ! -e /etc/xml/catalog ]; then
        xmlcatalog --noout --create /etc/xml/catalog
    fi &&
    xmlcatalog --noout --add "delegatePublic" \
        "-//OASIS//ENTITIES DocBook XML" \
        "file:///etc/xml/docbook" \
        /etc/xml/catalog &&
    xmlcatalog --noout --add "delegatePublic" \
        "-//OASIS//DTD DocBook XML" \
        "file:///etc/xml/docbook" \
        /etc/xml/catalog &&
    xmlcatalog --noout --add "delegateSystem" \
        "http://www.oasis-open.org/docbook/" \
        "file:///etc/xml/docbook" \
        /etc/xml/catalog &&
    xmlcatalog --noout --add "delegateURI" \
        "http://www.oasis-open.org/docbook/" \
        "file:///etc/xml/docbook" \
        /etc/xml/catalog

## Configuring DocBook-4.5 XML DTD

### Config Files

`/etc/xml/catalog` and `/etc/xml/docbook`

### Configuration Information

### Caution

Various BLFS packages request DocBook XML DTD version 4.x before V4.5, so the following step must be done for those packages to be built successfully.

The above installation creates the files and updates the catalogs. In order to utilize DocBook XML DTD V4.5 when any version 4.x is requested in the System Identifier, you need to add additional statements to the catalog files. If you have any of the DocBook XML DTD's referenced below already installed on your system, remove those entries from the for command below (issue the commands as the `root` user):

    for DTDVERSION in 4.1.2 4.2 4.3 4.4
    do
      xmlcatalog --noout --add "public" \
        "-//OASIS//DTD DocBook XML V$DTDVERSION//EN" \
        "http://www.oasis-open.org/docbook/xml/$DTDVERSION/docbookx.dtd" \
        /etc/xml/docbook
      xmlcatalog --noout --add "rewriteSystem" \
        "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \
        "file:///usr/share/xml/docbook/xml-dtd-4.5" \
        /etc/xml/docbook
      xmlcatalog --noout --add "rewriteURI" \
        "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \
        "file:///usr/share/xml/docbook/xml-dtd-4.5" \
        /etc/xml/docbook
      xmlcatalog --noout --add "delegateSystem" \
        "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \
        "file:///etc/xml/docbook" \
        /etc/xml/catalog
      xmlcatalog --noout --add "delegateURI" \
        "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \
        "file:///etc/xml/docbook" \
        /etc/xml/catalog
    done

## Contents

Installed Programs: None
Installed Libraries: None
Installed Files: DTD, MOD and ENT files
Installed Directories: /etc/xml and /usr/share/xml/docbook/xml-dtd-4.5

### Short Descriptions

`DTD files` | contain a document type definition which defines the element types and the attribute lists that can be used in the corresponding `XML` files
`MOD files` | contain components of the document type definition that are sourced into the `DTD` files
`ENT files` | contain lists of named character entities allowed in HTML

- Prev

  Extensible Markup Language (XML)

- Next

  docbook-xml-5.0

- Up
- Home