com.sun.tools.xjc.reader.relaxng
Class RELAXNGInternalizationLogic

java.lang.Object
  extended by com.sun.tools.xjc.reader.relaxng.RELAXNGInternalizationLogic
All Implemented Interfaces:
InternalizationLogic

public class RELAXNGInternalizationLogic
extends Object
implements InternalizationLogic

RELAX NG specific internalization logic.


Constructor Summary
RELAXNGInternalizationLogic()
           
 
Method Summary
 boolean checkIfValidTargetNode(DOMForest parent, Element bindings, Element target)
          Checks if the specified element is a valid target node to attach a customization.
 XMLFilterImpl createExternalReferenceFinder(DOMForest parent)
          Creates a new instance of XMLFilter that can be used to find references to external schemas.
 Element refineTarget(Element target)
          Prepares an element that actually receives customizations.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RELAXNGInternalizationLogic

public RELAXNGInternalizationLogic()
Method Detail

createExternalReferenceFinder

public XMLFilterImpl createExternalReferenceFinder(DOMForest parent)
Description copied from interface: InternalizationLogic
Creates a new instance of XMLFilter that can be used to find references to external schemas.

Schemas that are included/imported need to be a part of DOMForest, and this filter will be expected to find such references.

Once such a reference is found, the filter is expected to call the parse method of DOMForest.

DOMForest will register ErrorHandler to the returned object, so any error should be sent to that error handler.

Specified by:
createExternalReferenceFinder in interface InternalizationLogic
Returns:
This method returns XMLFilterImpl because the filter has to be usable for two directions (wrapping a reader and wrapping a ContentHandler)

checkIfValidTargetNode

public boolean checkIfValidTargetNode(DOMForest parent,
                                      Element bindings,
                                      Element target)
Description copied from interface: InternalizationLogic
Checks if the specified element is a valid target node to attach a customization.

Specified by:
checkIfValidTargetNode in interface InternalizationLogic
Parameters:
parent - The owner DOMForest object. Probably useful only to obtain context information, such as error handler.
bindings - <jaxb:bindings> element or a customization element.
Returns:
true if it's OK, false if not.

refineTarget

public Element refineTarget(Element target)
Description copied from interface: InternalizationLogic
Prepares an element that actually receives customizations.

For example, in XML Schema, target nodes can be any schema element but it is always the <xsd:appinfo> element that receives customization.

Specified by:
refineTarget in interface InternalizationLogic
Parameters:
target - The target node designated by the customization.
Returns:
Always return non-null valid object