Class XPathUtil

java.lang.Object
org.eclipse.birt.report.model.api.util.XPathUtil

public class XPathUtil extends Object
The XPath string helps user locate this element in design file. It follows a subset of XPath syntax. Each node name indicates the name of the element definition and the 1-based element position in the slot. The position information is only available when the element is in the multicardinality slot.

For example,

type examples
element /report/body/table[3]
/library/components/grid/row[1]/cell[2]/label
slot /report/body
/report/body/*
/report/body/table/detail/row[slotName="cells"]
property /report/parameters/scalar-parameter[@id="2"]/@name
/report/list-property[@name="images"]
/report/body/text[@id="19"]/text-property[@name="content"]
/report/body/text[@id="19"]/text-property[@name="content"]/@key
structure (EmbeddedImageHandle/IncludedLibraryHandle/ResultSetColumnHandle) /report/list-property[@name="images"]/structure[2]
/report/list-property[@name="images"]/structure

It is strongly recommended not to call getInstance(ModuleHandle, String) with manually created XPath string. Much better to use XPath string returned by getXPath(Object).

  • Field Details

    • SLOT_NAME_PROPERTY

      public static final String SLOT_NAME_PROPERTY
      The attribute to indicate a slot name.
      See Also:
    • RESOURCE_KEY_SUFFIX

      public static final String RESOURCE_KEY_SUFFIX
      The suffix for the resource key.
      See Also:
  • Constructor Details

    • XPathUtil

      public XPathUtil()
  • Method Details

    • getXPath

      public static String getXPath(Object instance)
      Returns the XPath of the given instance. For the structure, only EmbeddedImageHandle is supported.
      Parameters:
      instance - can be DesignElementHandle, SlotHandle, StructureHandle , PropertyHandle.
      Returns:
      the XPath in string
    • getXPath

      public static String getXPath(Object instance, int index)
      Returns the script path of the given instance.
      Parameters:
      instance - PropertyHandle which type or sub type must be expression or script.
      index - of property should be in valid range. 0 based
      Returns:
      the path in string
    • getInstance

      public static Object getInstance(ModuleHandle module, String xpath)
      Returns the instance by the given XPath of DesignElementHandle, SlotHandle, StructureHandle.
      Parameters:
      module - the report/library
      xpath - the XPath in string
      Returns:
      DesignElementHandle/SlotHandle/ StructureHandle.