[
Lists Home |
Date Index |
Thread Index
]
Set up your criteria file like this:
<criteria>
<category grade="1">
<criterion>country != 'USA'</criterion>
<criterion>age > 20 and age < 25</criterion>
<criterion>occupation = "doctor" or occupation =
"engineer"</criterion>
</category >
<category grade="2">
<criterion>country = 'UK'</criterion>
<criterion>age < 50</criterion>
<criterion>occupation = "dentist"</criterion>
</category >
</criteria>
This is probably as easy for your users to edit as anything is likely to
be.
Write a stylesheet that transforms this file into a stylesheet
containing code such
<xsl:template match="Employee
[country != 'USA']
[age > 20 and age < 25]
[occupation = 'doctor' or occupation = 'engineer']">
<p>Grade 1</p>
</xsl:template>
<xsl:template match="Employee
[country = 'UK']
[age < 50]
[occupation = 'dentist']">
<p>Grade 2</p>
</xsl:template>
Then run this generated stylesheet against your source XML file.
Michael Kay
Software AG
home: Michael.H.Kay@ntlworld.com
work: Michael.Kay@softwareag.com
> -----Original Message-----
> From: Nischal Muthana [mailto:nischal_muthana@yahoo.com]
> Sent: 06 June 2002 19:39
> To: michael.h.kay@ntlworld.com; xml-dev@lists.xml.org
> Subject: RE: [xml-dev] Building Complex XML
>
>
> Mike
>
> Thanks for the Reply.
>
> >What you could do is to process the criteria
> > file by transforming
> > it into an XSLT stylesheet and then executing that stylesheet.
>
> If I undestand you correctly, you mean to say you want
> me to build an XSLT stylesheet which contains all of
> the criteria table. And then apply on the XML source.
> But dont you think doing this would make the user's
> life difficult in editing the criteria's whenever he
> wants to.
>
> And moreover can any of you provide any links to the
> XSLT resources and would more appreicate if you can
> pass any samples or links to resources for the above requirement.
>
> Thanks
> Nischal
>
> --- Michael Kay <michael.h.kay@ntlworld.com> wrote:
> > This is an interesting one. Turning your criteria
> > into XPath expressions
> > and storing them in an XML file is the right thing
> > to do and isn't
> > difficult. Processing these using XSLT is a little
> > tricky, though,
> > because it doesn't currently handle XPath
> > expressions read from a source
> > file. What you could do is to process the criteria
> > file by transforming
> > it into an XSLT stylesheet and then executing that stylesheet.
> >
> > Michael Kay
> > Software AG
> > home: Michael.H.Kay@ntlworld.com
> > work: Michael.Kay@softwareag.com
> >
> > > -----Original Message-----
> > > From: Nischal Muthana
> > [mailto:nischal_muthana@yahoo.com]
> > > Sent: 06 June 2002 18:08
> > > To: xml-dev@lists.xml.org
> > > Subject: [xml-dev] Building Complex XML
> > >
> > >
> > > Hello All
> > >
> > > I have an XML file with
> > <country>,<Age>,<Occupation>
> > > tags and other tags.
> > >
> > > I have a criteria table for eg. like the
> > following:
> > >
> > > Decision Element Grade1
> > > Grade2 Grade3
> > > Country Not equal to USA Not equal to
> > > USA and UK
> > > Equal to USA and UK
> > > Age 20,21,22,23,24 or 25 48,49,50,51,52 or
> > 53
> > > All 50 othere than 51,54
> > > Occupatioin Engineer or Doctor Lawyer
> > or
> > > Cop Student or Worker
> > >
> > > I have a C# class which is gonna check the above
> > > conditions and makes sure the XML fulfills all of
> > the
> > > conditions in any of the Grade and returns the
> > appropriate Grade.
> > >
> > > So for eg. if my XML contains
> > >
> > > <Country>USA</Country>
> > > <Age>53</Age>
> > > <Occupation>Student</Occupation>
> > >
> > > I would then return Grade3.
> > >
> > > Everything works like a charm until here. But the
> > user
> > > came up with a proposal that he should be able to
> > edit
> > > this criterion table frequently. So we thought we
> > > would implement this also as an XML file.
> > >
> > > Can someone please help me in goin about with
> > this.
> > >
> > > Thanks
> > > Nischal
> > >
> > >
> > >
> > > __________________________________________________
> > > Do You Yahoo!?
> > > Yahoo! - Official partner of 2002 FIFA World Cup
> > http://fifaworldcup.yahoo.com
> >
> >
> -----------------------------------------------------------------
> > The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> > initiative of OASIS <http://www.oasis-open.org>
> >
> > The list archives are at http://lists.xml.org/archives/xml-dev/
> >
> > To subscribe or unsubscribe from this list use the subscription
> > manager: <http://lists.xml.org/ob/adm.pl>
> >
>
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com
|