Allow elements within %basic.ph; within <data>.
There's no reason to limit the content model of data to the degree it is in 1.2 as it makes an arbitrary and limiting decision about what is and isn't useful as metadata. In particular, data currently allows ph, keyword, and term, but not cite, xref, or q. For publishing applications there is a general requirement to be able to capture as metadata arbitrary content that could also occur within a topic body. Since, for example, <cite> is not a specialization of <ph>, <cite> is not allowed within data, which is unnecessarily limiting. Note also that <ph> allows pretty much all inline elements, so the current constraint is rather toothless anyway.
This change ensures that the content model of <data> is not over constrained, allowing any kind of phrase within <data>.
<!ENTITY % data.cnt "#PCDATA | %basic.ph; | %image; | %object; | %title; " >
<!--<!ENTITY % data.cnt "%basic.ph;|%image;|%object;|%title;">--> <xs:group name="data.cnt"> <xs:choice> <xs:group ref="basc.ph"/> <xs:group ref="image"/> <xs:group ref="object"/> <xs:group ref="title"/> </xs:choice> </xs:group>
text | basic.ph | image | object | title
A <data> element within <author>, acting as an author biography:
<topic id="topic_t4p_nr2_th"> <title>Test of extended content model for <data></title> <prolog> <author><data name="author-bio">Ann Author is the author of many works, including <cite>A Book You May Have Read</cite>. Learn more about Ms. Author at <xref href="http://example.com/authors/ann-author" format="html" scope="external">http://example.com/authors/ann-author</xref>.</data></author> </prolog> <body> <p/> </body> </topic>