Hi. I am stuck dealing with a problem and hope someone can help me. I have an XML file that I manipulate with XmlBeans(see schema below). The process is as follows: I get a XML file that lists one or more profiles by name and I need to return the same XML with ProfileContent populated for each profile(ProfileContents are stored in the separate files). When I do so (code below) I end up with nested ProfileContent elements. WHAT AM I DOING WRONG?
Alex Petetsky XML IN: <Utilities xmlns="http://my.comp.com/myschema.xsd"> <Profiles> <Profile> <Name>Adsl2_pr</Name> </Profile> </Profiles> </Utilities> PROCESS CODE: public String processXml(String inxml, ProfileManager mgr){ UtilitiesDocument utilIn = UtilitiesDocument.Factory.parse(inxml); UtilitiesClassType top = utilIn.getUtilities(); ProfilesTypeConfig[] aProfiles = top.getProfilesArray(); for (ProfilesTypeConfig profiles : aProfiles) { for (ProfileTypeConfig profile : profiles.getProfileArray()) { String pName = profile.getName(); String pContent = mgr.getProfile(pName); ProfileContentClassType pcontent = ProfileContentClassType.Factory.parse(pContent); profile.setProfileContent(ic); } } return utilIn.xmlText(new XmlOptions().setSavePrettyPrint()); } XML OUT: <Utilities xmlns="http://my.comp.com/myschema.xsd"> <Profiles> <Profile> <Name>Adsl2_pr</Name> <ProfileContent> <ProfileContent> <LoopEstimates> <EstimatedLinks> <Scenarios> <Scenario> <Name>ADSL1</Name> <LinkProfile> <DslStandard>G.992.1 Annex A</DslStandard> <Upstream> <MaxInterleavingDelay> <PhysicalUnits>ms</PhysicalUnits> <Value>1</Value> </MaxInterleavingDelay> </Upstream> <Downstream> <MaxInterleavingDelay> <PhysicalUnits>ms</PhysicalUnits> <Value>1</Value> </MaxInterleavingDelay> </Downstream> </LinkProfile> <Noise> <Downstream> <NearEnd> <Models> <WhiteNoise> <PhysicalUnits>dBm/Hz</PhysicalUnits> <Value>-140.0</Value> </WhiteNoise> </Models> </NearEnd> </Downstream> <Upstream> <NearEnd> <Models> <WhiteNoise> <PhysicalUnits>dBm/Hz</PhysicalUnits> <Value>-140.0</Value> </WhiteNoise> </Models> </NearEnd> </Upstream> </Noise> <ResultsReporting> <Upstream> <BitAllocation> <IsReported>true</IsReported> </BitAllocation> </Upstream> <Downstream> <BitAllocation> <IsReported>true</IsReported> </BitAllocation> </Downstream> </ResultsReporting> </Scenario> </Scenarios> </EstimatedLinks> </LoopEstimates> </ProfileContent> </ProfileContent> </Profile> </Profiles> </Utilities> SCHEMA: <?xml version="1.0" encoding="utf-8"?> <xs:schema id="myid" targetNamespace="http://my.comp.com/myschema.xsd" version="1.0.0.1" elementFormDefault="qualified" attributeFormDefault="qualified" xmlns="http://my.comp.com/myschema.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Utilities" type="UtilitiesClassType"/> <xs:complexType name="UtilitiesClassType"> <xs:choice> ... <xs:element name="Profiles" type="ProfilesTypeConfig" minOccurs="0" maxOccurs="unbounded"/> ... </xs:choice> </xs:complexType> <xs:complexType name="ProfilesTypeConfig"> <xs:sequence> <xs:element name="Profile" type="ProfileTypeConfig" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="ProfileTypeConfig"> <xs:all> <xs:element name="Name" type="xs:string" minOccurs="1"/> <xs:element name="ProfileContent" type="ProfileContentClassType" minOccurs="0"/> </xs:all> </xs:complexType> <xs:complexType name="ProfileContentClassType"> <xs:all> <xs:element name="Action" type="xs:string" minOccurs="0"/> <xs:element name="ReferencedObjects" type="ReferencedObjectsClassType" minOccurs="0"/> <xs:element name="PhysicalUnits" type="PhysicalUnitsClassType" minOccurs="0"/> <xs:element name="Temperature" type="TemperaturePudValue" minOccurs="0"/> <xs:element name="LoopEstimates" type="LoopEstimatesConfigClassType" minOccurs="0"/> <xs:element name="ActualLink" type="ActualLinkInterpConfigClassType" minOccurs="0"/> <xs:element name="SpectralAnalyses" type="SpectralAnalysesConfigClassType" minOccurs="0"/> <xs:element name="LinkCharacterization" type="LinkCharacterizationClassType" minOccurs="0"/> <xs:element name="SeltPmdCalibration" type="SeltPmdCalibrationClassType" minOccurs="0"/> <xs:element name="CapacitancePerUnitLength" type="PudValue" minOccurs="0"/> <xs:element name="GenericAutomatedLoopTest" type="MeltGenericAutomatedLoopTestClassType" minOccurs="0"/> </xs:all> </xs:complexType> ... </xs:schema> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

