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: RE: [provision] Spec issue #10: Reference capability declaration with no reference definition.


Assuming that any schema entity on any target is a valid option for an
empty reference capability declaration doesn't seem reasonable to me.
Unfortunately, there is no mechanism in XML schema to enforce the
occurence of a subelement (referenceDefinition) based on a parent's
attribute value (identifier="...:reference") to the best of my knowledge
(only other schema languages like Schematron provide support for so
called conditional elements).
If we want to provide a schema-based solution for this issue, one option
(may be the only one?) is to define separate types for each capability
type (BulkCapabilityType, SearchCapabilityType ...), each with its own
element structure. Since this is not an elegant solution and XML schema
seems to lack support of this issue, we may add an additional normative
section in the Reference Capability chapter that defines that an "empty"
reference capability with no reference definiton is simply invalid (and
implementations need some custom validation here ...) 

-----Original Message-----
From: Gary P Cole [mailto:Gary.P.Cole@Sun.COM] 
Sent: Donnerstag, 12. Mai 2005 22:54
To: PSTC
Subject: [provision] Spec issue #10: Reference capability declaration
with no reference definition.

10. What if reference capability declaration contains no reference 
definition?

In the spec's listTargets example, the listTargetsResponse contains two 
targets.
Within target2's declaration of the Reference Capability for Person, the

provider declares that a Person on target2 may own an account on 
target1. (That is, an instance of Person on target2 may use an "owns" 
type of reference to refer to an instance of Account on target1.)

<listTargetsResponse status="success">
...
<target targetID="target2">
...
<capabilities>
...
<capability identifier="urn:oasis:names:tc:SPML:2.0:reference">
<appliesTo entityName="Person"/>
<referenceDefinition typeOfReference="owns"/>
<schemaEntity entityName="Person"/>
<canReferTo entityName="Account" targetID="target1"/>
</referenceDefinition>
</capability>
</capabilities>
</target>
</listTargetsResponse>

Since the reference definition is *open content* of the <capability>,
nothing requires a declaration of the reference capability to contain a 
<referenceDefinition>.
This raises the question of what a declaration of the reference 
capability would mean
if no <referenceDefinition> were present.

In the listTargetsResponse example above, what would it mean if the 
provider omitted the <referenceDefinition>? Would this mean that an 
instance of Person on target2
may use *any* type of reference refer to an instance of any schema 
entity on any target?


---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail.  You may a link to this group and all your TCs in
OASIS
at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 



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