Sponsored Content
Full Discussion: parse xml file
Top Forums Shell Programming and Scripting parse xml file Post 302464195 by fpmurphy on Tuesday 19th of October 2010 01:52:44 PM
Old 10-19-2010
Assuming the following simplified XML document (example1.xml) where I have removed most of the attributes to make the things easier to follow:
Code:
<JOBS>
   <JOB INTERVAL="00000M" JAN="0" JOBNAME="TESTJOB" JUL="0">
       <QUANTITATIVE NAME="DRIVE1" QUANT="1"/>
       <OUTCOND NAME="JOB1-OK" ODATE="ODAT" SIGN="ADD"/>
       <AUTOEDIT EXP="%%SYSTEM=server1"/>
   </JOB>
   <JOB INTERVAL="00000G" JAN="0" JOBNAME="TESTJOB2" JUL="0">
       <QUANTITATIVE NAME="DRIVE1" QUANT="1"/>
       <INCOND AND_OR="AND" NAME="JOB1-KO" ODATE="ODAT" />
       <AUTOEDIT EXP="%%SYSTEM=server1"/>
   </JOB>
</JOBS>

the following XSLT 1.0 stylesheet (example1.xsl) will output what you specified
Code:
<xsl:stylesheet version="1.0"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

   <xsl:param name="search"></xsl:param>

   <xsl:output method="text"/>

   <xsl:template match="/">
       <xsl:apply-templates select="//OUTCOND" />
       <xsl:apply-templates select="//INCOND" />
   </xsl:template>

   <xsl:template match="OUTCOND">
      <xsl:if test='contains(@NAME, $search)'>
         <xsl:value-of select="../@JOBNAME" />
         <xsl:text> OUTCOND </xsl:text>
         <xsl:value-of select="@NAME" />
         <xsl:text>
</xsl:text>
      </xsl:if>
   </xsl:template>

   <xsl:template match="INCOND">
      <xsl:if test='contains(@NAME, $search)'>
         <xsl:value-of select="../@JOBNAME" />
         <xsl:text> INCOND </xsl:text>
         <xsl:value-of select="@AND_OR" />
         <xsl:text> </xsl:text>
         <xsl:value-of select="@NAME" />
         <xsl:text>
</xsl:text>
      </xsl:if>
   </xsl:template>

</xsl;stylesheet>

Here is how you would perform the transformation using xsltproc where the search term is JOB1
Code:
$ xsltproc -param search "'JOB1'" example.xsl example.xml
TESTJOB OUTCOND JOB1-OK
TESTJOB2 INCOND AND JOB1-KO
$

This User Gave Thanks to fpmurphy For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to parse a XML file using PERL and XML::DOm

I need to know the way. I have got parsing down some nodes. But I was unable to get the child node perfectly. If you have code please send it. It will be very useful for me. (0 Replies)
Discussion started by: girigopal
0 Replies

2. Shell Programming and Scripting

Parse XML file

Hi, I need to parse the following XML data enclosed in <a> </a> XML tag using shell script. <X> ..... </X> <a> <b> <c>data1</c> <c>data2</c> </b> <d> <c>data3</c> </d> </a> <XX> ... </XX> (5 Replies)
Discussion started by: viki
5 Replies

3. Shell Programming and Scripting

Parse String in XML file

Hello All, I am new to this and I need to parse an XML file. Here's the XML Input File: <Report version="1.2"> <summary fatals="0" testcases="1" expected_fails="0" unexpected_passes="0" warnings="9" tests="21" errors="0" fails="1" passes="20" /> <testresult... (4 Replies)
Discussion started by: racbern
4 Replies

4. Shell Programming and Scripting

How can I parse xml file?

How can I parse file containing xml ? I am sure that its best to use perl - but my perl is not very good - can someone help? Example below contents of file containing the xml - I basically want to parse the file and have each field contained in a variable.. ie. I want to store the account... (14 Replies)
Discussion started by: frustrated1
14 Replies

5. Shell Programming and Scripting

Parse an XML task list to create each task.xml file

I have an task definition listing xml file that contains a list of tasks such as <TASKLIST <TASK definition="Completion date" id="Taskname1" Some other <CODE name="Code12" <Parameter pname="Dog" input="5.6" units="feet" etc /Parameter> <Parameter... (3 Replies)
Discussion started by: MissI
3 Replies

6. Emergency UNIX and Linux Support

How to parse the following xml file

Hi, I have the following file Example.xml <?xml version="1.0" encoding="iso-8859-1"?> <html><set label="09/07/29" value="1241.90"/> </html> Can any one help me in parsing this xml file I want to retrive the attribute values of the tag set Example I want to... (3 Replies)
Discussion started by: Raji_gadam
3 Replies

7. Programming

Parse XML file

How do I get the field info for tags ID, NAME, DESCRIPTION. Below is my current code put I can't get beyond the first_child of the file. use strict; use warnings; use XML::Simplehttp://images.intellitxt.com/ast/adTypes/icon1.png; use... (1 Reply)
Discussion started by: leemalloy
1 Replies

8. UNIX for Dummies Questions & Answers

Parse xml file

HI Guys, Input .XML <xn:MeContext id="L0307"> <xn:ManagedElement id="1"> <xn:VsDataContainer id="1"> <xn:attributes> <xn:vsDataType>vsDataENodeBFunction</xn:vsDataType> ... (3 Replies)
Discussion started by: pareshkp
3 Replies

9. Shell Programming and Scripting

Parse XML File.

HI Guys I have Below XML File : <xn:SubNetwork id="XYZ"> <xn:SubNetwork id="C01"> <xn:MeContext id="CO1"> <xn:ManagedElement id="1"> <un:RncFunction id="1"> <un:UtranCell id="NY431"> ... (2 Replies)
Discussion started by: pareshkp
2 Replies

10. Shell Programming and Scripting

Parse xml file

I am trying to create a shell script that will parse an xml file (file attached). awk '/Id v=/ { print }' Test.xml | sed 's!<Id v=\"\(.*\)\"/>!\1!' > output.txt An output.txt file is created but it is empty. It should contain the value 222159 in it. Thanks. (7 Replies)
Discussion started by: cmccabe
7 Replies
XML-XREAD(1)							   User Commands						      XML-XREAD(1)

NAME
xml-xread - Parse XML documents with entity and URI resolution SYNOPSIS
xml-xread [options] xmlfile DESCRIPTION
xml-xread is a simple command line tool for parsing and validating XML documents. It is not an actual XML parser, it just wraps around a JAXP XMLReader, adding support for catalog-based entity and URI resolution. OPTIONS
-c catalogfile Load a particular catalog file. May be specified multiple times. -v Perform a validating parse. This is the default. -w Perform a well-formed parse, not a validating parse. -N Perform a namespace-aware parse. This is the default. -n Perform a namespace-ignorant parse. -d debuglevel Set the debug level (an integer). Warnings are shown if the debug level is set to greater than 2. -E maxerrors Set the maximum number of errors to display. The default is 10. FILES
/etc/java/resolver/CatalogManager.properties The central catalog manager configuration file used by xml-xread. SEE ALSO
xml-parse(1), xml-resolver(1), java(1), the OASIS entity resolution technical committee home page at <http://www.oasis-open.org/commit- tees/entity/>. AUTHOR
Norman Walsh <Norman.Walsh@Sun.COM> 1.1 July 2004 XML-XREAD(1)
All times are GMT -4. The time now is 06:19 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy