WEB开发网
开发学院数据库DB2 使用DB2 9 pureXML管理ODF和Microsoft Office 200... 阅读

使用DB2 9 pureXML管理ODF和Microsoft Office 2007 文档

 2007-09-13 16:22:38 来源:WEB开发网   
核心提示: 清单 5.1 显示了再利用 Word 2007 的代码,可以将该代码保存为 “msrepurpose.php”,使用DB2 9 pureXML管理ODF和Microsoft Office 2007 文档(8),以便后面引用,从 输出(一个 HTML 片段)中,之后,

清单 5.1 显示了再利用 Word 2007 的代码,可以将该代码保存为 “msrepurpose.php”,以便后面引用。从 输出(一个 HTML 片段)中,很容易看到如何将这个文档重新格式化为一个新闻提要,或者将它并入到一个 Ajax 应用程序中!

清单 5.1 将 Word 2007 格式(submit.docx)再利用到一个简单的 HTML 片段中

        <?php
          $user = "db2admin";
          $password = "secret";
          $db = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=ODF;" .
          "HOSTNAME=localhost;PORT=50000;PROTOCOL=TCPIP;", $user, $password);
          echo $user." Connected
";
          $xqry =
        <<<TXT
          values(
          XMLSERIALIZE( XMLQUERY('
          declare boundary-space strip;
          declare namespace text0=
          "urn:oasis:names:tc:opendocument:xmlns:text:1.0";
          declare namespace office0=
          "urn:oasis:names:tc:opendocument:xmlns:office:1.0";
          
          for $t0 in db2-fn:xmlcolumn("DB2ADMIN.DOCUMENT.DOC")
          /office0:document-content/office0:body/office0:text
          let $p := (for $pp in $t0/text0:p return <p>{$pp/text()}</p>)
          let $h := (for $hh in $t0/text0:h[@text0:style-name=
          "Heading_20_2"]
          return <hl>{$hh/text()}</hl>)
          return
          
          ($h,$p)')
          as varchar(3000)))
          TXT;
          
          echo "
";
          $result=$db->query( $xqry );
          
          $arr = $result->fetch();
          echo $arr[1];
        ?>
        

要运行该代码,输入:

php.exe msrepurpose.php

现在您也许会问,为什么不直接将它保存为 HTML 呢?XML 的生成会危害原始文档的完整性,并且会丢失 MS Office 特性。然而,文档的确小了很多,而且仍然可以用 XQuery 对它进行再利用,就像对待 Word 2007 文件格式一样。随着文档变得越来越大、越来越多(例如在大型会议中),您希望将这个逻辑应用到储存库中每个文档的每个部分。于是 XQuery 的威力就表现出来了!和 SQL 一样,XQuery 使您通过一个查询处理一组文档。实际上,如果您愿意,也可以使用 SQL 查询得到同样的结果,因为在 DB2 中这两种语言可以互换。

下面的清单显示了 odfrepurpose.php 或 msrepurpose.php 的结果:

清单 6. 输出

db2admin Connected
<h1>Introduction to Web 2.0</h1><p>This is a document
that will impress upon ...</p><h1>Abstract</h1><p>The nature of the industry is a
gain turning to the browser ...</p>

结束语

本文讨论的技巧在内容管理和文档管理解决方案中很有用。希望您已经发现,通过 IBM DB2 pureXML 特性使用和再利用 OpenOffice 和 MS Office 2007 文档十分容易。实际上这个过程不需要很多代码,这一点有助于取得好的性能。之后,考虑索引这些 XML 文档,以进一步利用 pureXML 混合存储特性的优点。

上一页  3 4 5 6 7 8 

Tags:使用 DB pureXML

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接