[Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 561
  • Last Modified:

MSXML

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
skhorshid
Asked:
skhorshid
  • 3
  • 3
1 Solution
 
edmund_mitchellCommented:
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
 
skhorshidAuthor Commented:
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
 
edmund_mitchellCommented:
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
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
skhorshidAuthor Commented:
Didn't you say that you msxml4 is not recomended  for production use.  Is there another parser that can be used instead ?
0
 
edmund_mitchellCommented:
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
 
skhorshidAuthor Commented:
Thanks,
I will see if I can use msxml4 for my purposes for now.
0

Featured Post

Prep for the ITIL® Foundation Certification Exam

December’s Course of the Month is now available! Enroll to learn ITIL® Foundation best practices for delivering IT services effectively and efficiently.

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now