[xsd-users] Need to set two delimiters, one before and one after some lists

Boris Kolpackov boris at codesynthesis.com
Thu May 19 16:40:08 EDT 2016


Hi Ravi,

Rangarajan, Ravi_Sowmian <raviraja at qti.qualcomm.com> writes:
 
> <xs:sequence>
>   <xs:element ref="mbms2007:Cache-Control" minOccurs="0"/>
>   <xs:element ref="sv:delimiter"/>
>   <xs:element ref="mbms2012:Alternate-Content-Location-1" minOccurs="0" maxOccurs="unbounded"/>
>   <xs:element ref="mbms2012:Alternate-Content-Location-2" minOccurs="0" maxOccurs="unbounded"/>
>   <xs:element ref="sv:delimiter"/>
>   [...]
> </xs:sequence>

C++/Tree flattens the compositor structure which results in simpler to use
API but which also looses ordering information in some cases (unlike, say,
XSD/e's C++/Hybrid which recreates the compositor structure precisely). One
consequence of this flattening is that multiple elements with the same name
are "merged" into a single set of accessors/modifiers. This earlier email
has more information on this:

http://www.codesynthesis.com/pipermail/xsd-users/2010-March/002741.html

In your case, provided you want to continue using C++/Tree, the best
approach is to customize the serialization code for this type and
manually make sure things are done in the correct order.

Boris



More information about the xsd-users mailing list