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='&quot;test1.xml&quot;'/>
                      <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="&quot;elt1&quot;" 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="&quot;elt1&quot;" interface="Document"/>
  <length var="count" obj="list" interface="NodeList"/>
  <assertEquals actual="count" expected="0" ignoreCase="false"/>
   

</test>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.