XML Linking Implementation Questionnaire : libxml

            XML Linking Implementation Questionnaire
            ========================================

General
=======
What is the name of your organization?

The Gnome Project (and W3C)

How should we contact you on linking matters?

Mail at Daniel.Veillard@w3.org

What is the name of the linking technology?

libxml, the Gnome XML Library

Please describe its functionality and development status briefly.

This library allows to manipulate XML files. It includes support
to read, modify and write XML and HTML files. There is DTDs support
this includes parsing and validation even with complex DtDs, either
at parse time or later once the document has been modified. The output
can be a simple SAX stream or and in-memory DOM like representations.
In this case one can use the built-in XPath and XPointer implementation
to select subnodes or ranges. A flexible Input/Output mechanism is
available, with existing HTTP and FTP modules combined to an
URI library.

Is it publicly available?  If so, what is its current location?

It is publicly available with source at
  http://xmlsoft.org/

XLink
=====
How does the technology use XLink?

  There is no XLink support so far.


XPointer
========
How does the technology use XPointer?

It provides an API to evaluate XPointer expressions and return the results.
 
Does (or will) the technology claim XPointer conformance?

yes, it does now.

Please provide details about the parts of XLink implemented.
- Bare names
  yes

- Child sequences
  yes

- id() function
  yes

- Full XPath
  yes

- range-to
  yes

- string-range
  yes

- Namespace support
  yes but not well tested and probably needs improvements

- In programming API
  yes

- In user interface
  no
   - Selecting/showing multiple non-contiguous ranges
- Any other comments/details?

What difficulties did you discover in using the XPointer specification?

- Couple of errors in the examples
- Range-to wasn't specified clearly enough but discussion with Michael Kay
  led to a good description
- lack of any examples for the functions in section 5.4.3 Additional
  Range-Related Functions
  http://www.w3.org/TR/xptr#N2698

What difficulties did you discover in implementing XPointer?

- this was implemented on top of the libxml XPath implementation and
  forced me to revamp some of the early interfaces for better expandability

XML Base
========
How does the technology use XML Base?

- there is a simple function to get the XML Base lookup, this is
  an unified function in the sense that it does it independantly of
  the type of document (HTML or XML).

Does (or will) the technology claim XML Base conformance?

I would prefer to have it being reused (for example in an XInclude module)
bofeore claiming conformance.

Please provide details about the parts of XML Base implemented.

This is actually quite small, correct support for entity boundaries checking
need to be refined.

What difficulties did you discover in using the XML Base specification?

none, this is fairly small and easy.

What difficulties did you discover in implementing XML Base?

I don't have specific XHTML support, and so far I'm afraid that if
parsed as XML it will use xml:base to do the base lookup and if parsed
with the HTML parser it will use the base element.

Integration
===========
How does the technology uses XLink, XPointer, and XML Base in conjunction?

  Without XLink nor XInclude support there isn't much integration. For the
moment it's mostly separate APIs in the toolbox. I hope to implement
XInclude soon.

Please provide details about the implementation.
- Handling single nodes as participating resources
- Handling ranges of nodes as participating resources
- Handling participating resources made up of non-contiguous pieces
- Any other comments/details?
What difficulties did you discover in using their specifications together?
What difficulties did you discover in implementing them together?

Conclusion
==========
Do you have any other comments you would like to share with us?

I personally think that both specs are ready for general public consumption
but adding a few more examples would not harm.

Daniel

-- 
Daniel.Veillard@w3.org | W3C, INRIA Rhone-Alpes  | libxml Gnome XML toolkit
Tel : +33 476 615 257  | 655, avenue de l'Europe | http://xmlsoft.org/
Fax : +33 476 615 207  | 38330 Montbonnot FRANCE | Rpmfind search site
 http://www.w3.org/People/all#veillard%40w3.org  | http://rpmfind.net/

Received on Monday, 30 October 2000 05:48:09 UTC