Scott Daley wrote:
>  From a CSS I am having trouble combing the document() and id() 
> functions.  I have them working independently, but can't find the 
> correct syntax to combine them.
> 
>   content: xpath("id(current()/@idref)/displayName");  - this works
>   content: 
> xpath("document(current()/@href)//*...@id=current()/@idref]/displayName");  
> - this works - ie the longhand version of id

This one is OK. Why not use it?
("document(@href)//*...@id=current()/@idref]/displayName" should be work 
fine too.)



> but I can't combine document() and id() - the following doesn't work but 
> it illustrates one of the many variants I have tried
>   content: 
> xpath("document(current()/@href)//id(current()/@idref)/displayName");

The above one seems to be completely *illegal XPath* (disclaimer: to my 
knowledge, with XPath 1.0).
You cannot write "...//id(...)/..." because id() is not a *node test*.


---
PS: PITFALL: document() caches the returned documents and the cache is 
pretty dumb. Moreover there is currently now way to disable this cache 
(except for Spreadsheet calculations -- see 
http://www.xmlmind.com/xmleditor/_distrib/docs/help/ar01s06s01.html#spreadsheetOptions)


Reply via email to