Getting Productive with XMLMind
Pages: 1, 2, 3, 4, 5, 6, 7, 8
DocBook Structural Elements
Most documents of any size will have structure, and if you're bothering to consider DocBook as a format, your document almost certainly qualifies. There's good support for rich structure in the format and in XMLmind. You start by adding a new section using the Section menu:

When working with DocBook, the general, nestable section choice seems to be the only one readily available, and I find myself unable to predict when it will add a section at the same level as the current one I'm working on, or a subsection, or something else. Luckily, it doesn't matter much because it's easy to use DocBook -> Promote and DocBook -> Demote to adjust it to the right level. (You'll be able to tell because of both how big the heading is, and how many subsection numbers it contains.) The DocBook menu also gives you ways to move sections up and down. These options only work if you have the actual elements selected (as opposed to a #text pseudoelement). The Move Up and Move Down functions can be used to move elements past each other in general, although they're most often useful for moving sections around. Promote and Demote are available in fewer contexts, although as you'll see there's at least one instance where they're quite useful even when you don't have a section element selected.
It would be nice to be able to use the editor's normal tools for splitting and joining XML elements to split and merge DocBook sections, but that doesn't seem to be an option, so you need to resort to some trickery when you need to perform this kind of surgery.
To split an existing section, all you need to do is select the paragraph that you want to begin the new section or subsection (use the Node path or Control-Up until the whole para element is selected), and then choose DocBook -> Promote if you want the paragraph to start a new section at the same level as the section it's part of, or DocBook -> Demote if you want it to become the first paragraph of a subsection.
If you don't want to think too hard, you can always manually cut and paste all the children into one section and then delete the other. If there are a lot of children to move, this gets tedious quickly, so we've found a trick that can save steps:
- Make sure the two sections you want to join are adjacent to each other, with the one you want to keep before the one you want to get rid of (this is mostly so these instructions make sense; once you get the hang of how this really works you can be more flexible).
-
Select the first one (use the Node path or Control-Up until the whole
sectionelement is selected). - Now the tricky parts begin: Choose Select -> Select All Children (you'll see a bunch of selection boxes around all the individual elements that make up that section).
- Choose Edit -> Copy(you can't cut a complex selection like this, so we'll come back and delete it later).
-
Select the
titleelement of the second section you want to join (click on it and use Node path or Control-Up until thetitleelement is selected). -
You can now choose Edit -> Paste (because the first item in your complex multiple-selection copy, being the
titleof the firstsection, is the same type as the item you now have selected, the operation is legal). This will replace the second section's title with the first section's title, and insert all the other elements of the first section at the beginning of the second section. Congratulations, you've just merged the sections. - Now select the entire first section again and delete it (because you couldn't cut in step 4).
This seems a little bizarre, but provides an interesting illustration of the subtleties of the ways selections, copy and paste work in XMLmind. Once you develop a deep understanding of how this trick works, you'll be able to come up with similar tricks to efficiently accomplish other goals. And then maybe you should get a job at Pixware...