Re: [web-annotation] XPath Selector

I think there are at least two proposals:

- XPointer fragment selector
- XPath selector
- Range selector

Here's a run-down of a summary and pros and cons for each.

### XPointer

Use the XPointer fragment syntax with the fragment selector.

Pros:

-  No changes to the model -- we already have a fragment selector
- Very expressive

Cons:

- Expressiveness means low likelihood of full support, meaning bespoke
 parsing to recognize simple expressions is a possible outcome and 
that's brittle

### XPath selector

Pros:

- Simple and in common usage
- Composes nicely with subSelector to solve the text use case

Cons:

- Even with a TextPosition subSelector there's a mismatch with how DOM
 represents a Range (offset from start/end container, rather than 
offset within the range delineated by the start/end containers)

### Range selector

Pros:

- Flexible in that it can utilize any existing selector type for its 
start and end
- Allows a construction that closely matches a DOM Range

Cons:

- Increases the number of objects and depth of the graph another level
- Opens a question about whether other selectors should be 
reformulated as points instead of ranges, otherwise we'll see 
zero-width TextPositionSelector and such

-- 
GitHub Notification of comment by tilgovi
Please view or discuss this issue at 
https://github.com/w3c/web-annotation/issues/95#issuecomment-173439317
 using your GitHub account

Received on Thursday, 21 January 2016 03:25:57 UTC