Ronald, that was my initial approach that I quite liked because as you said - it allows for complex values - the element name and its contents are nice vehicles for key and value - it's easy to evaluate optional elements (if the child element exists, the parameter has been supllied, otherwise, we don't care) - in some scenarios, one could supplement each parameter with attributes indicating default values and types <start type="xs:integer" default="1">11</start>
drawbacks: - verbosity (which is why I did take a liking to the attribute on the single element approach) - all the "baggage" as mentioned by Michael Kay in his message, although I think I could live with that for now All in all, it seems there's no perfect solution, so I'll have to figure out what the most acceptable approach is for me until maps come along. Thanks for everybody's input, Jakob. On Thu, Jan 26, 2012 at 21:07, Ronald Bourret <[email protected]> wrote: > The other obvious variation is to pass a single node with children > representing the optional variables. This is similar to the attribute > approach Michael suggests, but allows for complex arguments. It also handles > sequences, as these can be wrapped in a child. > > For example: > > <OptionalArgs> > <Name>Ron</Name> > <Address> > <Street>123123 Main</Street> > <City>Mainville</City> > <State>CA</State> > </Address> > <!-- Optional Email child not available and so is missing --> > <PhoneNumbers> > <!-- Sequence here --> > <PhoneNumber>333-333-3333</PhoneNumber> > <PhoneNumber>444-444-4444</PhoneNumber> > </PhoneNumber> > </OptionalArgs> > > -- Ron > > Florent Georges wrote: >> >> David Lee wrote: >> >> Hi, >> >>> Another common practice is to pass a sequence as the options. >> >> >> The main drawback I see with this approach is that it copes very >> badly with empty values (where the value is the empty sequence) >> and with sequences (where a value can be a sequence). And the >> behaviour can be very surprising (and hard to debug) when one >> passes an empty sequence or a sequence of more than one items by >> mistake. >> >> As Mike said, maps would be perfect here... >> >> Regards, >> >> -- >> Florent Georges >> http://fgeorges.org/ >> http://h2oconsulting.be/ >> >> _______________________________________________ >> [email protected] >> http://x-query.com/mailman/listinfo/talk >> >> >> >> ----- >> No virus found in this message. >> Checked by AVG - www.avg.com >> Version: 10.0.1416 / Virus Database: 2109/4766 - Release Date: 01/25/12 >> >> >> > _______________________________________________ > [email protected] > http://x-query.com/mailman/listinfo/talk _______________________________________________ [email protected] http://x-query.com/mailman/listinfo/talk
