You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

This topic contains some example XPath queries that can be used in the [JCR browser] (Jackrabbit supports a subset of XPath 2.0 which is a subset of XQuery1.0). See also JCR Browser for complete information and other examples.


  • Retrieve all templates:
    //element(*, wm:template)
  • Retrieve the template with ID = X:
    //element(*, wm:template)[@wm:templateid=1190]
  • Retrieve the Siteworks object with ID = X:
    //element(*)[@wm:id=72430]
  • Retrieve all objecttypes:
    //wm:webmanager//element(*, wm:objecttypeinfo)
  • Retrieve the webpage item with Siteworks name "Queries":
    //wm:webmanager/wm:websites/wo:webpage_item[@wm:name = 'Queries']
  • Retrieve the web page item with reference to the node Siteworks object of objecttype itemtype and name "370eea2b4dcbba2700212ab636f5":
    wm:webmanager/wm:websites/wo:webpage_item/jcr:deref(@wo:itemtype, '370eea2b4dcbba2700212ab636f5')
  • Retrieve the JCR item with UUID "8d38de7b-cec9-4fd6-a714-65e1a61b5bba":
    //*[@jcr:uuid='8d38de7b-cec9-4fd6-a714-65e1a61b5bba']
  • Retrieve all SiteWorks tasks:
    //element(*, wo:wm_taskmanager_task)
  • Retrieve all web pages, in descending name order
    //element(*, wo:ss_mastersection) order by @wm:name descending
  • Retrieve all objects of the given objecttype
    //element(*)[@jcr:primaryType='wo:personalization_expression']
  • Retrieve all paragraph elements containing the text "XX"
    //element(*, wo:ss_element_text ) [@wo:text='XX']
  • Retrieve all objects of type X with property Y:
    //element(*, X)[@Y]
  • Retrieve all objects of type X without property Y:
    //element(*, X)[not(@Y)]
  • Find nodes containing a property with value 'XX'
    //* [jcr:contains(@*,'XX')]
  • Find all elements containing "XX" that use wo:text to save their data (rich text, paragraph, etc.)
    //* [jcr:contains(@wo:text,'*XX*')]
  • Retrieve a list of XperienCentral language labels in the edit environment:
    //element(*, wo:wm_edit_language)
  • Retrieve a list of all webinitiatives
    //element(*, wo:wm_webinitiatif)
  • Retrieve a list of ss_element_external_content where "last X days" > 100:
    //element(*, wo:ss_element_external_content) [@wo:lastxdays>100]
  • When comparing date properties, use the xs:dateTime function. JackRabbit only accepts a fully specified date, including the time in milliseconds:
    //element(*, wo:wm_content_info)[@wo:lastmodified < xs:dateTime('2008-01-01T00:00:00.000Z')]
  • Retrieve the metadata of a media item
    1. Get the exact type of the mediaitem: //wm:components
    2. Hex-code the first number in the media item contentid (e.g. for mediaitem 202209, encode '2' into 0032 via the [http://www.easycalculation.com/ascii-hex.php] site)
    3. Retrieve the meta data using //<exact-type>/allContainerNode/_x<hex>_restofnumber (e.g. //nl.gx.elsevier.elseviermediaitems.AbonneeMediaItemVersionImpl/allContainerNode/_x0032_02209
  • Retrieve a link which refers to a page on the nu.nl website:
    //element(*, wo:ss_element_internal_externallink)[jcr:like(@wo:URL,'http://www.nu.nl/%')]

  • Retrieve all pages which have a link that refers to a page on the nu.nl website:
    //element(*, wo:ss_section)[jcr:like(wo:related/wo:URL,'http://www.nu.nl/%')]

  • Retrieve all articles (element holders) which have a link that refers to a page on the nu.nl website:
    //element(*, wo:wm_element_holder)[jcr:like(wo:related/wo:URL,'http://www.nu.nl/%')]

  • Retrieve all page versions which have a preload form attribute

    //element(*, wo:ss_section)[@wo:preload_form]

  • Retrieve all page versions with an element containing the text "XX":

    //element(*, wo:ss_section)[jcr:contains(wo:element/@wo:text,'*XX*')]

  • Retrieve all pages which contain a specific element

    //element(*,wo:ss_section)[wo:element/@jcr:primaryType = 'mywcb:element']

     

Although Jackrabbit uses the XQuery grammar, it only implements the set of XPath features required by JCR-170 (and some
extras, like predicates on location steps). For more information about XPath see the documentation and software resources page


 

 

 

 

 

 

 

 

 

 

 

 

 


  • No labels