···574574 <RET> nixos-rebuild <RET>.</literal>
575575 </para>
576576 </section>
577577+578578+ <section xml:id="sec-emacs-docbook-xml">
579579+ <title>Editing DocBook 5 XML Documents</title>
580580+ <para>
581581+ Emacs includes <link
582582+ xlink:href="https://www.gnu.org/software/emacs/manual/html_node/nxml-mode/Introduction.html">nXML</link>,
583583+ a major-mode for validating and editing XML documents.
584584+ When editing DocBook 5.0 documents, such as
585585+ <link linkend="book-nixos-manual">this one</link>,
586586+ nXML needs to be configured with the relevant schema, which is
587587+ not included.
588588+ </para>
589589+590590+ <para>
591591+ To install the DocBook 5.0 schemas, either add
592592+ <varname>pkgs.docbook5</varname> to
593593+ <varname>environment.systemPackages</varname> (<link
594594+ linkend="sec-declarative-package-mgmt">NixOS</link>), or run
595595+ <literal>nix-env -i pkgs.docbook5</literal>
596596+ (<link linkend="sec-ad-hoc-packages">Nix</link>).
597597+ </para>
598598+599599+ <para>
600600+ Then customize the variable <varname>rng-schema-locating-files</varname> to include <filename>~/.emacs.d/schemas.xml</filename> and put the following text into that file:
601601+ <example xml:id="ex-emacs-docbook-xml">
602602+ <title>nXML Schema Configuration (<filename>~/.emacs.d/schemas.xml</filename>)</title>
603603+ <programlisting language="xml"><![CDATA[
604604+<?xml version="1.0"?>
605605+<!--
606606+ To let emacs find this file, evaluate:
607607+ (add-to-list 'rng-schema-locating-files "~/.emacs.d/schemas.xml")
608608+-->
609609+<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
610610+ <!--
611611+ Use this variation if pkgs.docbook5 is added to environment.systemPackages
612612+ -->
613613+ <namespace ns="http://docbook.org/ns/docbook"
614614+ uri="/run/current-system/sw/share/xml/docbook-5.0/rng/docbookxi.rnc"/>
615615+ <!--
616616+ Use this variation if installing schema with "nix-env -iA pkgs.docbook5".
617617+ <namespace ns="http://docbook.org/ns/docbook"
618618+ uri="../.nix-profile/share/xml/docbook-5.0/rng/docbookxi.rnc"/>
619619+ -->
620620+</locatingRules>
621621+]]></programlisting>
622622+ </example>
623623+ </para>
624624+625625+ </section>
577626</section>
578627579628</chapter>