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
