Eneboo - Documentación para desarrolladores
Clases | 'defines' | 'typedefs' | Enumeraciones | Funciones
Referencia del Archivo src/libxslt/libxslt/xsltpattern.c
#include "libxslt.h"
#include <string.h>
#include <libxml/xmlmemory.h>
#include <libxml/tree.h>
#include <libxml/valid.h>
#include <libxml/hash.h>
#include <libxml/xmlerror.h>
#include <libxml/parserInternals.h>
#include "xslt.h"
#include "xsltInternals.h"
#include "xsltutils.h"
#include "imports.h"
#include "templates.h"
#include "keys.h"
#include "pattern.h"
#include "documents.h"

Clases

struct  _xsltStepState
struct  _xsltStepStates
struct  _xsltStepOp
struct  _xsltCompMatch
struct  _xsltParserContext

'defines'

#define IN_LIBXSLT

'typedefs'

typedef struct _xsltStepState xsltStepState
typedef xsltStepStatexsltStepStatePtr
typedef struct _xsltStepStates xsltStepStates
typedef xsltStepStatesxsltStepStatesPtr
typedef struct _xsltStepOp xsltStepOp
typedef xsltStepOpxsltStepOpPtr
typedef struct _xsltParserContext xsltParserContext
typedef xsltParserContextxsltParserContextPtr

Enumeraciones

enum  xsltOp {
  XSLT_OP_END = 0, XSLT_OP_ROOT, XSLT_OP_ELEM, XSLT_OP_ATTR,
  XSLT_OP_PARENT, XSLT_OP_ANCESTOR, XSLT_OP_ID, XSLT_OP_KEY,
  XSLT_OP_NS, XSLT_OP_ALL, XSLT_OP_PI, XSLT_OP_COMMENT,
  XSLT_OP_TEXT, XSLT_OP_NODE, XSLT_OP_PREDICATE
}
enum  xsltAxis { AXIS_CHILD = 1, AXIS_ATTRIBUTE }

Funciones

void xsltFreeCompMatchList (xsltCompMatchPtr comp)

: template match name

xsltNormalizeCompSteps: : pointer to template hash table entry : pointer to the stylesheet

This is a hashtable scanner function to normalize the compiled steps of an imported stylesheet.

#define CUR   (*ctxt->cur)
#define SKIP(val)   ctxt->cur += (val)
#define NXT(val)   ctxt->cur[(val)]
#define CUR_PTR   ctxt->cur
#define SKIP_BLANKS   while (IS_BLANK_CH(CUR)) NEXT
#define CURRENT   (*ctxt->cur)
#define NEXT   ((*ctxt->cur) ? ctxt->cur++: ctxt->cur)
#define PUSH(op, val, val2, novar)   if (xsltCompMatchAdd(ctxt, ctxt->comp, (op), (val), (val2), (novar))) goto error;
#define SWAP()   xsltSwapTopCompMatch(ctxt->comp);
#define XSLT_ERROR(X)
#define XSLT_ERROR0(X)
void xsltNormalizeCompSteps (void *payload, void *data, const xmlChar *name ATTRIBUTE_UNUSED)
int xsltTestCompMatchList (xsltTransformContextPtr ctxt, xmlNodePtr node, xsltCompMatchPtr comp)
xsltCompMatchPtr xsltCompilePattern (const xmlChar *pattern, xmlDocPtr doc, xmlNodePtr node, xsltStylesheetPtr style, xsltTransformContextPtr runtime)
int xsltAddTemplate (xsltStylesheetPtr style, xsltTemplatePtr cur, const xmlChar *mode, const xmlChar *modeURI)
xsltTemplatePtr xsltGetTemplate (xsltTransformContextPtr ctxt, xmlNodePtr node, xsltStylesheetPtr style)
void xsltCleanupTemplates (xsltStylesheetPtr style ATTRIBUTE_UNUSED)
void xsltFreeTemplateHashes (xsltStylesheetPtr style)

Documentación de los 'defines'

#define CUR   (*ctxt->cur)
#define CUR_PTR   ctxt->cur
#define CURRENT   (*ctxt->cur)
#define IN_LIBXSLT
#define NEXT   ((*ctxt->cur) ? ctxt->cur++: ctxt->cur)
#define NXT (   val)    ctxt->cur[(val)]
#define PUSH (   op,
  val,
  val2,
  novar 
)    if (xsltCompMatchAdd(ctxt, ctxt->comp, (op), (val), (val2), (novar))) goto error;
#define SKIP (   val)    ctxt->cur += (val)
#define SKIP_BLANKS   while (IS_BLANK_CH(CUR)) NEXT
#define SWAP ( )    xsltSwapTopCompMatch(ctxt->comp);
#define XSLT_ERROR (   X)
Valor:
{ xsltError(ctxt, __FILE__, __LINE__, X);                       \
      ctxt->error = (X); return; }
#define XSLT_ERROR0 (   X)
Valor:
{ xsltError(ctxt, __FILE__, __LINE__, X);                       \
      ctxt->error = (X); return(0); }

Documentación de los 'typedefs'

typedef struct _xsltStepOp xsltStepOp
typedef struct _xsltStepState xsltStepState

Documentación de las enumeraciones

enum xsltAxis
Valores de enumeraciones:
AXIS_CHILD 
AXIS_ATTRIBUTE 
enum xsltOp
Valores de enumeraciones:
XSLT_OP_END 
XSLT_OP_ROOT 
XSLT_OP_ELEM 
XSLT_OP_ATTR 
XSLT_OP_PARENT 
XSLT_OP_ANCESTOR 
XSLT_OP_ID 
XSLT_OP_KEY 
XSLT_OP_NS 
XSLT_OP_ALL 
XSLT_OP_PI 
XSLT_OP_COMMENT 
XSLT_OP_TEXT 
XSLT_OP_NODE 
XSLT_OP_PREDICATE 

Documentación de las funciones

int xsltAddTemplate ( xsltStylesheetPtr  style,
xsltTemplatePtr  cur,
const xmlChar mode,
const xmlChar modeURI 
)

xsltAddTemplate: : an XSLT stylesheet : an XSLT template : the mode name or NULL : the mode URI or NULL

Register the XSLT pattern associated to

Returns -1 in case of error, 0 otherwise

void xsltCleanupTemplates ( xsltStylesheetPtr style  ATTRIBUTE_UNUSED)

xsltCleanupTemplates: : an XSLT stylesheet

Cleanup the state of the templates used by the stylesheet and the ones it imports.

xsltCompMatchPtr xsltCompilePattern ( const xmlChar pattern,
xmlDocPtr  doc,
xmlNodePtr  node,
xsltStylesheetPtr  style,
xsltTransformContextPtr  runtime 
)

xsltCompilePattern: : an XSLT pattern : the containing document : the containing element : the stylesheet : the transformation context, if done at run-time

Compile the XSLT pattern and generates a list of precompiled form suitable for fast matching.

[1] Pattern ::= LocationPathPattern | Pattern '|' LocationPathPattern

Returns the generated pattern list or NULL in case of failure

void xsltFreeCompMatchList ( xsltCompMatchPtr  comp)

xsltFreeCompMatchList: : an XSLT comp list

Free up the memory allocated by all the elements of

void xsltFreeTemplateHashes ( xsltStylesheetPtr  style)

xsltFreeTemplateHashes: : an XSLT stylesheet

Free up the memory used by xsltAddTemplate/xsltGetTemplate mechanism

xsltTemplatePtr xsltGetTemplate ( xsltTransformContextPtr  ctxt,
xmlNodePtr  node,
xsltStylesheetPtr  style 
)

xsltGetTemplate: : a XSLT process context : the node being processed : the current style

Finds the template applying to this node, if is non-NULL it means one needs to look for the next imported template in scope.

Returns the xsltTemplatePtr or NULL if not found

void xsltNormalizeCompSteps ( void *  payload,
void *  data,
const xmlChar *name  ATTRIBUTE_UNUSED 
)
int xsltTestCompMatchList ( xsltTransformContextPtr  ctxt,
xmlNodePtr  node,
xsltCompMatchPtr  comp 
)

xsltTestCompMatchList: : a XSLT process context : a node : the precompiled pattern list

Test whether the node matches one of the patterns in the list

Returns 1 if it matches, 0 if it doesn't and -1 in case of failure

 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'