OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

dita-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: RE: [dita-comment] "Any number" of elements.

Thanks!  There may be a workaround in both Frame and XMetaL but at least now I know what's intended.

David S. Blyth (The UNIX dinosaur)
Sr. Staff Technical Writer
QUALCOMM – Standard disclaimers apply

Only 149,999,944 more years of Ruling The Earth to go

From: Eliot Kimber [ekimber@rsicms.com]
Sent: Friday, January 24, 2014 5:15 AM
To: Blyth, David; dita-comment@lists.oasis-open.org
Cc: Blyth, Pamela
Subject: Re: [dita-comment] "Any number" of elements.

As of DITA 1.2, the base content model for <conbody> is:

 (%section; |
  %example; |
  %conbodydiv;)* )

Which means that all the elements are optional and, in addition, you may
have <section>, <example>, or <conbodydiv> without any preceding elements.

So the behavior you’re reporting from Framemaker and XMetal is incorrect,
assuming that they are using this content model.

Note, however, that DITA allows for configuration of document types,
including the imposition of constraints.

That is, the content model shown above is the base model defined in
concept topic module. However, that content model can be adjusted in the
context of specific document types that use the module. For example, it
would be conforming to require at least one element from the first group
because that would be more constrained than the base model (the general
rule in DITA is that you can make things more constrained but not less
constrained—requiring an element that is otherwise optional is more
constrained and thus allowed).

So you must determine what actual document types (meaning document type
shell in DITA jargon) your documents are using. If they are using the
OASIS-provided concept shell then the model enforced should be that shown
above, but if they are using some other shell, they could be modifying the
base rules to define the constraints you’re observing.


Eliot Kimber
Senior Solutions Architect
"Bringing Strategy, Content, and Technology Together"
Main: 512.554.9368

On 1/23/14, 10:09 PM, "Blyth, David" <dblyth@qti.qualcomm.com> wrote:

>The DITA standard refers to “any number” of elements.  For example, a
>conbody can contain
>( (dl <http://docs.oasis-open.org/dita/v1.2/os/spec/langref/dl.html>
> or
>parml <http://docs.oasis-open.org/dita/v1.2/os/spec/langref/parml.html>
>fig <http://docs.oasis-open.org/dita/v1.2/os/spec/langref/fig.html> or
><http://docs.oasis-open.org/dita/v1.2/os/spec/langref/imagemap.html> or
>image <http://docs.oasis-open.org/dita/v1.2/os/spec/langref/image.html>
>lines <http://docs.oasis-open.org/dita/v1.2/os/spec/langref/lines.html>
>lq <http://docs.oasis-open.org/dita/v1.2/os/spec/langref/lq.html> or
>note <http://docs.oasis-open.org/dita/v1.2/os/spec/langref/note.html> or
>> or
>object <http://docs.oasis-open.org/dita/v1.2/os/spec/langref/object.html>
>ol <http://docs.oasis-open.org/dita/v1.2/os/spec/langref/ol.html> or
>p <http://docs.oasis-open.org/dita/v1.2/os/spec/langref/p.html> or
>pre <http://docs.oasis-open.org/dita/v1.2/os/spec/langref/pre.html> or
><http://docs.oasis-open.org/dita/v1.2/os/spec/langref/codeblock.html> or
><http://docs.oasis-open.org/dita/v1.2/os/spec/langref/msgblock.html> or
>screen <http://docs.oasis-open.org/dita/v1.2/os/spec/langref/screen.html>
>sl <http://docs.oasis-open.org/dita/v1.2/os/spec/langref/sl.html> or
>table <http://docs.oasis-open.org/dita/v1.2/os/spec/langref/table.html>
>ul <http://docs.oasis-open.org/dita/v1.2/os/spec/langref/ul.html> or
>data <http://docs.oasis-open.org/dita/v1.2/os/spec/langref/data.html> or
><http://docs.oasis-open.org/dita/v1.2/os/spec/langref/data-about.html> or
><http://docs.oasis-open.org/dita/v1.2/os/spec/langref/foreign.html> or
><http://docs.oasis-open.org/dita/v1.2/os/spec/langref/unknown.html> or
>l>) (any number)
>then (section
> or
><http://docs.oasis-open.org/dita/v1.2/os/spec/langref/example.html> or
>(any number)
>Does “any number” mean “Zero and up” or “One and up”?  The FrameMaker 11
>“concept” EDD uses the “*” symbol, which means “Zero and up” rather than
>“+”, which
> is “One and up”. (though I certainly don’t cite Frame as definitive!).
>If I understand correctly (never a given), then
>If “any number” means “Zero and up”, then I should be able to insert a
>section immediately following a conbody.  That is...
>   <section>
>      <p></p>
>   </section>
>....because the <dl/>, <parml/> and other elements listed would be
>optional.  However, this is not possible in either Frame 11 or XMetaL 6.
>Both tools
>require some pre-existing element in the list.
>If “any number” means “One and up”, then I would be
>required to end a conbody with a section (or example).  However, both
>Frame 11 and XMetaL 6 allow me to terminate the conbody without one.
>The tool behavior seems inconsistent.  But regardless and ignoring the
>tool behavior, what is the formal definition of DITA on this point?  Can I
>start a conbody with “section” (or example), must I end a conbody with
>“section” (or example) or am I just completely out to lunch?
>Thanks much!
>David S. Blyth (The UNIX dinosaur)
>Sr. Staff Technical Writer
>QUALCOMM – Standard disclaimers apply
>Only 149,999,943 more years of Ruling The Earth to go

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]