← Prev in month ← Prev in thread

Unreachable elements

From
James Clark <>
Date
2001-10-10T04:55:14+00:00
ID
004a01c15147$6a042930$
Thread
Unreachable elements
There's a bug in 4.18.  The second paragraph says:

"First, remove any define element which does not have any ref element
referring to it."

This was intended to remove unreachable definitions, but it doesn't quite
work.  For example, in

<grammar>

<start>
  <element name="foo"><empty/></element>
</start>

<define name="bar">
  <ref name="bar"/>
</define>

</grammar>

bar is unreachable but there's a ref element referring to it.  I would
propose to change this to:

"First, remove any define element that is not reachable.  A define element
is reachable if there is reachable ref element referring to it.  A ref
element is reachable if it is the descendant of the start element or of a
reachable define element."

James
← Prev in month ← Prev in thread