|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Validating uniqueness in a XML file using XSLT
Use something like this:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:key name="kattName" match="@name" use="."/>
<xsl:template match="/">
<xsl:for-each select="//*[key('kattName', @name)[2]]">
<xsl:copy>
<xsl:copy-of select="@*"/>
</xsl:copy>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
When this transformation is applied on this source.xml:
<M name="a">
<N> </N>
<M name="b">
<N name="a"> 12</N>
<MM name="c"/>
</M>
</M>
it produces all elements having "name" attributes with non-unique value:
<M name="a" />
<N name="a" />
=====
Cheers,
Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL
"Dongling Ding" <dling61@xxxxxxxxx> wrote in message
news:20030903001436.28538.qmail@xxxxxxxxxxxxxxxxxxxxxxxxxx
>
> Hi,
>
> I want to XSLT to validate the uniqueness for the name
> attribute in an XML file. The result will print out
> any elements with the duplicated name attributes.
>
> Basically, XSLT needs to look at all the elements with
> name attribute and check the uniqueness for its value.
>
> Is there a good way to do that in XSLT?
>
> Thank for any input/comment.
>
>
> Dongling
>
>
> Here is the sample XML
>
> <M name="a">
> <N></N>
> <M name="b">
> <N>12<N>
> <MM name="c"/>
> </M>
> </M>
>
>
>
> __________________________________
> Do you Yahoo!?
> Yahoo! SiteBuilder - Free, easy-to-use web site design software
> http://sitebuilder.yahoo.com
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








