com.sun.msv.verifier.psvi

Interface TypedContentHandler

public interface TypedContentHandler

Receives notification of the typed content of the document.

This interface can be considered as the SAX ContentHandler plus type-information. It is intended to help applications to interpret the incoming document.

Consider a following RELAX NG pattern and instance:


 <element name="root">
   <optional>
     <attribute name="foo">
       <choice>
         <data type="boolean"/>
         <data type="date"/>
       </choice>
     </attribute>
   </optional>
   </element><element name="child">
     <list><zeroormore>
       <data type="NMTOKEN"/>
     </zeroormore></list>
   </element>
 
 
 <root foo="true">
   <child> A B </child>
 </root>
 
Events are reported in the following order:
 startDocument()
  startElement(root)
   startAttribute(foo)
    characterChunk("true", com.sun.msv.datatype.xsd.BooleanType)
   endAttribute(foo)
   endAttributePart()
   startElement(child)
    characterChunk("A", com.sun.msv.datatype.xsd.NMTOKENType)
    characterChunk("B", com.sun.msv.datatype.xsd.NMTOKENType)
   endElement(child, MSV's internal object that represents the child element)
  endElement(root, MSV's internal object that represents the root element)
 endDocument()
 
Author:
Kohsuke KAWAGUCHI
See Also:
TypeDetector

Method Summary

void
characterChunk(String literal, Datatype type)
receives notification of a string.
void
endAttribute(String namespaceURI, String localName, String qName, AttributeExp type)
receives notification of the end of an attribute.
void
endAttributePart()
this method is called after the start/endAttribute method are called for all attributes.
void
endDocument()
receives notification of the end of a document.
void
endElement(String namespaceURI, String localName, String qName, ElementExp type)
receives notification of the end of an element.
void
startAttribute(String namespaceURI, String localName, String qName)
receives notification of the start of an attribute.
void
startDocument(ValidationContext context)
receives notification of the start of a document.
void
startElement(String namespaceURI, String localName, String qName)
receives notification of the start of an element.

Method Details

characterChunk

public void characterChunk(String literal,
                           Datatype type)
            throws SAXException
receives notification of a string.
Parameters:
literal - the contents.
type - assigned type. The validator assigns this type for this literal.

endAttribute

public void endAttribute(String namespaceURI,
                         String localName,
                         String qName,
                         AttributeExp type)
            throws SAXException
receives notification of the end of an attribute.
Parameters:
type - assigned type.

endAttributePart

public void endAttributePart()
            throws SAXException
this method is called after the start/endAttribute method are called for all attributes.

endDocument

public void endDocument()
            throws SAXException
receives notification of the end of a document.

endElement

public void endElement(String namespaceURI,
                       String localName,
                       String qName,
                       ElementExp type)
            throws SAXException
receives notification of the end of an element.
Parameters:
type - the type of this element.

startAttribute

public void startAttribute(String namespaceURI,
                           String localName,
                           String qName)
            throws SAXException
receives notification of the start of an attribute. the value of the attribute is reported through the characterChunk method.

startDocument

public void startDocument(ValidationContext context)
            throws SAXException
receives notification of the start of a document.
Parameters:
context - This ValidationContext object is effective through the entire document.

startElement

public void startElement(String namespaceURI,
                         String localName,
                         String qName)
            throws SAXException
receives notification of the start of an element. If this element has attributes, the start/endAttribute methods are called after this method.