Subject: Re: Compare data from different XML-files From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx> Date: Mon, 13 Nov 2000 09:37:49 +0000 |
Fredric, > I want to compare XML-data from two different XML-sources-files in my > XSL-stylesheet, how do I do that? The function that you need is the document() function, which pulls in information from a named XML file. The way I would usually arrange this is to have the input to the XSLT stylesheet be some XML that describes the position of the two files that you want to compare: --- input.xml --- <files> <file href="file1.xml" /> <file href="file2.xml" /> </files> --- You can then access the two documents and put them into global variables using: <xsl:variable name="file1" select="document(/files/file[1]/@href, /)" /> <xsl:variable name="file2" select="document(/files/file[2]/@href, /)" /> [Note the second argument to document() ensures that the file names are resolved relative to your input.xml document rather than the stylesheet.] An alternative way of reaching this state is to use one of the files as the input to the stylesheet, and name the other as a parameter to the stylesheet. You can then use: <xsl:param name="comparison-file" /> <xsl:variable name="file1" select="/" /> <xsl:variable name="file2" select="document($comparison-file, /)" /> When you have the two document trees as separate variables, you can compare them however you want. For example, to test whether the names of the document elements are the same you could use: name($file1/*) = name($file2/*) I hope that helps, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Compare data from different XML-fil, fredric larsson | Thread | RE: How to tranform the xml, Kay Michael |
Re: XPath help, Francis Norton | Date | Re: Debugging.... Conditionally inc, Jeni Tennison |
Month |