|
||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||
java.lang.Objectorg.jibx.extras.DocumentComparator
public class DocumentComparator
XML document comparator. This uses XMLPull parsers to read a pair of documents in parallel, comparing the streams of components seen from the two documents. The comparison ignores differences in whitespace separating elements, but in non-schema mode treats whitespace as significant within elements with only character data content.
| Field Summary | |
|---|---|
protected java.io.PrintStream |
m_differencePrint
Print stream for reporting differences. |
protected org.xmlpull.v1.XmlPullParser |
m_parserA
Parser for first document. |
protected org.xmlpull.v1.XmlPullParser |
m_parserB
Parser for second document. |
protected boolean |
m_schemaCompare
Compare using schema data value adjustments flag. |
| Constructor Summary | |
|---|---|
DocumentComparator(java.io.PrintStream print)
Constructor. |
|
DocumentComparator(java.io.PrintStream print,
boolean schema)
Constructor with schema adjustments flag specified. |
|
| Method Summary | |
|---|---|
protected static java.lang.String |
buildName(java.lang.String ns,
java.lang.String name)
Build name string. |
protected static java.lang.String |
buildPositionString(org.xmlpull.v1.XmlPullParser parser)
Build parse input position description. |
boolean |
compare(java.io.Reader rdra,
java.io.Reader rdrb)
Compares a pair of documents by reading them in parallel from a pair of parsers. |
protected boolean |
equalValues(java.lang.String texta,
java.lang.String textb)
Check for equal values. |
private static boolean |
isSchemaLocation(java.lang.String name,
java.lang.String ns)
Check if a name/namespace pair matches a schema namespace location attribute. |
protected boolean |
matchAttributes()
Verifies that the attributes on the current start tags match. |
protected boolean |
matchNames()
Verifies that the current start or end tag names match. |
protected boolean |
matchText(java.lang.String texta,
java.lang.String textb,
java.lang.String lead)
Check if two text strings match, ignoring leading and trailing spaces. |
private static java.lang.String |
normalizeDecimal(java.lang.String text)
Normalize a decimal value for comparison. |
protected void |
printError(java.lang.String msg)
Prints error description text. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected org.xmlpull.v1.XmlPullParser m_parserA
protected org.xmlpull.v1.XmlPullParser m_parserB
protected java.io.PrintStream m_differencePrint
protected boolean m_schemaCompare
| Constructor Detail |
|---|
public DocumentComparator(java.io.PrintStream print,
boolean schema)
throws org.xmlpull.v1.XmlPullParserException
print - print stream for reporting differencesschema - use schema adjustments in comparisons flag
org.xmlpull.v1.XmlPullParserException - on error creating parsers
public DocumentComparator(java.io.PrintStream print)
throws org.xmlpull.v1.XmlPullParserException
print - print stream for reporting differences
org.xmlpull.v1.XmlPullParserException - on error creating parsers| Method Detail |
|---|
protected static java.lang.String buildPositionString(org.xmlpull.v1.XmlPullParser parser)
parser - for which to build description
protected static java.lang.String buildName(java.lang.String ns,
java.lang.String name)
ns - namespace URIname - local name
protected void printError(java.lang.String msg)
msg - error message text
private static boolean isSchemaLocation(java.lang.String name,
java.lang.String ns)
name - ns -
true if a schema namespace location,
false if notprivate static java.lang.String normalizeDecimal(java.lang.String text)
text -
protected boolean equalValues(java.lang.String texta,
java.lang.String textb)
texta - textb -
true if values match, false if notprotected boolean matchAttributes()
true if the attributes match, false if
not
protected boolean matchText(java.lang.String texta,
java.lang.String textb,
java.lang.String lead)
texta - textb - lead - error text lead
true if the texts match, false if
notprotected boolean matchNames()
true if the names match, false if not
public boolean compare(java.io.Reader rdra,
java.io.Reader rdrb)
rdra - reader for first document to be comparedrdrb - reader for second document to be compared
true if the documents are the same,
false if they're different
|
||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||