The StyleAttrCSSResolver explained
The major function of a CSSResolver is detecting the right CSS for a given tag.
The StyleAttrCssResolver uses the following criteria:
CssFile are checked for rules applying on the given tag
in the order they were added to the CSSResolver.
Rules defined on the same property are overridden.style attribute is added to the tags CSS.Note that CssFiles can be added to a CSSResolver at any time.
When adding a CssFile to the StyleAttrCssResolver, it's used by
the resolving process immediately. There's no method to remove a CssFile in the
CSSResolver interface, but that doesn't mean you can't add such a method in your
custom implementation.
You can provide inheritance rules for the StyleAttrCssResolver class
with the setCssInheritanceRules() method. By default, the DefaultCssInheritanceRules
are used, but you can always write your own implementation of the CssInheritanceRules interface,
for instance if you don't want certain CSS properties to be inherited from a tag.
All of this is very interesting if your XML is very similar to HTML and if your styles are defined using CSS.
But if your XML is completely different, and if you need to produce content that doesn't fit in iText's Element
objects, you'll need to write your own Pipeline.