You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-dev@xerces.apache.org by Andy Clark <an...@apache.org> on 2001/01/11 08:21:02 UTC

Re: [Xerces2] Survey Results -- UPDATE

XERCES2 SURVEY RESULTS [10 Jan 2001 - 16:25 (GMT+09:00)]

RESPONDERS:

There were a total of 24 responders to the survey. The
following people responded to the mailing list:

  Petr Kuzel, Frank Griffin, Harris Hopper, Tung Mansfield,
  Tom Bradford, Norm Rullo, Krishna Vemuri, Stephane Rault,
  Jason Harrop, Jose Antonio Lopez, Christopher Sellers,
  Jim Shain, Ed Staub, Keith Jensen, Libor Kramolis,
  Richard Murphy, Sebastian Ponce

RESULTS:

Please note that I've tallied the responses and ordered
them in descending order, removing the answers with no
responses. All percentages are rounded up to the nearest
hundredths.

In cases where responders added items to relevent
questions, I've marked them with an asterisk (*).

On the last question, the tally is weighted. Therefore,
a vote of '1' received 3 tallies; '2' received 2 tallies;
and '3' received 1 tally. This is why the numbers seem
high.

Section 1: Usage

1) What parser are you using in your application? Select one 
   parser by putting an 'X' in the box next to your choice. If 
   you have a hybrid application that uses more than one parser, 
   select the most important parser for your application.

   14  58.33%  Xerces 1.x
    4  16.67%  Xerces 1.x packaged with Xalan
    3  12.50%  Xerces 2.x
    2   8.33%  *Crimson (patched)
    1   4.17%  *XML4J 1.x/2.x (patched)
   24 responses

2) If you did NOT select Xerces in question 1, what were your
   reasons for not using Xerces in your application? Select all 
   that apply.

    1 100.00%  Specialized API (What features?)

    comments:  all Crimson extensions to SAX plus entity ref., 
               declaration, ... notifications

               simply trying to achieve round trip: 
               text -> internal structure -> "same" text

               grammar access

3) If you DID select Xerces in question 1, what were your
   reasons for using Xerces in your application? Select all
   that apply.

   20  41.67%  Standards compliance
   18  37.50%  License
    4   8.33%  Performance: speed
    2   4.17%  Performance: memory usage
    1   2.08%  Size of parser
    1   2.08%  Specialized API (What features?)
    1   2.08%  *It's free, and it works
    1   2.08%  *active mailing list / open source
   48 selections

Section 2: Xerces2

4) What is your level of knowledge of Xerces2? Select all
   that apply.

   18  40.00%  Followed the Xerces2 discussion on the mailing list
   11  24.44%  Read the online documentation located at
               http://www.apache.org/~andyc/xerces2/
    6  13.33%  Downloaded Xerces 2.0.0 (alpha) or extracted and built
               the source from CVS
    6  13.33%  Tried Xerces2 in an application
    4   8.89%  Reviewed the Xerces Native Interface (XNI)
   45 selections

5) If you have heard of Xerces2 but have NOT tried it, what 
   would you say is the primary reason? Select only one answer.

    7  50.00%  No time to try
    3  21.43%  Current parser works fine
    1   7.14%  *Waiting for schema support, reports of improved 
               performance (speed)
    1   7.14%  *What do I gain by going to Xerces2?
    1   7.14%  *Not a priority at this time
    1   7.14%  *Does not support XML Schema yet and no production 
               versa.

6) Despite your current use of Xerces2, do you plan on moving
   your application to using Xerces2 when a production version
   becomes available? Select only one answer.

   13  56.52%  Wait and see
    9  39.13%  Yes
    1   4.35%  No
   23 responses

7) If you have reviewed XNI, what is your impression? Select
   only one answer.

    2  40.00%  Like it
    2  40.00%  Could be better
    1  20.00%  Don't care
    5 responses

8) If you answered "Could be better" or "Hate it" to question 
   6, what suggestions do you have? Please site specific 
   interfaces, methods, etc.

    comments:  some notification methods missing. E.g. in
               conditional section would be an application
               notified about its content by say a String
               representing it.

                 public void ignoredConditionalContent(String);

               Xerces 2 should be more structure oriented:
               * inform about all used references (including 
                 character)
               * inform about attributes specified in dtd (fixed 
                 attribute, attribute with default value)
               * inform about ignored conditional section content 
                 (as String)
               * inform about used references in attribute value

9) Do you plan on contributing to Xerces2? In what way?

   11  52.38%  Yes
                4  40.00%  Source
                4  40.00%  Build/Testing
                2  20.00%  Samples
               10 responses
   10  47.62%  No
   21 responses

Section 3: Wish List

10) What are the features that you would like to see implemented
    in Xerces2? Rank the three most important to you by putting 
    a '1', '2', and '3' in the boxes next to your choices, where 
    '1' is the most important and '3' is the least important 
    among your choices.

    26  20.97%  Write validation: the ability to apply a grammar to
                a document after parsing. For example, validate a DOM
                tree after editing
    24  19.35%  Grammar caching
    24  19.35%  Grammar access
     7   5.65%  *Full support for latest W3C Schema standard
     4   3.23%  *Maybe it's heretic for pure XML apps but can we 
                imagine to get the line and column number of a 
                node to document a logical error ? The idea is 
                to report to a user who is doing an import in a 
                app with a XML File which node in his file is 
                causing a problem during the import operation 
                (not a validating problem but a applicative one).
     3   2.42%  *Package versioning compatibility
     3   2.42%  *Performance: speed
     3   2.42%  *Full support for DOM 2, SAX 2
     3   2.42%  *dom level 3 content model directed document 
                manipulation
     3   2.42%  *Ability to build low-footprint custom versions 
                of Xerces with limited feature support.
     3   2.42%  *Make the xsd:all construct work efficiently.
     3   2.42%  *Ability to build low-footprint custom versions of 
                Xerces with limited feature support. 
     3   2.42%  *Make the xsd:all construct work efficiently.
     3   2.42%  *Full structure access: to be able to get information 
                about all structure items, about all items in parsed 
                file (including positions in file). e.g. all 
                references (character references too), ignored 
                conditional section content, attribute value 
                delimiters (' or "), that attribute is specified in 
                dtd, etc.
     2   1.61%  *XNI improvement and standardization
     2   1.61%  *Canonical XML Support
     2   1.61%  *Canonical XML Support
     2   1.61%  *Improvments in entity references manipulation.
     1    .81%  *Add an interface layer which combines the ease 
                of DOM ("I know what I want") with the memory 
                overhead of SAX (I'm reading the document 
                sequentially and don't need random or backwards 
                access).  Since Xerces can already defer node-
                building, could this be as easy as a "sequential 
                DOM" option, which frees nodes for GC once they've 
                been read or passed?
     1    .81%  *xpath support
     1    .81%  *DTD validation (only, without a XML document)
     1    .81%  *DOM Level 3.
   124 points allocated

-- 
Andy Clark * IBM, TRL - Japan * andyc@apache.org

DOMParser question

Posted by Zhenzhong Lu <zl...@cs.indiana.edu>.
Hi there,

I'm trying apache DOMParser and following is part of the code:
	...
	parser.parse(uri);
	Document doc = parser.getDocument();
	...
	Node node = doc;
	switch(node.getNodeType()){
	...
	case Node.DOCUMENT_TYPE_NODE:
		DocumentType docType = (DocumentType)node;
		System.out.print("<!DOCTYPE " + docType.getName());
		if(docType.getPublicId() != null){
			System.out.print(" PUBLIC \" " + docType.getPublicId() + "\" ");
		}else{
			System.out.print(" SYSTEM ");
		}
		System.out.println("\"" + docType.getSystemId() + "\">");

		break;
	...
	}

I use xerces-1_2_3, and when I compile the code, I got following
error message:

DOMParserDemo.java:95: cannot resolve symbol
symbol  : method getPublicId  ()
location: interface org.w3c.dom.DocumentType
                                if(docType.getPublicId() != null){
                                          ^
DOMParserDemo.java:96: cannot resolve symbol
symbol  : method getPublicId  ()
location: interface org.w3c.dom.DocumentType
                                        System.out.print(" PUBLIC \" " +
docType
.getPublicId() + "\" ");

 ^
DOMParserDemo.java:100: cannot resolve symbol
symbol  : method getSystemId  ()
location: interface org.w3c.dom.DocumentType
                                System.out.println("\"" +
docType.getSystemId()
+ "\">");
                                                                  ^
3 errors


Then I download DOM level 2 java bindings from apache and put it to class
path, this time the code compiled(this is stange to me because I think
xerces1-2-3 contains dom level2 support) but when I run it I got follwoing
exception:
Exception in thread "main"
java.lang.NoSuchMethodError
        at DOMParserDemo.printNode(DOMParserDemo.java:94)
        at DOMParserDemo.printNode(DOMParserDemo.java:39)
        at DOMParserDemo.performDemo(DOMParserDemo.java:19)
        at DOMParserDemo.main(DOMParserDemo.java:117)

The exception complains about method DocumentType.getPublicId().


Thanks in advance for your help.

Linden