* xmlXPathCompLocationPath: * @ctxt: the XPath Parser context * * [1] LocationPath ::= RelativeLocationPath * | AbsoluteLocationPath * [2] AbsoluteLocationPath ::= '/' RelativeLocationPath? * | AbbreviatedAbsoluteLocationPath * [10] AbbreviatedAbsoluteLocationPath ::= * '//' RelativeLocationPath * * Compile a
| 10419 | * select all para descendants of div children. |
| 10420 | */ |
| 10421 | static void |
| 10422 | xmlXPathCompLocationPath(xmlXPathParserContextPtr ctxt) { |
| 10423 | SKIP_BLANKS; |
| 10424 | if (CUR != '/') { |
| 10425 | xmlXPathCompRelativeLocationPath(ctxt); |
| 10426 | } else { |
| 10427 | while (CUR == '/') { |
| 10428 | if ((CUR == '/') && (NXT(1) == '/')) { |
| 10429 | SKIP(2); |
| 10430 | SKIP_BLANKS; |
| 10431 | PUSH_LONG_EXPR(XPATH_OP_COLLECT, AXIS_DESCENDANT_OR_SELF, |
| 10432 | NODE_TEST_TYPE, NODE_TYPE_NODE, NULL, NULL); |
| 10433 | xmlXPathCompRelativeLocationPath(ctxt); |
| 10434 | } else if (CUR == '/') { |
| 10435 | NEXT; |
| 10436 | SKIP_BLANKS; |
| 10437 | if ((CUR != 0) && |
| 10438 | ((IS_ASCII_LETTER(CUR)) || (CUR >= 0x80) || |
| 10439 | (CUR == '_') || (CUR == '.') || |
| 10440 | (CUR == '@') || (CUR == '*'))) |
| 10441 | xmlXPathCompRelativeLocationPath(ctxt); |
| 10442 | } |
| 10443 | CHECK_ERROR; |
| 10444 | } |
| 10445 | } |
| 10446 | } |
| 10447 | |
| 10448 | /************************************************************************ |
| 10449 | * * |
no test coverage detected