[ https://issues.apache.org/jira/browse/AXIS2C-944?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dinesh Premalal updated AXIS2C-944: ----------------------------------- Fix Version/s: 1.3.0 > guththila parser ignores XML scope rules on namespace declarations with the > same prefix > --------------------------------------------------------------------------------------- > > Key: AXIS2C-944 > URL: https://issues.apache.org/jira/browse/AXIS2C-944 > Project: Axis2-C > Issue Type: Bug > Components: guththila > Affects Versions: Current (Nightly) > Environment: Windows XP, Visual Studio 2005, guththila, libcurl > Reporter: Bill Mitchell > Fix For: 1.3.0 > > > The guththila parser looks for a match on the namespace prefix/URI from the > outermost element inwards. This violates the scope rules for XML namespaces, > see http://www.w3.org/TR/REC-xml-names/. This problem holds for both > incoming messages in guththila_xml_parser.c and outgoing messages in > guththila_xml_writer.c. Essentially every loop involving > guththila_stack_get_by_index() is suspect, and either needs to start at > (stack_size - 1) and go backwards, or fetch the namespace at the (stack_size > - 1 - i) index. > I uncovered this by inspection, not by testing, so there is some chance that > my understanding is incorrect. But I looked at guththila_stack.c and indeed > for index 0 it returns the outermost/first element pushed, so there is no > tricky logic there to get the stack in the other order. Of course, one could > indeed fix this problem by changing guththila_stack_get_by_index() to return > the elements from the innermost/most recently pushed back out to the > outermost. This would be the easiest fix to make, and the safest in that it > would not change the logic in any of the existing loops, although it would > seem less clear to the casual reader. > In other words, the current logic: > guththila_stack_get_by_index( > guththila_stack_t * stack, > int index, > const axutil_env_t * env) > { > return index < stack->top ? stack->data[index] : NULL; > } > could be changed to read: > { > return index < stack->top ? stack->data[stack->top - index - 1] : NULL; > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]