Spec-Zone .ru
спецификации, руководства, описания, API
ADC домой > Ссылочная библиотека> Ссылка> Дарвин> Разное пространство пользователя ссылка API

 


xpath.h

Включает:

Введение



Определения типов


xmlXPathAxisFunc


typedef xmlXPathObjectPtr (*xmlXPathAxisFunc) (
    xmlXPathParserContextPtr ctxt, 
    xmlXPathObjectPtr cur);  
Обсуждение

xmlXPathAxisFunc: @ctxt: контекст интерпретатора XPath @cur: предыдущий узел, исследуемый на той оси

Функция обхода оси. Для пересечения оси механизм вызывает в первый раз со злой собакой == NULL и повторение, пока функция не возвращает NULL, указывающий конец обхода оси.

Возвращает следующий узел в той оси или NULL если в конце оси.


xmlXPathConvertFunc


typedef int (*xmlXPathConvertFunc) (
    xmlXPathObjectPtr obj,
    int type);  
Обсуждение

xmlXPathConvertFunc: @obj: объект XPath @type: число целевого типа

Функция преобразования связывается с типом и используется для кастинга нового типа к примитивным значениям.

Возвраты-1 в случае ошибки, 0 иначе


xmlXPathError


typedef enum { 
    XPATH_EXPRESSION_OK = 0, 
    XPATH_NUMBER_ERROR, 
    XPATH_UNFINISHED_LITERAL_ERROR, 
    XPATH_START_LITERAL_ERROR, 
    XPATH_VARIABLE_REF_ERROR, 
    XPATH_UNDEF_VARIABLE_ERROR, 
    XPATH_INVALID_PREDICATE_ERROR, 
    XPATH_EXPR_ERROR, 
    XPATH_UNCLOSED_ERROR, 
    XPATH_UNKNOWN_FUNC_ERROR, 
    XPATH_INVALID_OPERAND, 
    XPATH_INVALID_TYPE, 
    XPATH_INVALID_ARITY, 
    XPATH_INVALID_CTXT_SIZE, 
    XPATH_INVALID_CTXT_POSITION, 
    XPATH_MEMORY_ERROR, 
    XPTR_SYNTAX_ERROR, 
    XPTR_RESOURCE_ERROR, 
    XPTR_SUB_RESOURCE_ERROR, 
    XPATH_UNDEF_PREFIX_ERROR, 
    XPATH_ENCODING_ERROR, 
    XPATH_INVALID_CHAR_ERROR, 
    XPATH_INVALID_CTXT 
} xmlXPathError;  
Обсуждение

Набор кодов ошибки XPath.


xmlXPathEvalFunc


typedef void (*xmlXPathEvalFunc)(
    xmlXPathParserContextPtr ctxt, 
    int nargs);  
Обсуждение

xmlXPathEvalFunc: @ctxt: контекст синтаксического анализатора XPath @nargs: число параметров передало функции

Функция оценки XPath, параметры находятся на штабеле контекста XPath.


xmlXPathFuncLookupFunc


typedef xmlXPathFunction (*xmlXPathFuncLookupFunc) (
    void *ctxt, 
    const xmlChar *name, 
    const xmlChar *ns_uri);  
Обсуждение

xmlXPathFuncLookupFunc: @ctxt: контекст XPath @name: имя функции @ns_uri: имя пространства имен, размещающее эту функцию

Прототип для обратных вызовов раньше включал функциональный поиск в механизме XPath.

Возвращает функцию XPath или NULL если не найденный.


xmlXPathFunction


typedef void (*xmlXPathFunction) (
    xmlXPathParserContextPtr ctxt,
    int nargs);  
Обсуждение

xmlXPathFunction: @ctxt: контекст межправа ангарии XPath @nargs: число параметров

Функция XPath. Параметры (если таковые имеются) выталкиваются из штабеля контекста, и результат продвинут на штабеле.


xmlXPathVariableLookupFunc


typedef xmlXPathObjectPtr (*xmlXPathVariableLookupFunc) (
    void *ctxt, 
    const xmlChar *name, 
    const xmlChar *ns_uri);  
Обсуждение

xmlXPathVariableLookupFunc: @ctxt: контекст XPath @name: имя переменной @ns_uri: имя пространства имен, размещающее эту переменную

Прототип для обратных вызовов раньше включал переменный поиск в механизме XPath.

Возвращает значение объекта XPath или NULL если не найденный.

Структуры и объединения


_xmlXPathContext


struct _xmlXPathContext { 
    xmlDocPtr doc; /* The current document */
    xmlNodePtr node; /* The current node */
    int nb_variables_unused; /* unused (hash table) */
    int max_variables_unused; /* unused (hash table) */
    xmlHashTablePtr varHash; /* Hash table of defined variables */
    int nb_types; /* number of defined types */
    int max_types; /* max number of types */
    xmlXPathTypePtr types; /* Array of defined types */
    int nb_funcs_unused; /* unused (hash table) */
    int max_funcs_unused; /* unused (hash table) */
    xmlHashTablePtr funcHash; /* Hash table of defined funcs */
    int nb_axis; /* number of defined axis */
    int max_axis; /* max number of axis */
    xmlXPathAxisPtr axis; /* Array of defined axis */
    /* the namespace nodes of the context node */
    xmlNsPtr *namespaces; /* Array of namespaces */
    int nsNr; /* number of namespace in scope */
    void *user; /* function to free */
    /* extra variables */
    int contextSize; /* the context size */
    int proximityPosition; /* the proximity position */
    /* extra stuff for XPointer */
    int xptr; /* it this an XPointer context */
    xmlNodePtr here; /* for here() */
    xmlNodePtr origin; /* for origin() */
    /* the set of namespace declarations in scope for the expression */
    xmlHashTablePtr nsHash; /* The namespaces hash table */
    xmlXPathVariableLookupFunc varLookupFunc;/* variable lookup func */
    void *varLookupData; /* variable lookup data */
    /* Possibility to link in an extra item */
    void *extra; /* needed for XSLT */
    /* The function name and URI when calling a function */
    const xmlChar *function; 
    const xmlChar *functionURI;  
    /* function lookup function and data */
    xmlXPathFuncLookupFunc funcLookupFunc;/* function lookup func */
    void *funcLookupData; /* function lookup data */
    /* temporary namespace lists kept for walking the namespace axis */
    xmlNsPtr *tmpNsList; /* Array of namespaces */
    int tmpNsNr; /* number of namespace in scope */
    /* error reporting mechanism */
    void *userData; /* user specific data block */
    xmlStructuredErrorFunc error; /* the callback in case of errors */
    xmlError lastError; /* the last error */
    xmlNodePtr debugNode; /* the source node XSLT */
    /* dictionnary */
    xmlDictPtr dict; /* dictionnary if any */
};  
Обсуждение

xmlXPathContext:

Вычисление выражения происходит относительно контекста. он контекст состоит из: - узел (узел контекста) - список узла (список узла контекста) - ряд привязок переменных - функциональная библиотека - набор объявлений пространства имен в объеме для выражения После переключателя к хэш-таблицам, эта потребность, которая будет обрезана при следующем двоичном несовместимом выпуске.


_xmlXPathParserContext


struct _xmlXPathParserContext { 
    const xmlChar *cur; /* the current char being parsed */
    const xmlChar *base; /* the full expression */
    int error; /* error code */
    xmlXPathContextPtr context; /* the evaluation context */
    xmlXPathObjectPtr value; /* the current value */
    int valueNr; /* number of values stacked */
    int valueMax; /* max number of values stacked */
    xmlXPathObjectPtr *valueTab; /* stack of values */
    xmlXPathCompExprPtr comp; /* the precompiled expression */
    int xptr; /* it this an XPointer expression */
    xmlNodePtr ancestor; /* used for walking preceding axis */
};  
Обсуждение

xmlXPathParserContext:

Контекст синтаксического анализатора XPath. Это содержит чистую информацию о парсинге, xmlXPathContext и штабель объектов.

Глобальные переменные


XMLPUBFUN


 Macros which declare an exportable function */
#define XMLPUBFUN  ;  
Обсуждение

Функции преобразования к основным типам.


XMLPUBFUN


 Macros which declare an exportable function */
#define XMLPUBFUN  ;  
Обсуждение

Обработка контекста.


XMLPUBFUN


 Macros which declare an exportable function */
#define XMLPUBFUN  ;  
Обсуждение

Функции оценки.


XMLPUBFUN


 Macros which declare an exportable function */
#define XMLPUBFUN  ;  
Обсуждение

Раздельная компиляция / точки входа оценки.


xmlXPathNAN


extern  double xmlXPathNAN;  
Обсуждение

Объекты и обработка Наборов узлов

#defines


xmlXPathNodeSetGetLength


#define xmlXPathNodeSetGetLength(
    ns)  
Обсуждение

xmlXPathNodeSetGetLength: @ns: набор узлов

Реализуйте функциональность, подобную DOM NodeList.length.

Возвращает число узлов в наборе узлов.


xmlXPathNodeSetIsEmpty


#define xmlXPathNodeSetIsEmpty(
    ns) \ (((
    ns) == NULL) || ((
    ns)->nodeNr == 0) || ((
    ns)->nodeTab == NULL)) 
Обсуждение

xmlXPathNodeSetIsEmpty: @ns: набор узлов

Проверки, пуст ли @ns или нет.

Возвраты %TRUE, если @ns является пустым набором узлов.


xmlXPathNodeSetItem


#define xmlXPathNodeSetItem(
    ns, index) \ ((((
    ns) != NULL) && \ ((
    index) >= 0) && ((
    index) < (
    ns)->nodeNr)) ? \ (
    ns)->nodeTab[(
    index)] \ : NULL) 
Обсуждение

xmlXPathNodeSetItem: @ns: набор узлов @index: индекс узла в наборе

Реализует функциональность, подобную DOM NodeList.item ().

Если @index вне диапазона (0 к длине 1), возвращает xmlNodePtr в данном @index в @ns или NULL

Последнее обновление: 20.06.2006