sed for XML

Joseph Sinclair plug-discussion at stcaz.net
Wed Sep 12 10:29:34 MST 2018


This is what XSLT is for.
You can run XSLT transforms from the command line with xsltproc (apt-get xsltproc)
XSLT language, is a topic of its own, but it is a functional language very much like lisp, except task-specific to transforming xml documents.

On 2018-09-11 11:48 PM, der.hans wrote:
> moin moin,
> 
> Actually, sgrep with sed for XML :).
> 
> I have a chunk of XML I would like to transform. Any suggestions on how to
> do the following from the command line?
> 
> ----
>     <table:table-row>
>      <table:table-cell table:style-name="Table1.A1"
> office:value-type="string">
>       <text:p text:style-name="Standard">blah content stuff</text:p>
>      </table:table-cell>
>      <table:table-cell table:number-columns-spanned="2"
> office:value-type="string">
>       <text:p text:style-name="Standard"/>
>      </table:table-cell>
>      <table:covered-table-cell/>
>     </table:table-row>
> ----
> 
> I would like to make the first cell span 3 columns and wipe out the second
> cell.
> 
> The graphical tool essentially turns it into the following.
> 
> ----
>     <table:table-row>
>      <table:table-cell table:style-name="Table1.A2"
> table:number-columns-spanned="3" office:value-type="string">
>       <text:p text:style-name="Standard">blah content stuff</text:p>
>      </table:table-cell>
>      <table:covered-table-cell/>
>     </table:table-row>
> ----
> 
> A new style, Table1.A2, is introduced. That cell is spanned across three
> columnts. The table:table-cell object for the second cell is removed.
> 
> I can do this with sed, but that invites XML issues. Also, there are some
> more complex changes I want to make.
> 
> ciao,
> 
> der.hans

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: OpenPGP digital signature
URL: <http://lists.phxlinux.org/pipermail/plug-discuss/attachments/20180912/bf5c6b44/attachment.sig>


More information about the PLUG-discuss mailing list