| Acknowledgments | XIII |
| Introduction | XV |
I | Understanding SVG | |
1 | The SVG Standard | 3 |
| Bringing Vector Graphics to the Web | 7 |
| A Hypothetical SVG Application | 8 |
| SVG's Potential Impact | 13 |
| Advantages of SVG | 15 |
| Advantages of Quality and Performance | 15 |
| SVG and Data-Driven Graphics | 17 |
| SVG and Interactive Graphics | 19 |
| SVG and Personalized Graphics | 19 |
| Potential Applications | 21 |
| Conclusion | 23 |
2 | Understanding XML | 25 |
| Just Enough XML | 27 |
| XML versus HTML | 27 |
| XML's Advantages over HTML | 30 |
| Understanding XML and Style Sheets | 33 |
| Understanding Namespaces | 40 |
| Looking Under the Hood at SVG Files | 42 |
| The Primary Tags, Including [left angle bracket]svg[right angle bracket], [left angle bracket]g[right angle bracket], [left angle bracket]text[right angle bracket], and [left angle bracket]style[right angle bracket] | 42 |
| Some Simple Examples of SVG | 44 |
| Creating and Displaying an SVG File | 47 |
II | Creating SVG Graphics | |
3 | Creating SVG Images with Jasc WebDraw | 53 |
| About Illustration Software | 55 |
| WebDraw Basics | 55 |
| The WebDraw Workspace | 56 |
| Working with WebDraw's Tools | 65 |
| Working with SVG Images in WebDraw | 68 |
| Opening SVG Images | 68 |
| Creating SVG Images | 69 |
| Filling Objects with Colors, Gradients, and Patterns | 70 |
| Adding Text and Raster Images to Drawings | 76 |
| Applying Filter Effects and Transformations | 79 |
| Adding Animation | 84 |
| Saving SVG Images | 86 |
4 | Creating SVG Images with Adobe Illustrator | 87 |
| Illustrator Basics | 89 |
| The Illustrator Workspace | 89 |
| Drawing Objects | 95 |
| Using Filters and Effects | 103 |
| Working with Type | 104 |
| Arranging Objects | 109 |
| Saving Time with Swatches, Styles, and Symbols | 110 |
| Working with SVG Images in Illustrator | 114 |
| Opening SVG Images | 114 |
| Adding SVG Features | 114 |
| Saving SVG Images | 121 |
| Illustrator's SVG Do's and Don'ts | 123 |
5 | Creating SVG Images with CorelDRAW | 125 |
| CorelDRAW Basics | 126 |
| The CorelDRAW Workspace | 127 |
| Drawing Objects | 134 |
| Working with Type | 138 |
| Using Filters and Effects | 142 |
| Arranging Objects | 144 |
| Getting SVG Images Into and Out of CorelDRAW | 146 |
| Opening SVG Images | 146 |
| Exporting SVG Images | 147 |
6 | Creating SVG Images with Other Drawing Apps | 151 |
| Designing with Mayura Draw | 152 |
| Designing with Virtual Mechanics' IMS Web Engine | 156 |
| Designing with XML Spy | 160 |
| Other Tools to Keep an Eye On | 160 |
| SVG Studio | 161 |
| GraPL | 162 |
| Oak Draw | 163 |
| IsoDraw | 163 |
| SVGmaker | 164 |
| Batik SVG Toolkit | 164 |
| Plazmic Workshop Start | 164 |
III | SVG in Context--Flash, Web Design, and Dynamic SVG | |
7 | SVG for Flash Designers | 167 |
| What's the Difference? | 169 |
| Ownership | 169 |
| Accessibility | 171 |
| Interoperability | 173 |
| Scalability | 174 |
| Workflow | 175 |
| Which Should You Use? | 175 |
| When to Choose SVG | 176 |
| When to Choose SWF | 177 |
| Moving from SVG to Flash and Back | 178 |
8 | Incorporating SVG in Web Sites | 179 |
| SVG and Browser Basics | 180 |
| Simple Case: Embedding SVG In an HTML Page | 183 |
| Using the Object Element | 185 |
| Some Practical Considerations | 190 |
| W3C Amaya | 190 |
| Browsing SVG Images with Amaya | 191 |
| Using the Amaya Editor | 196 |
| Adobe GoLive | 200 |
| Adode GoLive and "Smart Objects" | 200 |
| Web Browser Support for SVG | 203 |
9 | Generating SVG on the Fly | 205 |
| Adobe AlterCast | 207 |
| Product Requirements | 208 |
| AlterCast in Action | 209 |
| Summing Up AlterCast | 218 |
| GraPL.net | 220 |
| Product Requirements | 220 |
| GraPL.net in Action | 220 |
| Summing Up GraPL.net | 229 |
| Savage Software DataSlinger | 230 |
| Product Requirements | 230 |
| DataSlinger in Action | 231 |
| Summing Up DataSlinger | 236 |
| Conclusion | 239 |
10 | SVG Futures | 241 |
| SVG and Related W3C Efforts | 246 |
| SVG Tools and Trends | 248 |
| SVG for Application Development | 250 |
| Other Future Trends | 250 |
| Conclusion | 255 |
IV | Appendixes | |
A | Understanding SVG Syntax in Depth | 261 |
| File Basics | 262 |
| XML Declaration | 262 |
| Document Type Declaration | 263 |
| Everything Else | 264 |
| The SVG Element | 264 |
| Attributes for the SVG Element | 265 |
| Presentation-Oriented Attributes: %PresentationAttributes-All | 269 |
| Description of Major Elements | 272 |
B | Example Files | 287 |
Chapter 3 | splash.svg | 288 |
Chapter 4 | navbar.svg | 291 |
Chapter 5 | brindle.svg | 296 |
| Index | 303 |