* - means zero or more of these elements can be used.
+ - means one or more of these elements can be used.
book + title - Book's title (prints) book-info - Meta info about the book (prints on copyright page) author * - Book's author (prints) copyright - Copyright date and holder (prints) style-info - Control what is printed and how def-content * - Controls what content prints def-draft * - Controls what draft items print def-print * - Control the print output story-info - Meta info related to the story's content def-when - define the absolute time for relative time refs def-thread + - different threads def-who + - different characters (optional) chapter + - One or more chapters title - chapter title unit * - a scene or sequel - Print a blank line between each title - Draft print only thread * - def-thread id, and def-who id for viewpoint para * - block format p * - narrative paragraph, indented. s * - A character says something, def-who id t * - A thought by a character, def-who
book + title - Book's title (prints) subtitle - (optional) title-abbrev - printed in page head (optional) book-info - Meta info about the book (prints on copyright page) author * - Book's author (prints) pub-date - first publish date copyright - Copyright date and holder (prints) release-info - version control vars. (draft prints) biblio-id * - ISBN, URLs, etc (optional, prints) abstract - usually legal disclaimers (optional) style-info - Control what is printed and how def-content * - Controls what content prints def-draft * - Controls what draft items print def-print * - Control the print output story-info - Meta info related to the story's content def-when - define the absolute time for relative time refs def-thread + - different threads def-who + - different characters (optional) def-where * - scene/sequel locations (optional) ch-preface * - Common preface for, multi file output (optional) preface - Book's preface (optional). Prints after TOC chapter + - One or more chapters title - chapter title subtitle - (optional) title-abbrev - may be printed in page head (optional) chapter-info - Chapter meta info, used in draft outputs release-info pub-date prolog - Chapter preface (optional) para * - block format p * - indented pre * - preformatted text unit * - a scene or sequel - Print a blank line between each title - Draft print only outline - Outline comments, draft print only (optional) when - date/time, duration where - Location of scene or sequel (def-where) who - Characters present (def-who) description - summary, goal/disaster/reaction para * - block format p * - indented pre * - preformatted text thread * - def-thread id, and def-who id for viewpoint para * - block format p * - narrative paragraph, indented. s * - A character says something, def-who id t * - A thought by a character, def-who postlog - Chapter epilogue (optional) para * - block format p * - indented pre * - preformatted text epilog - Book's epilogue (optional)
condition
Currently, this attribute has no effect.
id
lang
Currently, this attribute has no effect.
revision
The def-content defines what will be printed, based on the setting of this attribue for each element. If it is not defined "final" is assumed.
revisonflag
changed - in draft mode this text will print blue underline.
added - in draft mode this text will print green underline.
delete - in draft mode this text will print red strike-through In non-draft mode, deleted text won't be printed.
idref or ref
idrefs or refs
<para>
<p>
<s>
<t>
<b>
<i>
<tt>
<rev>
The complete annotated story.dtd (Document Type Definition) can be found here. This describes all elements, and attributes.
Click on the element or entity name to see it's definition. Click on the '+' character, to see where it is used.
The sample files will show the complete use of the xml structure.
<?xml version="1.0"?> <!DOCTYPE story-xml [ <!ENTITY book1 SYSTEM "book1.xml"> <!ENTITY ch1 SYSTEM "ch1.xml"> <!ENTITY ch2 SYSTEM "ch2.xml"> <!ENTITY gpl "GNU General Public License"> ]> <content> &book1; &ch1; &ch2; </content>
A general text editor, such as VI or EMACS can be used to create the story-xml file, but xml authoring tools will use the DTD to help keep the structure "valid" and they will help with generating the required elements and attributes.
This is a complete authoring and publishing tool. It can be easily configured to use the story-xml DTD, and it's PDF formatting styles.
TBD: Installing and this tool, for use with story-xml...
This a more general purpose XML tool.
TBD: Installing and this tool, for use with story-xml...
xlstproc is used generate the html files, html draft files, time-line files, and docbook xml files. It is also used to generate "fo" files, which are input to the PDF rendering programs.
This is a free tool for generating PDF files.
This tool will generate PDF files and the fonts can be "embedded" so that the PDF file can be used with publish-on-demand services like lulu.com
There is a free version of this tool, but it marks the bottom of the page with it's trademark. There are personal versions available for a reasonable cost.
To generate the different output formats, run the "story-fmt" program, with one (or more) of the options followed by the input file name.
/opt/story-xml/bin/story-fmt -html -draft -chapter -fo -fop -renderx -project -docbook -style NAME -input FILE.xml
-html (default)
-draft html
chapter
-fo
-fop (pdf)
-renderx (pdf)
-project
-docbook
-sytle NAME
-input FILE.xml
PATH=$PATH:/opt/story-xml/bin cp /opt/story-xml/doc/sample/ebook-20869-h.xml . story-fmt -html -draft -fop -input ebook-20869-h.xml