bookshop 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. data/CHANGELOG +11 -0
  2. data/MIT-LICENSE +1 -1
  3. data/README.rdoc +47 -14
  4. data/bookshop.gemspec +7 -8
  5. data/lib/bookshop/commands/build.rb +66 -3
  6. data/lib/bookshop/generators/bookshop/app/app_generator.rb +12 -1
  7. data/lib/bookshop/generators/bookshop/app/templates/README.rdoc +94 -18
  8. data/lib/bookshop/generators/bookshop/app/templates/book/book.xml +17 -0
  9. data/lib/bookshop/generators/bookshop/app/templates/book/bookinfo.xml +22 -0
  10. data/lib/bookshop/generators/bookshop/app/templates/book/ch00.xml +112 -0
  11. data/lib/bookshop/generators/bookshop/app/templates/book/ch01.xml +194 -0
  12. data/lib/bookshop/generators/bookshop/app/templates/book/ch02.xml +707 -0
  13. data/lib/bookshop/generators/bookshop/app/templates/book/ch03.xml +2224 -0
  14. data/lib/bookshop/generators/bookshop/app/templates/book/covers/.svn/all-wcprops +11 -0
  15. data/lib/bookshop/generators/bookshop/app/templates/book/covers/.svn/entries +62 -0
  16. data/lib/bookshop/generators/bookshop/app/templates/book/covers/.svn/prop-base/cover.jpg.svn-base +9 -0
  17. data/lib/bookshop/generators/bookshop/app/templates/book/covers/.svn/text-base/cover.jpg.svn-base +0 -0
  18. data/lib/bookshop/generators/bookshop/app/templates/book/covers/cover.jpg +0 -0
  19. data/lib/bookshop/generators/bookshop/app/templates/book/covers/cover.pdf +4310 -13
  20. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/all-wcprops +197 -0
  21. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/entries +1116 -0
  22. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/callouts.png.svn-base +9 -0
  23. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/characterTool.png.svn-base +9 -0
  24. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/commentview.png.svn-base +9 -0
  25. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/docbook_duck.png.svn-base +9 -0
  26. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/editReferenced.png.svn-base +9 -0
  27. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/elementbar.png.svn-base +9 -0
  28. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/figureInsert.png.svn-base +9 -0
  29. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/figurePickFile2.png.svn-base +9 -0
  30. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/fileref.png.svn-base +9 -0
  31. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/hyperlink_print.png.svn-base +9 -0
  32. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/hyperlink_web.png.svn-base +9 -0
  33. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/insertcomment.png.svn-base +9 -0
  34. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/keyCapWrap.png.svn-base +9 -0
  35. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/lineannotations.png.svn-base +9 -0
  36. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/linkFlow.png.svn-base +9 -0
  37. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/linkend.png.svn-base +9 -0
  38. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/promotedemote.png.svn-base +9 -0
  39. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/search.png.svn-base +9 -0
  40. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/secMenu.png.svn-base +9 -0
  41. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/spell.png.svn-base +9 -0
  42. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/svn_workflow_ongoing.png.svn-base +9 -0
  43. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/svn_workflow_setup.png.svn-base +9 -0
  44. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/tableID.png.svn-base +9 -0
  45. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/tableInsert.png.svn-base +9 -0
  46. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/treeView.png.svn-base +9 -0
  47. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/ulink.png.svn-base +9 -0
  48. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/universal_design_for_web_applications_cover.png.svn-base +5 -0
  49. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/untitled.png.svn-base +9 -0
  50. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/urlAttribute.png.svn-base +9 -0
  51. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/validation.png.svn-base +9 -0
  52. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/viewMenu.png.svn-base +9 -0
  53. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/prop-base/windowPrefs.png.svn-base +9 -0
  54. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/callouts.png.svn-base +0 -0
  55. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/characterTool.png.svn-base +0 -0
  56. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/commentview.png.svn-base +0 -0
  57. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/docbook_duck.png.svn-base +0 -0
  58. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/editReferenced.png.svn-base +0 -0
  59. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/elementbar.png.svn-base +0 -0
  60. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/figureInsert.png.svn-base +0 -0
  61. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/figurePickFile2.png.svn-base +0 -0
  62. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/fileref.png.svn-base +0 -0
  63. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/hyperlink_print.png.svn-base +0 -0
  64. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/hyperlink_web.png.svn-base +0 -0
  65. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/insertcomment.png.svn-base +0 -0
  66. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/keyCapWrap.png.svn-base +0 -0
  67. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/lineannotations.png.svn-base +0 -0
  68. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/linkFlow.png.svn-base +0 -0
  69. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/linkend.png.svn-base +0 -0
  70. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/promotedemote.png.svn-base +0 -0
  71. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/search.png.svn-base +0 -0
  72. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/secMenu.png.svn-base +0 -0
  73. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/spell.png.svn-base +0 -0
  74. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/svn_workflow_ongoing.png.svn-base +0 -0
  75. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/svn_workflow_setup.png.svn-base +0 -0
  76. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/tableID.png.svn-base +0 -0
  77. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/tableInsert.png.svn-base +0 -0
  78. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/treeView.png.svn-base +0 -0
  79. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/ulink.png.svn-base +0 -0
  80. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/universal_design_for_web_applications_cover.png.svn-base +0 -0
  81. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/untitled.png.svn-base +0 -0
  82. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/urlAttribute.png.svn-base +0 -0
  83. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/validation.png.svn-base +0 -0
  84. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/viewMenu.png.svn-base +0 -0
  85. data/lib/bookshop/generators/bookshop/app/templates/book/figs/.svn/text-base/windowPrefs.png.svn-base +0 -0
  86. data/lib/bookshop/generators/bookshop/app/templates/book/{images → figs}/bluehead_logo.gif +0 -0
  87. data/lib/bookshop/generators/bookshop/app/templates/book/figs/callouts.png +0 -0
  88. data/lib/bookshop/generators/bookshop/app/templates/book/figs/characterTool.png +0 -0
  89. data/lib/bookshop/generators/bookshop/app/templates/book/figs/commentview.png +0 -0
  90. data/lib/bookshop/generators/bookshop/app/templates/book/figs/docbook_duck.png +0 -0
  91. data/lib/bookshop/generators/bookshop/app/templates/book/{images → figs}/draft.png +0 -0
  92. data/lib/bookshop/generators/bookshop/app/templates/book/figs/editReferenced.png +0 -0
  93. data/lib/bookshop/generators/bookshop/app/templates/book/figs/elementbar.png +0 -0
  94. data/lib/bookshop/generators/bookshop/app/templates/book/figs/figureInsert.png +0 -0
  95. data/lib/bookshop/generators/bookshop/app/templates/book/figs/figurePickFile2.png +0 -0
  96. data/lib/bookshop/generators/bookshop/app/templates/book/figs/fileref.png +0 -0
  97. data/lib/bookshop/generators/bookshop/app/templates/book/figs/hyperlink_print.png +0 -0
  98. data/lib/bookshop/generators/bookshop/app/templates/book/figs/hyperlink_web.png +0 -0
  99. data/lib/bookshop/generators/bookshop/app/templates/book/figs/insertcomment.png +0 -0
  100. data/lib/bookshop/generators/bookshop/app/templates/book/figs/keyCapWrap.png +0 -0
  101. data/lib/bookshop/generators/bookshop/app/templates/book/figs/lineannotations.png +0 -0
  102. data/lib/bookshop/generators/bookshop/app/templates/book/figs/linkFlow.png +0 -0
  103. data/lib/bookshop/generators/bookshop/app/templates/book/figs/linkend.png +0 -0
  104. data/lib/bookshop/generators/bookshop/app/templates/book/figs/promotedemote.png +0 -0
  105. data/lib/bookshop/generators/bookshop/app/templates/book/figs/search.png +0 -0
  106. data/lib/bookshop/generators/bookshop/app/templates/book/figs/secMenu.png +0 -0
  107. data/lib/bookshop/generators/bookshop/app/templates/book/figs/spell.png +0 -0
  108. data/lib/bookshop/generators/bookshop/app/templates/book/figs/svn_workflow_ongoing.png +0 -0
  109. data/lib/bookshop/generators/bookshop/app/templates/book/figs/svn_workflow_setup.png +0 -0
  110. data/lib/bookshop/generators/bookshop/app/templates/book/figs/tableID.png +0 -0
  111. data/lib/bookshop/generators/bookshop/app/templates/book/figs/tableInsert.png +0 -0
  112. data/lib/bookshop/generators/bookshop/app/templates/book/figs/treeView.png +0 -0
  113. data/lib/bookshop/generators/bookshop/app/templates/book/figs/ulink.png +0 -0
  114. data/lib/bookshop/generators/bookshop/app/templates/book/figs/universal_design_for_web_applications_cover.png +0 -0
  115. data/lib/bookshop/generators/bookshop/app/templates/book/figs/untitled.png +0 -0
  116. data/lib/bookshop/generators/bookshop/app/templates/book/figs/urlAttribute.png +0 -0
  117. data/lib/bookshop/generators/bookshop/app/templates/book/figs/validation.png +0 -0
  118. data/lib/bookshop/generators/bookshop/app/templates/book/figs/viewMenu.png +0 -0
  119. data/lib/bookshop/generators/bookshop/app/templates/book/figs/windowPrefs.png +0 -0
  120. data/lib/bookshop/generators/bookshop/app/templates/stylesheets/html-stylesheet.xsl.tt +1 -1
  121. data/lib/bookshop/generators/bookshop/app/tools/java/epubcheck-1.2.jar +0 -0
  122. data/lib/bookshop/generators/bookshop/app/tools/java/lib/jing.jar +0 -0
  123. data/lib/bookshop/generators/bookshop/app/tools/java/lib/saxon.jar +0 -0
  124. data/lib/bookshop/generators/bookshop/app/tools/java/serializer.jar +0 -0
  125. data/lib/bookshop/generators/bookshop/app/tools/java/xalan.jar +0 -0
  126. data/lib/bookshop/generators/bookshop/app/tools/java/xercesImpl.jar +0 -0
  127. data/lib/bookshop/generators/bookshop/app/tools/java/{xml-apis-1.3.04.jar → xml-apis.jar} +0 -0
  128. data/lib/bookshop/generators/bookshop/app/tools/java/xsltc.jar +0 -0
  129. data/lib/bookshop/generators/bookshop/app/tools/kindle/kindlegen +0 -0
  130. data/lib/bookshop/version.rb +1 -1
  131. metadata +134 -26
  132. data/lib/bookshop/generators/bookshop/app/templates/book/book.xml.tt +0 -93
  133. data/lib/bookshop/generators/bookshop/app/templates/book/ch01_put_short_title_here.xml +0 -28
  134. data/lib/bookshop/generators/bookshop/app/templates/book/dedication.xml +0 -10
  135. data/lib/bookshop/generators/bookshop/app/templates/builds/html/.empty_directory +0 -0
  136. data/lib/bookshop/generators/bookshop/app/tools/java/serializer-2.7.0.jar +0 -0
  137. data/lib/bookshop/generators/bookshop/app/tools/java/xalan-2.7.0.jar +0 -0
  138. data/lib/bookshop/generators/bookshop/app/tools/java/xercesImpl-2.7.1.jar +0 -0
@@ -0,0 +1,194 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
4
+ <chapter id="picking_an_xml_editor">
5
+ <title>Picking an Editor</title>
6
+
7
+ <sect1 id="which_xml_editor_should_i_use">
8
+ <title>Which Editor Should I Use?</title>
9
+
10
+ <para>Bookshop is built with coding in mind. At BlueHead Publishing we
11
+ prefer to use a standard text editor rather than rely on the bells &#38; whistles of
12
+ a full-blown XML Editor. We like our validation, testing, and other functionality to
13
+ be independent of the choice of editor. Hence that all happens on the command
14
+ line.</para>
15
+
16
+ <para>You can use whichever one you like. We recommend TextMate, but if you
17
+ are a die-hard terminal coder then by all means use Vim or Emacs.</para>
18
+
19
+ <para>There is a fairly complete list of authoring tools available on the
20
+ <ulink
21
+ url="http://wiki.docbook.org/topic/DocBookAuthoringTools">DocBook
22
+ wiki</ulink>. Here are some options:</para>
23
+
24
+
25
+ <variablelist>
26
+ <varlistentry>
27
+ <term><ulink
28
+ url="http://www.oxygenxml.com/download_oxygenxml_author.html">TextMate</ulink></term>
29
+
30
+ <listitem>
31
+ <para>We're a big fan. Some of our reasons:</para>
32
+
33
+ <itemizedlist>
34
+ <listitem>
35
+ <para>Simple, clean, and to the point.</para>
36
+ </listitem>
37
+
38
+ <listitem>
39
+ <para>TextMate 'Bundles' provide extra functionality for coding happiness</para>
40
+ </listitem>
41
+
42
+ <listitem>
43
+ <para>Code completion and snippets</para>
44
+ </listitem>
45
+ </itemizedlist>
46
+ </listitem>
47
+ </varlistentry>
48
+
49
+
50
+ <varlistentry>
51
+ <term><ulink
52
+ url="http://www.oxygenxml.com/download_oxygenxml_author.html">oXygen
53
+ XML Author</ulink></term>
54
+
55
+ <listitem>
56
+ <para>O'Reilly recommends the oXygen XML Author. Some reasons they list are:</para>
57
+
58
+ <itemizedlist>
59
+ <listitem>
60
+ <para>Validation on the fly</para>
61
+ </listitem>
62
+
63
+ <listitem>
64
+ <para>Built-in SVN client</para>
65
+ </listitem>
66
+
67
+ <listitem>
68
+ <para>Both text editor and word processing–type views</para>
69
+ </listitem>
70
+
71
+ <listitem>
72
+ <para>Now supports <ulink role="orm:hideurl"
73
+ url="http://www.oxygenxml.com/xinclude_support.html"><literal>XInclude</literal>s</ulink>
74
+ by default</para>
75
+ </listitem>
76
+ </itemizedlist>
77
+ </listitem>
78
+ </varlistentry>
79
+
80
+ <varlistentry>
81
+ <term><ulink url="http://www.xmlmind.com/xmleditor/">XMLmind XML
82
+ Editor (XXE)</ulink></term>
83
+
84
+ <listitem>
85
+ <para>The production editors at O’Reilly continue to favor XXE for
86
+ its word processor–like interface and ease of use. Some of the
87
+ advantages of using XXE include:</para>
88
+
89
+ <itemizedlist>
90
+ <listitem>
91
+ <para>Validation on the fly</para>
92
+ </listitem>
93
+
94
+ <listitem>
95
+ <para>GUI interface is similar to other popular word-processing
96
+ programs</para>
97
+ </listitem>
98
+
99
+ <listitem>
100
+ <para>O’Reilly-customized CSS and keyboard shortcuts, which may
101
+ enhance the manuscript writing process</para>
102
+ </listitem>
103
+ </itemizedlist>
104
+
105
+ <para>More details on using XXE can be found in O’Reilly’s “XXE
106
+ Tutorial” (<filename
107
+ role="keep-together">xxe_tutorial.pdf</filename>).<remark> [Add a
108
+ link to this document once it’s live.]</remark></para>
109
+ </listitem>
110
+ </varlistentry>
111
+
112
+ <varlistentry>
113
+ <term><ulink url="http://www.pinkjuice.com/howto/vimxml/">Vim with key
114
+ bindings</ulink></term>
115
+
116
+ <listitem>
117
+ <para>The <ulink url="http://www.pinkjuice.com/howto/vimxml/">“Vim
118
+ as XML Editor” tutorial</ulink> helps you customize <ulink
119
+ url="http://www.vim.org/">Vim</ulink> so it can function as an XML
120
+ editor. Vim lets you map keys to execute frequently used key
121
+ sequences or to invoke functions and commands, which means you can
122
+ map DocBook element entries to key bindings. The advantages of using
123
+ Vim with key bindings are that you don’t have to learn a new editor
124
+ if you already know Vim; it’s fast and available for many platforms;
125
+ and it offers a vast range of functionality for text editing. The
126
+ disadvantages are that it offers no validation on the fly, no
127
+ WYSIWYG view, and no tree view. More resources <ulink
128
+ url="http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-_Tutorial_%28Part_1%29">here</ulink>
129
+ and <ulink
130
+ url="http://vimdoc.sourceforge.net/htmldoc/map.html">here</ulink>.</para>
131
+ </listitem>
132
+ </varlistentry>
133
+
134
+ <varlistentry>
135
+ <term><ulink url="http://www.thaiopensource.com/nxml-mode/">Emacs nXML
136
+ mode</ulink></term>
137
+
138
+ <listitem>
139
+ <para>nXML mode is an XML editing module for the Emacs text editor.
140
+ Like Vim with key bindings, the big advantage is that all your
141
+ favorite Emacs text editing commands can be used with nXML mode
142
+ without restriction, saving you from having to learn a new editor.
143
+ It shares some downsides with Vim: no WYSIWYG view and no tree view.
144
+ However, nXML does provide a mechanism for <ulink
145
+ url="http://www.xmlhack.com/read.php?item=2061#id5374822">identifying
146
+ validity errors</ulink> (though if you’re using
147
+ <literal>XInclude</literal>s, enabling validation on the fly
148
+ requires some <ulink
149
+ url="http://www.xmlhack.com/read.php?item=2061#id5374990">extra
150
+ config</ulink>) as well as customizable <ulink
151
+ url="http://www.xmlhack.com/read.php?item=2061#id5374990">syntax
152
+ highlighting</ulink>. Get more information on nXML mode <ulink
153
+ url="http://www.emacswiki.org/cgi-bin/wiki?UsingNxmlModeWithDocBook">here</ulink>.</para>
154
+ </listitem>
155
+ </varlistentry>
156
+ </variablelist>
157
+
158
+ <para>The choice of editor is yours, but we urge you to use an XML editor
159
+ that will help you maintain valid DocBook 4.5 as you go. <ulink
160
+ url="http://www.sagehill.net/docbookxsl/ToolsSetup.html#Validation">Validation</ulink>
161
+ is not difficult (see <xref linkend="validating_your_xml" />). Please keep
162
+ in mind that invalid documents will not be accepted into
163
+ Production.</para>
164
+ </sect1>
165
+
166
+ <sect1>
167
+ <title>Will What I See in the XML Editor Mirror the PDF? Other Electronic
168
+ <phrase role="keep-together">Formats</phrase>?</title>
169
+
170
+ <para>DocBook markup specifies the structure and semantics of your
171
+ document, but not the appearance. DocBook isn’t a WYSIWYG format, so it
172
+ will display differently in your XML editor than it will after rendering
173
+ to PDF and other formats downstream. This not only means that fonts and
174
+ formatting will display differently, but line breaks may differ as
175
+ well.</para>
176
+
177
+ <para>The O’Reilly toolchains that transform your DocBook into its final
178
+ form (both print and downstream electronic formats) rely on semantic XML
179
+ tags that you apply to the elements of your text. For PDFs, those tags are
180
+ processed in combination with <phrase
181
+ role="keep-together">customized</phrase> XSL-FO stylesheets and a
182
+ commercial FO to PDF processor to render your content into a PDF. (The
183
+ XSL-FO stylesheets are similar to a CSS stylesheet for HTML, in that they
184
+ set up how each element and attribute in your book will look when rendered
185
+ as a PDF.) See <xref linkend="triggering_pdf_builds" /> for more
186
+ information. Downstream digital channels (such as <ulink
187
+ role="orm:hideurl"
188
+ url="http://my.safaribooksonline.com/?portal=oreilly">Safari Books
189
+ Online</ulink> and <ulink role="orm:hideurl"
190
+ url="http://oreilly.com">oreilly.com</ulink>) use the XML tags analogously
191
+ (but via different toolchains) to transform or render your content for
192
+ their own presentation formats.</para>
193
+ </sect1>
194
+ </chapter>