whatToShow
"Jeroen van Rotterdam" <[email protected]>
| Newsgroups | gmane.comp.web.dom.test-suites.general |
|---|---|
| Message-ID | <[email protected]> |
Attached a dombuilderfilter test which generates an inner class (the filter). The stylesheet generates a setWhatToShow instead of getWhatToShow for this readonly attribute. Any idea ? Jeroen ===== X-Hive Corporation Jeroen van Rotterdam, CEO e-mail: [email protected] phone: +31 10 7108600 http://www.x-hive.com
DOMBuilderFilterTest.java
(text/plain, 2.4 KB)
package org.w3c.domts.level3.ls;
import org.w3c.dom.*;
import org.w3c.dom.html.*;
import org.w3c.dom.events.*;
import org.w3c.domts.*;
import org.w3c.dom.ls.*;
import javax.xml.parsers.*;
import java.util.List;
import java.util.Collection;
import java.util.ArrayList;
/**
* DOM Builder Filter test
* @author Jeroen van Rotterdam
* @author X-Hive Corporation
* @see <a href=""></a>
*/
public class DOMBuilderFilterTest extends DOMTestCase {
public DOMBuilderFilterTest(DOMTestDocumentBuilderFactory factory)
{
super(factory);
}
private class DOMBuilderFilterN45 extends DOMTestInnerClass implements DOMBuilderFilter {
String name;
public DOMBuilderFilterN45(DOMTestCase test) {
super(test);
}
public short startElement(Element elt) {
name = (String)elt.getNodeName();
if(
equals("elt1",name)
) {
return 2;
}
else {
return 1;
}
}
public short acceptNode(Node enode) {
return 1;
}
public void setWhatToShow() {
}
}
public void runTest() throws java.lang.Throwable {
DOMImplementation implementation;
DOMImplementationLS lsImplementation;
DOMInputSource inputSource;
Document document;
DOMWriter writer;
DOMBuilder builder;
String testfile1 = "test1.xml";
String schemaType = null;
implementation = getImplementation();
lsImplementation = (DOMImplementationLS) implementation;
DOMBuilderFilter myfilter = new DOMBuilderFilterN45(this );
builder = lsImplementation.createDOMBuilder(1,schemaType);
writer = lsImplementation.createDOMWriter();
inputSource = lsImplementation.createDOMInputSource();
NodeList list;
int count;
document = builder.parseURI(testfile1);
list = document.getElementsByTagName("elt1");
count = (int)list.getLength();
assertEquals("",1,count);
builder.setFilter(/* undeclared */myfilter);
document = builder.parseURI(testfile1);
list = document.getElementsByTagName("elt1");
count = (int)list.getLength();
assertEquals("",0,count);
}
public String getTargetURI() {
return "http://www.w3.org/2001/DOM-Test-Suite/level3/ls/DOMBuilderFilterTest";
}
public static void main(String[] args) {
DOMTestCase.doMain(DOMBuilderFilterTest.class,args);
}
}
dom3tests.ent
(text/xml, 1.7 KB)
<!ENTITY level3 "http://www.w3.org/2001/DOM-Test-Suite/Level-3">
<!ENTITY spec "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html">
<!ENTITY date "<date qualifier='created'>2002-03-23</date>">
<!ENTITY contributor "<contributor>X-Hive Corporation</contributor>">
<!ENTITY creator "<creator>Jeroen van Rotterdam</creator>">
<!ENTITY vars "
<var name='implementation' type='DOMImplementation'/>
<var name='lsImplementation' type='DOMImplementationLS'/>
<var name='inputSource' type='DOMInputSource'/>
<var name='document' type='Document'/>
<var name='writer' type='DOMWriter'/>
<var name='builder' type='DOMBuilder'/>
<var name='testfile1' type='DOMString' value='"test1.xml"'/>
<var name='schemaType' type='DOMString' value='null'/>
<implementation var='implementation'/>
<assign var='lsImplementation' value='implementation'/>
">
<!ENTITY init "<createDOMBuilder var='builder' obj='lsImplementation' mode='&MODE_SYNCHRONOUS;' schemaType='schemaType'/>
<createDOMWriter var='writer' obj='lsImplementation'/>
<createDOMInputSource var='inputSource' obj='lsImplementation'/>">
<!ENTITY builder.setFilter_myfilter "<filter obj='builder' value='myfilter' interface='DOMBuilder'/>">
<!ENTITY SHOW_ELEMENT "1">
<!ENTITY FILTER_ACCEPT "1">
<!ENTITY FILTER_REJECT "2">
<!ENTITY FILTER_SKIP "3">
<!ENTITY MODE_SYNCHRONOUS "1">
<!ENTITY MODE_ASYNCHRONOUS "2">
DOMBuilderFilterTest.xml
(text/xml, 1.7 KB)
<?xml version="1.0" standalone="no"?>
<!DOCTYPE test [
<!ENTITY % entities SYSTEM "dom3tests.ent">
%entities;
]>
<test xmlns="&level3;" name="DOMBuilderFilterTest">
<metadata>
<title>attrSpecifiedValue</title>
&creator;
<description>DOM Builder Filter test</description>
&contributor; &date;
<subject spec="&spec;#LS-Interfaces-DOMBuilderFilter"/>
</metadata>
&vars;
<var name="myfilter" type="DOMBuilderFilter">
<var name="name" type="String"/>
<startElement>
<nodeName var="name" obj="elt"/>
<if>
<equals actual="name" expected='"elt1"' ignoreCase="false"/>
<return value="&FILTER_REJECT;"/>
<else>
<return value="&FILTER_ACCEPT;"/>
</else>
</if>
</startElement>
<acceptNode>
<return value="&FILTER_ACCEPT;"/>
</acceptNode>
<whatToShow>
<return value="&SHOW_ELEMENT;"/>
</whatToShow>
</var>
&init;
<var name="list" type="NodeList"/>
<var name="count" type="int"/>
<parseURI var="document" obj="builder" uri="testfile1"/>
<getElementsByTagName var="list" obj="document" tagname=""elt1"" interface="Document"/>
<length var="count" obj="list" interface="NodeList"/>
<assertEquals actual="count" expected="1" ignoreCase="false"/>
&builder.setFilter_myfilter;
<parseURI var="document" obj="builder" uri="testfile1"/>
<getElementsByTagName var="list" obj="document" tagname=""elt1"" interface="Document"/>
<length var="count" obj="list" interface="NodeList"/>
<assertEquals actual="count" expected="0" ignoreCase="false"/>
</test>