使用XSLT处理多个文件



我有如下的XML文件doc.XML:

<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
    <w:p w:rsidR="002576E5" w:rsidRDefault="006D0E45">
        <w:pPr>
            <w:pStyle w:val="figure"/>
        </w:pPr>
    <w:r><w:t xml:space="preserve">Figure 1 </w:t></w:r>
    </w:p>
    <w:p w:rsidR="002576E5" w:rsidRDefault="006D0E45">
        <w:pPr>
            <w:pStyle w:val="figure"/>
        </w:pPr>
    <w:r><w:t xml:space="preserve">Figure 2</w:t></w:r>
    </w:p>
</w:document>

在同一个位置,我有另一个文件doc.xml.res

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
    <Relationship Id="rId8" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships /oleObject" Target="embeddings/oleObject1.bin"/>
    </Relationship>
</Relationships>

如果使用XSLT找到每个w:p[w:pPr/w:pStyle/@w:val="figure"],则会将doc.xml.rels文件更改为如下所示:

<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
    <Relationship Id="rId8" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject" Target="embeddings/oleObject1.bin"/>
    </Relationship>
    <Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject" Target="c://1.jpg"/>
    </Relationship>
    <Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject" Target="c://2.jpg"/>
    </Relationship>
</Relationships>

doc.xml应该如下所示。想要根据关系id:添加具有imagedate r:id的pict元素

<w:p>
    <w:r>
        <w:pict>
            <v:shape id="myShape2" type="#_x0000_t75" style="width:400; height:240">
                <v:imagedata r:id="rId3"/>
            </v:shape>
        </w:pict>
    </w:r>
</w:p>
<w:p w:rsidR="002576E5" w:rsidRDefault="006D0E45">
    <w:pPr>
        <w:pStyle w:val="figure"/>
    </w:pPr>
    <w:r><w:t xml:space="preserve">Figure 1 </w:t></w:r>
</w:p>
<w:p>
    <w:r>
        <w:pict>
            <v:shape id="myShape2" type="#_x0000_t75" style="width:400; height:240">
                <v:imagedata r:id="rId4"/>
        </v:shape>
        </w:pict>
    </w:r>
</w:p>
<w:p w:rsidR="002576E5" w:rsidRDefault="006D0E45">
    <w:pPr>
        <w:pStyle w:val="figure"/>
    </w:pPr>
    <w:r><w:t xml:space="preserve">Figure 2</w:t></w:r>
</w:p>

这在XSLT中可能吗?

是的,这应该是可能的。结果文档允许您写入其他文件。为了阅读它们,您可以使用document(uri)函数。

相关内容

  • 没有找到相关文章