Search in sources :

Example 11 with StringRef

use of com.sun.msv.util.StringRef in project Payara by payara.

the class MSVValidator method endElement.

public void endElement() throws SAXException {
    writePendingText();
    if (!acceptor.isAcceptState(null)) {
        // some required elements are missing
        // report error
        StringRef ref = new StringRef();
        acceptor.isAcceptState(ref);
        context.reportEvent(target, ref.str);
    }
    // pop the acceptor
    Acceptor child = acceptor;
    acceptor = (Acceptor) stack.pop();
    if (!acceptor.stepForward(child, null)) {
        // some required elements are missing.
        // report an error
        StringRef ref = new StringRef();
        // force recovery and obtain an error message.
        acceptor.stepForward(child, ref);
        context.reportEvent(target, ref.str);
    }
    context.getNamespaceContext().endElement();
}
Also used : Acceptor(com.sun.msv.verifier.Acceptor) StringRef(com.sun.msv.util.StringRef)

Example 12 with StringRef

use of com.sun.msv.util.StringRef in project Payara by payara.

the class MSVValidator method endAttribute.

public void endAttribute() throws SAXException {
    insideAttribute = false;
    if (!acceptor.onAttribute2(attNamespaceUri, attLocalName, attLocalName, /* we don't have QName, so just use the local name */
    buf.toString(), this, null, null)) {
        // either the name was incorrect (which is quite unlikely),
        // or the value was wrong.
        // report an error
        StringRef ref = new StringRef();
        acceptor.onAttribute2(attNamespaceUri, attLocalName, attLocalName, buf.toString(), this, ref, null);
        context.reportEvent(target, ref.str);
    }
    buf = new StringBuffer();
}
Also used : StringRef(com.sun.msv.util.StringRef)

Example 13 with StringRef

use of com.sun.msv.util.StringRef in project Payara by payara.

the class MSVValidator method endAttributes.

public void endAttributes() throws SAXException {
    if (!acceptor.onEndAttributes(null, null)) {
        // some required attributes are missing.
        // report a validation error
        // Note that we don't know which property of this object
        // causes this error.
        StringRef ref = new StringRef();
        StartTagInfo sti = new StartTagInfo(currentElementUri, currentElementLocalName, currentElementLocalName, emptyAttributes, this);
        acceptor.onEndAttributes(sti, ref);
        context.reportEvent(target, ref.str);
    }
}
Also used : StartTagInfo(com.sun.msv.util.StartTagInfo) StringRef(com.sun.msv.util.StringRef)

Example 14 with StringRef

use of com.sun.msv.util.StringRef in project Payara by payara.

the class MSVValidator method startElement.

public void startElement(String uri, String local) throws SAXException {
    writePendingText();
    context.getNamespaceContext().startElement();
    stack.push(acceptor);
    StartTagInfo sti = new StartTagInfo(uri, local, local, emptyAttributes, this);
    // we pass in an empty attributes, as there is just no way for us to
    // properly re-construct attributes. Fortunately, I know MSV is not using
    // attribute values, so this would work, but nevertheless this code is
    // ugly. This is one of the problems of the "middle" approach.
    Acceptor child = acceptor.createChildAcceptor(sti, null);
    if (child == null) {
        // this element is invalid. probably, so this object is invalid
        // report an error
        StringRef ref = new StringRef();
        child = acceptor.createChildAcceptor(sti, ref);
        context.reportEvent(target, ref.str);
    }
    this.currentElementUri = uri;
    this.currentElementLocalName = local;
    acceptor = child;
}
Also used : Acceptor(com.sun.msv.verifier.Acceptor) StartTagInfo(com.sun.msv.util.StartTagInfo) StringRef(com.sun.msv.util.StringRef)

Example 15 with StringRef

use of com.sun.msv.util.StringRef in project Payara by payara.

the class MSVValidator method writePendingText.

private void writePendingText() throws SAXException {
    // assert(textBuf!=null);
    if (!acceptor.onText2(buf.toString(), this, null, null)) {
        // this text is invalid.
        // report an error
        StringRef ref = new StringRef();
        acceptor.onText2(buf.toString(), this, ref, null);
        context.reportEvent(target, ref.str);
    }
    if (buf.length() > 1024)
        buf = new StringBuffer();
    else
        buf.setLength(0);
}
Also used : StringRef(com.sun.msv.util.StringRef)

Aggregations

StringRef (com.sun.msv.util.StringRef)35 StartTagInfo (com.sun.msv.util.StartTagInfo)15 Acceptor (com.sun.msv.verifier.Acceptor)15 JAXBAssertionError (com.sun.xml.bind.JAXBAssertionError)5 RIElement (com.sun.xml.bind.RIElement)5