I wouldnt do

(readingMaterial|publication)/string()
or
(xs:string(readingMaterial),xs:string(publication))[.]

unless you absolutely knew for sure that only 1 existed.
If both exist you will get 2 strings.

In the first place you get them in document order,
in the second case in the order specified.

I would do 

   (xs:string(readingMaterial),xs:string(publication))[1]
or just
    (readingMaterial,publication)[1]/string()


which gives me readingMaterial if it exists, and if it doesnt exist then 
publication.
but never both and always in the order of precidence I asked 

.
On 27/01/2014 14:55, Ihe Onwuka wrote:
> I am using one transformation for two different data sources with two 
> different schemas.
>
> One site may call a resoure readingMaterial another site may call the 
> same concept a publication, but they are otherwise similar and you may 
> want to treat them as such.
>
> (xs:string(readingMaterial),xs:string(publication))[.]
>



I'd probably write that as

(readingMaterial|publication)/string()

or if you know that exactly one of them is always there



string(readingMaterial|publication)


David


________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England and Wales 
with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is powered by 
MessageLabs. 
________________________________________________________________________
_______________________________________________
[email protected]
http://x-query.com/mailman/listinfo/talk

_______________________________________________
[email protected]
http://x-query.com/mailman/listinfo/talk

Reply via email to