.
Aurium.Colivre.Coop.br Esse site é Legal Demais para Internet Explorer

Aurium :: XmlStarlet

Últimas blogadas:

SoftwareLivre.org

Cirandas.net



XmlStarlet - aplicação com interface de linha de comando para manipulação de XML.

Testes preliminares

SVG de teste:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="300" height="300">
  <rect
     id="rect"
     style="fill:#080;stroke:#000;stroke-width:2"
     width="200" height="150" x="30" y="30" ry="20" />
  <circle
     id="bola"
     style="fill:#A00;stroke:#000;stroke-width:2"
     cx="180" cy="180" r="100" />
</svg>

Coletando um atributo style e substituindo o valor:

# Coletando o conteúdo do atributo estilo:
s=$( xmlstarlet sel -t -v "//::*[@id='bola']/@style" desenho.svg )
# isso:  //::*[@id='bola']/@style
# é simplicação disso:  descendant::*[attribute::id='bola']/attribute::style

# Modificando o valor de preenchimento:
s=$( echo "$s" | sed --regexp-extended 's/(^|;)fill:[^;]*(;|$)/\1fill:#08B\2/' )

# Inserindo valor modificado:
xmlstarlet ed -u "//*[@id='bola']/@style" -v "$s" desenho.svg > desenho2.svg

DiggThis

Copyright © 2004 - 2012 Aurélio A. Heckert
Conteúdo licenciado sob Creative Commons by-nc-sa