com.sun.msv.grammar.util

Class RefExpRemover

public class RefExpRemover extends ExpressionCloner

removes all ReferenceExp from AGM. when named expression is nullSet, it cannot be used. by replacing ReferenceExp by its definition, those unavailable expressions will be properly removed from AGM.

Author: Kohsuke KAWAGUCHI

Constructor Summary
RefExpRemover(ExpressionPool pool, boolean _recursive)
Method Summary
ExpressiononAttribute(AttributeExp exp)
ExpressiononElement(ElementExp exp)
ExpressiononOther(OtherExp exp)
ExpressiononRef(ReferenceExp exp)

Constructor Detail

RefExpRemover

public RefExpRemover(ExpressionPool pool, boolean _recursive)

Parameters: _recursive

If true, this object behaves destructively. It recursively visits all the reachable expressions and removes ReferenceExps. In this process, this object changes the content model of ElementExps.

If false, this object doesn't visit the content models of child elements, therefore, it behaves non-destructively. Nothing in the original expression will be touched.

Method Detail

onAttribute

public Expression onAttribute(AttributeExp exp)

onElement

public Expression onElement(ElementExp exp)

onOther

public Expression onOther(OtherExp exp)

onRef

public Expression onRef(ReferenceExp exp)