XML OS Design Development (Windows Embedded CE 6.0)

1/6/2010

The Extensible Markup Language (XML) parser for Windows Embedded CE is based on Microsoft XML Parser (MSXML) 3.0 Service Pack (SP) 1. The parser has been split into a number of smaller pieces that you can add or remove when you create an OS design, depending on the functionality you require and the amount of available memory on your target device.

OS Design Information

The following table shows operating system design information for MSXML Parser.

Concept Description

Dependencies

XML Mini requires WinInet or Httplite.

XML Core Services and Document Object Model requires WinInet or Httplite.

XML HTTP requires URLMon and WinInet.

XML Query Language requires WinInet or Httplite.

XML SAX requires WinInet or Httplite.

XML Stylesheet Language Transformations (XSLT) requires WinInet.

XML Multipurpose Internet Mail Extension (MIME) Viewer requires Internet Explorer and XML XSLT.

XML data islands require Internet Explorer.

Hardware considerations

None.

Modules and Components

The following table shows the components and modules that implement MSXML Parser.

Item Module Component

XML Minimal Parser

msxml3

xmlminisax

XML Core Services and Document Object Model

msxml3

xmldom

XML Error Strings

msxml3

xmlerrorstrings

XML HTTP

msxml3

xmlhttp

XML SAX

msxml3

xmlsax

XML Query Language (XQL)

msxml3

xmlxql

XML Stylesheet Language Transformations (XSLT)

msxml3

xmlxslt

XML MIME Viewer

msxml3

xmlmime

XML Data Islands

msxml3

xmlislands

xmlnetfull

msxml3

xmlnetfull

xmlnetmini

msxml3

xmlnetmini

XML Parser Implementation Considerations

The XML Parser for Windows Embedded CE can be used in several different ways, depending on your needs. For example, the XML Minimal Parser provides minimal Simple API for XML (SAX)-based parsing of data. It is a good choice for OS designs that need an extremely small footprint that still provide some XML functionality. The XML Minimal Parser is for target devices that do not require extensibility, or highly specialized applications.

For enterprise-level OS designs, choose full XML parser functionality. The following Catalog items are necessary for full XML support :

  • XML Core Services and Document Object Model (DOM)
  • XML HTTP
  • XML Query Language
  • XML Stylesheet Language Transformation
  • The full XML SAX

This group of Catalog items provides increased portability of applications between the desktop version of MSXML and Windows Embedded CE-based devices. The full complement of XML Catalog items also increases support for databases and Web services.

The following table shows the core Catalog items that implement XML Parser functionality in Windows Embedded CE.

Core Catalog item Sysgen variable Description

XML Minimal Parser (xmlminisax)

SYSGEN_MSXML_MINI

Provides the smallest possible combination of Extensible Markup Language (XML) options for target devices that require some XML parsing but have extremely limited resources. This Catalog item supports SAX-based parsing only, but does not perform Document Type Definition (DTD) validation or element resolution. It also does not support the MXXMLWriter class and is not callable from Microsoft Visual Basic®. This option must be the only core XML Catalog item specified; no other Catalog items rely on it. Selecting this Catalog item automatically selects xmlnetmini networking.

XML Core Services and Document Object Model (xmldom)

SYSGEN_MSXML_DOM

Supports the basic DOM for MSXML. This Catalog item performs DTD and schema verification on documents if desired and includes XML error strings that are not included in xmlminisax. It also supports schema caching. This Catalog item is required by all other core XML Catalog items except xmlminisax. Selecting this Catalog item automatically selects xmlnetful networking.

XML Error Strings (xmlerrorstrings)

SYSGEN_MSXML_ERROR_STRINGS

Causes error strings to be included in the platform. Setting this Sysgen variable will increase the image size by 40KB, but will provide more meaningful information to developers when there is errors parsing XML text. Error strings are only supported by XML DOM and the other XML components that build on top of DOM. They are never supported by the XML Minimal Parser component.

On platforms where this Sysgen is not set, developers have the option of retrieving the 32-bit error code and using the table in XML DOM Error Messages to find the corresponding error string.

XML HTTP (xmlhttp)

SYSGEN_MSXML_HTTP

Implements the XMLHTTP object. This enables Web services.

XML SAX (xmlsax)

SYSGEN_MSXML_SAX

Provides SAX support that includes xmldom. Unlike xmlminisax, xmlsax performs DTD validation of documents, includes MXXMLWriter, and can be used from Visual Basic.

XML Query Language (xmlxql)

SYSGEN_MSXML_XQL

Provides support for the XML Query Language (XQL).

XML Stylesheet Language Transformations (xmlxslt)

SYSGEN_MSXML_XSLT

Provides XML Stylesheet Language Transformation (XSLT) support. Requires the xmlxql Catalog item.

XML MIME Viewer (xmlmime)

SYSGEN_MSXML_MIMEVIEWER

Allows Internet Explorer to display XML documents without the need for writing script to output XML content to DHTML objects. In addition, the XML Multipurpose Internet Mail Extension (MIME) viewer will automatically apply any XML style sheets associated with the XML document it processes.

XML Data Islands (xmlislands)

SYSGEN_MSXML_DATA_ISLANDS

Allows Internet Explorer to process XML objects embedded into an HTML page.

The following table shows the networking Catalog items that implement XML Parser functionality in Windows Embedded CE.

Networking functionality Description

xmlnetfull

Relies on WinInet and Urlmon to perform network operations, such as downloading DTDs from remote servers. This functionality is required for xmlhttp and asynchronous parsing support.

xmlnetmini

Uses httplite. This is a stripped-down version of WinInet and is intended for target devices that have resource limitations. If xmlnetmini is selected, asynchronous downloads are not supported. Attempts to set the async property in DOM will return E_NOTIMPL.

Note

To implement the XML Parser, you must use one or more of the core Catalog items and exactly one networking implementation.

Regardless of the XML Catalog items in the OS design, the XML Parser for Windows Embedded CE does not support the following functionality:

  • The ServerXMLHTTP object.
  • The IWinHttp interface, which is set through setServerHttpRequest.
  • Data Source Objects (DSO) support.
  • The FreeThreadedDOMDocument object.
  • The XSLTemplate and IXSLProcessor interfaces. MSXML 3.0 supports XSLT through the transformNode Method method, but it does not support template caching.
  • Backward compatibility with the MSXML DOM supported by Microsoft® Internet Explorer 4.0 for Windows Embedded CE Internet browser.

For more information about XML development and using the MSXML Parser, see this Microsoft Web site.

See Also

Concepts

XML Parser Architecture for Windows Embedded CE

Other Resources

XML
XML Data Islands