+Provided at least one toplevel result element belongs to the H·T·M·L
+ namespace, ⛩📰 书社 will wrap the final output of the transforms in
+ appropriate `<html:html>` and `<html:body>` elements, so it is not
+ necessary for transforms to do this explicitly.
+If a toplevel result element _is_ a `<html:html>` and `<html:body>`
+ element, it will be merged with the one that ⛩📰 书社 creates.
+Consequently, wrapping the result in a `<html:body>` element can be
+ used to enable wrapping for non‐H·T·M·L content, when desired.
+
+As a part of this process, after performing the initial transform
+ ⛩📰 书社 will match in the following modes to fill in areas of the
+ wrapper :—
+
+- **`书社:header`:**
+ The result of matching in this mode is prepended into the
+ `<html:body>` of the output (before the transformation result).
+
+- **`书社:footer`:**
+ The result of matching in this mode is appended into the
+ `<html:body>` of the output (after the transformation result).
+
+- **`书社:metadata`:**
+ The result of matching in this mode is inserted into the
+ `<html:head>` of the output.
+
+The document being matched will contain the full transform result
+ prior to wrapping as well as an `<书社:id>` element for each
+ transform.
+The latter elements can be matched to enable transforms to provide
+ content _without_ matching any elements in the result; for example,
+ the following transform adds a link to a stylesheet to the
+ `<html:head>` of every page :—
+
+```xml
+<?xml version="1.0"?>
+<transform
+ xmlns="http://www.w3.org/1999/XSL/Transform"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ xmlns:xslt="http://www.w3.org/1999/XSL/Transform"
+ xmlns:书社="urn:fdc:ladys.computer:20231231:Shu1She4"
+ exclude-result-prefixes="书社"
+ version="1.0"
+>
+ <书社:id>example:add-stylesheet-links.xslt</书社:id>
+ <template match="书社:id[string(.)='example:add-stylesheet-links.xslt']" mode="书社:metadata">
+ <html:link rel="stylesheet" type="text/css" href="/style.css"/>
+ </template>
+</transform>
+```
+
+Output wrapping can be entirely disabled by adding a
+ `@书社:disable-output-wrapping` attribute to the top‐level element in
+ the result tree.
+It will not be performed on outputs whose root elements are
+ `<书社:archive>`, `<书社:base64-binary>`, or `<书社:raw-text>`
+ (described below), or on result trees which do not contain a toplevel
+ element in the H·T·M·L namespace.
+
+## Applying Attributes
+
+The `<书社:apply-attributes>` element will apply any attributes on the
+ element to the element(s) it wraps.
+It is especially useful in combination with embeds.
+
+The `<书社:apply-attributes-to-root>` element will apply any attributes
+ on the element to the root node of the final transformation result.
+It is especially useful in combination with output wrapping.
+
+In both cases, attributes from various sources are combined with
+ white·space between them.
+Attribute application takes place after each stage of the
+ transformation, including after the initial embedding phase.
+
+Both elements ignore attributes in the `xml:` name·space, except for
+ `@xml:lang`, which ignores all but the first definition (including
+ any already present on the root element).
+On H·T·M·L and S·V·G elements, `@lang` has the same behaviour as
+ `@xml:lang`.
+
+## Other Kinds of Output
+
+There are a few special elements in the `书社:` name·space which, if
+ they appear as the toplevel element in a transformation result, cause
+ ⛩📰 书社 to produce something other than an X·M·L file.
+They are :—
+
+- **`<书社:archive>`:**
+ Each child element with a `@书社:archived-as` attribute will be
+ archived as a separate file in a resulting tarball (this attribute
+ gives the file name).
+ These elements will be processed the same as the root elements of any
+ other file (e·g, they will be wrapped; they can themselves specify
+ non X·M·L output types, ⁊·c).
+ Other child elements will be ignored.
+
+ If the `<书社:archive>` element is given an `@书社:expanded`
+ attribute, rather than producing a tarball ⛩📰 书社 will output
+ the directory which expanding the tarball would produce.
+ This mechanism can be used to generate multiple files from a single
+ source, provided all of the files are contained with·in the same
+ directory.
+
+- **`<书社:base64-binary>`:**
+ The text nodes in the transformation result will, after removing all
+ Ascii whitespace, be treated as a Base·64 string, which is then
+ decoded.
+
+- **`<书社:raw-text>`:**
+ A plaintext (U·T·F‐8) file will be produced from the text nodes in
+ the transformation result.