Author: robbinspg
Date: Tue Dec  5 06:16:37 2006
New Revision: 482667

URL: http://svn.apache.org/viewvc?view=rev&rev=482667
Log:
TUSCANY-963 Do not write attributes as elements in a sequence

Modified:
    incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/SDOXMLWriter.cpp

Modified: 
incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/SDOXMLWriter.cpp
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/SDOXMLWriter.cpp?view=diff&rev=482667&r1=482666&r2=482667
==============================================================================
--- incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/SDOXMLWriter.cpp 
(original)
+++ incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/SDOXMLWriter.cpp Tue 
Dec  5 06:16:37 2006
@@ -1065,6 +1065,14 @@
                         SDOXMLString seqPropName = seqProp.getName();
                         const Type& seqPropType = seqProp.getType();
 
+                                               // Do not write attributes as 
members of the sequence
+                                               XSDPropertyInfo* pi = 
getPropertyInfo(dataObjectType, seqProp);
+                                               PropertyDefinitionImpl propdef;
+                                               if (pi && 
!(pi->getPropertyDefinition().isElement))
+                                               {
+                                                       continue;
+                                               }
+
                         if (seqPropType.isDataObjectType())
                         {                                
                             DataObjectPtr doValue;
@@ -1096,6 +1104,10 @@
                         else
                         {
                             // Sequence member is a primitive
+                                                       // Only write a 
primitive as an element if defined by the schema or if it's
+                                                       // many-valued.
+                                                       if (!pi && 
!seqProp.isMany()) continue;
+
                             /* Use our wrapper function just in case the 
element has CDATA in it */
                             writeXMLElement(writer,
                                     seqPropName,



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to