Skip to main content
1-Visitor
April 3, 2014
Question

ambiguous content models

  • April 3, 2014
  • 5 replies
  • 1264 views
Epic is one of the few XML applications that still reports 'ambiguous'
content models as an error when parsing a DTD (yes some of us still use
them). I have a DTD that the requirements document is forcing a change to.
The change is causing Epic to report the model as ambiguous. It took me a
while to see where the ambiguity lies, but finding a 'fix' has been elusive.
My boss and I have both looked at this for a couple of hours (took him a bit
longer to see the ambiguous content).

I'm going to continue looking, but here is the model. I'm open to
suggestions if anyone feels like jumping in. 😄

(interconnect | testflow | funcdepend | schematic | comp-locator |
harness-indx)*), proc)*, (sysdesc?, (interconnect | testflow | funcdepend |
schematic | comp-locator | harness-indx)*), (hookup?, tsproc, disconnect?),
followon.maintsk?)>

The group (sysdesc?, (interconnect | testflow | funcdepend | schematic |
comp-locator | harness-indx)*) is declared as a parameter ENTITY in the DTD.


Epic reports the element <interconnect> is used ambiguously. What astounds
me is why the <sysdesc> is not reported as ambiguous as it falls into the
same criteria as the <interconnect>.

Many thanks

Lynn

    5 replies

    1-Visitor
    April 3, 2014
    Hi Lynn,

    I'm wondering about the construction of the element itself since sometimes the first thing reported is not always the issue. For example, I wonder if interconnect were repositioned in the sequence or removed from the model if it would report testflow as ambiguous since it would then be first, something like:

    (sysdesc?, ( testflow | interconnect | funcdepend | schematic | comp-locator | harness-indx)*)

    Greg

    18-Opal
    April 3, 2014
    Hi Lynn--

    One thing that jumps out at me, is this: if I'm reading this right, it looks like your main content section (the entity refs with "(sysdesc?,...)") can legally be empty. In other words, a document could go straight from <intro> to <hookup> (or even end right after <initial-setup>. Is that what you intend?

    --Clay
    LynnHales1-VisitorAuthor
    1-Visitor
    April 3, 2014
    Well my boss found the solution.



    He grouped the <proc> with the second rather than the first group with the
    <interconnect>. The proc is then required between the two ambiguous
    elements.



    Lynn


    LynnHales1-VisitorAuthor
    1-Visitor
    April 3, 2014
    Clay,



    Yes, we tried to clean it up, but the users want to everything, so it was
    back to the old way only allow it to repeat. L



    Lynn


    18-Opal
    April 3, 2014
    OK, just checking. (I feel your pain--negotiating structure vs. freedom with authors can be dicey.)