If you define element with cdata section then the property value is not setted. Here is fix for public Object processNode (Node node, String prefix, Object container) method to accept cdata section(this code is from end of method): if (node.getNodeType() == Node.TEXT_NODE) { // If the containing object was a String, then use it as the ID. if (semanticAttributes && id == null && container instanceof String) { id = (String) container; } // For the text node, add a property. String nodeText = getAttributeValue(node); if (nodeText.trim().length() != 0) { addProperty(prefix, nodeText, id); } } else if ((node.getNodeType() == Node.ELEMENT_NODE) && (node.getChildNodes().getLength() == 1) && (node.getFirstChild().getNodeType() == Node.CDATA_SECTION_NODE)) { // CDATA section // If the containing object was a String, then use it as the ID. if (semanticAttributes && id == null && container instanceof String) { id = (String) container; } // For the cdata-section node, add a property. String nodeText = node.getFirstChild().getNodeValue(); addProperty(prefix, nodeText, id); } Regards Markku Saarela markku.saarela@entra.fi
Fixed in CVS. I committed a slightly different patch since I wanted to avoid duplicating the code in the if and else legs Thanks