Lines Matching refs:step
89 int flags; /* properties of that step */
111 int *states; /* the array of step indexes */
138 int step;
338 * Add a step to an XSLT Compiled Match
460 xmlPatPushState(xmlStepStates *states, int step, xmlNodePtr node) {
476 states->states[states->nbstates].step = step;
479 fprintf(stderr, "Push: %d, %s\n", step, node->name);
496 xmlStepOpPtr step;
503 step = &comp->steps[i];
504 switch (step->op) {
521 if (step->value == NULL)
523 if (step->value[0] != node->name[0])
525 if (!xmlStrEqual(step->value, node->name))
530 if (step->value2 != NULL)
533 if (step->value2 == NULL)
535 if (!xmlStrEqual(step->value2, node->ns->href))
552 if (step->value != NULL) {
555 (step->value[0] == lst->name[0]) &&
556 (xmlStrEqual(step->value, lst->name)))
568 if (step->value != NULL) {
569 if (step->value[0] != node->name[0])
571 if (!xmlStrEqual(step->value, node->name))
576 if (step->value2 != NULL)
578 } else if (step->value2 != NULL) {
579 if (!xmlStrEqual(step->value2, node->ns->href))
594 if (step->value == NULL)
596 if (step->value[0] != node->name[0])
598 if (!xmlStrEqual(step->value, node->name))
602 if (step->value2 != NULL)
605 if (step->value2 == NULL)
607 if (!xmlStrEqual(step->value2, node->ns->href))
613 if (step->value == NULL) {
615 step = &comp->steps[i];
616 if (step->op == XML_OP_ROOT)
618 if (step->op != XML_OP_ELEM)
620 if (step->value == NULL)
635 (step->value[0] == node->name[0]) &&
636 (xmlStrEqual(step->value, node->name))) {
639 if (step->value2 == NULL)
642 if ((step->value2 != NULL) &&
643 (xmlStrEqual(step->value2, node->ns->href)))
655 if (step->op == XML_OP_ANCESTOR)
664 if (step->value != NULL)
667 if (step->value == NULL)
669 if (!xmlStrEqual(step->value, node->ns->href))
694 i = states.states[states.nbstates].step;
1001 * Compile the Step Pattern and generates a precompiled
1004 * [3] Step ::= '.' | NameTest
1225 * [5] Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest )
1322 * [5] Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest )
1467 printf(" %d: step %d, level %d", i, ctxt->states[2 * i],
1533 * @ns: the second step, the namespace name
1534 * @flags: the flags for that step
1536 * Add a new step to the compiled pattern
1538 * Returns -1 in case of error or the step index if successful
1576 xmlStepOp step;
1609 step = comp->steps[i];
1610 switch (step.op) {
1619 s = xmlStreamCompAddStep(stream, NULL, step.value,
1630 step.value, step.value2, XML_ATTRIBUTE_NODE, flags);
1636 if ((step.value == NULL) && (step.value2 == NULL)) {
1661 * If there was a previous step, mark it to be added to
1663 * the last step will be marked as "final" and only
1678 s = xmlStreamCompAddStep(stream, step.value, step.value2,
1687 s = xmlStreamCompAddStep(stream, step.value, step.value2,
1720 * the first step as having "//", to be reentrant on every
1802 * @idx: the step index for that streaming state
1858 xmlStreamStep step;
1994 step = comp->steps[stepNr];
1995 if (step.nodeType != nodeType) {
1996 if (step.nodeType == XML_ATTRIBUTE_NODE) {
2003 } else if (step.nodeType != XML_STREAM_ANY_NODE)
2010 if (step
2012 } else if (step.name == NULL) {
2013 if (step.ns == NULL) {
2019 match = xmlStrEqual(step.ns, ns);
2020 } else if (((step.ns != NULL) == (ns != NULL)) &&
2022 (step.name[0] == name[0]) &&
2023 xmlStrEqual(step.name, name) &&
2024 ((step.ns == ns) || xmlStrEqual(step.ns, ns)))
2035 if (step.name == NULL) {
2036 if (step.ns == NULL)
2039 match = (step.ns == ns);
2041 match = ((step.name == name) && (step.ns == ns));
2045 final = step.flags & XML_STREAM_STEP_FINAL;
2062 if ((ret != 1) && (step.flags & XML_STREAM_STEP_IN_SET)) {
2090 step = comp->steps[0];
2091 if (step.flags & XML_STREAM_STEP_ROOT)
2094 desc = step.flags & XML_STREAM_STEP_DESC;
2132 if (step.nodeType != nodeType) {
2135 else if (step.nodeType != XML_STREAM_ANY_NODE)
2142 if (step.nodeType == XML_STREAM_ANY_NODE) {
2144 } else if (step.name == NULL) {
2145 if (step.ns == NULL) {
2151 match = xmlStrEqual(step.ns, ns);
2152 } else if (((step.ns != NULL) == (ns != NULL)) &&
2154 (step.name[0] == name[0]) &&
2155 xmlStrEqual(step.name, name) &&
2156 ((step.ns == ns) || xmlStrEqual(step.ns, ns)))
2160 final = step.flags & XML_STREAM_STEP_FINAL;
2166 if ((ret != 1) && (step.flags & XML_STREAM_STEP_IN_SET)) {