1 /*
2 * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 package stream.EventsTest;
25
26 import java.io.StringReader;
27
28 import javax.xml.stream.Location;
29 import javax.xml.stream.XMLEventReader;
30 import javax.xml.stream.XMLInputFactory;
31 import javax.xml.stream.XMLOutputFactory;
32 import javax.xml.stream.events.XMLEvent;
33
34 import org.testng.Assert;
35 import org.testng.annotations.Test;
36
37 /*
38 * @summary Test XMLEvent.getLocation() returns a non-volatile Location.
39 */
40 public class Issue58Test {
41
42 public java.io.File input;
43 public final String filesDir = "./";
44 protected XMLInputFactory inputFactory;
45 protected XMLOutputFactory outputFactory;
46
47 @Test
48 public void testLocation() {
49 String XML = "<?xml version='1.0' ?>" + "<!DOCTYPE root [\n" + "<!ENTITY intEnt 'internal'>\n" + "<!ENTITY extParsedEnt SYSTEM 'url:dummy'>\n"
50 + "<!NOTATION notation PUBLIC 'notation-public-id'>\n" + "<!NOTATION notation2 SYSTEM 'url:dummy'>\n"
51 + "<!ENTITY extUnparsedEnt SYSTEM 'url:dummy2' NDATA notation>\n" + "]>\n" + "<root />";
52
53 try {
54 XMLEventReader er = getReader(XML);
55 XMLEvent evt = er.nextEvent(); // StartDocument
56 Location loc1 = evt.getLocation();
57 System.out.println("Location 1: " + loc1.getLineNumber() + "," + loc1.getColumnNumber());
58 evt = er.nextEvent(); // DTD
59 // loc1 should not change so its line number should still be 1
|
1 /*
2 * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 package stream.EventsTest;
25
26 import java.io.StringReader;
27
28 import javax.xml.stream.Location;
29 import javax.xml.stream.XMLEventReader;
30 import javax.xml.stream.XMLInputFactory;
31 import javax.xml.stream.XMLOutputFactory;
32 import javax.xml.stream.events.XMLEvent;
33
34 import org.testng.Assert;
35 import org.testng.annotations.Listeners;
36 import org.testng.annotations.Test;
37
38 /*
39 * @summary Test XMLEvent.getLocation() returns a non-volatile Location.
40 */
41 @Listeners({jaxp.library.BasePolicy.class})
42 public class Issue58Test {
43
44 public java.io.File input;
45 public final String filesDir = "./";
46 protected XMLInputFactory inputFactory;
47 protected XMLOutputFactory outputFactory;
48
49 @Test
50 public void testLocation() {
51 String XML = "<?xml version='1.0' ?>" + "<!DOCTYPE root [\n" + "<!ENTITY intEnt 'internal'>\n" + "<!ENTITY extParsedEnt SYSTEM 'url:dummy'>\n"
52 + "<!NOTATION notation PUBLIC 'notation-public-id'>\n" + "<!NOTATION notation2 SYSTEM 'url:dummy'>\n"
53 + "<!ENTITY extUnparsedEnt SYSTEM 'url:dummy2' NDATA notation>\n" + "]>\n" + "<root />";
54
55 try {
56 XMLEventReader er = getReader(XML);
57 XMLEvent evt = er.nextEvent(); // StartDocument
58 Location loc1 = evt.getLocation();
59 System.out.println("Location 1: " + loc1.getLineNumber() + "," + loc1.getColumnNumber());
60 evt = er.nextEvent(); // DTD
61 // loc1 should not change so its line number should still be 1
|