- From: <jose.kahan@w3.org>
- Date: Wed, 18 Oct 2000 16:01:28 +0200 (MET DST)
- To: www-xml-linking-comments@w3.org
XML Linking Implementation Questionnaire ======================================== General ======= >What is the name of your organization? W3C >How should we contact you on linking matters? Irene Vatton (irene.vatton@w3.org) >What is the name of the linking technology? Amaya. It's one feature of the Amaya editor/browser. >Please describe its functionality and development status briefly. We have an annotation application that uses XPointers and XLink. Also, the Amaya editor is able to create and activate simple XLinks. The Xlink and XPointer support is relatively young and not 100% complete. >Is it publicly available? If so, what is its current location? Yes. http://www.w3.org/Amaya/ XLink ===== >How does the technology use XLink? When creating links related to XML elements (MathML, and SVG currently), we do so according to the XLink specification. That is, we add the link as an attribute to the element that represents the start point of the link. We can also follow such links when browsing an XML document. >Does (or will) the technology claim XLink conformance? Yes. >Please provide details about the parts of XLink implemented. >- Traversing simple outbound links Yes >- Any other comments/details? In the near future, we'll support the show="new" and show="replace" attributes. >What difficulties did you discover in implementing XLink? In the case of XHTML, it's difficult to choice whether to generate an anchor (A) or use XLink when making a new link. XPointer ======== >How does the technology use XPointer? Currently, we're using XPointers in an RDF annotation experiment. Users can annotate any (structured) document they want, by selecting a point or a range in the document and then using an "annotate" function. We use XPointers to describe what was annotated in the document and for adding a link to the annotation. The merge is done on the client side. Our actual XPointer are very rudimentary and of four types: - one-point to another point using string-range (text in the same element, skipping in-lined markup). Example: xpointer(string-range(/html[1]/body[1]/p[2],"",84,4) - one point to another point in the text of wwo elements using string-range and range-to. Example: xpointer(start-point(string-range(/html[1]/body[1]/dl[1]/dd[1],"",3,1)) /range-to(end-point(string-range(/html[1]/body[1]/dl[1]/ dd[3],"",3,1)))) - one point to another point in two elements. Example: xpointer(/html[1]/body[1]/div[1]/p[1]/range-to(/html[1]/body[1] /div[1]/p[6])) - one-point. Example: xpointer(/html[1]/body[1]/div[1]/p[1]/math[1]/mrow[1]/mfrac[1] /mrow[1]/msqrt[1]) If an element has an id attribute, we use that element as the starting point of the expression. >Does (or will) the technology claim XPointer conformance? Yes >Please provide details about the parts of XLink implemented. (you mean XPointer?) >- Bare names Yes >- Child sequences No >- id() function Yes >- Full XPath No. We only support a minimal functionality (location steps, and predicate counts) for the moment. >- range-to Yes. However, we only support for the moment absolute XPointers (starting from the root of the document or from the first element having an ID in the path). >- string-range Partially. We only support empty strings. >- Namespace support Partially. Only supported as "namespace_abbreviation:element_name" >- In programming API Yes. We have a function for building an Xpointer, and another for parsing it. We return an error if we can't resolve the XPointer. >- In user interface We have a function for making an annotation. We're planning to add soon another function to computer the XPointer function of the current selection and use it in our XLink implementation. > - Selecting/showing multiple non-contiguous ranges No. >- Any other comments/details? We also support start-point() and end-point(). >What difficulties did you discover in using the XPointer specification? >From the point of view of someone who was starting with XPointer and XPath, understanding the concept of context in the case of range-to. That is, understanding where was the the context when computing the XPointer from that part. >What difficulties did you discover in implementing XPointer? For the annotations, we only wanted to have two points, the beginning and the end point. We had to go thru an empty string-range, combined with the start- and end-point functions to achieve this result. See the second example cited here above. XML Base ======== >How does the technology use XML Base? We don't use it yet. Integration =========== >How does the technology uses XLink, XPointer, and XML Base in conjunction? We still haven't integrated XML Base. The use of XLink with XPointer is still young in our application. >Please provide details about the implementation. In the Annotation application, we add an element on the client side and use Xlink to specify where the body of the annotation is. Although we haven't finished implementing it, Amaya will be able to create XLinks with XPointer fragments, where the user memorizes the XPointer of a target and then create an Xlink to that target, in the same document or in another one. - Any other comments/details? >What difficulties did you discover in using their specifications together? None yet. >What difficulties did you discover in implementing them together? None yet. So far, they have been complimentary. Conclusion ========== >Do you have any other comments you would like to share with us? It has been fun and interesting implementing this technology. The forthcoming release of Amaya will support the annotation and XPointer features we described in this report. -Jose ----------------------------------------------------------------------------- Jose Kahan | w3c/INRIA | The taste W3C technical support team | ZIRST | of rain [http://www.w3.org] | 655, avenue de l'Europe | -Why kneel? Tel: +33 (0)4 76.61.53.05 | 38330 Montbonnot Saint-Martin France |J.K (1959) -----------------------------------------------------------------------------
Received on Wednesday, 18 October 2000 10:01:38 UTC