FCI-Helwan blog

Just another FCI-H weblog

Introduction to XML

SGML: (Standard Generalized Markup Language) is Standard in which one can define markup languages for documents.

HTML : Hypertext Mark-up Language.

XML : Extensible Markup Language, is a markup language that you can use to create your own tags.

XML is created to overcome the limitations of the HTML. Although HTML is a very successful markup language, it is used to preview the data without understanding the data or even give the ability to analyze data.

So main advantages of XML is giving the ability to analyze data and search inside XML document. Also XML used for data interchange, organizations can exchange data in XML and then convert this data to database records easily.

XML document rules

1-Root element:

An XML document must be contained in a single element. That single element is called the root element, and it contains all the text and any other elements in the document.

2- Elements cannot overlap:

If you started element and inside this element you must close first then close

3- End tags are required

Each element must have an end tag.

4- Elements are case sensitive

5-Attributes must have quoted values

• Attributes must have values.

• Those values must be enclosed within quotation marks.

You can use a predefined structure using the document type definition (DTD).

DTD defines the elements the can appear in XML file and the order if the elements. Another approach for using predefined structures is XML schemas.

XML Programming Interfaces

This section focus on the programming interfaces to deal with XML document.

There is a lot of programming APIs Available. Here we have the most popular APIs; Document Object Model (DOM), the Simple API for XML (SAX), JDOM, and the Java API for XML Parsing (JAXP).

  • Document Object Model (DOM):

Defines a set of interfaces to the parsed version of an XML document. The parser reads in the entire document and builds an in-memory tree, so your code can then use the DOM interfaces to manipulate the tree. You can move through the tree to see what the original document contained, you can delete sections of the tree, you can rearrange the tree, add new branches, and so on.

DOM has some issues, building the whole XML document in the memory consumes time especially with large documents. What if I need a specific part from document? It doesn’t make sense to load the entire document.

  • Simple API for XML (SAX):

SAX handle a lot of DOM issues, SAX based on events. First you define which event is more important to you and the data type of the data from event, the parser goes throw the document and throw event at the start, end of the element or start , end of document. If you don`t save the data from the event it will be discarded. As you can see SAX doesn`t hold the entire document in the memory, so it saves time. But one of the SAX issues is that SAX is stateless.

  • JDOM

Java classes developed to make it easier to use DOM and SAX parser. JDOM handle the DOM and SAX interfaces and gives high level classes to reduce the amount of code. JDOM make most of the parsing functionalities.

  • Java API for XML Parsing (JAXP).

Although DOM, SAX, and JDOM provide standard interfaces for most common tasks, there are still several things they don’t address. For example, the process of creating a DOMParser object in a Java program differs from one DOM parser to the next. To fix this problem, Sun has released JAXP, the Java API for XML Parsing. This API provides common interfaces for processing XML documents using DOM, SAX, and XSLT. JAXP provides interfaces such as the DocumentBuilderFactory and the DocumentBuilder that provide a standard interface to different parsers. There are also methods that allow you to control whether the underlying parser is namespace-aware and whether it uses a DTD or schema to validate the XML document.


June 9, 2009 Posted by | JAVA, Learning Materials, XML | Leave a comment

Channel 8

in the Name Of ALLAH

Everyone knows Channel 9, right? It’s a great place Microsoft built more than 3 years ago for improving their level of conversation between them and developers around the world. Everything is about conversation and absolutely nothing about marketing.

Last year, Channel 10 also debuted online, creating a large community of people with passion for technology. Everything about music, mobility, photography, videography, gaming and new PC hardware/software.

And now, a new channel appears on the landscape: Channel 8. This time focused on the students who want to code, connect and create technology. It will be a place to share both news and experiences, find content of interest to students, and other stuff.

Again, Microsoft launched another website to possibly create even a bigger community.

At this moment, the website is still empty. You can only find a Joe Wilson video introduction to the new channel.

Go check out the interesting design, and check again in the coming months to find how much it will relate to us, the students…

This can be something very uselful for us…

Note : – This Post is one Of Microsoft Student Partners Community Posts

July 26, 2007 Posted by | Learning Materials | Leave a comment

Microsoft Robotics Studio Learning Materials

Microsoft Robotics Studio Learning Materials


On-Demand Video Tutorials

Architecture Overview
This session will go into depth on the underlying Microsoft Robotics Studio services-oriented runtime. Learn how the concurrency library makes asynchronous application development simple, and how the services and message-based architecture make it easy to access the state of a robot’s sensors and actuators with a Web browser.
Presenters: George Chrysanthakopoulos, Henrik Frystyk Nielsen

Launch Video

Visual Programming Language (VPL) 1
Learn about the Microsoft Visual Programming Language, an application development environment designed on a graphical dataflow-based programming model rather than control flow typically found in conventional programming. Using specific examples, you will learn how VPL can be useful for novices with no programming experience, as well as for professional-level robotics application prototyping.
Presenter: Andreas Ulbrich

Launch Video

Visual Programming Language (VPL) 2
This session builds on VPL1 and features a more advanced example. It demonstrates how to write a simple autonomous behavior for a robot, illustrates how to factor the behavior into multiple VPL activities, and shows how to work with data collection from robots. This session also outlines how to run the same VPL program in simulation and on a real robot.
Presenter: Andreas Ulbrich

Launch Video

Microsoft Robotics Studio- Simulation
Learn about the Microsoft Robotics Studio Simulation environment, a 3-D tool that simulates robotics applications in physics-based virtual environments, using the licensed PhysX™ engine from AGEIA™ Technologies Inc. This session will provide an introduction to the simulation runtime, show how to compose entities with simulation services and create a simulation environment. It will also show how to simulate joints and articulated arms.
Presenter: Kyle Johns

Launch Video

Microsoft Robotics Studio- Robotics Tutorials
This session, based on the robotics tutorials included with Microsoft Robotics Studio, will show how to create a service and coordinate between services. It will also provide an overview of manifests, contracts used to specify robotics hardware.
Presenter: David Lee

Launch Video

Microsoft Robotics Studio- Services Tutorials
This session, based on the services tutorials included with Microsoft Robotic Studio, will provide an overview of how to create a service, update the state of a service and persist the state of a service.
Presenter: Paul Roberts

Launch Video

Microsoft Robotics Studio- Controlling Simulated Robots Using VB.NET
This session will provide an overview on working with Microsoft Robotics Studio using Visual Basic .NET. Learn how to create a windows forms project and a user interface to drive a robot. It will also show how to start the simulation environment and connect the UI to perform the correct actions.
Presenter: Pavel Khijniak

Launch Video

Microsoft Robotics Studio- Controlling Simulated Robots Using Iron Python
This session will provide an overview on working with Microsoft Robotics Studio using Iron Python. Learn how to create a windows forms project and a user interface to drive a robot. It will also show how to start the simulation environment and connect the UI to perform the correct actions.
Presenter: Pavel Khijniak

Launch Video

(Hint: This articles copied from Microsoft Student-Partners website.)

March 21, 2007 Posted by | Learning Materials, Robotics Studio | Leave a comment