|
Subject: RE: [xsl] Accessing file properties From: "Wei, Alice J." <ajwei@xxxxxxxxxxx> Date: Sat, 26 Jan 2008 22:47:44 -0500 |
Hi, Sean:
Sadly, XSLT has no search and replace functions of arguments like Perl. If
you want, you can write a little program in Perl, and tell it to search for
your <file name="WORD_DOC_NAME"> string, and use a substring function to
replace it with your intended file name.
What you can do, if you do have a lot of WORD_DOC_NAME that you want to
replace at once, you can use this little recipe:
fn:replace(string,pattern,replace)
Returns a string that is created by replacing the given pattern with the
replace argument
Example: replace("Bella Italia", "l", "*")
Result: 'Be**a Ita*ia'
Example: replace("Bella Italia", "l", "")
Result: 'Bea Itaia'
This is taken from the W3 Schools site, or you can look at
http://www.xsltfunctions.com/xsl/fn_replace.html
There are also some discussion on replace() on Michael Kay's XPath.
<xsl:template match="file">
<xsl:choose>
<xsl:when test="contains(@name,'WORD_FILE_DOC')">
<xsl:value-of select="replace(@name,'FILE','NEW')">
</xsl:when>
<xsl:otherwise>
<xsl:value-of select=".">
</xsl:otherwise>
</xsl:template>
Good luck!
======================================================
Alice Wei
MIS 2008
School of Library and Information Science
Indiana University Bloomington
ajwei@xxxxxxxxxxx
-----Original Message-----
From: Sean Tiley [mailto:sean.tiley@xxxxxxxxx]
Sent: Saturday, January 26, 2008 9:56 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Accessing file properties
Hi Alice,
Yes, I want to output the document name in my resulting xml file which
looks like the following
<testresults>
<file name="WORD_DOC_NAME">
<testruns>
<testrun>
<test case="TC-01" result="FAIL" date="2008-01-25"
bugid="123"/>
<test case="TC-02" result="FAIL" date="2008-01-25"
bugid="456"/>
<test case="TC-03" result="FAIL" date="2008-01-25"
bugid="789"/>
<test case="TC-04" result="PASS" date="2008-01-25"/>
</testrun>
<testrun>
<test case="TC-01" result="PASS" date="2008-01-26"/>
<test case="TC-02" result="PASS" date="2008-01-26"/>
<test case="TC-03" result="FAIL" date="2008-01-26"
bugid="790"/>
<test case="TC-04" result="PASS" date="2008-01-26"/>
<test case="TC-05" result="PASS" date="2008-01-26"/>
<test case="TC-06" result="FAIL" date="2008-01-26"
bugid="791"/>
</testrun>
</testruns>
</file>
<file/>
...
</testresults>
I wish to replace "WORD_DOC_NAME" with the file name
Thanks
Sean
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Accessing file properties, Sean Tiley | Thread | Re: [xsl] Accessing file properties, Manfred Staudinger |
| Re: [xsl] combining multiple docume, Steven Ericsson-Zeni | Date | Re: [xsl] combining multiple docume, Florent Georges |
| Month |