Thanks for the clarification Mike.

That sounds like a reasonable level of support. Here's a couple of
things that I would suggest relationg to your your support:

- Schema files should never me marked with errors if the
elements/attributes
  used in that file are considered valid according to the schema spec. I
  would hope that all of the "xsd" and "xsi" namespaced elements, as
  defined by the XML specs, would never be flagged as illegal elements.
  It seems like this level of support should not require a lot of work
  within IDEA's internal schema engine.

- For XML instance documents that are being validated against a schema,
  I would aim to support all "structural" elements such as <sequence>,
  <all>, etc. However, I would not be overly concerned with enforcing
  some of the identity constraints such as <key>, <keyref>, and <unique>
  elements. For some reason, I wouldn't expect violations of these
  constraints to be automatically flagged within the editor. I am
  OK with catching those kind of violations when I explicitly validate
  (which would only be limited by the Xerces implementation).

Tim


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
On Behalf Of Mike Aizatsky
Sent: Friday, March 15, 2002 10:32 AM
To: [EMAIL PROTECTED]
Subject: RE: [Eap-list] substitutionGroup not supported?


Tim,

Let me clarify the situation with schema/DTD validation a bit.

Yes, IDEA uses Xerces to perform the "Validate" action. Hance almost all
the limitation (and features) of "Validate" actions are the Xerces'
ones.

But IDEA has its own validation engine which performs the XML validation
according to schema/DTD on the fly. All errors IDEA displays in editor
are the errors from that validation engine. As you may imagine,
development of full-feature schema/DTD validator is not a trivial task
and requires loads of time to be developed and tested.

When we were discussing the set of xml-related feature here we decided
not to make IDEA a full-fledged XML editor, but to help developers in
authoring their XML files. So it was decided to implement some core set
of DTD/schema and to add features on a per-user-request basis. That's
why substitutionGroups were not supported yet. 

If someone will encounter some problems with unsupported features/bugs
IntelliJ team will do their best in supporting that feature in nearest
future. Especially during EAP.

Hope, I've answered your questions.

Best regards,
Mike Aizatsky.
------------------------------
IntelliJ Software, "Develop with pleasure!" http://www.intellij.com


> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
On
> Behalf Of Timothy M. Dean
> Sent: Friday, March 15, 2002 6:41 PM
> To: [EMAIL PROTECTED]
> Subject: RE: [Eap-list] substitutionGroup not supported?
> 
> In what way will you not support certain schema features? It seems
easy
> enough to support all the element/attributes in a schema according to 
> the spec... It is a well defined set that can be retrieved from the
XML
> Schema DTD (i.e. the schema for schemas). Shouldn't be very hard to do

> that!
> 
> When it comes to validation, I would assume that you use Xerces to 
> perform your validation, so that you would support whatever Xerces 
> supports.
> 
> So when you say you won't complete support schemas, I'm curious what
you
> mean. I do a lot of schema work, and even if I don't use certain
schema
> features now I might in the future. If I were to run into one of these

> unsupported features, how exactly would IDEA act with this unsupported

> feature?
> 
> - Tim
> 
> 
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> On Behalf Of Mike Aizatsky
> Sent: Friday, March 15, 2002 8:25 AM
> To: [EMAIL PROTECTED]
> Subject: RE: [Eap-list] substitutionGroup not supported?
> 
> 
> Tim,
> 
> Substitution groups are supported in build #612.
> 
> BTW we were not planning not create full support of XML schema and
DTDs.
> We are trying to add support of some subset which is enough for 
> everyone. That's why substitution groups (and a whole lot of features)

> were not supported. But we will try to add support for every 
> XML/DTD/SCHEMA feature being used by IDEA users in future.
> 
> Best regards,
> Mike Aizatsky.
> ------------------------------
> IntelliJ Software, "Develop with pleasure!" http://www.intellij.com
> 
> 
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]
> On
> > Behalf Of Timothy M. Dean
> > Sent: Thursday, March 14, 2002 3:33 AM
> > To: [EMAIL PROTECTED]
> > Subject: [Eap-list] substitutionGroup not supported?
> >
> > In my XML schema file, I have a list element that is defined as
> follows:
> >
> >     <complexType name="PhoneNumberListType">
> >         <complexContent>
> >             <restriction base="ab:IDObjectListType">
> >                 <sequence>
> >                     <element ref="ab:PhoneNumber" minOccurs="0" 
> > maxOccurs="unbounded"/>
> >                 </sequence>
> >                 <attribute name="primary" type="string"/>
> >             </restriction>
> >         </complexContent>
> >     </complexType>
> >
> > In the above, the IDObjectListType is just a generic list type
> definition,
> > and it works fine in other elements so I don't think it is related
to
> the
> > problem. I will provide more information on it if you think it is 
> > pertinent to this problem.
> >
> > So basically, this element contains 0 or more PhoneNumber elements.
> Here's
> > where it gets interesting. The PhoneNumber element is an abstract,
> with a
> > specific "subtype" called USPhoneNumber. These elements are declared
> later
> > in the schema as follows:
> >
> >     <element name="PhoneNumber" type="ab:PhoneNumberType" 
> > abstract="true"/>
> >     <element name="USPhoneNumber" substitutionGroup="ab:PhoneNumber"
> > type="ab:USPhoneNumberType"/>
> >
> > So basically, I have an element that contains a list of phone
numbers,
> 
> > where a phone number is either a US phone number or some other phone

> > number
> (to
> > be
> > defined later). This section of my schema works both under Xerces
> 1.4.4
> > and
> > Xerces 2.0.1.
> >
> > When I look at an instance document that should be valid against
this
> > schema, I have an element that looks like:
> >
> >             <PhoneNumberList primary="Home">
> >                 <USPhoneNumber id="Home">
> >                     <AreaCode>111</AreaCode>
> >                     <Exchange>111</Exchange>
> >                     <Suffix>1111</Suffix>
> >                 </USPhoneNumber>
> >             </PhoneNumberList>
> >
> > This element should be valid against the schema. However, the
opening
> > "USPhoneNumber" element is marked in red. The IDEA status line says 
> > "Element USPhoneNumber is not allowed here".
> >
> > It appears to me that IDEA is not recognizing extensions of abstract

> > elements that use the substitutionGroup attribute to identify their 
> > "super-type".
> >
> > - Tim
> >
> >
> >
> >
> > _______________________________________________
> > Eap-list mailing list
> > [EMAIL PROTECTED] 
> > http://www.intellij.com/mailman/listinfo/eap-list
> 
> 
> _______________________________________________
> Eap-list mailing list
> [EMAIL PROTECTED]
http://www.intellij.com/mailman/listinfo/eap-list
> 
> 
> 
> _______________________________________________
> Eap-list mailing list
> [EMAIL PROTECTED] 
> http://www.intellij.com/mailman/listinfo/eap-list


_______________________________________________
Eap-list mailing list
[EMAIL PROTECTED] http://www.intellij.com/mailman/listinfo/eap-list



_______________________________________________
Eap-list mailing list
[EMAIL PROTECTED]
http://www.intellij.com/mailman/listinfo/eap-list

Reply via email to