Lines Matching refs:pos

92 		PathPosition pos = new PathPosition();
93 pos.path = path;
97 parseRootNode(schemaNS, pos, expandedXPath);
100 while (pos.stepEnd < path.length())
102 pos.stepBegin = pos.stepEnd;
104 skipPathDelimiter(path, pos);
106 pos.stepEnd = pos.stepBegin;
110 if (path.charAt(pos.stepBegin) != '[')
113 segment = parseStructSegment(pos);
118 segment = parseIndexSegment(pos);
135 pos.nameStart++;
139 verifyQualName(pos.path.substring(pos.nameStart, pos.nameEnd));
155 pos.nameStart++;
157 verifyQualName(pos.path.substring(pos.nameStart, pos.nameEnd));
169 * @param pos
172 private static void skipPathDelimiter(String path, PathPosition pos) throws XMPException
174 if (path.charAt(pos.stepBegin) == '/')
178 pos.stepBegin++;
181 if (pos.stepBegin >= path.length())
187 if (path.charAt(pos.stepBegin) == '*')
191 pos.stepBegin++;
192 if (pos.stepBegin >= path.length() || path.charAt(pos.stepBegin) != '[')
202 * @param pos the current position in the path
206 private static XMPPathSegment parseStructSegment(PathPosition pos) throws XMPException
208 pos.nameStart = pos.stepBegin;
209 while (pos.stepEnd < pos.path.length() && "/[*".indexOf(pos.path.charAt(pos.stepEnd)) < 0)
211 pos.stepEnd++;
213 pos.nameEnd = pos.stepEnd;
215 if (pos.stepEnd == pos.stepBegin)
221 XMPPathSegment segment = new XMPPathSegment(pos.path.substring(pos.stepBegin, pos.stepEnd),
230 * @param pos the xmp path
235 private static XMPPathSegment parseIndexSegment(PathPosition pos) throws XMPException
238 pos.stepEnd++; // Look at the character after the leading '['.
240 if ('0' <= pos.path.charAt(pos.stepEnd) && pos.path.charAt(pos.stepEnd) <= '9')
243 while (pos.stepEnd < pos.path.length() && '0' <= pos.path.charAt(pos.stepEnd)
244 && pos.path.charAt(pos.stepEnd) <= '9')
246 pos.stepEnd++;
255 while (pos.stepEnd < pos.path.length() && pos.path.charAt(pos.stepEnd) != ']'
256 && pos.path.charAt(pos.stepEnd) != '=')
258 pos.stepEnd++;
261 if (pos.stepEnd >= pos.path.length())
266 if (pos.path.charAt(pos.stepEnd) == ']')
268 if (!"[last()".equals(pos.path.substring(pos.stepBegin, pos.stepEnd)))
277 pos.nameStart = pos.stepBegin + 1;
278 pos.nameEnd = pos.stepEnd;
279 pos.stepEnd++; // Absorb the '=', remember the quote.
280 char quote = pos.path.charAt(pos.stepEnd);
287 pos.stepEnd++; // Absorb the leading quote.
288 while (pos.stepEnd < pos.path.length())
290 if (pos.path.charAt(pos.stepEnd) == quote)
293 if (pos.stepEnd + 1 >= pos.path.length()
294 || pos.path.charAt(pos.stepEnd + 1) != quote)
298 pos.stepEnd++;
300 pos.stepEnd++;
303 if (pos.stepEnd >= pos.path.length())
308 pos.stepEnd++; // Absorb the trailing quote.
316 if (pos.stepEnd >= pos.path.length() || pos.path.charAt(pos.stepEnd) != ']')
320 pos.stepEnd++;
321 segment.setName(pos.path.substring(pos.stepBegin, pos.stepEnd));
331 * @param pos the parsing position helper
335 private static void parseRootNode(String schemaNS, PathPosition pos, XMPPath expandedXPath)
338 while (pos.stepEnd < pos.path.length() && "/[*".indexOf(pos.path.charAt(pos.stepEnd)) < 0)
340 pos.stepEnd++;
343 if (pos.stepEnd == pos.stepBegin)
348 String rootProp = verifyXPathRoot(schemaNS, pos.path.substring(pos.stepBegin, pos.stepEnd));