... | ... | @@ -13,8 +13,47 @@ good old master files from an XML configuration. Makefile contains an |
|
|
| `absolute-only` | use absolute domain names everywhere | 0 |
|
|
|
| `owner-width` | width of the owner field in the output | 21 |
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
A master file can be generated for any single zone that has an entry
|
|
|
in the `zone` list by using any XSLT 1.0 processor. The name of zone
|
|
|
to process is passed as the `zone-name` parameter, and `class`
|
|
|
parameter also has to be added for non-IN zones.
|
|
|
|
|
|
If no `zone-name` parameter is given, then the first zone in the list
|
|
|
of the given class is used.
|
|
|
|
|
|
The ubiquitous [xsltproc][] processor can be invoked like this:
|
|
|
|
|
|
```
|
|
|
xsltproc --stringparam zone-name "example.com" xslt/master zones.xml
|
|
|
```
|
|
|
|
|
|
### Default Values
|
|
|
|
|
|
The data model defines default values for a couple of parameters. For
|
|
|
example, the only permitted value of NSEC3 hash algorithm is `SHA-1`,
|
|
|
so the data model defines this value as the default and this parameter
|
|
|
needn't be present in a configuration
|
|
|
|
|
|
Before generating the master file, in most cases it will be useful to
|
|
|
augment the XML configuration with default values that are contained
|
|
|
in a DSRL schema (one of the DSDL schemas generated from the
|
|
|
YANG data model). The Makefile shows an example how to perform both
|
|
|
steps in one shell pipeline, see the [master][L65] target.
|
|
|
|
|
|
### Domain names
|
|
|
|
|
|
The stylesheet defines the `$ORIGIN` control entry at the top of the
|
|
|
generated master file to be the name of the zone, and it's never
|
|
|
changed later in the file.
|
|
|
|
|
|
By default, the stylesheet applies rules of sec. 5.1 in [RFC 1035][]
|
|
|
and translates absolute names from the configuration into relative
|
|
|
ones, and replaces the origin with the symbol `@`. If this is not
|
|
|
desired, stylesheet parameter `absolute-only` can be set to 1.
|
|
|
|
|
|
[master]: https://gitlab.labs.nic.cz/llhotka/zone-data-yang/blob/master/xslt/master.xsl
|
|
|
[L65]: https://gitlab.labs.nic.cz/llhotka/zone-data-yang/blob/master/Makefile#L65
|
|
|
[xsltproc]: http://xmlsoft.org/XSLT/xsltproc2.html
|
|
|
[RFC 1035]: https://tools.ietf.org/html/rfc1035 |