Solved

XML validation with XSD

Posted on 2009-05-13
5
669 Views
Last Modified: 2013-11-19
Hello Experts,

I'm getting the following error with my validation:
System.Xml.Schema.XmlSchemaValidationException: The 'request' element is not declared.

Any ideas?

Thanks
Don
XSD:

<?xml version="1.0"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="request">

    <xs:complexType id="request">

      <xs:sequence>

        <xs:element name="username" type="xs:string" />

        <xs:element name="password" type="xs:string" />

        <xs:element name="hotelid" type="xs:positiveInteger" />

        <xs:element name="startdate" type="xs:string" />

        <xs:element name="enddate" type="xs:string" />

        <xs:element name="roomid" type="xs:positiveInteger" minOccurs="0" />

      </xs:sequence>

    </xs:complexType>

  </xs:element>

</xs:schema>
 

XML

<?xml version="1.0" ?>

<request>

  <userName>hotel</userName>

  <password>password</password>

  <hotelId>628</hotelId>

  <startDate>23/07/2009</startDate>

  <endDate>26/07/2009</endDate>

  <roomId>0</roomId>

  <mycat></mycat>

</request>

Open in new window

0
Comment
Question by:WorldBlueAustralia
  • 2
  • 2
5 Comments
 
LVL 5

Expert Comment

by:Aanvik
Comment Utility
<mycat></mycat>

Is missing in XSD
0
 

Author Comment

by:WorldBlueAustralia
Comment Utility
Thanks Aanvik,

That was a test for me to see if if was validating. I removed it with no result.

Have a look at my post and read the error message.
The 'request' element is not declared.

I think the problem in in the root element.

Cheers
Don
0
 
LVL 27

Expert Comment

by:BigRat
Comment Utility
In the schema :-

username should be userName
hotelid should be hotelId
startdate should be startDate
enddata should be endData
roomid shoukld be roomId

Or of couse the other way round!
0
 
LVL 27

Accepted Solution

by:
BigRat earned 500 total points
Comment Utility
And now to the real problems

1) the XSD should define each element in turn (none other than request are defined)

2) the elements INSIDE an element should be references :-

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="request">
    <xs:complexType id="request">
      <xs:sequence>
        <xs:element ref="userName"/>
        <xs:element ref="password"/>
        <xs:element ref="hotelId" />
        <xs:element ref="startDate"/>
        <xs:element ref="endDate" />
        <xs:element ref="roomId" minOccurs="0" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
        <xs:element name="userName" type="xs:string" />
        <xs:element name="password" type="xs:string" />
        <xs:element name="hotelId" type="xs:positiveInteger" />
        <xs:element name="startDate" type="xs:string" />
        <xs:element name="endDate" type="xs:string" />
        <xs:element name="roomId" type="xs:positiveInteger"/>
</xs:schema>
 
0
 

Author Closing Comment

by:WorldBlueAustralia
Comment Utility
Thanks Big Rat, I got the xml to start using the XSD to validate. My next project is to do it progamatically. I'll post that question now.
"Progamatically validate passed in XML with external XSD"

Many thanks
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Most of the sites are being standardized with W3C Web Standards. W3C provides lot of web standard services to the web. They have the web specification, process and documentation for all the web standards. You can apply HTML, CSS and Accessibility st…
Styling your websites can become very complex. Here I'll show how SASS can help you better organize, maintain and reuse your CSS code.
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

771 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

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now