Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

MSXML and schema

2 views
Skip to first unread message

Peter Laman

unread,
Jun 23, 2009, 9:12:32 AM6/23/09
to
I'm trying to process an XML file with MSXML. The file starts with:

<?xml version="1.0" encoding="UTF-8"?>
<schedule xmlns="http://www.mysite.test" xmlns:xsi="http://www.w3.org/
2001/XMLSchema-instance" xsi:schemaLocation="http://www.mysite.test
schedule.xsd">

So the XML references an XSD. However, when I try to use the
'validate' method, I get the error
"Validate failed because the root element had no associated DTD/
schema."

Secondly, I'd expect the nodeValue property of each node to have the
proper datatype as defined in the schema. In stead the nodeValue
property is NULL for each element in the XML file. Is that merely
because the schema doesn't seem to be recognized?

Can anybody help, please?

Thankx, Peter

Neil Smith [MVP Digital Media]

unread,
Jun 23, 2009, 4:36:37 PM6/23/09
to
The URL you posted for the schema looks like

xsi:schemaLocation="http://www.mysite.test schedule.xsd"

You are missing a slash between the domand and file path.

HTH
Cheers - Neil

------------------------------------------------
Digital Media MVP : 2004-2009
http://mvp.support.microsoft.com/mvpfaqs

Peter Laman

unread,
Jun 24, 2009, 5:26:31 AM6/24/09
to
> You are missing a slash between the domand and file path.

A schemaLocation consists of two parts: a namespace and a URI to the
schema, separated by a space, isn't it?

Neil Smith [MVP Digital Media]

unread,
Jun 24, 2009, 6:16:32 AM6/24/09
to
Yes : http://msdn.microsoft.com/en-us/library/ms256100.aspx referenced
cause it's easier to read than the W3C docs which are impenetrable :

"The first URI reference in each pair is a namespace name, and the
second is the location of a schema that describes that namespace."

So you need both your namespace URI (the domain name will do) PLUS the
actual location of the schema document(s) which is a space separated
list

It's not necessarily assumed that the namespace URI is a valid URL, or
that the xsd location is a child of that URI/URL

It seems your schedule element below uses no namespace prefix, so
perhaps noNameSpaceSchemaLocation might be appropriate instead :
http://msdn.microsoft.com/en-us/library/ms256139.aspx

HTH
Cheers - Neil

On Tue, 23 Jun 2009 20:36:37 GMT, "Neil Smith [MVP Digital Media]"
<ne...@nospam.com> wrote:

>The URL you posted for the schema looks like
>xsi:schemaLocation="http://www.mysite.test schedule.xsd"
>
>You are missing a slash between the domand and file path.
>
>

>On Tue, 23 Jun 2009 06:12:32 -0700 (PDT), Peter Laman
><peter...@gmail.com> wrote:
>
>>I'm trying to process an XML file with MSXML. The file starts with:
>>
>><?xml version="1.0" encoding="UTF-8"?>
>><schedule xmlns="http://www.mysite.test" xmlns:xsi="http://www.w3.org/
>>2001/XMLSchema-instance" xsi:schemaLocation="http://www.mysite.test
>>schedule.xsd">
>>
>>So the XML references an XSD. However, when I try to use the
>>'validate' method, I get the error
>>"Validate failed because the root element had no associated DTD/
>>schema."

0 new messages