Solved

MSXML

Posted on 2001-08-31
6
556 Views
Last Modified: 2008-03-17
Does the latest version MSXML parser process schemas written in the w3c format (example below) or do you have to write the schema in the microsoft format ?

<?xml version="1.0" ?>
<xsd:schema
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://www.bcis.co.uk/analyses/1.0"
        xmlns="http://service.bcis.co.uk/analyses/1.0"
        elementFormDefault="unqualified"
        attributeFormDefault="unqualified">

<xsd:annotation>
     <xsd:documentation xml:lang="en">
          XML schema for the exchange of elemental cost analyses of construction (building) projects.
          First draft.
                Revised 13-Jul-2001.
                Revised 23-Jul-2001: BCIS1971 should read BCIS1973; Add indexTitle attribute to Adjustment element.
                Revised 23-Aug-2001: Corrections to schema syntax.
                Revised 24-Aug-2001: Convert many elements to attributes.
                Copyright Building Cost Information Service Ltd 2001.
          Reference documentation:
          xml definitions:     w3c  http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/
     </xsd:documentation>
</xsd:annotation>


<!-- Declare high level structure:  Analyses contains set of selected analyses -->
<xsd:element name="AnalysisSet" type="as:AnalysisSetType"/>

<xsd:complexType name="AnalysisSetType">
     <xsd:sequence>
                <xsd:element name="Analysis" type="AnalysisType" minOccurs="1" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="count" type="xsd:positiveInteger"/>
        <xsd:attribute name="dateCompiled" type="xsd:date"/>
</xsd:complexType>


<!-- Definition of a single analysis starts here -->
<xsd:complexType name="AnalysisType">
     <xsd:sequence>
          <xsd:element name="Identification" type="IdentificationType" minOccurs="1" maxOccurs="10"/>
          <xsd:element name="ComplexContract" type="ComplexContractType" minOccurs="0" maxOccurs="1"/>
          <xsd:element name="BuildingDescription" type="BuildingDescriptionType" minOccurs="0" maxOccurs="10"/>
          <xsd:element name="Date" type="DateType" minOccurs="0" maxOccurs="10"/>
          <xsd:element name="Location" type="LocationType" minOccurs="0" maxOccurs="12"/>
          <xsd:element name="ContractualInformation" type="ContractualInformationType" minOccurs="0" maxOccurs="10"/>
          <xsd:element name="ProjectTenderPriceIndex" type="ProjectTenderPriceIndexType" minOccurs="0" maxOccurs="1"/>
          <xsd:element name="ContractPeriod" type="ContractPeriodType" minOccurs="0" maxOccurs="3"/>
          <xsd:element name="Tenders" type="TendersType" minOccurs="0" maxOccurs="1"/>
          <xsd:element name="ContractBreakdown" type="ContractBreakdownType" minOccurs="0" maxOccurs="2"/>
          <xsd:element name="Size" type="SizeType" minOccurs="0" maxOccurs="10"/>
          <xsd:element name="CompoundSize" type="CompoundSizeType" minOccurs="0" maxOccurs="00"/>
          <xsd:element name="FunctionalUnitSet" type="FunctionalUnitSetType" minOccurs="0" maxOccurs="10"/>
          <xsd:element name="AverageStoreyHeight" type="AverageStoreyHeightType" minOccurs="0" maxOccurs="3"/>
          <xsd:element name="DesignShapeStorey" type="DesignShapeStoreyType" minOccurs="0" maxOccurs="10"/>
          <xsd:element name="Credits" type="CreditsType" minOccurs="0" maxOccurs="10"/>
          <xsd:element name="Adjustment" type="AdjustmentType" minOccurs="0" maxOccurs="2"/>
          <xsd:element name="ElementSet" type="ElementSetType"/>
     </xsd:sequence>
        <xsd:attribute name="currency" type="xsd:token" default="GBP"/>
<!-- standard three letter currency code eg GBP -->
</xsd:complexType>

0
Comment
Question by:skhorshid
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
6 Comments
 
LVL 4

Expert Comment

by:edmund_mitchell
ID: 6444654
Hello skhorshid

The latest version MSXML parser processes schemas written in the w3c format.  When I say latest, I mean MSXML 4, which is currently in it's second beta, and not recommended for production use.  There are a number of documented bugs on the XSLT side as well as the XSD side, which I have been told will be fixed before the final release.  

As they did with XSLT, they are ceasing their support for their proprietary flavor, and throwing their weight behind the W3C spec.

If you have wasted - I mean invested ;>) a lot of effort in writing XDR schemas, MS has a utility to convert your XDR to the real deal, XSD.  It's at:

http://msdn.microsoft.com/downloads/default.asp?URL=/code/sample.asp?url=/msdn-files/027/001/539/msdncompositedoc.xml

I hope that answers your question

Edmund
0
 
LVL 2

Author Comment

by:skhorshid
ID: 6444854
Thanks,  can you answer this question aswell ?

The schema I have is in w3c format.  What parser can I use from ASP/VB environment to validate my xml using the w3c schema ?

0
 
LVL 4

Expert Comment

by:edmund_mitchell
ID: 6445248
I'm not sure I understand your question.

I think the answer to your question is:

MSXML 4

but I'm sure you know that already, so I must be missing something.

Edmund
0
Learn by Doing. Anytime. Anywhere.

Do you like to learn by doing?
Our labs and exercises give you the chance to do just that: Learn by performing actions on real environments.

Hands-on, scenario-based labs give you experience on real environments provided by us so you don't have to worry about breaking anything.

 
LVL 2

Author Comment

by:skhorshid
ID: 6445261
Didn't you say that you msxml4 is not recomended  for production use.  Is there another parser that can be used instead ?
0
 
LVL 4

Accepted Solution

by:
edmund_mitchell earned 50 total points
ID: 6445421
Now I understand.

Yes, MSXML4 beta 2 is not recommended for production use.
There is no other schema-aware validating parser that you can use from within the VB/ASP environment, so you'll have to go outside that environment if your need is immediate.
It's a nasty prospect - using (i.e.) Xerces-Java.
Check it out at:
http://xml.apache.org/xerces-j/schema.html


Sorry for the bad news, but MSXML 4 should be final 'soon' - (or at least that's what the MSXML-dev boys have been saying lately).

Edmund
0
 
LVL 2

Author Comment

by:skhorshid
ID: 6445433
Thanks,
I will see if I can use msxml4 for my purposes for now.
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The Client Need Led Us to RSS I recently had an investment company ask me how they might notify their constituents about their newsworthy publications.  Probably you would think "Facebook" or "Twitter" but this is an interesting client.  Their cons…
Many times as a report developer I've been asked to display normalized data such as three rows with values Jack, Joe, and Bob as a single comma-separated string such as 'Jack, Joe, Bob', and vice versa.  Here's how to do it. 
Michael from AdRem Software outlines event notifications and Automatic Corrective Actions in network monitoring. Automatic Corrective Actions are scripts, which can automatically run upon discovery of a certain undesirable condition in your network.…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…

724 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question