public static Document parseXml(final InputStream is) throws Exception {
        return parseXml(is, null);
    }
@Test
    public void testParseCamelContextForceNamespace() throws Exception {
        InputStream fis = Files.newInputStream(Paths.get("src/test/resources/org/apache/camel/util/camel-context.xml"));
        Document dom = XmlLineNumberParser.parseXml(fis, null, "camelContext", "http://camel.apache.org/schema/spring");
        assertNotNull(dom);

        NodeList list = dom.getElementsByTagName("camelContext");
        assertEquals(1, list.getLength());
        Node node = list.item(0);

        String lineNumber = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER);
        String lineNumberEnd = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER_END);

        String ns = node.getNamespaceURI();
        assertEquals("http://camel.apache.org/schema/spring", ns);

        assertEquals("29", lineNumber);
        assertEquals("47", lineNumberEnd);

        // and there are two routes
        list = dom.getElementsByTagName("route");
        assertEquals(2, list.getLength());
        Node node1 = list.item(0);
        Node node2 = list.item(1);

        String lineNumber1 = (String) node1.getUserData(XmlLineNumberParser.LINE_NUMBER);
        String lineNumberEnd1 = (String) node1.getUserData(XmlLineNumberParser.LINE_NUMBER_END);
        assertEquals("31", lineNumber1);
        assertEquals("37", lineNumberEnd1);

        String lineNumber2 = (String) node2.getUserData(XmlLineNumberParser.LINE_NUMBER);
        String lineNumberEnd2 = (String) node2.getUserData(XmlLineNumberParser.LINE_NUMBER_END);
        assertEquals("39", lineNumber2);
        assertEquals("45", lineNumberEnd2);
    }