diff --git a/src/main/java/com/rometools/opml/io/impl/OPML20Generator.java b/src/main/java/com/rometools/opml/io/impl/OPML20Generator.java index b83379b..8845c82 100644 --- a/src/main/java/com/rometools/opml/io/impl/OPML20Generator.java +++ b/src/main/java/com/rometools/opml/io/impl/OPML20Generator.java @@ -72,27 +72,30 @@ public class OPML20Generator extends OPML10Generator { } final List categories = outline.getCategories(); - final String categoriesValue = generateCategoriesValue(categories); - addNotNullAttribute(outlineElement, "category", categoriesValue); + final String categoryValue = generateCategoryValue(categories); + addNotNullAttribute(outlineElement, "category", categoryValue); return outlineElement; } - private String generateCategoriesValue(final Collection categories) { + private String generateCategoryValue(final Collection categories) { + final StringBuilder builder = new StringBuilder(); + for (final String category : categories) { if (category != null && !category.trim().isEmpty()) { builder.append("/"); builder.append(category.trim()); } } - final String categoryString = builder.toString(); - if (categoryString == null || categoryString.isEmpty()) { - return null; + + if (builder.length() > 0) { + return builder.toString(); } else { - return categoryString; + return null; } + } }