[ 
https://issues.apache.org/jira/browse/CAMEL-12091?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen resolved CAMEL-12091.
---------------------------------
    Resolution: Invalid

Use mailing list to get help first, the JIRA is not for "how to use X"

> Splitting large Xml files using Camel by having root tags. 
> inheritNamespaceTagName="*" not working as expected.
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-12091
>                 URL: https://issues.apache.org/jira/browse/CAMEL-12091
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-bindy, camel-core, camel-jaxb, camel-spring, 
> camel-stax
>    Affects Versions: 2.19.1
>            Reporter: Devendra Tripathi
>            Priority: Minor
>
> Hi,
> Tried splitting large xml files into 10-10 elements each which has suppose 
> 100 elements (say <ItemType>) with root tag as <ItemImport>. All 10 new 
> splitted xml should have one root tag <ItemImport> on top as in original xml. 
> Example below.
> <ItemImport   Priority="0"    FillType="FullIncremental"    Version="1.0">
>    <ItemType>   </ItemType>
>    <ItemType>   </ItemType>
>    <ItemType>   </ItemType>
>    <ItemType>   </ItemType>
>    <ItemType>   </ItemType>
>    ....
> </ItemImport>
> *+Output needed:+*
> 1. xml:
> <ItemImport   Priority="0"    FillType="FullIncremental"    Version="1.0">
>    <ItemType>   </ItemType>
>    <ItemType>   </ItemType>
>    <ItemType>   </ItemType>
> </ItemImport>
> 2. xml:
> <ItemImport   Priority="0"    FillType="FullIncremental"    Version="1.0">
>    <ItemType>   </ItemType>
>    <ItemType>   </ItemType>
> <ItemImport>
> +*written XML DSL as below:*+
>       <camel:route id="splitFiles">
>               <camel:from uri="file://{{immediateProcessingfolder}}" />
>               <camel:split streaming="true">
>                       <camel:tokenize token="${header.TokenName}" 
> inheritNamespaceTagName="*"  xml="true" group="10"/>
>                       <!-- <camel:xtokenize 
> mode="w">//ns1:Item</camel:xtokenize> -->
>                       <camel:to uri="file://{{outputfolder}}" />
>               </camel:split>
>       </camel:route>
> If using inheritNamespaceTagName="*", its not giving proper output as per 
> expectation. Root tag is coming for all the elements in a single xml file, in 
> this example 10 times root element "ItemImport" for each ItemType element.
> 1. xml:
> <ItemImport   Priority="0"    FillType="FullIncremental"    Version="1.0">
>    <ItemType>   </ItemType>
> </ItemImport>
> <ItemImport   Priority="0"    FillType="FullIncremental"    Version="1.0">
>    <ItemType>   </ItemType>
> </ItemImport>
> <ItemImport   Priority="0"    FillType="FullIncremental"    Version="1.0">
>    <ItemType>   </ItemType>
> </ItemImport>
> 2. xml:
> <ItemImport   Priority="0"    FillType="FullIncremental"    Version="1.0">
>    <ItemType>   </ItemType>
> </ItemImport>
> <ItemImport   Priority="0"    FillType="FullIncremental"    Version="1.0">
>    <ItemType>   </ItemType>
> <ItemImport>
> Let me know if any other detail is needed. Or if solution is already present.
> Also tried using stax by following below link, but it did not generated any 
> output, even though I did not get any error.
> http://camel.apache.org/stax.html
>       <bean id="staxRecord" 
> class="org.apache.camel.component.stax.StAXBuilder" factory-method="stax">
>               <constructor-arg index="0" 
> value="com.input.model.item.ItemType" />
>       </bean>
>       
>       <camel:route>
>               <!-- pickup XML files -->
>               <camel:from uri="file://{{immediateProcessingfolder}}" />
>               <camel:split streaming="true">
>                       <camel:ref>staxRecord</camel:ref>
>                       <camel:to uri="file://{{outputfolder}}" />
>               </camel:split>
>       </camel:route>
> Thanks,
> Devendra



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to