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