CSE681 - Software Modeling & Analysis

Lecture #8 - eXtensible Markup Language (XML)

Web Resourses:

UML XML, HTML Code Project Microsoft Developer's Network DevelopMentor XML Sells Brothers Windows Developer's Journal WindowsClient.net DotNetJunkies dotnet quickstart tutorials C# Corner Mono Project Performance Counters

Content:

This lecture is an introduction to eXtensible Markup Lanaguage. Today we cover the syntax of XML, some example applications, and look at demonstration programs using .Net classes that support the reading, writing, and manipulation of XML.
  1. The Syllabus describes topics to be covered, reading material for you to digest before coming to class, and due dates for the assigned projects.
  2. Friday Help Session:

    • This week's Help Session will be held in LSB 001 - the large auditorium where we held our grad orientation in August. Time is from 4:00pm to 6:00pm, Friday September 30.
    • After this week the Help Sessions will revert to the 9:00am venue in CST 4-201.
  3. Project Helpers:

    Project #1, Project #2
    Code from Visual Studio Help Session last Friday - new version of Project2Starter
    Find Visual Studio Command Window used to test Compile.bat and Run.bat files

    We will spend some time discussing Project #2, specifically material added to the noSQL Blog.
    The focus of this discussion will be:
    • Design and implementation for Query processing - LambdaDemo will be especially useful.
    • Sharding
    • ElementFactory - just a few comments here.
    • Timer demo - useful for Persistance scheduling.
  4. Submitting Projects
  5. XML Tutorials

  6. XML Presentations and Demo Code:


  7. LINQ Presentation and Demos:

  8. LINQ Tutorials:


  9. LINQ to SQL Tutorials:

  10. Uses for XML
    • Small databases - bug trackers, requirements models, project data
    • Representations for graphical data in Computer-Aided Design systems
    • Test data - acquiring structured data from a file, used to drive test procedures
    • Persistent data - save data generated by an analysis program for further analysis by other programs
    • Messaging - constructing structured messages for transmission over sockets or remoting channels
  11. Evaluating code projects - Cyclomatic Complexity, Size, Manual and Maintenance Pages, demonstration of requirements
  12. XSLT Tutorials

    XSLT is a transformation language, usually used to transform XML into HTML. We will not discuss XSLT nor use it in this course, but you should know that it exists and may find need for it in your professional work.
    XSLT Demonstration
    htmlLite - basics, zvon - complete tutorial, W3C - thorough and formal, XSL Tricks, TopXML, Michael Kay's overview, Google XSL links
  13. Mono Project
  14. Software Architecture:

  15. Lecture Take-aways:

    The most important things we discussed are:
    • Using XDocument to create, read, and write XML
    • Basics of LINQ