Course Code: ixm
In this first lesson, you'll install and personalize one of the greatest bargains in computer programming—Microsoft's free, yet powerful, Visual Studio (VS) Express. After decades of fine-tuning, the VS programming suite is widely considered one of the most efficient ways to communicate with computers. You'll use the VS XML editor to create your first XML document. (The editor shows you any mistakes and even writes half the code for you!) And by the end of the lesson, you'll discover that programming can be both easy and fun. You'll be on your way to using XML in your personal projects or in your career.
In this lesson, you'll explore the rest of the fundamentals of XML. You'll compare XML and HTML and examine the main similarities and differences between the two languages and look at adding comments and attributes in XML. When you're finished with those fundamentals, you'll begin to create a cookbook project using Visual Studio.
This lesson is all about programming. You'll explore the most common programming techniques, including creating variables, setting up loops, and telling the program how to make decisions by branching to alternative sections of code. You'll also learn how to use the editor's Design window to align and resize controls. The goal is to make your program's user interface look clean and professional. Finally, you'll write your first serious XML programming—going through your cookbook document one recipe at a time (looping) and copying each recipe's title into a listbox so your users can select whatever recipes they want to see. During this lesson, you'll discover just how much fun programming can be!
It's time to take control of your XML formatting. In this lesson, you'll focus on ways to make XML look good when people view it in browsers. You'll specify exactly how you want your XML data displayed. You'll create style rules about color, position, size, and typeface (font) to make your content look great on a web page. Finally, you'll add code to the cookbook program that displays a recipe's instructions when the user clicks its title.
This lesson introduces an important XML feature: XSL, or Extensible Style Sheet Language. You'll learn to present raw data attractively and efficiently in browsers using XSL style sheets. Then, you'll explore transforming your XML data by sorting its elements alphabetically and displaying them in a table as a numbered list. You'll also learn how to add a search feature to your cookbook project.
This lesson will discuss the fundamentals of XPath, XML's query language. You'll see how to search through the data in an XML document to locate a particular element, copy the element into a listbox, and then delete it from the XML document. You'll also practice using two invaluable learning and debugging tools: breakpoints and single-stepping.
If you've been wanting to know more about XSLT, this is your chance to learn how to use it. You'll find out how to use XSLT to transform XML structures and how to change an XML file into CSV—comma separated values, a format used to store tables like spreadsheets. You'll practice other transformations such as adding, deleting, and renaming elements in an XML document. You'll also see how to use the Visual Studio editor's XSLT features. Finally, you'll add a needed feature to the cookbook project: refreshing the list of titles.
This lesson shows you how to make sure that an XML document is valid. In other words, you'll compare an XML file to a schema file that describes the XML's correct structure and the types of data it must contain. Validation goes beyond the simple concept of a "well-formed" document, which only examines simple errors like missing end tags. But because creating validation files by hand can be complicated and tedious, you'll use the automatic schema generator built into VS. Then, you'll write a custom VB validator program of your own. And finally, you'll make the cookbook project even easier to use by writing code that adds new recipes with one click of an Import button.
In this lesson, you'll learn to store and display XML graphics. First, you'll work with SVG, an XML format that specializes in creating lines, shapes, color, special text effects, and geometric drawings. SVG is especially useful when you want to display charts, drawings, or diagrams. Then, you'll explore how to display bitmaps, which are photographic images stored on the hard drive already completely rendered. Last but not least, you'll learn some techniques that radically improve the cookbook program's UI.
This lesson will focus on namespaces—the XML technique that avoids ambiguity when two element tag names are identical but refer to different things. This happens when you try to merge two or more XML documents: A grocery store means one thing by the tag apple, but a computer store means something else. You'll learn how to attach a unique web page address (a URL) to a set of tags to avoid this name collision problem. You'll also see how programmers use namespaces in other areas of computing, such as separating commands into individual code libraries. Then you'll add a feature to the cookbook program that allows the user to modify a recipe and automatically save the changes to the XML file!
In this lesson, you'll look at two related programs—one that translates user input into XML, and another that displays the XML data in the form of a quiz. You'll learn how to use both programs, creating practice quizzes for students or anyone facing a test.
In the final lesson, you'll explore the two main ways to manage XML data—DOM and SAX. DOM loads the whole XML document into the computer's memory all at once, permitting random-access to the data. SAX, the alternative approach, streams data, leaving only a little in memory at a time. SAX is most useful when you're dealing with immense XML files, but SAX's sequential access (it moves forward-only) makes modifying the XML structure more difficult. You'll also transform the cookbook program into a coin collection program—a searchable notebook that can even display photos of each coin. You'll see how to reuse basic code to create any kind of XML data management program—a stamp collection, family scrapbook, you name it!
Richard Mansfield is a best-selling author and widely recognized expert on computer programming. He holds a master's degree in English from UC Santa Barbara. He has written numerous articles and columns on computer topics, and was the editor of Compute! Magazine. In addition, he has authored or co-authored 44 books, including the best sellers Machine Language for Beginners (Compute!) and The Visual Guide to Visual Basic (Ventana). His more recent titles include Creating Web Pages for Dummies (co-authored, Wiley), XML for Dummies: All-in-One Desktop Reference (co-authored, Wiley), Mastering VBA for Office 2019 (Sybex), and Programming: A Beginner's Guide (McGraw-Hill). Richard's books have sold more than 600,000 copies worldwide and have been translated into 12 languages.
There are no prerequisites to take this course. Programming experience is not required, just an interest in finding out how easy and fun programming can be!
The instructional materials required for this course are included in enrollment and will be available online.
A new session of each course opens each month, allowing you to enroll whenever your busy schedule permits.
Once a course session starts, two lessons will be released each week for the six-week duration of your course. You will have access to all previously released lessons until the course ends.
The interactive discussion area for each lesson automatically closes two weeks after each lesson is released, so you're encouraged to complete each lesson within two weeks of its release.
The final exam will be released on the same day as the last lesson. Once the final exam has been released, you will have two weeks plus 10 days (24 days total) to complete the final and finish any remaining lessons in your course. No further extensions can be provided beyond these 10 days.
This was an excellent course. I learned a lot and had fun doing it."
I have learned and applied so much from this course on the job it is incredible! Thanks for the help!"
From my experience with other courses, the instructor went well beyond what I expected helping me with questions."
This is indeed an excellent course, which has enriched my understanding of XML programming. I really like it. I especially liked the thought process that a programmer goes through when developing new programs and fixing bugs."
Great course! Not only did I learn about XML but picked up some tips for working with Visual Studio."
This was a great class. I'd never participated in online courses before and was skeptical, but I found the self-pace nature of the class really helpful."
I now feel comfortable that I get the salient points of XML. In addition, there were enough rich code examples to refer back to when doing my own projects. I appreciate the knowledge, care and time it took to create this interesting, fun and important learning experience."
I thought the whole atmosphere of the course as written was friendly and inviting...When I got to the requirement to download Visual Studio I was skeptical that this course was going to remain simple and start consuming too much time. However, I think that not only did you give an excellent overview, you brilliantly pulled off incorporating XML into the VB environment in such a way to show the value and strength of XML without undue complexity...Providing working solutions for students to modify is great. Again, I would like to say thank you. I look forward to my next online class."
It was a great class and I am really thankful to you for your patience and well-prepared class materials. I finally had a chance to work with XSLT and XML in a way I never expected from this class. Clearly, your class exceeded all my expectations and I will be recommending it to others."
Richard did a great job of condensing, what I consider to be a difficult topic, to scope in very concise way without sacrificing additional content required to facilitate learning...He also made it a point to discuss diverse philosophies regarding Visual Application Design, Programming Practices and Efficiency Considerations in Programming Techniques. I gained a much greater appreciation of the power of XML through the lessons provided in this course."