[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]