Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 2 additions & 7 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -844,7 +844,8 @@ Authors:
<include name="schema/config/SurrogatePairLengthTest.class"/>
<include name="schema/config/UseGrammarPoolOnly_True_Test.class"/>
<include name="schema/config/UnparsedEntityCheckingTest.class"/>
-->
-->
<include name="jaxp/PropertyTest.class"/>
<include name="schema/Test.class"/>
<include name="jaxp/JAXPSpecTest.class"/>
<include name="dom/ids/Test.class"/>
Expand Down Expand Up @@ -936,12 +937,6 @@ Authors:
<arg value="out.xml"/>
</java>

<echo message="Running jaxp.PropertyTest..." />
<java fork="yes"
classname="jaxp.PropertyTest"
classpathref="test.classpath"
failOnError="yes">
</java>
<echo message="Running xinclude.Test..." />
<java fork="yes"
classname="xinclude.Test"
Expand Down
144 changes: 47 additions & 97 deletions tests/jaxp/PropertyTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,103 +20,53 @@
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.helpers.DefaultHandler;

/**
* This sample program tests JAXP 1.2 properties

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

retain the comment as " tests JAXP 1.2 properties"

*/
public class PropertyTest extends DefaultHandler{

public static void main(String[] argv) {

try {
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setValidating(true);
spf.setNamespaceAware(true);
SAXParser parser = spf.newSAXParser();
parser.setProperty(
"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
"http://www.w3.org/2001/XMLSchema");
parser.setProperty(
"http://java.sun.com/xml/jaxp/properties/schemaSource",
new String[] { "personal.xsd", "ipo.xsd" });
parser.parse("tests/jaxp/data/personal-schema.xml", new PropertyTest());

parser = spf.newSAXParser();
parser.setProperty(
"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
"http://www.w3.org/2001/XMLSchema");
parser.setProperty(
"http://java.sun.com/xml/jaxp/properties/schemaSource",
new String[] { "address.xsd", "ipo.xsd", });

try {
parser.parse("tests/jaxp/data/personal-schema.xml", new PropertyTest());
System.err.println("ERROR!");
} catch (Exception e) {
}

parser = spf.newSAXParser();
parser.setProperty(
"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
"http://www.w3.org/2001/XMLSchema");
parser.setProperty(
"http://java.sun.com/xml/jaxp/properties/schemaSource",
new String[] { "personal.xsd", "ipo.xsd", "a.xsd"});

try {
parser.parse("tests/jaxp/data/personal-schema.xml", new PropertyTest());
System.err.println("ERROR!");
} catch (Exception e) {
}

} catch (Exception ex) {
ex.printStackTrace();
}
System.out.println("done.");
}

/** Warning. */
public void warning(SAXParseException ex) throws SAXException {
printError("Warning", ex);
} // warning(SAXParseException)

/** Error. */
public void error(SAXParseException ex) throws SAXException {
printError("Error", ex);
} // error(SAXParseException)

/** Fatal error. */
public void fatalError(SAXParseException ex) throws SAXException {
printError("Fatal Error", ex);
throw ex;
} // fatalError(SAXParseException)


protected void printError(String type, SAXParseException ex) {

System.err.print("[");
System.err.print(type);
System.err.print("] ");
String systemId = ex.getSystemId();
if (systemId != null) {
int index = systemId.lastIndexOf('/');
if (index != -1)
systemId = systemId.substring(index + 1);
System.err.print(systemId);
}
System.err.print(':');
System.err.print(ex.getLineNumber());
System.err.print(':');
System.err.print(ex.getColumnNumber());
System.err.print(": ");
System.err.print(ex.getMessage());
System.err.println();
System.err.flush();

} // printError(String,SAXParseException)


import junit.framework.TestCase;

public class PropertyTest extends TestCase {

public void testSchemaProperties() throws Exception {
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setValidating(true);
spf.setNamespaceAware(true);
SAXParser parser = spf.newSAXParser();
parser.setProperty(
"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
"http://www.w3.org/2001/XMLSchema");
parser.setProperty(
"http://java.sun.com/xml/jaxp/properties/schemaSource",
new String[] { "personal.xsd", "ipo.xsd" });
parser.parse("tests/jaxp/data/personal-schema.xml", new DefaultHandler());

// Second parse should fail
parser = spf.newSAXParser();
parser.setProperty(
"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
"http://www.w3.org/2001/XMLSchema");
parser.setProperty(
"http://java.sun.com/xml/jaxp/properties/schemaSource",
new String[] { "address.xsd", "ipo.xsd" });
try {
parser.parse("tests/jaxp/data/personal-schema.xml", new DefaultHandler());
fail("Should have thrown exception for address.xsd, ipo.xsd");
} catch (Exception e) {
// expected
}

// Third parse should fail
parser = spf.newSAXParser();
parser.setProperty(
"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
"http://www.w3.org/2001/XMLSchema");
parser.setProperty(
"http://java.sun.com/xml/jaxp/properties/schemaSource",
new String[] { "personal.xsd", "ipo.xsd", "a.xsd" });
try {
parser.parse("tests/jaxp/data/personal-schema.xml", new DefaultHandler());
fail("Should have thrown exception for personal.xsd, ipo.xsd, a.xsd");
} catch (Exception e) {
// expected
}
}
}
Loading