BaseOutputTest.java
package stax2.vwstream;
import java.io.*;
import javax.xml.stream.*;
import org.codehaus.stax2.*;
import org.codehaus.stax2.validation.*;
import stax2.vstream.BaseStax2ValidationTest;
abstract class BaseOutputTest
    extends BaseStax2ValidationTest // from sister package
{
    public XMLStreamWriter2 getDTDValidatingWriter(Writer w, String dtdSrc,
            boolean nsAware, boolean repairing)
        throws XMLStreamException
    {
        XMLOutputFactory2 outf = getOutputFactory();
        outf.setProperty(XMLStreamProperties.XSP_NAMESPACE_AWARE, nsAware);
        outf.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, repairing);
        XMLStreamWriter2 strw = (XMLStreamWriter2)outf.createXMLStreamWriter(w);
        XMLValidationSchema schema = parseDTDSchema(dtdSrc);
        strw.validateAgainst(schema);
        strw.writeStartDocument();
        return strw;
    }
    public XMLStreamWriter2 getSchemaValidatingWriter(Writer w, String schemaSrc,
            boolean repairing)
        throws XMLStreamException
    {
        XMLOutputFactory2 outf = getOutputFactory();
        outf.setProperty(XMLStreamProperties.XSP_NAMESPACE_AWARE, true);
        outf.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, repairing);
        XMLStreamWriter2 strw = (XMLStreamWriter2)outf.createXMLStreamWriter(w);
        XMLValidationSchema schema = parseW3CSchema(schemaSrc);
        strw.validateAgainst(schema);
        strw.writeStartDocument();
        return strw;
    }
}