XML Output Stage
Posted: Thu Jul 23, 2015 2:29 pm
Hi,
I am creating an XML file from a Sequential file using XML Output Stage. In the XML file I have a requirement to repeat an element. Here is my requirement from a sample file :
<structures:Instruction>
- <structures:DoseAdministration>
- <structures:DoseDeliveryMethod>
<datatypes:Text>UNSPECIFIED</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>10003008</datatypes:Code>
</structures:DoseDeliveryMethod>
- <structures:DoseAmount>
<datatypes:Text>UNSPECIFIED</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>10003008</datatypes:Code>
</structures:DoseAmount> <structures:DoseClarifyingFreeText>NA</structures:DoseClarifyingFreeText>
- <structures:DoseForm>
<datatypes:Text>UNSPECIFIED</datatypes:Text>
<datatypes:Qualifier>FMTDOSEFORM</datatypes:Qualifier>
<datatypes:Code>C38046</datatypes:Code>
</structures:DoseForm>
- <structures:RouteOfAdministration>
<datatypes:Text>ORAL</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>1</datatypes:Code>
</structures:RouteOfAdministration>
</structures:DoseAdministration>
- <structures:TimingAndDuration>
- <structures:Frequency>
<structures:FrequencyNumericValue>5</structures:FrequencyNumericValue>
- <structures:FrequencyUnits>
<datatypes:Text>UNSPECIFIED</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>10003008</datatypes:Code>
</structures:FrequencyUnits>
</structures:Frequency>
<structures:TimingClarifyingFreeText>NONE</structures:TimingClarifyingFreeText>
</structures:TimingAndDuration>
<structures:MultipleTimingModifier>AND</structures:MultipleTimingModifier>
- <structures:TimingAndDuration>
- <structures:Duration>
<structures:DurationNumericValue>0</structures:DurationNumericValue>
- <structures:DurationText>
<datatypes:Text>Day</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>2</datatypes:Code>
</structures:DurationText>
</structures:Duration>
</structures:TimingAndDuration>
</structures:Instruction>
In the above structure I need to close the element <structures:TimingAndDuration> and reopen the same element.
</structures:TimingAndDuration>
<structures:MultipleTimingModifier>AND</structures:MultipleTimingModifier>
<structures:TimingAndDuration>
In the XML Output Stage I have defined the columns as below :
TimingClarifyingFreeText
MultipleTimingModifier
DurationNumericValue
But I am getting the output as below :
<structures:Instruction>
- <structures:DoseAdministration>
- <structures:DoseDeliveryMethod>
<datatypes:Text>Unspecified</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>10003008</datatypes:Code>
</structures:DoseDeliveryMethod>
- <structures:DoseAmount>
<datatypes:Text>Unspecified</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>10003008</datatypes:Code>
</structures:DoseAmount>
<structures:DoseClarifyingFreeText>NA</structures:DoseClarifyingFreeText>
- <structures:DoseForm>
<datatypes:Text>Unspecified</datatypes:Text>
<datatypes:Qualifier>FMTDOSEFORM</datatypes:Qualifier>
<datatypes:Code>NA</datatypes:Code>
</structures:DoseForm>
- <structures:RouteOfAdministration>
<datatypes:Text>135</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>1003008</datatypes:Code>
</structures:RouteOfAdministration>
- <structures:SiteOfAdministration>
<datatypes:Text>11</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>1003008</datatypes:Code>
</structures:SiteOfAdministration>
</structures:DoseAdministration>
- <structures:TimingAndDuration>
- <structures:Frequency>
<structures:FrequencyNumericValue>0</structures:FrequencyNumericValue>
- <structures:FrequencyUnits>
<datatypes:Text>Unspecified</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>10003008</datatypes:Code>
</structures:FrequencyUnits>
</structures:Frequency>
<structures:TimingClarifyingFreeText>None</structures:TimingClarifyingFreeText>
- <structures:Duration>
<structures:DurationNumericValue>0</structures:DurationNumericValue>
- <structures:DurationText>
<datatypes:Text>Unspecified</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>1003008</datatypes:Code>
</structures:DurationText>
</structures:Duration>
</structures:TimingAndDuration>
<structures:MultipleTimingModifier>AND</structures:MultipleTimingModifier>
</structures:Instruction>
I am highlighting the error :
<structures:TimingAndDuration>
- <structures:Frequency>
<structures:FrequencyNumericValue>0</structures:FrequencyNumericValue>
- <structures:FrequencyUnits>
<datatypes:Text>Unspecified</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>10003008</datatypes:Code>
</structures:FrequencyUnits>
</structures:Frequency>
<structures:TimingClarifyingFreeText>None</structures:TimingClarifyingFreeText>
- <structures:Duration>
<structures:DurationNumericValue>0</structures:DurationNumericValue>
- <structures:DurationText>
<datatypes:Text>Unspecified</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>1003008</datatypes:Code>
</structures:DurationText>
</structures:Duration>
</structures:TimingAndDuration>
<structures:MultipleTimingModifier>AND</structures:MultipleTimingModifier>
"TimingAndDuration" should be closed and "MultipleTimingModifier" should come before "structures:Duration".
Please help me how to define xpath for these columns.
Thanks!
I am creating an XML file from a Sequential file using XML Output Stage. In the XML file I have a requirement to repeat an element. Here is my requirement from a sample file :
<structures:Instruction>
- <structures:DoseAdministration>
- <structures:DoseDeliveryMethod>
<datatypes:Text>UNSPECIFIED</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>10003008</datatypes:Code>
</structures:DoseDeliveryMethod>
- <structures:DoseAmount>
<datatypes:Text>UNSPECIFIED</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>10003008</datatypes:Code>
</structures:DoseAmount> <structures:DoseClarifyingFreeText>NA</structures:DoseClarifyingFreeText>
- <structures:DoseForm>
<datatypes:Text>UNSPECIFIED</datatypes:Text>
<datatypes:Qualifier>FMTDOSEFORM</datatypes:Qualifier>
<datatypes:Code>C38046</datatypes:Code>
</structures:DoseForm>
- <structures:RouteOfAdministration>
<datatypes:Text>ORAL</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>1</datatypes:Code>
</structures:RouteOfAdministration>
</structures:DoseAdministration>
- <structures:TimingAndDuration>
- <structures:Frequency>
<structures:FrequencyNumericValue>5</structures:FrequencyNumericValue>
- <structures:FrequencyUnits>
<datatypes:Text>UNSPECIFIED</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>10003008</datatypes:Code>
</structures:FrequencyUnits>
</structures:Frequency>
<structures:TimingClarifyingFreeText>NONE</structures:TimingClarifyingFreeText>
</structures:TimingAndDuration>
<structures:MultipleTimingModifier>AND</structures:MultipleTimingModifier>
- <structures:TimingAndDuration>
- <structures:Duration>
<structures:DurationNumericValue>0</structures:DurationNumericValue>
- <structures:DurationText>
<datatypes:Text>Day</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>2</datatypes:Code>
</structures:DurationText>
</structures:Duration>
</structures:TimingAndDuration>
</structures:Instruction>
In the above structure I need to close the element <structures:TimingAndDuration> and reopen the same element.
</structures:TimingAndDuration>
<structures:MultipleTimingModifier>AND</structures:MultipleTimingModifier>
<structures:TimingAndDuration>
In the XML Output Stage I have defined the columns as below :
TimingClarifyingFreeText
MultipleTimingModifier
DurationNumericValue
But I am getting the output as below :
<structures:Instruction>
- <structures:DoseAdministration>
- <structures:DoseDeliveryMethod>
<datatypes:Text>Unspecified</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>10003008</datatypes:Code>
</structures:DoseDeliveryMethod>
- <structures:DoseAmount>
<datatypes:Text>Unspecified</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>10003008</datatypes:Code>
</structures:DoseAmount>
<structures:DoseClarifyingFreeText>NA</structures:DoseClarifyingFreeText>
- <structures:DoseForm>
<datatypes:Text>Unspecified</datatypes:Text>
<datatypes:Qualifier>FMTDOSEFORM</datatypes:Qualifier>
<datatypes:Code>NA</datatypes:Code>
</structures:DoseForm>
- <structures:RouteOfAdministration>
<datatypes:Text>135</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>1003008</datatypes:Code>
</structures:RouteOfAdministration>
- <structures:SiteOfAdministration>
<datatypes:Text>11</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>1003008</datatypes:Code>
</structures:SiteOfAdministration>
</structures:DoseAdministration>
- <structures:TimingAndDuration>
- <structures:Frequency>
<structures:FrequencyNumericValue>0</structures:FrequencyNumericValue>
- <structures:FrequencyUnits>
<datatypes:Text>Unspecified</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>10003008</datatypes:Code>
</structures:FrequencyUnits>
</structures:Frequency>
<structures:TimingClarifyingFreeText>None</structures:TimingClarifyingFreeText>
- <structures:Duration>
<structures:DurationNumericValue>0</structures:DurationNumericValue>
- <structures:DurationText>
<datatypes:Text>Unspecified</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>1003008</datatypes:Code>
</structures:DurationText>
</structures:Duration>
</structures:TimingAndDuration>
<structures:MultipleTimingModifier>AND</structures:MultipleTimingModifier>
</structures:Instruction>
I am highlighting the error :
<structures:TimingAndDuration>
- <structures:Frequency>
<structures:FrequencyNumericValue>0</structures:FrequencyNumericValue>
- <structures:FrequencyUnits>
<datatypes:Text>Unspecified</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>10003008</datatypes:Code>
</structures:FrequencyUnits>
</structures:Frequency>
<structures:TimingClarifyingFreeText>None</structures:TimingClarifyingFreeText>
- <structures:Duration>
<structures:DurationNumericValue>0</structures:DurationNumericValue>
- <structures:DurationText>
<datatypes:Text>Unspecified</datatypes:Text>
<datatypes:Qualifier>SNOMED</datatypes:Qualifier>
<datatypes:Code>1003008</datatypes:Code>
</structures:DurationText>
</structures:Duration>
</structures:TimingAndDuration>
<structures:MultipleTimingModifier>AND</structures:MultipleTimingModifier>
"TimingAndDuration" should be closed and "MultipleTimingModifier" should come before "structures:Duration".
Please help me how to define xpath for these columns.
Thanks!