Sorry but sed or awk are not appropriate tools for massaging XML data (documents) except for very simple files. Instead you need to transform the document using a XSLT stylesheet processor.
BTW Translation_Type is an element and not an attribute. Assuming that your document is valid and well-formed, here is a stylesheet which will do the transformation that you want.
The only change I made was to add a top-level node called "root" for well-formedness. You should change "root" to the name of your top-level element.
Here is the stylesheet:
Note you may have to change the encoding to suit your data set.
Assuming your document is called test.xml and your stylesheet is called test.xsl, invoking xsltproc test.xsl test.xsl gives the following output:
Note there are some question marks in the output elements. That is because I did not bother setting up the correct locale and code-set on my system to suit your sample data.
Hi,
What is a good way to read elements of an xml file? i did try xmllint it doesnt provide a function to output values of a tree. In the below example when i specify from Family2 I need the name of the father then the output should be DAVE. Appreciate any help provided in this regards.
Many... (6 Replies)
Hi,
I would like to get rid of all comment in an xml file by grep or sed command:
The content seem like this:
<!-- ab cd
ef gh
ij kl -->
Anyone can help?
Thanks and Regards (3 Replies)
I am running a script remotely to do the following
1. Kill all processes by a user
2. Uninstall certain packages
3. FTP over a new file
4. Kill a ldap process that is not allowing my /devdsk/c0t0d0s7 slice to un-mount
5. Unmount /h
6. comment out the slice in vfstab
7. newfs the... (9 Replies)
I have around 25 hosts and each hosts has 4 instance of jboss and 4 different ip attached to it . I need to make some changes to the startup scripts. Any tips appreciated. I have total of 100 instances which bind to 100 different ip address based on instance name.
For example
File1
... (1 Reply)
hi,
i need my bash script to find regex in xml file.. and comment 2 lines before and after the line that contains regex.. can't use # needs to be <!-- at the beginning and --> and the end of the comment.
so eg..
first block
<filter>
<filter-name>MyRegEx</filter-name>
... (11 Replies)
Hi Friends
Im so confused with using 'for' loop in ksh. I have a xml like the following:
<serviceProvider>
<serviceProviderID>1</serviceProviderID>
<serviceProviderName>Balesh</serviceProviderName>
<serviceFeeAmount>30.00</serviceFeeAmount>
</serviceProvider>... (2 Replies)
Hello!
I'd like to modify custom values in a XML config file between comment tags using bash script.
<feature>
<keyboardshortcut>C-m</keyboardshortcut>
<option1>disabled</option2>
<option2>enabled</option2>
</feature>
<!-- bash script features START -->
<feature>
... (2 Replies)
Hi ,
I have an XML like this.
<Request>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<version>v44</version><messageId>7247308192</messageId><timeToLive>72000000000</timeToLive>
</Request>.
I want to extract on version and messageId.
As in my output... (13 Replies)
I am trying to comment out the crontab entries using sed.
I want to comment it out for a particular environment say '/mypath/scripts/'.
Using the full path as pattern, it is working. but using variable it is not working. i have tried double quotes too. but no luck!
$ crontab -l
... (3 Replies)
Hi,
I have a requirement to extract specific element value dynamically from XML message.
Here is the sample message:
<File>
<List>
<main>
<dir>doc/store834/archive</dir>
<count>5</count>
</main>
<main>
<dir>doc/store834/extract</dir>
<count>6</count>
</main>
<main> ... (3 Replies)
Discussion started by: renukeswar
3 Replies
LEARN ABOUT PHP
xslt_set_error_handler
XSLT_SET_ERROR_HANDLER(3) 1 XSLT_SET_ERROR_HANDLER(3)xslt_set_error_handler - Set an error handler for aXSLTprocessorSYNOPSIS
void xslt_set_error_handler (resource $xh, mixed $handler)
DESCRIPTION
Set an error handler function for the XSLT processor given by $xh, this function will be called whenever an error occurs in the XSLT
transformation (this function is also called for notices).
PARAMETERS
o $
xh -The XSLT processor link identifier, created with xslt_create(3).
o $handler
- The user function needs to accept four parameters: the XSLT processor, the error level, the error code and an array of messages.
The function can be shown as:
error_handler (resource $xh, int $error_level, int $error_code, array $messages)
RETURN VALUES
No value is returned.
EXAMPLES
Example #1
xslt_set_error_handler(3) Example
<?php
// Our XSLT error handler
function xslt_error_handler($handler, $errno, $level, $info)
{
// for now, let's just see the arguments
var_dump(func_get_args());
}
// XML content :
$xml='<?xml version="1.0"?>
<para>
oops, I misspelled the closing tag
</pata>';
// XSL content :
$xsl='<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<strong><xsl:value-of select="para"/></strong>
</xsl:template>
</xsl:stylesheet>';
$xh = xslt_create();
xslt_set_error_handler($xh, "xslt_error_handler");
echo xslt_process($xh, 'arg:/_xml', 'arg:/_xsl',
NULL, array("/_xml" => $xml, "/_xsl" => $xsl));
?>
The above example will output something similar to:
array(4) {
[0]=>
resource(1) of type (XSLT Processor)
[1]=>
int(3)
[2]=>
int(0)
[3]=>
array(6) {
["msgtype"]=>
string(5) "error"
["code"]=>
string(1) "2"
["module"]=>
string(9) "Sablotron"
["URI"]=>
string(9) "arg:/_xml"
["line"]=>
string(1) "4"
["msg"]=>
string(34) "XML parser error 7: mismatched tag"
}
}
SEE ALSO xslt_set_object(3) if you want to use an object method as handler.
PHP Documentation Group XSLT_SET_ERROR_HANDLER(3)