[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [dita] DITA v1.2 Review | Propagating attribute values
Aside from the problems I have redefining how something basic like
propagation works at this late stage, I'd point out that treating attribute
values determined by explicit specification versus by DTD default as different
is something that should be done very carefully. For example, in SGML days, the (ESIS) data model made no
distinction. It was a conscious decision that there would be no way to
distinguish between an attribute value that was determined by being defaulted
in the DTD versus one that had an explicit assignment, and the XPointer/XSLT
data model also does not allow for any such distinction. I would be very loath--especially at this point--to say that
propagation differs depending on whether an attribute's value was explicitly
specified versus defaulted in the DTD. paul From: Tarun Garg
[mailto:tarung@adobe.com] The attribute values get propagated: ·
For Keys – from key-defining element to
key-referencing element. ·
For Conref – from referenced element to
referencing element. An attribute value can be specified through two ways: ·
In the DTD; as the default/fixed value. ·
In the XML instance. So, while propagating the attribute values, I think the values
specified in the XML instance itself shall only be considered for propagation.
One of the reason I think so, is that the value specified in the DTD is already
available in most cases and need not be propagated. Apart from this, the value
specified in the XML instance, indicates the user intention to assign a
specific value to an element & that needs to be propagated. One specific case for this relates to public review comment
#C011 (http://lists.oasis-open.org/archives/dita-comment/201007/msg00016.html). For a <keydef> element the default value of
@processing-role is define as “resource-only” through the DTD. Now,
there is a possibility that a user assigns value to @processing-role explicitly
in the xml. These two cases are different and I think the propagation of the
value shall happen differently for these two scenarios as follows. ·
If the value is defined through DTD – It
shall NOT be propagated from key-defining to key-referencing element. ·
If the value is explicitly specified in the XML
- It shall be propagated from key-defining to key-referencing element. This is so because, in general for key-defining element, the
@processing-role is controlled through DTD because, the purpose of the element
is clear and per the standard. Now, if a user is specifying a value in the XML
explicitly, then I assume the user wants some different behavior and hence, the
value shall be propagated. Regards, Tarun Garg | Adobe Systems | +91-120-2444711 | tarung@adobe.com |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]