Sponsored Content
Top Forums Shell Programming and Scripting Moving XML tag/contents after specific XML tag within same file Post 303021687 by pchang on Tuesday 14th of August 2018 04:18:51 PM
Old 08-14-2018
Moving XML tag/contents after specific XML tag within same file

Hi Forum.

I have an XML file with the following requirement to move the <AdditionalAccountHolders> tag and its content right after the <accountHolderName> tag within the same file but I'm not sure how to accomplish this through a Unix script.

Any feedback will be greatly appreciated.

Thanks.

Before Data:
Code:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<holders xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<holder>
<property>
  <accountHolderName>aaa</accountHolderName>
  <payeeName></payeeName>
  <jointAccountRelationshipCode>xx</jointAccountRelationshipCode>
  <accountInstrumentNumber>1234567890</accountInstrumentNumber>
  <balanceType>6</balanceType>
  <dateOfLastTransaction>20071217</dateOfLastTransaction>
  <balanceAmount>4076</balanceAmount>
  <streetAddress1>55 West Road</streetAddress1>
  <streetAddress2></streetAddress2>
  <city>Chilliwack</city>
  <province>BC</province>
  <postalCode>V2L 3S8</postalCode>
  <countryCode>CA</countryCode>   
  <AdditionalAccountHolders>
    <additionalAccountHolderName>bbb</additionalAccountHolderName>
  </AdditionalAccountHolders>
</property>
</holder>

After Data:
Code:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<holders xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<holder>
<property>
  <accountHolderName>aaa</accountHolderName>
  <AdditionalAccountHolders>
    <additionalAccountHolderName>bbb</additionalAccountHolderName>
  </AdditionalAccountHolders>
  <payeeName></payeeName>
  <jointAccountRelationshipCode>xx</jointAccountRelationshipCode>
  <accountInstrumentNumber>1234567890</accountInstrumentNumber>
  <balanceType>6</balanceType>
  <dateOfLastTransaction>20071217</dateOfLastTransaction>
  <balanceAmount>4076</balanceAmount>
  <streetAddress1>55 West Road</streetAddress1>
  <streetAddress2></streetAddress2>
  <city>Chilliwack</city>
  <province>BC</province>
  <postalCode>V2L 3S8</postalCode>
  <countryCode>CA</countryCode>   
</property>
</holder>

 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to get specific xml tag ?

sorry to trouble u guys again... i have this document here called record.txt and it contains this: 2005-12-05 10:53:17,551 INFO - message received... 2005-12-05 10:53:17,557 INFO - The XML message **************<berth_allocation xmln... (13 Replies)
Discussion started by: forevercalz
13 Replies

2. Shell Programming and Scripting

Extracting XML Tag Contents

Hi Jean I require your help in writing a shell script. Iam zero in Unix programming. I have a large file about 400 MB of data, which contains about 50000 XML messages seperated by a Tab, I think. I need to extract only 4 values from each XML message and write it onto a new file. Please help me... (2 Replies)
Discussion started by: pk_eee
2 Replies

3. Shell Programming and Scripting

XML tag replacement from different XML file

We have 2 XML file 1. ORIGINAL.xml file and 2. ATTRIBUTE.xml files, In the ORIGINAL.xml we need some modification as <resourceCode>431048</resourceCode>under <item type="Manufactured"> tag - we need to grab the 431048 value from tag and pass it to database table in unix shell script to find the... (0 Replies)
Discussion started by: balrajg
0 Replies

4. Shell Programming and Scripting

how to retrieve specific parameters using a xml tag

Hi, I have the following code in my xml file: <aaaRule loginIdPattern=".*" orgIdPattern=".*" deny="false" /> <aaaRuleGroup name="dpaas"> <aaaRule loginIdPattern=".*" orgIdPattern=".*" deny="false" /> I want to retrieve orgIdPattern and loginIdPattern parameter value based on... (2 Replies)
Discussion started by: mjavalkar
2 Replies

5. Shell Programming and Scripting

How to retrieve the value from XML tag whose end tag is in next line

Hi All, Find the following code: <Universal>D38x82j1JJ </Universal> I want to retrieve the value of <Universal> tag as below: Please help me. (3 Replies)
Discussion started by: mjavalkar
3 Replies

6. Shell Programming and Scripting

How to add the multiple lines of xml tags before a particular xml tag in a file

Hi All, I'm stuck with adding multiple lines(irrespective of line number) to a file before a particular xml tag. Please help me. <A>testing_Location</A> <value>LA</value> <zone>US</zone> <B>Region</B> <value>Russia</value> <zone>Washington</zone> <C>Country</C>... (0 Replies)
Discussion started by: mjavalkar
0 Replies

7. Shell Programming and Scripting

XML Parse between to tag with upper tag

Hi Guys Here is my Input : <?xml version="1.0" encoding="UTF-8"?> <xn:MeContext id="01736"> <xn:VsDataContainer id="01736"> <xn:attributes> <xn:vsDataType>vsDataMeContext</xn:vsDataType> ... (12 Replies)
Discussion started by: pareshkp
12 Replies

8. Shell Programming and Scripting

To search for a particular tag in xml and collate all similar tag values and display them count

I want to basically do the below thing. Suppose there is a tag called object1. I want to display an output for all similar tag values under heading of Object 1 and the count of the xmls. Please help File: <xml><object1>house</object1><object2>child</object2>... (9 Replies)
Discussion started by: srkmish
9 Replies

9. UNIX for Beginners Questions & Answers

Grepping multiple XML tag results from XML file.

I want to write a one line script that outputs the result of multiple xml tags from a XML file. For example I have a XML file which has below XML tags in the file: <EMAIL>***</EMAIL> <CUSTOMER_ID>****</CUSTOMER_ID> <BRANDID>***</BRANDID> Now I want to grep the values of all these specified... (1 Reply)
Discussion started by: shubh752
1 Replies
Locale::Po4a::Sgml(3)					User Contributed Perl Documentation				     Locale::Po4a::Sgml(3)

NAME
Locale::Po4a::Sgml - convert SGML documents from/to PO files DESCRIPTION
The po4a (PO for anything) project goal is to ease translations (and more interestingly, the maintenance of translations) using gettext tools on areas where they were not expected like documentation. Locale::Po4a::Sgml is a module to help the translation of documentation in the SGML format into other [human] languages. This module uses nsgmls to parse the SGML files. Make sure it is installed. Also make sure that the DTD of the SGML files are installed in the system. OPTIONS ACCEPTED BY THIS MODULE
debug Space separated list of keywords indicating which part you want to debug. Possible values are: tag, generic, entities and refs. verbose Give more information about what's going on. translate Space separated list of extra tags (beside the DTD provided ones) whose content should form an extra msgid. section Space separated list of extra tags (beside the DTD provided ones) containing other tags, some of them being of category translate. indent Space separated list of tags which increase the indentation level. verbatim The layout within those tags should not be changed. The paragraph won't get wrapped, and no extra indentation space or new line will be added for cosmetic purpose. empty Tags not needing to be closed. ignore Tags ignored and considered as plain char data by po4a. That is to say that they can be part of an msgid. For example, <b> is a good candidate for this category since putting it in the translate section would create msgids not being whole sentences, which is bad. attributes A space separated list of attributes that need to be translated. You can specify the attributes by their name (for example, "lang"), but you can also prefix it with a tag hierarchy, to specify that this attribute will only be translated when it is into the specified tag. For example: <bbb><aaa>lang specifies that the lang attribute will only be translated if it is in an <aaa> tag, which is in a <bbb> tag. The tag names are actually regular expressions so you can also write things like <aaa|bbbb>lang to only translate lang attributes that are in an <aaa> or a <bbb> tag. qualify A space separated list of attributes for which the translation must be qualified by the attribute name. Note that this setting automatically adds the given attribute into the 'attributes' list too. force Proceed even if the DTD is unknown or if nsgmls finds errors in the input file. include-all By default, msgids containing only one entity (like '&version;') are skipped for the translator comfort. Activating this option prevents this optimisation. It can be useful if the document contains a construction like "<title>&Aacute;</title>", even if I doubt such things to ever happen... ignore-inclusion Space separated list of entities that won't be inlined. Use this option with caution: it may cause nsgmls (used internally) to add tags and render the output document invalid. STATUS OF THIS MODULE
The result is perfect. I.e., the generated documents are exactly the same. But there are still some problems: o The error output of nsgmls is redirected to /dev/null, which is clearly bad. I don't know how to avoid that. The problem is that I have to "protect" the conditional inclusions (i.e. the "<! [ %foo [" and "]]>" stuff) from nsgmls. Otherwise nsgmls eats them, and I don't know how to restore them in the final document. To prevent that, I rewrite them to "{PO4A-beg-foo}" and "{PO4A-end}". The problem with this is that the "{PO4A-end}" and such I add are valid in the document (not in a <p> tag or so). Everything works well with nsgmls's output redirected that way, but it will prevent us from detecting that the document is badly formatted. o It does work only with the DebianDoc and DocBook DTD. Adding support for a new DTD should be very easy. The mechanism is the same for every DTD, you just have to give a list of the existing tags and some of their characteristics. I agree, this needs some more documentation, but it is still considered as beta, and I hate to document stuff which may/will change. o Warning, support for DTDs is quite experimental. I did not read any reference manual to find the definition of every tag. I did add tag definition to the module 'till it works for some documents I found on the net. If your document use more tags than mine, it won't work. But as I said above, fixing that should be quite easy. I did test DocBook against the SAG (System Administrator Guide) only, but this document is quite big, and should use most of the DocBook specificities. For DebianDoc, I tested some of the manuals from the DDP, but not all yet. o In case of file inclusion, string reference of messages in PO files (i.e. lines like "#: en/titletoc.sgml:9460") will be wrong. This is because I preprocess the file to protect the conditional inclusion (i.e. the "<! [ %foo [" and "]]>" stuff) and some entities (like &version;) from nsgmls because I want them verbatim to the generated document. For that, I make a temp copy of the input file and do all the changes I want to this before passing it to nsgmls for parsing. So that it works, I replace the entities asking for a file inclusion by the content of the given file (so that I can protect what needs to be in a subfile also). But nothing is done so far to correct the references (i.e., filename and line number) afterward. I'm not sure what the best thing to do is. AUTHORS
This module is an adapted version of sgmlspl (SGML postprocessor for the SGMLS and NSGMLS parsers) which was: Copyright (c) 1995 by David Megginson <dmeggins@aix1.uottawa.ca> The adaptation for po4a was done by: Denis Barbier <barbier@linuxfr.org> Martin Quinson (mquinson#debian.org) COPYRIGHT AND LICENSE
Copyright (c) 1995 by David Megginson <dmeggins@aix1.uottawa.ca> Copyright 2002, 2003, 2004, 2005 by SPI, inc. This program is free software; you may redistribute it and/or modify it under the terms of GPL (see the COPYING file). perl v5.14.2 2012-05-17 Locale::Po4a::Sgml(3)
All times are GMT -4. The time now is 09:50 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy