When you've got a long list of configuration items, each of which is
optional, it's better to use <all> than <sequence> -- <sequence>
requires the items to occur in exactly the order they're listed.

E.g., in nattraversalrules.xsd:

  <element name='info'>
    <annotation>
      <documentation>
        Contains information about the state of the NAT traversal feature 
      </documentation>
    </annotation>
    <complexType>
      <all>
        <element ref='dmp:state' minOccurs='1' maxOccurs='1'/>
        <element ref='dmp:behindnat' minOccurs='1' maxOccurs='1'/>
        <element ref='dmp:useSTUN' minOccurs='1' maxOccurs='1'/>
        <element ref='dmp:stun-server-address' minOccurs='0' maxOccurs='1'/>
        <element ref='dmp:rediscovery-time' minOccurs='0' maxOccurs='1'/>       
 
        <element ref='dmp:publicaddress' minOccurs='0' maxOccurs='1'/>
        <element ref='dmp:publicport' minOccurs='0' maxOccurs='1'/>        
        <element ref='dmp:proxyhostport' minOccurs='1' maxOccurs='1'/>
        <element ref='dmp:relayaggressiveness' minOccurs='1' maxOccurs='1'/>    
    
        <element ref='dmp:concurrentrelays' minOccurs='1' maxOccurs='1'/>       
 
        <element ref='dmp:mediarelayexternaladdress' minOccurs='0' 
maxOccurs='1'/>        
        <element ref='dmp:mediarelaynativeaddress' minOccurs='1' 
maxOccurs='1'/>        
        <element ref='dmp:mediarelayxml-rpc-port' minOccurs='1' maxOccurs='1'/> 
       
        <element ref='dmp:port-range' minOccurs='1' maxOccurs='1'/>        
        <element ref='dmp:log-level' minOccurs='0' maxOccurs='1'/>        
        <element ref='dmp:log-directory' minOccurs='0' maxOccurs='1'/>        
      </all>
    </complexType>
  </element>

Dale


_______________________________________________
sipx-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipx-dev
Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev

Reply via email to