aboutsummaryrefslogtreecommitdiffstats
path: root/lib/xmerl/src
AgeCommit message (Collapse)Author
2014-01-21[xmerl] Fix problem with header of next XML document is in the bufferLars Thorsen
when using xmerl_sax_parser:stream/2 function.
2014-01-21[xmerl] Fix bug in SAX parser when next doc start in the same bufferLars Thorsen
2013-11-06Merge branch 'richcarl/xmerl-avoid-code-server-serialization/OTP-11463' into ↵Fredrik Gustafsson
maint * richcarl/xmerl-avoid-code-server-serialization/OTP-11463: Avoid serialization on code_server in xmerl:export()
2013-11-05Avoid serialization on code_server in xmerl:export()Richard Carlsson
The inheritance mechanism in xmerl used to use 'catch apply(M,F,Args)' to try different modules M until one was found that had a function F/A. However, when M:F/A does not exist, apply/3 will trap to error_handler:undefined_function/3, which will call code:ensure_loaded(M), making a synchronous request to the code server process. If many processes tried to use xmerl:export() concurrently, they would get serialized waiting for the code server process. This patch uses erlang:function_exported/3 instead to check if M:F/A exists. If M exists, it should already have been loaded at that point due to the inheritance checking in the xmerl:callbacks/1 function.
2013-11-04xmerl: Use context namespace declarations to resolve prefix node testsDaniel White
Previously, a match would not be found if the namespace prefix in the XPath query was not contained in the original document. This allows the `namespace' option to provide a prefix that will be resolved to a namespace URI. See Section 2.3 of the XPath 1.0 specification for the behaviour of 'NCName:*' node tests.
2013-11-04xmerl: Look up unknown prefixes in xmlContext when matching attributesDaniel White
The core use case is a query where the original prefix in the scanned document is unknown (or varying). For example: xmerl_xpath:scan("//@ns:name", Doc, [{namespace, [{"ns", Uri}]}]) Previously, this would only return a result if the namespace prefix was an exact match.
2013-09-12Remove ^L characters hidden randomly in the code. Not those used in text ↵Pierre Fenoll
files as delimiters. While working on a tool that processes Erlang code and testing it against this repo, I found out about those little sneaky 0xff. I thought it may be of help to other people build such tools to remove non-conforming-to-standard characters.
2013-01-18Merge branch 'nox/enable-silent-rules/OTP-10726'Björn-Egil Dahlberg
* nox/enable-silent-rules/OTP-10726: Implement ./otp_build configure --enable-silent-rules
2013-01-15Implement ./otp_build configure --enable-silent-rulesAnthony Ramine
With silent rules, the output of make is less verbose and compilation warnings are easier to spot. Silent rules are disabled by default and can be disabled or enabled at will by make V=0 and make V=1.
2013-01-09Prepare OTP files for Unicode as default encodingHans Bolinder
2012-08-31Update copyright yearsBjörn-Egil Dahlberg
2012-06-05Update to work with whitespace in exec pathLukas Larsson
OTP-10106 OTP-10107
2012-04-23Fix continuation bug in parse_default_decl_1/2Lars Thorsen
2012-03-30Update copyright yearsBjörn-Egil Dahlberg
2012-03-28[xmerl] Fix bug for comments in XSD filesLars Thorsen
2012-03-28[xmerl] Fix error message and documentation bugLars Thorsen
2012-03-21Fix continuation errorLars Thorsen
2012-03-21Remove unused fileLars Thorsen
2012-01-04xmerl: Ignore unused variable in xmerl_uri.erlBjörn-Egil Dahlberg
2011-12-13[xmerl] Remove trailing blanksLars Thorsen
OTP-9821
2011-12-13[xmerl] Fix bug in namespace handling for attributesLars Thorsen
The uniqueness check of attributes failed when the namespace_conformant flag was set to true.
2011-12-09Update copyright yearsBjörn-Egil Dahlberg
2011-11-21Treat , as special in xmerl_xpath_scan.Anneli Cuss
2011-11-11Fix character check of non-characters due to change in unicode moduleLars Thorsen
2011-11-11Fix bugs and add a flag to skip commentsLars Thorsen
Add flag {comments, Flag} to xmerl_scan for filtering of comments. Default (true) is that xmlComment records are returned from the scanner and this flag should be set to false if one don't want comments in the output. Fix some bugs to get the test cases to run clean.
2011-11-11Implement namespace axisAnthony Ramine
Namespace nodes are represented as `#xmlNsNode` records. Now that the namespace axis is correctly implemented, attributes nodes corresponding to attributes that declare namespaces are ignored. See [5.3 Attribute Nodes][xpath-5.3]: > There are no attribute nodes corresponding to attributes > that declare namespaces. [xpath-5.3]: http://www.w3.org/TR/xpath/#attribute-nodes
2011-11-11Add `#xmlPI` support to xmerl_xpath:write_node/1Anthony Ramine
2011-11-11Fix processing-instruction(name?)Anthony Ramine
2011-11-11Fix path filtersAnthony Ramine
2011-11-11Support more top-level primary expressionsAnthony Ramine
This change allows numbers and literals to be used as top-level primary expressions without failing: 1> xmerl_xpath:string("3", Doc). #xmlObj{type = number,value = 3} 2> xmerl_xpath:string("'foo'", Doc). #xmlObj{type = string,value = "foo"} We still need to allow arithmetic, comparative, boolean and negative expressions, as in `xmerl_xpath_pred:expr/2`.
2011-11-11Accumulate comments in element nodesAnthony Ramine
2011-11-11Add `default_attrs` optionAnthony Ramine
When `default_attrs` is `true`, any attribute with a default value defined in the doctype but not in the attribute axis of the currently scanned element is added to it.
2011-11-11Allow whole documents to be returnedAnthony Ramine
Functions `xmerl_scan:file/2` and `xmerl_scan:string/2` now accepts a new option `{document, true}` to produce a whole document as a `xmlDocument` record instead of just the root element node. You may wonder why this would be useful, this option is the only way to get to the top-level comments and processing instructions without hooking through the customization functions. Those nodes are needed to implement [Canonical XML][c14n-xml] support. [c14n-xml]: http://www.w3.org/TR/2008/PR-xml-c14n11-20080129/ "Canonical XML"
2011-11-11Track parents and namespace in `#xmlAttribute` nodesAnthony Ramine
2011-11-11Track parents in `#xmlPI` nodesAnthony Ramine
2011-11-11Set `vsn` field in `#xmlDecl` recordAnthony Ramine
2011-11-11Fix namespace-conformance constraintsAnthony Ramine
See [Namespaces in XML 1.0 (Third Edition)][1]: > The prefix xml is by definition bound to the namespace name > http://www.w3.org/XML/1998/namespace. It MAY, but need not, be > declared, and MUST NOT be bound to any other namespace name. Other > prefixes MUST NOT be bound to this namespace name, and it MUST NOT be > declared as the default namespace. > > The prefix xmlns is used only to declare namespace bindings and is by > definition bound to the namespace name http://www.w3.org/2000/xmlns/. > It MUST NOT be declared . Other prefixes MUST NOT be bound to this > namespace name, and it MUST NOT be declared as the default namespace. > Element names MUST NOT have the prefix xmlns. > > In XML documents conforming to this specification, no tag may containe > two attributes which have identical names, or have qualified names > with the same local part and with prefixes which have been bound to > namespace names that are identical. [1] http://www.w3.org/TR/REC-xml-names/
2011-09-29Merge branch 'dev' into majorBjörn-Egil Dahlberg
* dev: Update copyright years
2011-09-29Update copyright yearsBjörn-Egil Dahlberg
2011-09-26Merge branch 'dev' into majorLars Thorsen
* dev: [xmerl] Fix streaming bug in xmerl_scan (Thanks to Simon Cornish)
2011-09-26[xmerl] Fix streaming bug in xmerl_scan (Thanks to Simon Cornish)Lars Thorsen
2011-09-20Merge branch 'dev' into majorHenrik Nord
Conflicts: erts/aclocal.m4 erts/include/internal/ethread_header_config.h.in
2011-09-20Merge branch 'ta/docs-fixes' into devHenrik Nord
* ta/docs-fixes: Fix misspelling of intermediate Fix typos in erts/preloaded/src Fix more misspellings of compatibility Fix misspelling of kept Fix misspelling of compatibility in ssl_basic_SUITE Fix misspelling of compatibility Fix misspelling of accommodate Fix misspelling of exceed Fix misspelling of accidentally Fix misspelling of erroneous in xmerl_xsd Fix misspelling of erroneous Fix misspelling of successful Fix typos in instrument(3) Fix typos in dbg(3) dialyzer: fix a small typo in list_to_bitstring test Fix typos in cover.erl Fix typos (variable name) in erl_nif(3) Fix typos in mod_esi(3) Fix trivial typos in erlang(3) OTP-9555
2011-09-20Merge branch 'dj/xmerl_ucs-latin9-support' into devHenrik Nord
* dj/xmerl_ucs-latin9-support: Add latin9 (iso-8859-15) support in xmerl_ucs OTP-9552
2011-09-15Fix misspelling of erroneous in xmerl_xsdTuncer Ayaz
2011-08-25Fixed xmerl_ucs UCS2 little endian en/decodingMichal Ptaszek
Corrected number of shift bytes in xmerl_ucs:char_to_ucs2le and recursive call from from_ucs2le to from_ucs4le.
2011-08-16emulator: Add a fourth element in exception stacktracesBjörn Gustavsson
This commit is a preparation for introducing location information (filename/line number) in stacktraces in exceptions. Currently a stack trace looks like: [{Mod1,Function1,Arity1}, . . . {ModN,FunctionN,ArityN}] Add a forth element to each tuple that can be used indication the filename and line number of the source file: [{Mod1,Function1,Arity1,Location1}, . . . {ModN,FunctionN,ArityN,LocationN}] In this commit, the fourth element will just be an empty list, and we will change all code that look at or manipulate stacktraces.
2011-08-10Merge branch 'lars/xmerl/attr_val_bug/OTP-9411' into devLars Thorsen
* lars/xmerl/attr_val_bug/OTP-9411: Added test case for ticket 9411. Entity replacement in attributes doesn't work poperly.
2011-08-09Entity replacement in attributes doesn't work poperly.Lars Thorsen
2011-08-09Fixed problem with relative paths to schemas.Lars Thorsen