F1
About F1Course ScheduleOther ServicesSite MapContactHome

Other Services

 
Exchange Server
Office (inc Access)
SQL Server
Visual Studio .NET
Windows
Web Development
Visual FoxPro
Programming
Business
Knowledge Management
Certification
Learning Options

Frequently Asked Questions about XML

Why is XML so important?
Can I ignore XML?
What XML products does Microsoft provide?
Does XML replace HTML?
What are the benefits of adding XML to HTML?
What do I need to get started with XML?
What are some real examples of how XML can be used?
What is MSXML?
What does the Microsoft XML Parser do?
What's the difference between MSXML, MSXML2, and MSXML3?
Is XML just for hard-core developers?
Does Microsoft Internet Explorer 4.0 support XML?
What is the level of XML support in Internet Explorer 5.0?
How are HTML, Dynamic HTML, and XML related?
Will it be necessary to compress XML for transmission over the Web?
How secure is XML as a data format? Are there plans to add security to XML?
How compliant is Microsoft with the XML standards?
What is the relationship between XML and the World Wide Web Consortium (W3C)?

Do SQL Server and ADO Support XML?
Are there any Microsoft tools at the moment that can help me leverage XML quickly?
How does XML fit into the Microsoft Windows® Distributed InterNet Applications (Windows DNA) strategy for building three-tier, Web-enabled applications?

Why is XML so important?

XML is poised to become the future of computing. As a technology its effects will permeate every aspect of programming, from embedded systems to graphical interfaces, to distributed systems and database management. It has become the de facto standard for data communication among the software industry, and is rapidly replacing EDI systems as the primary medium for business interchange in almost every industry on the planet. It will likely become the language in which most documents are created and stored, both on and off the Internet, and could well become the foundation for Internet application servers that some believe will replace many of the shrink-wrapped products currently produced.  Back to List

Can I ignore XML?

Not if you want you want to compete in an Internet-based world. XML is a language that is causing a paradigm shift in the way that we think about programming itself. The traditional dedicated client/server application is giving way to "access anytime, anywhere" Internet services, and XML is a logical medium to handle everything from data access to form processing to presentation in this new environment.  Back to List

What XML products does Microsoft provide?

Microsoft has worked hard to develop XML resources in a number of areas: 

  • Data access. The most recent incarnations of ActiveX® Data Objects (ADO) have had support for XML generation and consumption for nearly a year, and Microsoft SQL Server 2000 provides a number of interfaces for converting SQL-based information into XML and back again. 

  • Browser support. Microsoft was the first company to produce a commercial browser (Internet Explorer 5) capable of reading XML files, either in their raw structured form or through XSL or CSS style sheets. 

  •  BizTalk Server 2000. Microsoft® BizTalk™ Server 2000 provides a means to communicate across a wide variety of formats, including XML, to help facilitate business-to-business applications. BizTalk Server also includes a number of schema generation and mapping tools to vastly simplify the development of XML structures for business or commercial needs. Back to List

Does XML replace HTML?

XML offers more flexibility than HTML, but it's not likely that it will replace HTML any time soon. In fact, XML and HTML work quite nicely together. Microsoft expects many authors and developers to use XML and HTML in tandem, for example, by using XSLT to generate HTML.  Back to List

What are the benefits of adding XML to HTML?

Here are some benefits of using XML on the Web: 

  • It delivers data for local computation. Data delivered to the desktop is available for local computation. The data can be read by the XML parser and then delivered to a local application, such as a browser, for further viewing or processing. The data can also be manipulated using a script or other programming languages using the XML Object Model.

  • It gives users an appropriate view of structured data. Data delivered to the desktop can be presented in multiple ways. A local data set can be dynamically presented in the view that is right for the user, based on factors such as user preference and configuration. 

  • It enables the integration of structured data from multiple sources. Typically, agents are used to integrate data from back-end databases and other applications on a middle-tier server, making this data available for delivery to the desktop or to other servers for further aggregation, processing, and distribution.

  •  It describes data from a wide variety of applications. Because XML is extensible, it can be used to describe data contained in a wide variety of applications, from describing collections of Web pages to data records. Because the data is self-describing, the data can be received and processed without the need for a built-in description of the data.

  • It improves performance through granular updates. XML enables granular updating. Developers do not have to send the entire structured data set each time there is a change. With granular updating, only the changed element must be sent from the server to the client. The changed data can be presented without the need to refresh the entire page or table.  Back to List

What do I need to get started with XML?

To use XML, you need an XML parser that reads an XML document and makes its contents available for processing. Microsoft provides a parser that you can download from the MSDN XML Developer Centre

To create XML documents, you can use a text editor, such as Notepad, or any other editor you use for creating HTML pages. To create full-fledged XML applications, use a programming environment such as Microsoft® Visual Studio®. Back to List

What are some real examples of how XML can be used?

XML is being used in a surprisingly wide number of applications, from Web site creation and documentation to database integration and distributed programming. Just a few areas where XML has found its niche include: 

  • Business-to-business transport. Business data—invoices, purchase orders, accounting and tax information, and more—are being transferred electronically between vendors in XML format. XML offers a number of advantages over the older electronic data interchange (EDI) format, not the least of which is the ease with which transforms can be written to convert from one invoice format to another.

  •  Distributed programming. XML is ideally suited for building complex multiplatform applications, making it possible to integrate your Windows servers with other operating systems.

  • Web site architecture. Due to both the hierarchical and the distributed nature of XML, Web site developers use it increasingly in the overall architecture and navigational structures of their Web sites. More and more, tables of contents and indexes, XML structures for keeping track of user information and the state of the Web site, HTML-based components, and conduits for handling data flow are all increasingly written using XML and XSLT.

  • Database operations. XML is gaining favor as the vehicle of choice for interacting with databases—either retrieving XML data sets from a SQL query or updating a database using an XML record. Again, we have the benefit of separating implementations. By expressing data as XML, you don't need to have any knowledge of the actual database structure.

  • Document management. Most companies are currently swimming in a sea of paperwork, and this will only get worse with time. XML is increasingly used to encode documents into XML to make document retrieval easier or to provide some form of annotation context linked to documents that can be referenced more efficiently.  Back to List

What is MSXML?

MSXML is the Microsoft software component that provides core XML services.  Back to List

What does the Microsoft XML Parser do?

The latest version of Microsoft's core XML services provides the following four distinct features. 

  • A Document Object Model (DOM)-based parser that takes a text stream (a file, a string in a program, or any other text that can be converted into XML) and turns it into a navigable XML tree structure that can be programmatically manipulated. 

  • A SAX (Simple API for XML) parser that is optimized for handling large documents and for high-throughput scenarios. SAX is an events-based parser that reads a document and reports parsing events (such as the start and end of elements) directly to an application. The application, which you create, implements handlers to deal with the different events, much like handling events in a graphical user interface (GUI).

  • An XSLT processor that reads an XSLT file and applies the instructions of the Extensible Stylesheet Language for Transformations (XSLT) file to an XML file to produce some kind of output. In addition to creating an XML structure, the XSLT processor can perform a certain amount of optimization on the resulting XSLT filter, and can be thought of more technically as a compiler.

  • A validating parser that reads either document type definitions (DTDs) or XML Schemas and verifies that the resulting document is in fact properly formed and that it contains no data that is in contradiction to the schema. Note that for schemas only, the validating schema returns the schema itself as an object that can be referenced for such purposes as creating options in an HTML list box. 

All four features are contained in the same MSXML library package, which is available at no cost from the Microsoft MSDN XML Developer CentreBack to List

What's the difference between MSXML, MSXML2, and MSXML3?

XML has undergone a number of iterations in the past three years, and it's perhaps not surprising that there are different versions of the Microsoft XML parser in existence. Internet Explorer 4.0 contained an early version of the XML parser, one that predates the existence of XSL, XML data, or most other XML technologies (and that has a completely different DOM model). This early version of the parser is contained in the MSXML.dll library. You can upgrade your parser to a more current one from the MSDN XML Developer Centre.  

It is highly recommended that you upgrade to the new parser because it is far superior. Internet Explorer 5.0 includes the MSXML 2.0 parser, which contained preliminary versions of XSL and XML Schema. MSXML2 is the version of the parser that ships with SQL Server 2000. MSXML2 contains many performance-enhancing features and, in general, has improved performance and scalability. MSXML3 is the version that is currently shipping as a Technology Preview. MSXML3 includes XSLT and XPath support as well as SAX interfaces.  Back to List

Is XML just for hard-core developers?

No. Just like HTML documents, XML documents can be created by just about anybody—even someone without any programming experience. XML is just a standard way of describing information. Moreover, it is a language that can be written without the use of any specialized software. You can author an XML document in a text editor and drop it directly into your Web site without ever needing to write a line of code in the traditional sense.   Back to List

Does Microsoft Internet Explorer 4.0 support XML?

Yes, Internet Explorer 4.0 supports XML with the following features: 

  • A generalized XML parser reads XML files and hands them off for processing to applications such as viewers. Microsoft has two parsers for use by application developers: the Microsoft XML parser in C++ and the Microsoft XML parser in Java.

  • The XML Object Model (XML OM) uses the World Wide Web Consortium (W3C) standard Document Object Model (DOM) to allow programmatic access to the structured data, through the XML parsers, giving developers the power to interact and compute on the data. For more information, see the DOM specification 

  • The XML Data Source Object (XML DSO) allows developers to connect to structured XML data and supply it to the HTML page using Dynamic HTML's data binding facility.  Back to List

What is the level of XML support in Internet Explorer 5.0?

Internet Explorer 5 provides the following XML support: 

  • Direct viewing of XML. The Microsoft XML implementation lets users view XML using XSL or cascading style sheets (CSS) with their Web browser, just as they view HTML documents. 

  • High-performance, validating XML engine. The XML engine familiar to Internet Explorer 4.0 developers has been substantially enhanced and fully supports W3C XML 1.0 and XML name spaces, which let developers qualify element names uniquely on the Web and thereby avoid conflicts between elements with the same name. Native XML support in Windows means that developers can count on the full XML processing capabilities being present to read and manipulate the data they move between their applications and components. 

  •  Extensible Style Language for Transformations (XSLT) support. With the Microsoft XSLT processor, which is based on the latest W3C Working Draft, developers can apply style sheets to XML data and display the data in a dynamic and flexible way that can be easily customized. The querying capabilities of the Microsoft XSLT processor also allow developers to programmatically find and extract information within an XML data set on the client or the server. 

  • XML Schemas. Schemas define the rules of an XML document, including element names and rich data types, which elements can appear in combination, and which attributes are available for each element. In order to enable multitier applications, Microsoft will be releasing a technology preview for XML Schema based on the XML-Data Schema Reduced (XDR) submissions to the W3C XML working group. 

  • Server-side XML. Server-side XML processing allows XML to be used as a standard means of passing data between multiple distributed application servers, even across operating system boundaries. 

  • XML Document Object Model (DOM). The XML DOM is a standard object application programming interface that gives developers programmatic control of XML document content, structure, formats, and more. The Microsoft XML implementation includes full support for the W3C XML DOM recommendation and is accessible using scripts, the Visual Basic development system, C++, and other programming languages.

  • C++ XML Data Source Object. This XML DSO allows you to bind HTML elements directly to an XML data island. In addition, it has increased performance, has a greater ability to bind to various XML nodes, and takes advantage of all the new data binding features within Internet Explorer 5 beta.   Back to List

How are HTML, Dynamic HTML, and XML related?

HTML is used in conjunction with CSS to format and present hyperlinked pages. Dynamic HTML, through the DOM, makes all elements in HTML accessible through language-independent scripting and other programming languages, thus dramatically increasing client-side interactivity without additional requests to the server. The page's object model allows any aspect of its content (including additions, deletions, and movement) to be changed dynamically. 

By adding XML for structured data, developers have the technologies they need to build the next generation of rich, flexible Web applications. With XML, they can deliver structured data to the desktop and compute on the data with the XML Object Model. Today developers can display XML-based data in a browser, such as Microsoft Internet Explorer 4.0 and Microsoft Internet Explorer 5, or in other applications through scripting. In addition, they can also apply formatting rules to the data without complex scripting using XSLT stylesheets, which essentially transform the XML-based data into display. These two methods of displaying XML-based data make it possible to generate multiple views of complex data.  Back to List

Will it be necessary to compress XML for transmission over the Web?

In general, the need to compress XML data is application dependent and largely a function of the amount of data being moved between the server and the client. XML compresses extremely well due to the repetitive nature of the tags used to describe the structure of the data. It is worth noting that compression is standard for HTTP 1.1 servers and clients, and XML automatically benefits from this.  Back to List

How secure is XML as a data format? Are there plans to add security to XML?

XML is as secure as HTML. Just as secure HTTP (HTTPS) can be used to add encryption to HTTP, thereby protecting HTML, it can also be used to protect XML. XML is a text-based format for representing structured data. This maximizes simplicity and interoperability with the data. A number of steps can be taken to add security and authentication to the XML format. First, XML can be encrypted on the server before transmission to the client, and then decrypted on the client. Digital signatures applied to the data itself can also authenticate XML.  Back to List

How compliant is Microsoft with the XML standards?

Microsoft has been at the forefront of XML practically since the inception of the language, and significantly, most of the XML recommendations and working drafts that the W3C has produced in the last several years have included input and participation from at least one, and in some cases, several Microsoft employees. Microsoft has been very much committed to working with the W3C standards bodies to insure that XML develops in a way that benefits all users, and has had critical input in the development of a number of different areas, including the XML Specification, DOM, XSLT, and Schema Definition Languages. Microsoft is committed to staying compliant with emerging specifications and standards.   Back to List

What is the relationship between XML and the World Wide Web Consortium (W3C)?

The W3C has an active XML Working Group. Microsoft was one of the cofounders of this group in June 1996, and since then numerous industry players have joined, including Netscape Communications Corp., IBM, and Oracle. For more information on the XML standards process, got to the W3C Web siteBack to List

Do SQL Server and ADO Support XML?

Microsoft ActiveX Data Objects (ADO) technology provides a number of ways to convert database record sets (collections of data records) into an XML format, as well as tools to take XML in a given structure and revert it back into any database that ADO supports (including SQL Server and Oracle databases). In addition, through the XML Data Source Object in MSXML2 and MSXML3, you can load arbitrary XML directly into ADO to generate recordsets.

SQL Server 2000 also lets you set and retrieve XML directly through a URL in much the same way that you would call up a Web page. This is a powerful mechanism for working with data, because it essentially means that you can integrate your SQL Server data into XSL filters, into Web pages, basically anywhere that an XML document can go. Furthermore, you can set up custom templates for controlling how the XML gets produced from the SQL Server data, making the database a powerful tool for generating XHTML pages.

Finally, applications such as BizTalk Server let you map between any number of different data sources (from XML documents to databases to Excel and Word documents), create complex data pipelines for your Web architecture, and build effective schemas for your XML database needs.  Back to List

Are there any Microsoft tools at the moment that can help me leverage XML quickly?

Microsoft BizTalk Server 2000, an XML-based server for data interchange, provides the infrastructure and tools to enable e-commerce business communities. The foundation for BizTalk Server is its rules-based business document routing, transformation, and tracking infrastructure. This infrastructure enables companies to integrate, manage, and automate business processes by exchanging business documents (for example, purchase orders and invoices) among applications within or across organizational boundaries. For more information, see Microsoft BizTalk Server 2000Back to List

How does XML fit into the Microsoft Windows® Distributed InterNet Applications (Windows DNA) strategy for building three-tier, Web-enabled applications?

XML is quickly becoming the vehicle for delivering structured data from the middle tier to the desktop. XML-based data can be integrated from multiple back-end (database) sources, using agents on the middle tier. Schemas (see the XML-Data section) can improve this process, as developers can describe and exchange data more precisely.  Back to List

Recommended sources for Microsoft Visual Studio FAQ's

http://msdn.microsoft.com/xml/default.asp  (for FAQ and Highlights relating to XML)

http://msdn.microsoft.com/workshop/xml/general/xmlfaq.asp

 http://www.xml-zone.com/xmlfaq.asp

 http://www.xml-zone.com/default1.asp?Area=XML

General ms newsgroups source using web instead of newsgroup server http://communities.microsoft.com/newsgroups/default.asp?icp=msdn&slcid=us

The public newsgroups starting microsoft.public.xml are also useful sources for help with individual problems.

 

For more technical FAQ's and solutions to problems, go here


© F1 Computing Systems 1998