aboutsummaryrefslogtreecommitdiffstats
path: root/lib/xmerl/src
AgeCommit message (Collapse)Author
2015-08-11Remove built-in definition of xml.xsd from xmerlTobias Schlager
Removes the built-in definitions of http://www.w3.org/2001/xml.xsd from the xmerl_xsd module. xmerl_xsd does load the definitions of the above schema into its processing table during initialization. This leads to the inability to process XSD schemas that properly import xml.xsd (as suggested in xml.xsd itself). Furthermore, the definitions are loaded from a binary containing the corresponding terms in Erlang external term format. Since this is not refactoring safe the intended functionality already broke long ago (prior to github import) because some of the record definitions did change in releases older than R13B03. To sum up, the current code does not do anything useful because the built-in definitions from the binary can't be used due to incompatible records. Thus, this fix is not backwards incompatible. The change also adds two new test cases covering common use-cases when using 'xml:' types in custom schemas.
2015-06-18Change license text to APLv2Bruce Yinhe
2015-06-08Merge branch 'richcarl/shut-up-xmerl'Henrik Nord
* richcarl/shut-up-xmerl: Stop xmerl printing to stdout OTP-12810
2015-05-25Update runtime_dependencies in application resource filesHans Bolinder
Applications that use the new erl_anno module are depending on STDLIB 2.5. Note that CosNotification, Megaco, SNMP, Xmerl, and Parsetools use the erl_anno module via the Yecc parsers only (the header file in lib/parsetools/include/yeccpre.hrl calls the erl_anno module). HiPE does not call the erl_anno module, but uses an exported type. We have chosen to make HiPE dependent on the erl_anno module.
2015-05-08[xmerl] Fix compiler warningsLars Thorsen
2015-04-28Stop xmerl printing to stdoutRichard Carlsson
Replace sloppy calls to io:format() in xmerl to use error_logger or debug macros instead, as appropriate.
2014-03-20Introduce runtime_dependencies in .app filesRickard Green
Most dependencies introduced are exactly the dependencies to other applications found by xref. That is, there might be real dependencies missing. There might also be pure debug dependencies listed that probably should be removed. Each application has to be manually inspected in order to ensure that all real dependencies are listed. All dependencies introduced are to application versions used in OTP 17.0. This since the previously used version scheme wasn't designed for this, and in order to minimize the work of introducing the dependencies.
2014-02-18Fix library application appup filesTobias Schlager
As discussed in issue #240 *all* OTP library applications use the '.*' wildcard as up and down version. This makes library applications always up- and downgradeable. Using the wildcard version obsoletes all maintenance tasks regarding library applications' appup files. Additionally, it prevents upgrade problems caused by automatically included application dependencies when using reltool to create releases. Missing copyright headers are now consistently present.
2014-01-21Merge branch 'maint'Magnus Lidén
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 'maint'Fredrik Gustafsson
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-05Merge branch 'maint'Fredrik Gustafsson
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-10-14Merge branch 'maint'Fredrik Gustafsson
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-04-19Remove the "coding: utf-8" comment from all Erlang source filesHans Bolinder
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/