Solved

exception:  must be followed by either attribute specifications, ">" or "/>"

Posted on 2002-07-01
5
1,406 Views
Last Modified: 2013-11-19
I get this error when trying to validate an xsd file:

java.io.IOException: Problems occurred:Error on line 20 of document file:/G:/Data/xml/weather2.xsd: Element type "xsd:minInclusiveValue" must be followed by either attribute specifications, ">" or "/>".
at org.enhydra.validation.SchemaParser.parseSchema(SchemaParser.java:122)
at org.enhydra.validation.SchemaParser.<init>(SchemaParser.java:57)
at org.enhydra.validation.Validator.<init>(Validator.java:40)
at org.enhydra.validation.Validator.getInstance(Validator.java:68)
at ValidatorTest.main(ValidatorTest.java:18)

Line 20 is:
    <xsd:minInclusiveValue="0"/>
but that particular line is not really the issue, i suspect.  What is the problem?

weather2.xsd is:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www/w3/org/1999/XMLSchema">

<xsd:annotation>
  <xsd:documentation>
    Weather Data Schema 4/16/2002
  </xsd:documentation>
<xsd:annotation>

<xsd:element name="historical_weather" type="historical_weather_type"/>

<xsd:complexType name="historical_weather_type">
  <xsd:element name="year" type="year_type" maxOccurs="1" minOccurs="1"/>
</xsd:complexType>

<xsd:complexType name="year_type">

  <xsd:element name="number" minOccurs="1" maxOccurs="1">
    <xsd:simpleType base="xsd:year">
    <xsd:minInclusiveValue="0"/>
    <xsd:maxInclusiveValue="4000"/>
  </xsd:element>

  <xsd:element name="month" type="month_type" minOccurs="12" maxOccurs="12"/>

</xsd:complexType>

<xsd:complexType name="month_type">
  <xsd:element name="number" minOccurs="1" maxOccurs="1">
    <xsd:simpleType base="xsd:positiveInteger">
    <xsd:minInclusiveValue="1"/>
    <xsd:maxInclusiveValue="12"/>
  </xsd:element>
  <xsd:element name="julian_day" type="julian_day_type" minOccurs="28" maxOccurs="31"/>
</xsd:complexType>

<xsd:complexType name="julian_day_type">

  <xsd:element name="number" minOccurs="1" maxOccurs="1">
     <xsd:simpleType base="xsd:positiveInteger">
     <xsd:minInclusiveValue="1"/>
     <xsd:maxInclusiveValue="365"/>
  </xsd:element>

  <xsd:element name="day" minOccurs="1" maxOccurs="1">
     <xsd:simpleType base="xsd:positiveInteger">
     <xsd:minInclusiveValue="1"/>
     <xsd:maxInclusiveValue="31"/>
  </xsd:element>

  <xsd:element name="maximum_temperature" minOccurs="1" maxOccurs="1">
     <xsd:simpleType base="xsd:decimal">
     <xsd:minInclusiveValue="-100.0"/>
     <xsd:maxInclusiveValue="100.0"/>
  </xsd:element>

  <xsd:element name="minimum_temperature" minOccurs="1" maxOccurs="1">
     <xsd:simpleType base="xsd:decimal">
     <xsd:minInclusiveValue="-100.0"/>
     <xsd:maxInclusiveValue="100.0"/>
  </xsd:element>

  <xsd:element name="average_precipitation" minOccurs="1" maxOccurs="1"/>
     <xsd:simpleType base="xsd:decimal">
     <xsd:minInclusiveValue="0.0"/>
     <xsd:maxInclusiveValue="200.0"/>
  </xsd:element>

</xsd:complexType>

</xsd:schema>
0
Comment
Question by:jdaues
[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
  • 2
  • 2
5 Comments
 
LVL 92

Expert Comment

by:objects
ID: 7123379
All your xsd:simpleType elements aren't terminated correctly eg.:

<xsd:simpleType base="xsd:year">

Should be:

<xsd:simpleType base="xsd:year"/>
0
 

Author Comment

by:jdaues
ID: 7125007
I can see that that is indeed incorrect.
However, even after correcting this, the same error still occurs.
0
 
LVL 92

Expert Comment

by:objects
ID: 7125465
Can you post the updated file.
0
 
LVL 7

Accepted Solution

by:
Igor Bazarny earned 100 total points
ID: 7129930
Hi,

> Line 20 is:
>   <xsd:minInclusiveValue="0"/>
> but that particular line is not really the issue, i suspect.  What is the problem?

As far as I can see, this is incorrect xml. It's posible that there should be whitespace inside minInclusiveValue (before Value?), or another attibute name before '=' sign. It may well be that you mean attribute xsd:minInclusiveValue of enclosing element. In any case error message is correct. Parser sees '=' right after element name.

Regards,
Igor Bazarny,
Brainbench MVP for Java 1
0
 

Author Comment

by:jdaues
ID: 7130041
valid xsd file is:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www/w3/org/1999/XMLSchema">

<xsd:annotation>
  <xsd:documentation>
    Weather Data Schema 4/16/2002
  </xsd:documentation>
</xsd:annotation>

<xsd:element name="historical_weather" type="historical_weather_type"/>

<xsd:complexType name="historical_weather_type">
  <xsd:element name="year" type="year_type" maxOccurs="1" minOccurs="1"/>
</xsd:complexType>

<xsd:complexType name="year_type">

  <xsd:element name="number" minOccurs="1" maxOccurs="1">
    <xsd:simpleType base="xsd:year"/>
    <xsd:minInclusive Value="0"/>
    <xsd:maxInclusive Value="4000"/>
  </xsd:element>

  <xsd:element name="month" type="month_type" minOccurs="12" maxOccurs="12"/>

</xsd:complexType>

<xsd:complexType name="month_type">
  <xsd:element name="number" minOccurs="1" maxOccurs="1">
    <xsd:simpleType base="xsd:positiveInteger"/>
    <xsd:minInclusive Value="1"/>
    <xsd:maxInclusive Value="12"/>
  </xsd:element>
  <xsd:element name="julian_day" type="julian_day_type" minOccurs="28" maxOccurs="31"/>
</xsd:complexType>

<xsd:complexType name="julian_day_type">

  <xsd:element name="number" minOccurs="1" maxOccurs="1">
     <xsd:simpleType base="xsd:positiveInteger"/>
     <xsd:minInclusive Value="1"/>
     <xsd:maxInclusive Value="365"/>
  </xsd:element>

  <xsd:element name="day" minOccurs="1" maxOccurs="1">
     <xsd:simpleType base="xsd:positiveInteger"/>
     <xsd:minInclusive Value="1"/>
     <xsd:maxInclusive Value="31"/>
  </xsd:element>

  <xsd:element name="maximum_temperature" minOccurs="1" maxOccurs="1">
     <xsd:simpleType base="xsd:decimal"/>
     <xsd:minInclusive Value="-100.0"/>
     <xsd:maxInclusive Value="100.0"/>
  </xsd:element>

  <xsd:element name="minimum_temperature" minOccurs="1" maxOccurs="1">
     <xsd:simpleType base="xsd:decimal"/>
     <xsd:minInclusive Value="-100.0"/>
     <xsd:maxInclusive Value="100.0"/>
  </xsd:element>

  <xsd:element name="average_precipitation" minOccurs="1" maxOccurs="1">
     <xsd:simpleType base="xsd:decimal"/>
     <xsd:minInclusive Value="0.0"/>
     <xsd:maxInclusive Value="200.0"/>
  </xsd:element>

</xsd:complexType>

</xsd:schema>
0

Featured Post

Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

Question has a verified solution.

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

I found this questions asking how to do this in many different forums, so I will describe here how to implement a solution using PHP and AJAX. The logical flow for the problem should be: Write an event handler for the first drop down box to get …
In this post we will learn different types of Android Layout and some basics of an Android App.
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…
The viewer will the learn the benefit of plain text editors and code an HTML5 based template for use in further tutorials.

632 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