[xquery-talk] best practice for function design with many optional params
Ronald Bourret
rpbourret at rpbourret.com
Thu Jan 26 12:07:06 PST 2012
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/
>
> _______________________________________________
> talk at x-query.com
> 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
>
>
>
More information about the talk
mailing list