question: private boolean serializeCompactRDFStructProp ( XMPNode node , int indent , boolean hasRDFResourceQual ) throws XMPException , IOException { boolean hasAttrFields = false ; boolean hasElemFields = false ; boolean emitEndTag = true ; for ( Iterator ic = node . iterateChildren ( ) ; ic . hasNext ( ) ; ) { XMPNode field = ( XMPNode ) ic . next ( ) ; if ( canBeRDFAttrProp ( field ) ) { hasAttrFields = true ; } else { hasElemFields = true ; } if ( hasAttrFields && hasElemFields ) { break ; } } if ( hasRDFResourceQual && hasElemFields ) { throw new XMPException ( "Can't mix rdf:resource qualifier and element fields" , XMPError . BADRDF ) ; } if ( ! node . hasChildren ( ) ) { write ( " rdf:parseType=\"Resource\"/>" ) ; writeNewline ( ) ; emitEndTag = false ; } else if ( ! hasElemFields ) { serializeCompactRDFAttrProps ( node , indent + 1 ) ; write ( "/>" ) ; writeNewline ( ) ; emitEndTag = false ; } else if ( ! hasAttrFields ) { write ( " rdf:parseType=\"Resource\">" ) ; writeNewline ( ) ; serializeCompactRDFElementProps ( node , indent + 1 ) ; } else { write ( '>' ) ; writeNewline ( ) ; writeIndent ( indent + 1 ) ; write ( RDF_STRUCT_START ) ; serializeCompactRDFAttrProps ( node , indent + 2 ) ; write ( ">" ) ; writeNewline ( ) ; serializeCompactRDFElementProps ( node , indent + 1 ) ; writeIndent ( indent + 1 ) ; write ( RDF_STRUCT_END ) ; writeNewline ( ) ; } return emitEndTag ; }
target:  Serializes a struct property.