public void startElement( SimplePath path, String name, AttributesImpl attributes, String leadingCDdata) { // checking path if (!path.matchsAny(new String[] {"response", "mixed", "text", "b"})) { fail("matchesAny(String[]) does not work"); } List list = new ArrayList(); list.add(new SimplePath("response")); list.add(new SimplePath("mixed")); list.add(new SimplePath("text")); list.add(new SimplePath("b")); if (!path.matchsAny(list)) { fail("matchesAny(Collection) does not work"); } if (!path.matchsAny( new String[] {"/response", "/response/mixed", "/response/text", "/response/mixed/b"})) { fail("absolute paths do not seem to work"); } if (!path.matchsAny( new String[] {"response", "response/mixed", "response/text", "mixed/b"})) { fail("relative paths do not seem to work"); } // checking attribute if (path.matches("/response")) { String state = ConversionHelpers.getString(attributes.getValue("state"), "error"); boolean b = ConversionHelpers.getBoolean(attributes.getValue("boolean"), false); int i = ConversionHelpers.getInt(attributes.getValue("int"), 4711); long l = ConversionHelpers.getLong(attributes.getValue("long"), 1L); assertEquals(state, "ok"); assertEquals(b, true); assertEquals(i, -100); assertEquals(l, 4676767676L); // this is actually not there String notThere = ConversionHelpers.getString(attributes.getValue("notThere"), "is not there"); assertEquals(notThere, "is not there"); assertEquals(attributes.getLength(), 5); assertEquals(attributes.getValue(0), "ok"); assertEquals(attributes.getType("ns:olli"), "CDATA"); // these should be enough... } }
public void cData(SimplePath path, String cdata) { if (previousCallbackWasCDATA) fail( "No two cData callbacks may follow each other, as this violates the maximum chunk guarantee given in API spec"); previousCallbackWasCDATA = true; log(path.toString() + "/text():"); String encodedText = XMLEncode.xmlEncodeText(cdata); log(encodedText); }
public void startElement( SimplePath path, String name, AttributesImpl attributes, String leadingCDdata) { previousCallbackWasCDATA = false; log(path.toString() + ":"); String startTag = XMLWriter.createStartTag(name, attributes); log(startTag); if (leadingCDdata != null) { String encodedText = XMLEncode.xmlEncodeText(leadingCDdata); log(encodedText); } }
public void cData(SimplePath path, String cdata) { if ("Huhu".equals(cdata)) { if (!path.matches( new Item[] { new Item("root"), new Item("sub"), new Item("element"), new Item("element", "http://www.floreysoft.de") })) { fail("CDATA is in wrong path"); } } }
public void startElement( SimplePath path, String name, AttributesImpl attributes, String leadingCDdata) { boolean matchesRoot = path.matches(new Item("root")) && path.matches(Item.ITEM_ANY); boolean matchesOlli = path.matches(new Item("element")) && path.matches(new Item("element", "http://www.zeigermann.de")); boolean matchesDaniel = path.matches( new Item[] { new Item("root"), Item.ITEM_ANY, Item.ITEM_ANY, new Item("element", "http://www.floreysoft.de") }, false); boolean matchesSub = path.matches(new Item("sub")); boolean matchesFromStart = path.matchesFromRoot(new Item[] {new Item("root")}); if (matchesFromStart && !matchesRoot && !matchesOlli && !matchesDaniel && !matchesSub) { fail("Item matching does not work"); } }
public void endElement(SimplePath path, String name) { previousCallbackWasCDATA = false; log(path.toString() + ":"); log("</" + name + ">"); }