ITS Filter: targetPointerRule does not apply inline tag rules (ITS or codefinder) to target...

Issue #914 new
Jim Hargrave (OLD) created an issue

This is documented in the unit tests for the ITS filter:

See the test testOutputTargetPointerWithInlineCodes

    @Test
    public void testOutputTargetPointerWithInlineCodes () {
        String snippet = "<?xml version=\"1.0\"?>\n"
            + "<doc xmlns:its=\"http://www.w3.org/2005/11/its\"><its:rules version=\"2.0\">"
            + "<its:translateRule selector=\"/doc\" translate=\"no\"/>"
            + "<its:translateRule selector=\"//item/src\" translate=\"yes\"/>"
            + "<its:targetPointerRule selector=\"//item/src\" targetPointer=\"../trg\"/>"
            + "<its:withinTextRule selector=\"//b|//z\" withinText=\"yes\"/>"
            + "</its:rules>"
            + "<item><src><b>Text1a</b><z/> Text1b</src><trg><b>Trg1a</b><z/> Trg1b</trg></item>"
            + "<item><src><b>Text2a</b><z/> Text2b</src><trg/></item>"
            + "</doc>";
        String expect = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
            + "<doc xmlns:its=\"http://www.w3.org/2005/11/its\"><its:rules version=\"2.0\">"
            + "<its:translateRule selector=\"/doc\" translate=\"no\"/>"
            + "<its:translateRule selector=\"//item/src\" translate=\"yes\"/>"
            + "<its:targetPointerRule selector=\"//item/src\" targetPointer=\"../trg\"/>"
            + "<its:withinTextRule selector=\"//b|//z\" withinText=\"yes\"/>"
            + "</its:rules>"
            + "<item><src><b>Text1a</b><z/> Text1b</src><trg><b>Trg1a</b><z/> Trg1b</trg></item>"
            + "<item><src><b>Text2a</b><z/> Text2b</src><trg><b>Text2a</b><z/> Text2b</trg></item>"
            + "</doc>";

        // Check extraction
        GenericContent fmt = new GenericContent();
        ArrayList<Event> list = getEvents(snippet);
        ITextUnit tu = FilterTestDriver.getTextUnit(list, 1);
        assertEquals("<1>Text1a</1><2/> Text1b", fmt.setContent(tu.getSource().getFirstContent()).toString());
//Not working yet
//TODO      assertEquals("<1>Trg1a</1><2/> Trg1b", fmt.setContent(tu.getTarget(LocaleId.FRENCH).getFirstContent()).toString());

        tu = FilterTestDriver.getTextUnit(list, 2);
        assertEquals("<1>Text2a</1><2/> Text2b", fmt.setContent(tu.getSource().getFirstContent()).toString());
//Not working yet
//TODO      assertEquals("<1>Text2a</1><2/> Text2b", fmt.setContent(tu.getTarget(LocaleId.FRENCH).getFirstContent()).toString());
        // Check output
//Not working yet
//TODO      assertEquals(expect, FilterTestDriver.generateOutput(list, filter.getEncoderManager(), LocaleId.FRENCH));
    }

Comments (1)

  1. Log in to comment