如果属于 imagedata 的任何 fileref 的名称未命名为“screenshots”,我想删除前面的“./”和第一个文件夹
所以从
<section xmlns="http://docbook.org/ns/docbook" version="5">
<title>Screenshot</title>
<para xreflabel="New Type" xml:id="manageNewType">
<mediaobject>
<imageobject>
<imagedata fileref="./views/screenshots/manageType1.png" width="100%"/>
</imageobject>
<caption>
<para>New Mode</para>
</caption>
</mediaobject>
</para>
<para xreflabel="Edit Type" xml:id="manageEditType">
<mediaobject>
<imageobject>
<imagedata fileref="./screenshots/manageType2.png" width="100%"/>
</imageobject>
<caption>
<para>Edit Mode</para>
</caption>
</mediaobject>
</para>
</section>
收件人:截图
<para xreflabel="New Type" xml:id="manageNewType">
<mediaobject>
<imageobject>
<imagedata fileref="screenshots/manageType1.png" width="100%"/>
</imageobject>
<caption>
<para>New Mode</para>
</caption>
</mediaobject>
</para>
<para xreflabel="Edit Type" xml:id="manageEditType">
<mediaobject>
<imageobject>
<imagedata fileref="screenshots/manageType2.png" width="100%"/>
</imageobject>
<caption>
<para>Edit Mode</para>
</caption>
</mediaobject>
</para>
</section>
这是我当前的样式表,由于某种原因似乎没有做任何事情......
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="imagedata/@fileref[starts-with(.,'./')
and not(starts-with(.,'./screenshots/'))
]">
<xsl:attribute name="fileref">
<xsl:value-of select="substring-after(substring-after(.,'./'), '/')"/>
</xsl:attribute>
</xsl:template>
<xsl:template match="imagedata/@fileref[starts-with(.,'./screenshots/')]">
<xsl:attribute name="fileref">
<xsl:value-of select="substring-after(.,'./')"/>
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>
编辑添加 xmlns="http://docbook.org/ns/docbook" version="5" 到部分。