[jats-list] Modularizing BITS?

Subject: [jats-list] Modularizing BITS?
From: Alexander Schwarzman <aschwarzman@xxxxxxxxx>
Date: Sat, 24 Nov 2012 20:34:50 -0500
Apologies for the previous post with the wrong Subject line.

-----
I was wondering if there are plans to make the BITS model
modularized rather than monolithic by using XIncludes.

I would like to see something like:

<book>
  <book-meta>
  ...
  </book-meta>
  <book-body>
    <xi:include href="part-1.xml"/>
    ...
    <xi:include href="part-6.xml"/>
  </book-body>
</book>

where "part-1.xml" can be a standalone XML document conforming to the
same DTD (conveniently, BITS has two top-level elements, 'book' and
'book-part-wrapper'):

<!DOCTYPE book-part-wrapper PUBLIC "-//NLM//DTD BITS Book Interchange
DTD v0.2 20121015//EN" "bits-dtd-0.2/BITS-book0.dtd">

<book-part-wrapper>
	<book-meta>
	...
	</book-meta>
	<book-part book-part-type="part" id="part-1">
		<book-part-meta>
    ...
		</book-part-meta>
		<body>
			<xi:include href="chapter-1.xml"/>
			...
			<xi:include href="chapter-9.xml"/>
		</body>
	</book-part>	
</book-part-wrapper>

Here, in turn, "chapter-1.xml" can be a standalone XML document again
conforming to the same DTD:

<!DOCTYPE book-part-wrapper PUBLIC "-//NLM//DTD BITS Book Interchange
DTD v0.2 20121015//EN" "bits-dtd-0.2/BITS-book0.dtd">

<book-part-wrapper>
	<book-meta>
	...
	</book-meta>
	<book-part book-part-type="chapter" id="chapter-1">
		<book-part-meta>
    ...
		</book-part-meta>
		<body>
			<sec><p>...</p></sec>
			...
			<sec><p>...</p></sec>
		</body>
	</book-part>	
</book-part-wrapper>
	

It seems beneficial to be able to use each 'book-part-wrapper' at any
level of granularity (part, chapter, etc.) as a standalone XML document
for the purposes of validation, QC, etc.

That could be accomplished by:
- defining xi:include element
- redefining %book-part.class; as "book-part | book-part-wrapper"
- allowing xi:include wherever 'book-part' is allowed, e.g.,
  redefining %book-body-model; as "(((%book-part.class;) | xi:include)+)"
  redefining %body-model; as "((%para-level;)*, (%sec-level;)*,
                              ((%book-part.class;) | xi:include)*)"
  etc.

Of course, potentially, BITS could be modularized in many different
ways, so I am curious if any are being considered.

Thank you,

Alexander ('Sasha') Schwarzman
Content Technology Architect
OSA - The Optical Society
2010 Massachusetts Ave., NW
Washington, DC 20036  USA
Direct: +1.202.416.1979
Email: aschwarzman@xxxxxxx
http://www.osa.org

Current Thread