Opened 13 years ago
Closed 13 years ago
#152 closed enhancement (fixed)
Allow multiple ResourceProxy references per component in CMDI profile schema
Reported by: | twagoo | Owned by: | twagoo |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | ComponentSchema | Version: | |
Keywords: | Cc: |
Description
The "ref" attribute on component elements is used to reference
ResourceProxy? elements by their id's. For example:
...
<Resources>
<ResourceProxy? id="a_photo">
...
<Components>
<Example_Profile_Instance>
<example-component-photo ref="a_photo">
...
The "ref" attribute is defined
<xs:attribute name="ref" type="xs:IDREF"/>
which allows one component element to reference zero or one
ResourceProxy?'s. We believe that this restriction is unnecessary and
moreover will lead to a confusing workflow in metadata building tools
such as Arbil (for example, what should happen if a new reference is
added to a component that already has a reference?).
Therefore we propose to have the type of "ref" changed to IDREFS
(see <http://www.w3.org/TR/xmlschema-2/#IDREFS>). That is:
<xs:attribute name="ref" type="xs:IDREFS"/>
This will allow, beside the current possibility of one reference id, the
value to be a space-separated list of id's, for example:
<example-component-photo ref="a_photo another_photo">
As IDREFS naturally accepts a single id as its value, existing metadata
will remain valid with this change. Tools, however, will have to be able
to deal with multiple values for ref.
Support for this is already under development in Arbil
Implemented this in [1587]