In storing some DITA documents into MarkLogic I discovered that the trailing spaces in the DITA class= attributes are not preserved. I created a simple test and got the same behavior, e.g.:

xdmp:document-load("test.xml", <root foo=" bar "/>)

<result>{doc("text.xml")/@foo}</result>

Returns:

<result>bar</result>

not

<result> bar </result>

The DITA standard requires the trailing spaces in the class= values because the value is a sequence blank-delimited tokens where you need to be able to match on " {token} " so you don't get false positives (for example, the "topic" type is the token "topic/topic", without the spaces, a search for "topic/topic" would also match "mytopic/topic-foo", which would be bad.

My question is: is this behavior unalterable or is it configurable?

This behavior does make it impossible to use DITA documents stored in MarkLogic with any normal DITA-aware processor (because they all expect there to be a trailing space in the class= value) without some serious workaround (essentially a post-fetch fixup to add back in the trailing space).

Cheers,

Eliot

--
Eliot Kimber
Senior Solutions Architect
"Bringing Strategy, Content, and Technology Together"
Main: 610.631.6770
www.reallysi.com
www.rsuitecms.com
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general

Reply via email to