Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

MSXML/W3C pattern value problem

Posted on 2001-07-03
7
Medium Priority
?
252 Views
Last Modified: 2008-03-10
I am using MSXML Parser v4.0 which supports W3C XSD schemas.

When I validate XML against a schema is correctly validates the minLength and maxLength values, however, it appears to completely ignore the pattern value.

I have tried numerous patterns like "\d{32}", "[0-9]{32}" etc. but they do not work.

Any ideas?



0
Comment
Question by:DavidDunn
7 Comments
 
LVL 6

Expert Comment

by:Wayne Bradney
ID: 6250034
DavidDunn,

Please post your schema and an example XML document.

Regards,
WMB
0
 

Expert Comment

by:ashish2k
ID: 6251893
Hi David Dunn
Please specify the full code in the comments and then I will look at it and then I will be able to tell you what can be the problem?
Regards,
Ashish
0
 
LVL 10

Expert Comment

by:Yury_Delendik
ID: 6252655
David,

Yes, it's true. See "what's new" section in the SDK documentation:

> The MSXML 4.0 Technology Preview does not support regular expressions and identity constraints.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 

Author Comment

by:DavidDunn
ID: 6252865
XML
=================================================
<?xml version="1.0" encoding="UTF-8"?>
<test:Sample xmlns:test="urn:Func">
     <ID>ZZDDDDDDDDDXDDDDDDDDDDDDWDDDDDDD</ID>
</test:Sample>
=================================================

XSD
=================================================
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
     <xsd:simpleType name="typID">
          <xsd:restriction base="xsd:string">
               <xsd:minLength value="32"/>
               <xsd:pattern value="[0-9]{32}"/>
          </xsd:restriction>
     </xsd:simpleType>

     <xsd:complexType name="typSample">
          <xsd:sequence>
               <xsd:element name="ID" type="typID"/>
          </xsd:sequence>
     </xsd:complexType>

     <xsd:element name="Sample" type="typSample"/>
</xsd:schema>
=================================================

VB Code
=================================================
Private mobjDOM As New DOMDocument40
Private mobjSchema As New XMLSchemaCache40

Private Sub Command1_Click()

    mobjSchema.Add "urn:Func", "c:\test\func.xsd"
    mobjDOM.async = False
   
    Set mobjDOM.schemas = mobjSchema

    mobjDOM.Load "c:\test\id.xml"
   
    If mobjDOM.parseError.errorCode <> 0 Then
   
        MsgBox mobjDOM.parseError.reason
    Else
   
        MsgBox "OK"
   
    End If

End Sub
=================================================
0
 

Author Comment

by:DavidDunn
ID: 6252882
Yury_Delendik,

Not the answer I wanted to hear, but I thought it might be the case.

As this is only a preview version, do you know if the release version of MSXML 4 will contain this functionality?
0
 

Author Comment

by:DavidDunn
ID: 6253168
Also,

Is there another parser which I can use that will perform this validation?

Thanks.
0
 
LVL 10

Accepted Solution

by:
Yury_Delendik earned 1200 total points
ID: 6253541
I know it's bad, but it's true.

Try to use any Java parser, e.g. Xerces. If you like Windows and COM technology you may use VJ++ for COM DLL creating ...
... and you can partially implement DOMDocument interface.
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

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…
I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
This Micro Tutorial will teach you how to add a cinematic look to any film or video out there. There are very few simple steps that you will follow to do so. This will be demonstrated using Adobe Premiere Pro CS6.
Want to learn how to record your desktop screen without having to use an outside camera. Click on this video and learn how to use the cool google extension called "Screencastify"! Step 1: Open a new google tab Step 2: Go to the left hand upper corn…
Suggested Courses

782 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