new StaxDocumentLoader(resourceTable.getPackageName(), resourcePath.getResourceBase(), new NodeHandler() .addHandler("resources", new NodeHandler() .addHandler("bool", new StaxValueLoader(resourceTable, "bool", ResType.BOOLEAN)) .addHandler("item[@type='bool']", new StaxValueLoader(resourceTable, "bool", ResType.BOOLEAN)) .addHandler("color", new StaxValueLoader(resourceTable, "color", ResType.COLOR)) .addHandler("item[@type='color']", new StaxValueLoader(resourceTable, "color", ResType.COLOR)) .addHandler("drawable", new StaxValueLoader(resourceTable, "drawable", ResType.DRAWABLE)) .addHandler("item[@type='drawable']", new StaxValueLoader(resourceTable, "drawable", ResType.DRAWABLE)) .addHandler("item[@type='mipmap']", new StaxValueLoader(resourceTable, "mipmap", ResType.DRAWABLE)) .addHandler("dimen", new StaxValueLoader(resourceTable, "dimen", ResType.DIMEN)) .addHandler("item[@type='dimen']", new StaxValueLoader(resourceTable, "dimen", ResType.DIMEN)) .addHandler("integer", new StaxValueLoader(resourceTable, "integer", ResType.INTEGER)) .addHandler("item[@type='integer']", new StaxValueLoader(resourceTable, "integer", ResType.INTEGER)) .addHandler("integer-array", new StaxArrayLoader(resourceTable, "array", ResType.INTEGER_ARRAY, ResType.INTEGER)) .addHandler("fraction", new StaxValueLoader(resourceTable, "fraction", ResType.FRACTION)) .addHandler("item[@type='fraction']", new StaxValueLoader(resourceTable, "fraction", ResType.FRACTION)) .addHandler("item[@type='layout']", new StaxValueLoader(resourceTable, "layout", ResType.LAYOUT)) .addHandler("plurals", new StaxPluralsLoader(resourceTable, "plurals", ResType.CHAR_SEQUENCE)) .addHandler("string", new StaxValueLoader(resourceTable, "string", ResType.CHAR_SEQUENCE)) .addHandler("item[@type='string']", new StaxValueLoader(resourceTable, "string", ResType.CHAR_SEQUENCE)) .addHandler("string-array", new StaxArrayLoader(resourceTable, "array", ResType.CHAR_SEQUENCE_ARRAY, ResType.CHAR_SEQUENCE)) .addHandler("array", new StaxArrayLoader(resourceTable, "array", ResType.TYPED_ARRAY, null)) .addHandler("id", new StaxValueLoader(resourceTable, "id", ResType.CHAR_SEQUENCE)) .addHandler("item[@type='id']", new StaxValueLoader(resourceTable, "id", ResType.CHAR_SEQUENCE)) .addHandler("attr", new StaxAttrLoader(resourceTable, "attr", ResType.ATTR_DATA)) .addHandler("declare-styleable", new NodeHandler() .addHandler("attr", new StaxAttrLoader(resourceTable, "attr", ResType.ATTR_DATA))
@Test public void ignoresXliffTags() throws Exception { topLevelNodeHandler.addHandler("resources", new NodeHandler() .addHandler("string", new StaxValueLoader(resourceTable, "string", ResType.CHAR_SEQUENCE)) ); parse("<resources xmlns:xliff=\"urn:oasis:names:tc:xliff:document:1.2\">" + "<string name=\"preposition_for_date\">on <xliff:g id=\"date\" example=\"May 29\">%s</xliff:g></string>" + "</resources>"); assertThat(resourceTable.getValue(new ResName("pkg:string/preposition_for_date"), new ResTable_config()).getData()) .isEqualTo("on %s"); }
@Test public void ignoresBTags() throws Exception { topLevelNodeHandler.addHandler("resources", new NodeHandler() .addHandler("item[@type='string']", new StaxValueLoader(resourceTable, "string", ResType.CHAR_SEQUENCE)) ); parse("<resources xmlns:xliff=\"urn:oasis:names:tc:xliff:document:1.2\">" + "<item type=\"string\" name=\"sms_short_code_details\">This <b>may cause charges</b> on your mobile account.</item>" + "</resources>"); assertThat(resourceTable.getValue(new ResName("pkg:string/sms_short_code_details"), new ResTable_config()).getData()) .isEqualTo("This may cause charges on your mobile account."); }
new StaxDocumentLoader(resourceTable.getPackageName(), resourcePath.getResourceBase(), new NodeHandler() .addHandler("resources", new NodeHandler() .addHandler("bool", new StaxValueLoader(resourceTable, "bool", ResType.BOOLEAN)) .addHandler("item[@type='bool']", new StaxValueLoader(resourceTable, "bool", ResType.BOOLEAN)) .addHandler("color", new StaxValueLoader(resourceTable, "color", ResType.COLOR)) .addHandler("drawable", new StaxValueLoader(resourceTable, "drawable", ResType.DRAWABLE)) .addHandler("item[@type='color']", new StaxValueLoader(resourceTable, "color", ResType.COLOR)) .addHandler("item[@type='drawable']", new StaxValueLoader(resourceTable, "drawable", ResType.DRAWABLE)) .addHandler("dimen", new StaxValueLoader(resourceTable, "dimen", ResType.DIMEN)) .addHandler("item[@type='dimen']", new StaxValueLoader(resourceTable, "dimen", ResType.DIMEN)) .addHandler("integer", new StaxValueLoader(resourceTable, "integer", ResType.INTEGER)) .addHandler("item[@type='integer']", new StaxValueLoader(resourceTable, "integer", ResType.INTEGER)) .addHandler("integer-array", new StaxArrayLoader(resourceTable, "array", ResType.INTEGER_ARRAY, ResType.INTEGER)) .addHandler("fraction", new StaxValueLoader(resourceTable, "fraction", ResType.FRACTION)) .addHandler("item[@type='fraction']", new StaxValueLoader(resourceTable, "fraction", ResType.FRACTION)) .addHandler("item[@type='layout']", new StaxValueLoader(resourceTable, "layout", ResType.LAYOUT)) .addHandler("plurals", new StaxPluralsLoader(resourceTable, "plurals", ResType.CHAR_SEQUENCE)) .addHandler("string", new StaxValueLoader(resourceTable, "string", ResType.CHAR_SEQUENCE)) .addHandler("item[@type='string']", new StaxValueLoader(resourceTable, "string", ResType.CHAR_SEQUENCE)) .addHandler("string-array", new StaxArrayLoader(resourceTable, "array", ResType.CHAR_SEQUENCE_ARRAY, ResType.CHAR_SEQUENCE)) .addHandler("array", new StaxArrayLoader(resourceTable, "array", ResType.TYPED_ARRAY, null)) .addHandler("id", new StaxValueLoader(resourceTable, "id", ResType.CHAR_SEQUENCE)) .addHandler("item[@type='id']", new StaxValueLoader(resourceTable, "id", ResType.CHAR_SEQUENCE)) .addHandler("attr", new StaxAttrLoader(resourceTable, "attr", ResType.ATTR_DATA)) .addHandler("declare-styleable", new NodeHandler() .addHandler("attr", new StaxAttrLoader(resourceTable, "attr", ResType.ATTR_DATA)) .addHandler("style", new StaxStyleLoader(resourceTable, "style", ResType.STYLE))
new StaxDocumentLoader(resourceTable.getPackageName(), resourcePath.getResourceBase(), new NodeHandler() .addHandler("resources", new NodeHandler() .addHandler("bool", new StaxValueLoader(resourceTable, "bool", ResType.BOOLEAN)) .addHandler("item[@type='bool']", new StaxValueLoader(resourceTable, "bool", ResType.BOOLEAN)) .addHandler("color", new StaxValueLoader(resourceTable, "color", ResType.COLOR)) .addHandler("item[@type='color']", new StaxValueLoader(resourceTable, "color", ResType.COLOR)) .addHandler("drawable", new StaxValueLoader(resourceTable, "drawable", ResType.DRAWABLE)) .addHandler("item[@type='drawable']", new StaxValueLoader(resourceTable, "drawable", ResType.DRAWABLE)) .addHandler("item[@type='mipmap']", new StaxValueLoader(resourceTable, "mipmap", ResType.DRAWABLE)) .addHandler("dimen", new StaxValueLoader(resourceTable, "dimen", ResType.DIMEN)) .addHandler("item[@type='dimen']", new StaxValueLoader(resourceTable, "dimen", ResType.DIMEN)) .addHandler("integer", new StaxValueLoader(resourceTable, "integer", ResType.INTEGER)) .addHandler("item[@type='integer']", new StaxValueLoader(resourceTable, "integer", ResType.INTEGER)) .addHandler("integer-array", new StaxArrayLoader(resourceTable, "array", ResType.INTEGER_ARRAY, ResType.INTEGER)) .addHandler("fraction", new StaxValueLoader(resourceTable, "fraction", ResType.FRACTION)) .addHandler("item[@type='fraction']", new StaxValueLoader(resourceTable, "fraction", ResType.FRACTION)) .addHandler("item[@type='layout']", new StaxValueLoader(resourceTable, "layout", ResType.LAYOUT)) .addHandler("plurals", new StaxPluralsLoader(resourceTable, "plurals", ResType.CHAR_SEQUENCE)) .addHandler("string", new StaxValueLoader(resourceTable, "string", ResType.CHAR_SEQUENCE)) .addHandler("item[@type='string']", new StaxValueLoader(resourceTable, "string", ResType.CHAR_SEQUENCE)) .addHandler("string-array", new StaxArrayLoader(resourceTable, "array", ResType.CHAR_SEQUENCE_ARRAY, ResType.CHAR_SEQUENCE)) .addHandler("array", new StaxArrayLoader(resourceTable, "array", ResType.TYPED_ARRAY, null)) .addHandler("id", new StaxValueLoader(resourceTable, "id", ResType.CHAR_SEQUENCE)) .addHandler("item[@type='id']", new StaxValueLoader(resourceTable, "id", ResType.CHAR_SEQUENCE)) .addHandler("attr", new StaxAttrLoader(resourceTable, "attr", ResType.ATTR_DATA)) .addHandler("declare-styleable", new NodeHandler() .addHandler("attr", new StaxAttrLoader(resourceTable, "attr", ResType.ATTR_DATA))