Ogden, Jeff wrote:
> Wouldn't adding a non-name trailing character to the class attribute
> value cause problems for processors that care about the specific
> position of the item within the class attribute? Some processors may
> look for the last topic/element token or for the second to last. Or for
> processors that are generalizing a DITA document since you might mistake
> the character as the last token and end up generalizing an element to
> itself?
I suppose those could be problems--hadn't considered checks that look
for the last non-blank token. That would certainly be a compatibility
issue. Hmph.
Is there some history for why the trailing blank design was chosen over
a trailing non-blank? People have already asked me and I wasn't involved
with DITA when that decision was made but I assume it was not made
without appropriate consideration.
> Are the attribute values that have the trailing space stripped present
> in the document instance? Aren't the class attribute values typically in
> the DTD or schema rather than the instance? I can't imagine that
> MarkLogic is "correcting" the DTD or schema (but what do I know?). Is
> using the default class attribute value from the DTD or schema a way out
> of this problem?
The documents get normalized as part of the import to MarkLogic, which
as far as I know does not use either DTDs or schemas to handle defaulted
attributes (but I could be wrong--I'm no MarkLogic expert). The problem
of course is that the class= attribute is not fixed, only defaulted, so
there's nothing invalid about an instance that changes it.
On export we can of course just suppress the class= attributes (and
other known DITA "fixed" attributes). But that doesn't help in the case
of, for example, trying to query directly against the database on class.
Cheers,
Eliot
--
Eliot Kimber
Senior Solutions Architect
"Bringing Strategy, Content, and Technology Together"
Main: 610.631.6770
www.reallysi.com
www.rsuitecms.com