## 1 Xmerl Release Notes

This document describes the changes made to the Xmerl application.

### 1.1 Xmerl 1.1.10

#### 1.1.1 Fixed Bugs and Malfunctions

- Changed the examples in Customization Functions Tutorial to correct Erlang code.
  Own Id: OTP-6053
- Some XPath errors solved, typo in compare function '!=', error in id() function.
  Own Id: OTP-6792 Aux Id: seq10570
- The XPath function contains() now implemented. See XPath 1.0 section 4.2.
  Own Id: OTP-6873
- Fixed that xmerl_xsd:process_schema/2 with {xsdbase, Dirname} failed with enoent and a number of inor documentation bugs in xmerl_xsd reference manual.
  Own Id: OTP-7165
- Fixed xmerl_scan's problem with numeric character references followed by UTF-8 characters in the contents.
  Own Id: OTP-7430
- Fixed an incorrect guard for xmerl_scan:to_ucs/2.
  Own Id: OTP-7473
- Some bug corrections of xmerl XPath implementation, most provided by Matthew Dempsky.
  Own Id: OTP-7496
- Now with string() and name() all XPath functions are implemented. The string representation of QName by name() is "{Namespace URI}local-name".
  Own Id: OTP-7510

### 1.2 Xmerl 1.1.9

#### 1.2.1 Fixed Bugs and Malfunctions

- A number of minor scanner faults have got more clear error messages.
  Own Id: OTP-5998, Aux Id: seq9803
- An example error in the Xmerl Users Guide is corrected.
  Own Id: OTP-6947
- When xmerl_xsd:validate was executed the schema table in the state was deleted and next execution would fail. This is now corrected.
  Own Id: OTP-7288

### 1.3 Xmerl 1.1.8

#### 1.3.1 Fixed Bugs and Malfunctions

- A Kleene Closure child in a sequence consumed all following childs. This problem has been fixed.
  Own Id: OTP-7211
- Now validating xhtml1-transitional.dtd. A certain contentspec with a succeding choice, that didn't match all content, followed by other child elements caused a failure. This is now corrected.
  Own Id: OTP-7214

### 1.4 Xmerl 1.1.7

#### 1.4.1 Improvements and New Features

- xmerl's schema validation now takes default facets into account
  Own Id: OTP-7190

### 1.5 Xmerl 1.1.6

#### 1.5.1 Fixed Bugs and Malfunctions

- Parsing XML with option {validation,schema} is now corrected.
  Own Id: OTP-6773
- union type is now supported
  Own Id: OTP-6877 Aux Id: seq10755
- Now xmerl validates as expected when a sequence has a present group member and a following element.
  Own Id: OTP-6910

### 1.6 Xmerl 1.1.5

#### 1.6.1 Fixed Bugs and Malfunctions

- The head of a substitutionGroup may have type anyType and thus allow members of any type. This was an oversight, but is now corrected.
  Own Id: OTP-6720
- A recursive group reference in a redefine refers to the definition in the redefined schema. See 4.2.2 in XMLSchema part1 "Schema Representation Constraint: Individual Component Redefinition" bullet 2.
  Own Id: OTP-6739
- Solved some content model problems, for instance in some cases failed when more than one choice.
  Own Id: OTP-6752

### 1.7 Xmerl 1.1.4

#### 1.7.1 Improvements and New Features

- An additional format is possible for the simple syntax: {Fun, State}. The fun should retrieve the replacement in simple syntax format. The semantics of fun: fun(State) -> code that creates replacement, then returns {SimpleSyntax,NewState} | done
  Own Id: OTP-6679

### 1.8 Xmerl 1.1.3

#### 1.8.1 Improvements and New Features

- Memory consumption decreased: moved transforming from utf-8 to unicode from an extra pass of the document to the occasion when a character is parsed. Removed use of lists:subtract. Those changes also speeds up parsing in some scenarios.
  Own Id: OTP-6599 Aux Id: seq10552

### 1.9 Xmerl 1.1.2

#### 1.9.1 Fixed Bugs and Malfunctions

- Schema processor reprocessed schemas that already were processed, using process_schemas on a system of schemas with circular dependencies.
  Own Id: OTP-6460 Aux Id: seq10564

#### 1.9.2 Improvements and New Features

- Dialyzer warnings now removed, i.e. dead code have been removed.
  Own Id: OTP-6507

### 1.10 Xmerl 1.1.1

#### 1.10.1 Fixed Bugs and Malfunctions

- Bug in xmerl removed so that simple syntax element content is exported correctly.
  Own Id: OTP-6402 Aux Id: OTP-6099

### 1.11 Xmerl 1.1

#### 1.11.1 Fixed Bugs and Malfunctions

- Xmerl failed to parse and export with the sax_file front-end. Therefore hook function calls were added in the parser and handling of text content were changed.
  Own Id: OTP-6043
- Bug in xmerl removed so that simple syntax element content is exported correctly.
  Own Id: OTP-6099

#### 1.11.2 Improvements and New Features

- xmerl now supports XMLSchema validation. Documentation in reference manual for xmerl. The release of XMLSchema validation should be considered as a beta release. The user interface may still be adjusted in a coming release. Opinions and evaluations are welcome.
  Own Id: OTP-6401

### 1.12 xmerl 1.0.5

#### 1.12.1 Fixed Bugs and Malfunctions

- Code that caused compiler warnings has been reviewed.

### 1.13 xmerl 1.0.4

#### 1.13.1 Fixed Bugs and Malfunctions

- xmerl behaved strange parsing a XML-document with a copyright sign in a comment.
  Own Id: OTP-5599
- Line count for error messages in DTD improved, still problem because of ENTITY expansions. Didn't delete digraphs after recursion test. Now correctly parsing of declaration separators [28a-b].
  Own Id: OTP-5718
- Failed to validate a XML file with a content spec that had a choice of which one element was a sequence with optional elements, and all elements of that sequence were missing
  Own Id: OTP-5734
- Location paths for document root and attributes is now working as expected.
  Own Id: OTP-5895
- Now has the last() predicate in the XPATH modules the properties specified in ch 2.4 in the XPATH spec, i.e. if last() evaluates to a number other than the context position it is false, otherwise true.
  Own Id: OTP-5902
- The location path of a single wildcard now only selects element nodes.
  Own Id: OTP-5905

### 1.14 Xmerl 1.0.3

#### 1.14.1 Fixed Bugs and Malfunctions

- Removed call of undefined function in xmerl_lib.
  Own Id: OTP-5587

### 1.15 Xmerl 1.0.2

#### 1.15.1 Fixed Bugs and Malfunctions

- Better identification of errors in xml code.
  Own Id: OTP-5498 Aux Id: seq9803
- Some minor bugs fixed.
  Own Id: OTP-5500
- Parser failed on PE reference as EnumeratedType AttType, now corrected.
  Own Id: OTP-5531

### 1.16 Xmerl 1.0.1

#### 1.16.1 Fixed Bugs and Malfunctions

- Fixed bug in xmerl_xpath. Xpath expressions that select nodes of type text() didn't work, like "contexto/text()", "child::text()", "descendant::text()".
  Own Id: OTP-5268 Aux Id: seq9656
- Minor bugs fixed.
  Own Id: OTP-5301

There are also release notes for older versions.

### 1.17 Xmerl 1.0

#### 1.17.1 Improvements and New Features

- The OTP release of xmerl 1.0 is mainly the same as xmerl-0.20 of http://sowap.sourceforge.net/. It is capable of parsing XML 1.0. There have only been minor improvements: Some bugs that caused an unexpected crash when parsing bad XML. Failure report that also tells which file that caused an error.
  Own Id: OTP-5174

xmerl 1.1.10
Copyright © 1991-2008 Ericsson AB