org.custommonkey.xmlunit

Class DoctypeReader

public class DoctypeReader extends Reader

Adapts the marked-up content in a source Reader to specify that it conforms to a different DTD. Combines Reader semantics with the ability to specify a target doctype for a character stream containing XML markup. Used by Validator class to wrap a Reader when performing validation of a document against a DTD.
Examples and more at xmlunit.sourceforge.net
Constructor Summary
DoctypeReader(Reader originalSource, String doctypeName, String systemID)
Create a Reader whose XML content is provided by the originalSource with the exception of the DOCTYPE which is provided by the doctypeName and systemID.
Method Summary
voidclose()
Close the wrapped Reader
protected StringgetContent()
intread(char[] cbuf, int off, int len)
Read DOCTYPE-replaced content from the wrapped Reader
StringreplaceDoctype(StringBuffer withinContent, String doctypeName, String systemId)
Perform DOCTYPE amendment / addition within some marked-up content

Constructor Detail

DoctypeReader

public DoctypeReader(Reader originalSource, String doctypeName, String systemID)
Create a Reader whose XML content is provided by the originalSource with the exception of the DOCTYPE which is provided by the doctypeName and systemID.

Parameters: originalSource doctypeName systemID

Method Detail

close

public void close()
Close the wrapped Reader

Throws: IOException

getContent

protected String getContent()

Returns: the content of the original source, without amendments or substitutions. Safe to call multiple times.

Throws: IOException if thrown while reading from the original source

read

public int read(char[] cbuf, int off, int len)
Read DOCTYPE-replaced content from the wrapped Reader

Parameters: cbuf off len

Returns: The number of characters read, or -1 if the end of the stream has been reached

Throws: IOException

replaceDoctype

public String replaceDoctype(StringBuffer withinContent, String doctypeName, String systemId)
Perform DOCTYPE amendment / addition within some marked-up content

Parameters: withinContent doctypeName systemId

Returns: the content, after DOCTYPE amendment / addition