Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use xmlDocGetRootElement when setting up namespaces. #28

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

ewanmellor
Copy link
Contributor

The existing code uses doc->children, which is wrong in the case that the document has a doctype or PI nodes at the start.

This fix is originally from upstream issue #20, by kgrigsby59.

This changeset re-applies the fix on top of the nodesforxpath-namespacemappings branch (the two changes are in the same area of code).

Ewan Mellor added 2 commits April 28, 2013 09:11
This allows the caller to pass in an NSDictionary specifying the mapping
from namespace prefix to namespace URL.  Namespace prefixes specified in
the given XPath will then be resolved against that mapping.

This allows callers to find nodes using default namespaces, e.g.
<element xmlns='<schema URL>'>...</element>.  The caller must specify
prefix=<schema URL> in namespaceMappings, and then can use prefix:element
in the XPath.

If namespaceMappings is nil, then the existing behavior is used
(parsing the namespaces from the document node).  This works in the
situation where the namespaces are all named explicitly, and all on the
root node, but not in general.

This addresses upstream issue robbiehanson#19, the second half of issue robbiehanson#20.
The existing code uses doc->children, which is wrong in the case that the
document has a doctype or PI nodes at the start.

This fix is originally from upstream issue robbiehanson#20, by kgrigsby59.

This changeset re-applies the fix on top of the
nodesforxpath-namespacemappings branch (the two changes are in the same
area of code).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant