windows-nt/Source/XPSP1/NT/admin/wmi/wbem/xmltransport/tools
2020-09-26 16:20:57 +08:00
..
convert.js Add source files 2020-09-26 16:20:57 +08:00
datatypes.dtd Add source files 2020-09-26 16:20:57 +08:00
dtd2schema.exe Add source files 2020-09-26 16:20:57 +08:00
msxmlwr.exe Add source files 2020-09-26 16:20:57 +08:00
readme.txt Add source files 2020-09-26 16:20:57 +08:00
versioninfo.ent Add source files 2020-09-26 16:20:57 +08:00
xdr-xsd-converter.xsl Add source files 2020-09-26 16:20:57 +08:00
xsd.dtd Add source files 2020-09-26 16:20:57 +08:00

This directory contains the conversion tools necessary to transform our
DTDs into XSD (XML Schema Documents) suitable for integration into the
VS7 XML editing environment.

Please be aware that currently this is a non-automated process. The steps
you need to carry out to do this are as follows:


1) If you haven't done so, install MSXML 2.6 on your host; this is needed
   for the final stage of the conversion.  The msxmlwr.exe included in
   this folder contains the latest (March 2000) web preview release of
   MXSML. You'll need to run this to install MSXML.

2) If a DTD file has changed, you will need to check out the following
   files from the .\DTD subdirectory

		<dtdname>.xdr
		<dtdname>.xds

   where <dtdname> is the DTD file prefix (e.g. CIM20, WMI20).

3) Run the dtd2schema.exe utility on the DTD, to generate the XDR file.

	dtd2schema -o ..\dtd\<dtdname>.xdr ..\dtd\<dtdname>.dtd

4) Hand-edit the .XDR file produced so that the following changes are
   made:

	- Wherever a DTD production of the form 

		<!ELEMENT FOO (BAR, BAR+)>

	  occurs (currently only the MULTIREQ and MULTIRSP elements fit
          this pattern), change the output in the XDR file from

	<ElementType name="FOO" content="eltOnly">
		<group order="seq">
			<element type="BAR"/>
			<element type="BAR"/>
		</group>
	</ElementType>

          to

	<ElementType name="FOO" content="eltOnly">
		<group order="seq">
			<element type="BAR"/>
			<element type="BAR" maxOccurs="*"/>
		</group>
	</ElementType>

5) Then run the convert.js utility on the XDR to generate the XDS file.

	cscript convert.js ..\dtd\<dtdname>.xdr ..\dtd\<dtdname>.xds

6) Hand-edit the XDS file generated to include the correct VS7 intellisense
   annotations. At the time of writing these are known to include

	1) Change the opening lines of the file

		<!--
		   [XDR-XDS] This schema automatically updated from an IE5-compatible XDR schema to W3C
		   XML Schema.
		-->
		<!DOCTYPE schema SYSTEM "xsd.dtd">
		<schema xmlns="http://www.w3.org/1999/XMLSchema" version="1.0">

	   to


		<?xml version='1.0' ?>
		<schema targetNamespace='http://schemas.microsoft.com/Schemas/WMI20Ex'
		        xmlns='http://www.w3.org/1999/XMLSchema' version="1.0"
		      	xmlns:wmi='http://schemas.microsoft.com/Schemas/WMI20Ex'>

	   but note in the above the following DTD-specific content in xmlns:wmi declaration

		WMI20Ex, WMI20 or CIM20		- use this as last component of URL depending on DTD


	2) All ref attributes on <element> which address CIM/WMI DTD items should
 	   have their values prefixed with "wmi:" e.g.

		<element ref="CLASSPATH">

	   becomes

		<element ref="wmi:CLASSPATH">

	3) All elements of the form

		<any namespace="##other"/>

	   should be removed.
		

7) Check in the modified XDR and XDS files.