Skip to content

Commit f6a2636

Browse files
committed
Merge branch '2.18'
2 parents 200e5d2 + 22e305c commit f6a2636

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

README.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ reading and writing [XML](http://en.wikipedia.org/wiki/Xml) encoded data.
66
Further, the goal is to emulate how [JAXB](http://en.wikipedia.org/wiki/JAXB) data-binding works
77
with "Code-first" approach (no support is added for "Schema-first" approach).
88
Support for JAXB annotations is provided by [JAXB annotation module](https://github.com/FasterXML/jackson-modules-base/tree/master/jaxb);
9-
this module provides low-level abstractions (`JsonParser`, `JsonGenerator`, `JsonFactory`) as well as small number of higher level
9+
this module provides low-level abstractions (`JsonParser`, `JsonGenerator`, `JsonFactory`) as well as a small number of higher level
1010
overrides needed to make data-binding work.
1111

1212
It is worth noting, however, that the goal is NOT to be full JAXB clone; or to be a
@@ -16,8 +16,8 @@ Specifically:
1616

1717
* While XML serialization should ideally be similar to JAXB output, deviations are not automatically considered flaws (there are reasons for some differences)
1818
* What should be guaranteed is that any XML written using this module must be readable using module as well ("read what I wrote"): that is, we do aim for full round-trip support
19-
* From above: there are XML constructs that module will not be able to handle; including some cases JAXB (and other Java XML libraries) supports
20-
* This module also support constructs and use cases JAXB does not handle: specifically, rich type and object id support of Jackson are supported.
19+
* From above: there are XML constructs that this module will not be able to handle; including some cases JAXB (and other Java XML libraries) support
20+
* This module also supports constructs and use cases JAXB does not handle: specifically, rich type and object id support of Jackson are supported.
2121

2222
## Status
2323

@@ -27,7 +27,7 @@ Specifically:
2727
| Artifact | [![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.fasterxml.jackson.dataformat/jackson-dataformat-xml/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.fasterxml.jackson.dataformat/jackson-dataformat-xml) |
2828
| OSS Sponsorship | [![Tidelift](https://tidelift.com/badges/package/maven/com.fasterxml.jackson.dataformat:jackson-dataformat-xml)](https://tidelift.com/subscription/pkg/maven-com-fasterxml-jackson-dataformat-jackson-dataformat-xml?utm_source=maven-com-fasterxml-jackson-dataformat-jackson-dataformat-xml&utm_medium=referral&utm_campaign=readme) |
2929
| Javadocs | [![Javadoc](https://javadoc.io/badge/com.fasterxml.jackson.dataformat/jackson-dataformat-xml.svg)](http://www.javadoc.io/doc/com.fasterxml.jackson.dataformat/jackson-dataformat-xml) |
30-
| Code coverage (2.15) | [![codecov.io](https://codecov.io/github/FasterXML/jackson-dataformat-xml/coverage.svg?branch=2.15)](https://codecov.io/github/FasterXML/jackson-dataformat-xml?branch=2.15) |
30+
| Code coverage (2.18) | [![codecov.io](https://codecov.io/github/FasterXML/jackson-dataformat-xml/coverage.svg?branch=2.15)](https://codecov.io/github/FasterXML/jackson-dataformat-xml?branch=2.18) |
3131
| OpenSSF Score | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/FasterXML/jackson-dataformat-xml/badge)](https://securityscorecards.dev/viewer/?uri=github.com/FasterXML/jackson-dataformat-xml) |
3232
| Fuzzing | [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/jackson-dataformat-xml.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:jackson-dataformat-xml) |
3333

@@ -36,13 +36,13 @@ Specifically:
3636
`master` branch is for developing the next major Jackson version -- 3.0 -- but there
3737
are active maintenance branches in which much of development happens:
3838

39-
* `2.16` is for developing the next minor 2.x version
39+
* `2.18` is for developing the next minor 2.x version
40+
* `2.17` is for backported fixes to include in 2.17.x patch versions
41+
* `2.16` is for backported fixes to include in 2.16.x patch versions
4042
* `2.15` is for backported fixes to include in 2.15.x patch versions
41-
* `2.14` is for backported fixes to include in 2.14.x patch versions
42-
* `2.13` is for backported fixes to include in 2.13.x patch versions
4343

4444
Older branches are usually not changed but are available for historic reasons.
45-
All released versions have matching git tags (`jackson-dataformats-text-2.9.4`).
45+
All released versions have matching git tags (`jackson-dataformat-xml-2.17.1`).
4646

4747
## License
4848

@@ -57,20 +57,20 @@ Maven:
5757
<dependency>
5858
<groupId>com.fasterxml.jackson.dataformat</groupId>
5959
<artifactId>jackson-dataformat-xml</artifactId>
60-
<version>2.15.0</version>
60+
<version>2.17.1</version>
6161
</dependency>
6262
```
6363

6464
Gradle:
6565
```groovy
6666
dependencies {
67-
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.15.0'
67+
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.17.1'
6868
}
6969
```
7070

7171
(or whatever version is most up-to-date at the moment)
7272

73-
Also: you usually also want to make sure that XML library in use is [Woodstox](https://github.com/FasterXML/woodstox) since it is not only faster than Stax implementation JDK provides, but also works better and avoids some known issues like adding unnecessary namespace prefixes.
73+
Also: you usually also want to make sure the XML library in use is [Woodstox](https://github.com/FasterXML/woodstox) since it is not only faster than Stax implementation JDK provides, but also works better and avoids some known issues like adding unnecessary namespace prefixes.
7474
You can do this by adding this in your `pom.xml`:
7575

7676
Maven:
@@ -91,9 +91,9 @@ dependencies {
9191

9292
# Usage
9393

94-
Although module implements low-level (`JsonFactory` / `JsonParser` / `JsonGenerator`) abstractions,
95-
most usage is through data-binding level. This because a small number of work-arounds have been added
96-
at data-binding level, to work around XML peculiarities: that is, stream of `JsonToken`s that parser
94+
Although this module implements low-level (`JsonFactory` / `JsonParser` / `JsonGenerator`) abstractions,
95+
most usage is through data-binding level. This is because a small number of work-arounds have been added
96+
at data-binding level, to work around XML peculiarities: that is, the stream of `JsonToken`s that the parser
9797
produces has idiosyncracies that need special handling.
9898

9999
Usually you either create `XmlMapper` simply by:
@@ -102,7 +102,7 @@ Usually you either create `XmlMapper` simply by:
102102
XmlMapper mapper = new XmlMapper();
103103
```
104104

105-
but in case you need to configure settings, you will want to use Builder (added in
105+
but in case you need to configure settings, you will want to use the Builder (added in
106106
Jackson 2.10) style construction:
107107

108108
```java
@@ -145,7 +145,7 @@ For more on the issues, see:
145145
* https://stackoverflow.com/questions/31360025/using-jackson-dataformat-xml-on-android
146146
* https://www.docx4java.org/blog/2012/05/jaxb-can-be-made-to-run-on-android/
147147

148-
Note that as per articles linked to it MAY be possible to use the module on Android, but it unfortunately requires
148+
Note that as per above articles it MAY be possible to use the module on Android, but it unfortunately requires
149149
various work-arounds and development team can not do much to alleviate these issues.
150150
Suggestions for improvements would be welcome; discussions on
151151
[Jackson users list](https://groups.google.com/forum/#!forum/jackson-user) encouraged.
@@ -241,15 +241,15 @@ sr.close();
241241

242242
## Additional annotations
243243

244-
In addition to standard [Jackson annotations](https://github.com/FasterXML/jackson-annotations) and optional JAXB (`javax.xml.bind.annotation`), this project also adds couple of its own annotations for convenience, to support XML-specific details:
244+
In addition to standard [Jackson annotations](https://github.com/FasterXML/jackson-annotations) and optional JAXB (`javax.xml.bind.annotation`), this project also adds a couple of its own annotations for convenience, to support XML-specific details:
245245

246246
* `@JacksonXmlElementWrapper` allows specifying XML element to use for wrapping `List` and `Map` properties
247247
* `@JacksonXmlProperty` allows specifying XML namespace and local name for a property; as well as whether property is to be written as an XML element or attribute.
248248
* `@JacksonXmlRootElement` allows specifying XML element to use for wrapping the root element (default uses 'simple name' of the value class)
249249
* `@JacksonXmlText` allows specifying that value of one property is to be serialized as "unwrapped" text, and not in an element.
250250
* `@JacksonXmlCData` allows specifying that the value of a property is to be serialized within a CData tag.
251251

252-
for longer description, check out [XML module annotations](https://github.com/FasterXML/jackson-dataformat-xml/wiki/Jackson-XML-annotations).
252+
for a longer description, check out [XML module annotations](https://github.com/FasterXML/jackson-dataformat-xml/wiki/Jackson-XML-annotations).
253253

254254
## Known Limitations
255255

@@ -269,7 +269,7 @@ Currently, following limitations exist beyond general Jackson (JSON) limitations
269269
* Lists and arrays are "wrapped" by default, when using Jackson annotations, but unwrapped when using JAXB annotations (if supported, see below)
270270
* `@JacksonXmlElementWrapper.useWrapping` can be set to 'false' to disable wrapping
271271
* `JacksonXmlModule.setDefaultUseWrapper()` can be used to specify whether "wrapped" or "unwrapped" setting is the default
272-
* Polymorphic Type Handling works, but only some of inclusion mechanisms are supported (`WRAPPER_ARRAY`, for example is not supported due to problems wrt mapping of XML, Arrays)
272+
* Polymorphic Type Handling works, but only some inclusion mechanisms are supported (`WRAPPER_ARRAY`, for example is not supported due to problems with reference to mapping of XML, Arrays)
273273
* JAXB-style "compact" Type Id where property name is replaced with Type Id is not supported.
274274
* Mixed Content (elements and text in same element) is not supported in databinding: child content must be either text OR element(s) (attributes are fine)
275275
* While XML namespaces are recognized, and produced on serialization, namespace URIs are NOT verified when deserializing: only local names are matched

0 commit comments

Comments
 (0)