I don't think so, but I'll be honest, I wouldn't know for sure unless I
actually tried it out. (*mutters bad things about XML Schema*)

Cheers,
- Dan

On 5/4/07, Polar Humenn <[EMAIL PROTECTED]> wrote:

Say I want to do this:

<xs:complexType name="Mytype">
       <xs:complexContent>
          <xs:entension base="sec:SSLServerPolicy">
              <xs:sequence>
                    <xs:element name="crls">
                        <xs:complexType>
                              <xs:attribute name="file" type="xs:string"/>
                              <xs:attribute name="url" type="xs:string"/>
                        </xs:complexType>
              <xs:sequence>
          </xs:extension>
      </xs:complexContent>
</xs:complexType>

Basically extending SSLServerPolicy with another <element>. Would that
be prohibited if you used an <xs:all>?

Cheers,
-Polar

Dan Diephouse wrote:
> The reason that things are typically a sequence, is so they can be
> extensible. That is, you can't specify an xs:any for forward
> compatability
> if you're using an xs:all. With that said, we don't have any xs:any's
> declared anywhere, so it really doesn't matter.
>
> Can you please create a JIRA issue for this? I concur that we should
> probably change this as well.
>
> - Dan
>
> On 5/3/07, Bolton, Fintan <[EMAIL PROTECTED]> wrote:
>>
>> From a user's perspective, I think it might be more convenient to have
>> Spring configuration schemas that make more extensive use of xs:all
>> instead of xs:sequence.
>>
>> For example, in the security configuration schema, the SSLClientPolicy
>> type is defined to be an xs:sequence, as follows:
>>
>>     <xs:complexType name="SSLClientPolicy">
>>         <xs:sequence>
>>             <xs:element name="Keystore" type="xs:string" minOccurs="0"
>> maxOccurs="1"/>
>>             <xs:element name="KeystoreType" type="xs:string"
>> minOccurs="0" maxOccurs="1"/>
>>           <xs:element name="KeystorePassword" type="xs:string"
>> minOccurs="0" maxOccurs="1"/>
>>           <xs:element name="KeyPassword" type="xs:string" minOccurs="0"
>> maxOccurs="1"/>
>>             <xs:element name="KeystoreAlgorithm" type="xs:string"
>> minOccurs="0" maxOccurs="1"/>
>>             <xs:element name="Ciphersuites" type="xs:string"
>> minOccurs="0" maxOccurs="unbounded"/>
>>           <xs:element name="CiphersuiteFilters" type="tns:FiltersType"
>> minOccurs="0" maxOccurs="1"/>
>>           <xs:element name="TrustStore" type="xs:string" minOccurs="0"
>> maxOccurs="1"/>
>>           <xs:element name="TrustStoreType" type="xs:string"
>> minOccurs="0" maxOccurs="1"/>
>>             <xs:element name="TrustStoreAlgorithm" type="xs:string"
>> minOccurs="0" maxOccurs="1"/>
>>             <xs:element name="SecureSocketProtocol" type="xs:string"
>> minOccurs="0" maxOccurs="1"/>
>>             <xs:element name="SessionCaching" type="xs:boolean"
>> minOccurs="0" maxOccurs="1"/>
>>             <xs:element name="SessionCacheKey" type="xs:string"
>> minOccurs="0" maxOccurs="1"/>
>>             <xs:element name="MaxChainLength" type="xs:long"
>> minOccurs="0" maxOccurs="1"/>
>>             <xs:element name="CertValidator" type="xs:string"
>> minOccurs="0" maxOccurs="1"/>
>>             <xs:element name="ProxyHost" type="xs:string" minOccurs="0"
>> maxOccurs="1"/>
>>             <xs:element name="ProxyPort" type="xs:long" minOccurs="0"
>> maxOccurs="1"/>
>>         </xs:sequence>
>>     </xs:complexType>
>>
>> By declaring SSLClientPolicy as xs:sequence, you force the user to
>> specify the elements in precisely the specified order.  Now, while you
>> have some hope of remembering the names of the elements you need, it is
>> unlikely that you will be able to remember the required sequence for
all
>> of these elements (unless you have a photographic memory).  Also, most
>> users are used to the idea that they can set configuration variables in
>> a more or less arbitrary order.  Ordering mistakes would be
particularly
>> prone to occur when updating a configuration file (say, for example, if
>> an administrator decided to add in a CiphersuiteFilter element).
>>
>> Element ordering would not be an issue, however, if the SSLClientPolicy
>> type was declared to be xs:all instead of xs:sequence.
>>
>> Does this make sense?  Or are there some technical reasons for
>> preferring xs:sequence?
>>
>> Regards,
>> Fintan Bolton
>>
>
>
>




--
Dan Diephouse
Envoi Solutions
http://envoisolutions.com | http://netzooid.com/blog

Reply via email to