OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

provision message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RESEND: Reference Capability hasReference.


THE SHORT VERSION: The HasReferenceType should contain all of the 
*individual pieces* of a reference, rather than a single reference 
argument.  This still supports "exact match", but also allows for search 
that matches on the specified "parts" of a reference (e.g., 
typeOfReference, toPsoID, referenceData).
--- Begin Message ---
XSD draft 17 adds a "hasReference" query clause to the Reference 
Capability.  However, this query clause allows only for search based on 
*exact match* to a specified <reference> element.

If we want to support search for objects that refer to a specific 
object, we'd need to add another query clause that accepts just a 
<psoID> element. 

If we want to support search for objects that have any reference of a 
specific type (e.g., any User beneath a certain context with a 
"memberOfGroup" reference), we'd need to add another query clause that 
accepts just a "typeOfReference" attribute.  This might look something 
like "hasTypeOfReference" (below).

Another way to do this (that might be easier) would be to define a query 
clause type (or to change HasReferenceType) to contain the *individual 
parts* of a reference.  This would be the most flexible, since you could 
use it for an exact match or for a match just based on "toPsoId" or 
"typeOfReference".  This might look like:

    <complexType name="HasReferenceType">
        <complexContent>
            <extension base="spml:QueryClauseType">
                <sequence>
                    <element name="toPsoID" 
type="spml:PSOIdentifierType" minOccurs="0" />
                    <element name="referenceData" 
type="spml:ExtensibleType" minOccurs="0" />
                </sequence>
               <attribute name="typeOfReference" type="string" 
use="optional" >
            </extension>
        </complexContent>
    </complexType>

    <element name="hasReference" type="spmlref:HasReferenceType"/>   

--- End Message ---


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]