以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 WORD to XML, HTML to XML 』  (http://bbs.xml.org.cn/list.asp?boardid=13)
----  xslt对xml字符操作[求助]  (http://bbs.xml.org.cn/dispbbs.asp?boardid=13&rootid=&id=84341)


--  作者:fencc
--  发布时间:4/16/2010 6:06:00 PM

--  xslt对xml字符操作[求助]
<w:r w:rsidRPr="000308EB">
<w:rPr>
<w:rFonts w:ascii="Times_CSX" w:hAnsi="Times_CSX" w:cs="宋体"/>
<w:sz w:val="36"/>
<w:szCs w:val="36"/>
</w:rPr>
<w:t xml:space="preserve">U+91 ‘ </w:t>
</w:r>
上面这个xml如何通过xslt判断<w:rFonts w:ascii="Times_CSX" w:hAnsi="Times_CSX" w:cs="宋体"/>
这个里面的属性,然后对<w:t xml:space="preserve">U+91 ‘ </w:t>这里的字符进行替换。
--  作者:Qr
--  发布时间:4/19/2010 8:32:00 AM

--  
<xsl:if test="w:rPr\w:rFonts\@w:ascii='Times_CSX'>
<w:t xml:space="preserve">要替换的内容</w:t>
</xsl:if>
--  作者:fencc
--  发布时间:4/19/2010 9:51:00 AM

--  
谢谢版主。
--  作者:fencc
--  发布时间:4/19/2010 12:16:00 PM

--  
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xdt="http://www.w3.org/2005/xpath-datatypes">
 <xsl:output method="xml" version="2.0" encoding="UTF-8" indent="yes"/>
  <xsl:template match="w:r">
  <xsl:if test="w:rPr\w:rFonts\@w:ascii='Times_CSX'">
  <w:t xml:space="preserve"></w:t>
  <xsl:text>a</xsl:text>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
我写成了这样的一个xslt但转换出错。是这样写这个xslt么,谢谢。
--  作者:fencc
--  发布时间:4/19/2010 12:17:00 PM

--  
本人新手,请各位老大教几把或是提供一点实例,谢谢。
--  作者:jj_long
--  发布时间:4/30/2010 8:07:00 PM

--  
XML:
=================================================
<?xml version="1.0" encoding="UTF-8"?>

<w:r w:rsidRPr="000308EB" xmlns:w="http://www.microsoft.com/wordnamespace">
    <w:rPr>
        <w:rFonts w:ascii="Times_CSX" w:hAnsi="Times_CSX" w:cs="宋体"/>
        <w:sz w:val="36"/>
        <w:szCs w:val="36"/>
    </w:rPr>
    <w:t xml:space="preserve">U+91 ‘ </w:t>
</w:r>


XSL:
===============================================

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:w="http://www.microsoft.com/wordnamespace">
    
    <xsl:output method="xml" encoding="UTF-8" indent="yes"/>
    
    <xsl:template match="w:*">
        <xsl:element name="{name()}" namespace="http://www.microsoft.com/wordnamespace">
            <xsl:apply-templates select="node()|@*"/>
        </xsl:element>
    </xsl:template>
    
    <xsl:template match="@w:*">
        <xsl:attribute name="{name()}" namespace="http://www.microsoft.com/wordnamespace">
           <xsl:value-of select="."/>
        </xsl:attribute>
    </xsl:template>
    
    <xsl:template match="w:t">
        <xsl:if test="preceding-sibling::w:rPr/w:rFonts/@w:ascii='Times_CSX' and
            preceding-sibling::w:rPr/w:rFonts/@w:hAnsi='Times_CSX' and
            preceding-sibling::w:rPr/w:rFonts/@w:cs='宋体' ">
            <w:t xml:space="preserve"></w:t>
            <xsl:text>a</xsl:text>
        </xsl:if>

        

    </xsl:template>
</xsl:stylesheet>


--  作者:fencc
--  发布时间:5/2/2010 4:58:00 PM

--  
谢谢。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
82.031ms