Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > PHP > http://www.xmlw.ie/aboutxml/wordml.htm
【标  题】:http://www.xmlw.ie/aboutxml/wordml.htm
【关键字】:http,//www.xmlw.ie/aboutxml/wordml.htm
【来  源】:http://blog.csdn.net/newera/archive/2006/07/14/920705.aspx

http://www.xmlw.ie/aboutxml/wordml.htm

Your Ad Here

http://www.xmlw.ie/aboutxml/wordml.htm

 

WordML

Word 2003 Beta 2 has been released. We have installed a copy, and saved a Word file as XML for you to examine. This is the native binary Word document we used, and the Word XML document generated when saved as XML. The XML document is well-formed, and conforms to the XML Schema called WordML. Below is a slightly annotated version of the WordML mark-up.

Some more complex structures are included in a second sample: wordsample2.doc, wordsample2.xml.

XML and namespace declarations

Here is the top-level XML and namespace declarations, which are similar to Word 2000 and XP.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<?mso-application progid="Word.Document"?>

<w:wordDocument

xmlns:w="http://schemas.microsoft.com/office/word/2003/2/wordml"

xmlns:v="urn:schemas-microsoft-com:vml"

xmlns:w10="urn:schemas-microsoft-com:office:word"

xmlns:SL="http://schemas.microsoft.com/schemaLibrary/2003/2/core"

xmlns:aml="http://schemas.microsoft.com/aml/2001/core"

xmlns:wx="http://schemas.microsoft.com/office/word/2003/2/auxHint"

xmlns:o="urn:schemas-microsoft-com:office:office"

xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xml:space="preserve">

Custom Properties

Here is the custom property section, which includes both built-in and user-defined properties. Note that user-defined properties are assigned an element name, which is a bit silly, as it makes validation more difficult.

<o:DocumentProperties>

  <o:Title>Sample Word file encoded in XML</o:Title>

  <o:Subject>XML, XHTML, Word</o:Subject>

  <o:Author>Eoin Campbell</o:Author>

  <o:LastAuthor>Eoin Campbell</o:LastAuthor>

  <o:Revision>2</o:Revision>

  <o:TotalTime>0</o:TotalTime>

  <o:Created>2003-03-27T14:35:00Z</o:Created>

  <o:LastSaved>2003-03-27T14:35:00Z</o:LastSaved>

  <o:Pages>1</o:Pages>

  <o:Words>103</o:Words>

  <o:Characters>588</o:Characters>

  <o:Company>XML Workshop Ltd.</o:Company>

  <o:Lines>4</o:Lines>

  <o:Paragraphs>1</o:Paragraphs>

  <o:CharactersWithSpaces>690</o:CharactersWithSpaces>

  <o:Version>11.4920</o:Version>

</o:DocumentProperties>

<o:CustomDocumentProperties>

  <o:DCIdentifier dt:dt="string">http://www.xmlw.ie/xml2word/xml2word.xml</o:DCIdentifier>

</o:CustomDocumentProperties>

Style information

Here is a chunk of the style section, which is very long.

<w:fonts>

<w:defaultFonts w:ascii="Times New Roman"

w:fareast="Times New Roman" w:h-ansi="Times New Roman"

w:cs="Times New Roman"/>

<w:font w:name="Tahoma">

<w:panose-1 w:val="020B0604030504040204"/>

<w:charset w:val="00"/>

<w:family w:val="Swiss"/>

<w:pitch w:val="variable"/>

<w:sig w:usb-0="21007A87" w:usb-1="80000000" w:usb-2="00000008" w:usb-3="00000000" w:csb-0="000101FF" w:csb-1="00000000"/>

</w:font>

</w:fonts>

<w:lists>

<w:listDef w:listDefId="0">

  <w:lsid w:val="FFFFFF7F"/>

  <w:plt w:val="SingleLevel"/>

  <w:tmpl w:val="5A5E4FAC"/>

  <w:lvl w:ilvl="0">

    <w:start w:val="1"/>

    <w:pStyle w:val="ListNumber2"/>

    <w:lvlText w:val="%1."/>

    <w:lvlJc w:val="left"/>

    <w:pPr>

    <w:tabs>

      <w:tab w:val="list" w:pos="643"/>

    </w:tabs>

    <w:ind w:left="643" w:hanging="360"/></w:pPr>

  </w:lvl>

</w:listDef>

</w:lists>

<w:styles>

  <w:versionOfBuiltInStylenames w:val="3"/>

  <w:latentStyles w:defLockedState="off" w:latentStyleCount="156"/>

  <w:style w:type="paragraph" w:default="on" w:styleId="Normal">

    <w:name w:val="Normal"/>

    <w:pPr>

       <w:spacing w:before="60" w:after="60"/>

    </w:pPr>

    <w:rPr>

      <wx:font wx:val="Times New Roman"/>

      <w:lang w:val="EN-IE" w:fareast="EN-US" w:bidi="AR-SA"/>

    </w:rPr>

  </w:style>

  <w:style w:type="paragraph" w:styleId="Heading1">

    <w:name w:val="heading 1"/>

    <wx:uiName wx:val="Heading 1"/>

    <w:basedOn w:val="Normal"/>

    <w:next w:val="Normal"/>

    <w:pPr>

      <w:pStyle w:val="Heading1"/>

      <w:keepNext/>

      <w:spacing w:before="240"/>

      <w:outlineLvl w:val="0"/>

    </w:pPr>

    <w:rPr>

      <w:rFonts w:ascii="Arial" w:h-ansi="Arial"/>

      <wx:font wx:val="Arial"/><w:b/>

      <w:kern w:val="28"/>

      <w:sz w:val="28"/>

      <w:lang w:val="EN-GB"/>

    </w:rPr>

  </w:style>

Headings

Here are heading levels 1 to 5. Hierarchy is deduced from the headings, and wrapper elements (wx:sub-section) are added in appropriate places to associate headings and following text. This is really useful, as documents become hierarchical, not linear.

<wx:sub-section>

  <w:p>

    <w:pPr><w:pStyle w:val="Title"/></w:pPr>

    <w:r><w:t>Sample Word file</w:t></w:r>

  </w:p>

  <w:p>

    <w:r><w:t>This file contains various paragraph and character styles, custom properties, tables and images.</w:t></w:r>

  </w:p>

</wx:sub-section>

<wx:sub-section>

  <w:p>

    <w:pPr>

      <w:pStyle w:val="Heading1"/>

    </w:pPr>

    <w:r>

      <w:t>Heading Level 1</w:t>

    </w:r>

  </w:p>

  <w:p>

    <w:r>

      <w:t>Normal paragraph</w:t>

    </w:r>

  </w:p>

  <wx:sub-section>

    <w:p>

      <w:pPr>

        <w:pStyle w:val="Heading2"/>

      </w:pPr>

      <w:r>

        <w:t>Heading Level 2</w:t>

      </w:r>

    </w:p>

    <w:p>

      <w:r>

        <w:t>Normal paragraph</w:t>

      </w:r>

    </w:p>

    <wx:sub-section>

      <w:p>

        <w:pPr>

          <w:pStyle w:val="Heading3"/>

        </w:pPr>

        <w:r>

          <w:t>Heading Level 3</w:t>

        </w:r>

      </w:p>

      <w:p>

        <w:r>

          <w:t>Normal paragraph</w:t>

        </w:r>

      </w:p>

      <wx:sub-section>

        <w:p>

          <w:pPr>

            <w:pStyle w:val="Heading4"/>

          </w:pPr>

          <w:r>

            <w:t>Heading Level 4</w:t>

          </w:r>

        </w:p>

        <w:p>

          <w:r>

            <w:t>Normal paragraph</w:t>

          </w:r>

        </w:p>

        <wx:sub-section>

          <w:p>

            <w:pPr>

              <w:pStyle w:val="Heading5"/>

            </w:pPr>

            <w:r>

              <w:t>Heading Level 5</w:t>

            </w:r>

          </w:p>

        </wx:sub-section>

      </wx:sub-section>

    </wx:sub-section>

  </wx:sub-section>

</wx:sub-section>

Lists

Here is the XML markup for bulleted and numbered lists. All hierarchy is lost, because the generated mark-up doesn't contain any nested structures. This is not too surprising, as Word doesn't have the concept of nested lists anyway, but hierarchy is deduced for headings, so why not lists too? The hierarchy could be re-instated by post-processing with a very clever piece of XSLT on export, but why should you have to?

Perhaps if an XML Schema is used, you can assign hierarchical levels to lists.

<w:p>

  <w:pPr>

    <w:pStyle w:val="ListNumber"/>

    <w:listPr>

      <wx:t wx:val="1." wx:wTabBefore="0" wx:wTabAfter="225"/>

      <wx:font wx:val="Times New Roman"/>

    </w:listPr>

  </w:pPr>

  <w:r>

    <w:t>This is a numbered list item </w:t>

  </w:r>

</w:p>

<w:p>

  <w:pPr>

    <w:pStyle w:val="ListNumber"/>

    <w:listPr>

      <wx:t wx:val="2." wx:wTabBefore="0" wx:wTabAfter="225"/>

      <wx:font wx:val="Times New Roman"/>

    </w:listPr>

  </w:pPr>

  <w:r>

    <w:t>Item 2.</w:t>

  </w:r>

</w:p>

<w:p>

  <w:pPr>

    <w:pStyle w:val="ListBullet"/>

    <w:listPr>

      <wx:t wx:val="·" wx:wTabBefore="0" wx:wTabAfter="270"/>

      <wx:font wx:val="Symbol"/>

    </w:listPr>

  </w:pPr>

  <w:r>

    <w:t>This is a bullet list item </w:t>

  </w:r>

</w:p>

<w:p>

  <w:pPr>

    <w:pStyle w:val="ListBullet"/>

    <w:listPr>

      <wx:t wx:val="·" wx:wTabBefore="0" wx:wTabAfter="270"/>

      <wx:font wx:val="Symbol"/>

    </w:listPr>

  </w:pPr>

  <w:r>

    <w:t>Item 2.</w:t>

  </w:r>

</w:p>

Character level mark-up

Here are unnamed styles like bold and italic, and named styles and hyperlinks. The format specification is not applied by wrapping the text with an element, but instead by specifying an empty element that switches on the formatting required. The following chunk of text has that format. This is how RTF does this type of inline formatting.

Inline elements

Element

Meaning

<w:p>

Paragraph

<w:r>

Text run container

<w:rPr>

Text run properties container

  <w:u>

Underline property flag

  <w:i>

Italic property flag

  <w>b>

Bold property flag

<w:t>

Text container

<w:p>

  <w:r>

    <w:t>Some unnamed character level styles </w:t>

  </w:r>

  <w:r>

    <w:rPr>

      <w:u w:val="single"/>

    </w:rPr>

    <w:t>underline</w:t>

  </w:r>

  <w:r>

    <w:t>, </w:t>

  </w:r>

  <w:r>

    <w:rPr>

      <w:i/>

      <w:i-cs/>

    </w:rPr>

    <w:t>italic</w:t>

  </w:r>

  <w:r>

    <w:t>, </w:t>

  </w:r>

  <w:r>

    <w:rPr>

      <w:b/>

    </w:rPr>

    <w:t>bold</w:t>

  </w:r>

  <w:r>

    <w:t>, </w:t>

  </w:r>

  <w:hlink w:dest="http://www.xmlw.ie/">

  <w:r>

    <w:rPr>

      <w:rStyle w:val="Hyperlink"/>

    </w:rPr>

    <w:t>Hyperlink</w:t>

  </w:r>

  </w:hlink>

  <w:r>

    <w:t>. </w:t>

  </w:r>

</w:p>

<w:p>

  <w:r>

    <w:t>Named character styles: </w:t>

  </w:r>

  <w:r>

    <w:rPr>

      <w:rStyle w:val="EIRORef"/>

    </w:rPr>

    <w:t>EIRORef</w:t>

  </w:r>

</w:p>

Tables

This is a table with 5 columns and 2 rows, with a spanned row and a spanned column.

<w:tbl><w:tblPr><w:tblW w:w="0" w:type="auto"/><w:tblBorders><w:top w:val="single" w:sz="12" wx:bdrwidth="30" w:space="0" w:color="000000"/><w:left w:val="single" w:sz="12" wx:bdrwidth="30" w:space="0" w:color="000000"/><w:bottom w:val="single" w:sz="12" wx:bdrwidth="30" w:space="0" w:color="000000"/><w:right w:val="single" w:sz="12" wx:bdrwidth="30" w:space="0" w:color="000000"/><w:insideH w:val="single" w:sz="6" wx:bdrwidth="15" w:space="0" w:color="000000"/><w:insideV w:val="single" w:sz="6" wx:bdrwidth="15" w:space="0" w:color="000000"/></w:tblBorders><w:tblLook w:val="0000003F"/></w:tblPr><w:tblGrid><w:gridCol w:w="1704"/><w:gridCol w:w="1704"/><w:gridCol w:w="1704"/><w:gridCol w:w="1705"/><w:gridCol w:w="1705"/></w:tblGrid><w:tr><w:tc><w:tcPr><w:tcW w:w="1704" w:type="dxa"/><w:tcBorders><w:bottom w:val="single" w:sz="12" wx:bdrwidth="30" w:space="0" w:color="000000"/></w:tcBorders></w:tcPr><w:p/></w:tc><w:tc><w:tcPr><w:tcW w:w="1704" w:type="dxa"/><w:tcBorders><w:bottom w:val="single" w:sz="12" wx:bdrwidth="30" w:space="0" w:color="000000"/></w:tcBorders></w:tcPr><w:p/></w:tc><w:tc><w:tcPr><w:tcW w:w="1704" w:type="dxa"/><w:tcBorders><w:bottom w:val="single" w:sz="12" wx:bdrwidth="30" w:space="0" w:color="000000"/></w:tcBorders></w:tcPr><w:p/></w:tc><w:tc><w:tcPr><w:tcW w:w="1705" w:type="dxa"/><w:tcBorders><w:bottom w:val="single" w:sz="12" wx:bdrwidth="30" w:space="0" w:color="000000"/></w:tcBorders></w:tcPr><w:p/></w:tc><w:tc><w:tcPr><w:tcW w:w="1705" w:type="dxa"/><w:tcBorders><w:bottom w:val="single" w:sz="12" wx:bdrwidth="30" w:space="0" w:color="000000"/></w:tcBorders></w:tcPr><w:p/></w:tc></w:tr><w:tr><w:tc><w:tcPr><w:tcW w:w="1704" w:type="dxa"/><w:tcBorders><w:top w:val="single" w:sz="12" wx:bdrwidth="30" w:space="0" w:color="000000"/></w:tcBorders></w:tcPr><w:p/></w:tc><w:tc><w:tcPr><w:tcW w:w="1704"

w:type="dxa"/><w:tcBorders><w:top w:val="single" w:sz="12" wx:bdrwidth="30"

w:space="0" w:color="000000"/></w:tcBorders></w:tcPr><w:p/></w:tc><w:tc><w:tcPr>

<w:tcW w:w="1704" w:type="dxa"/><w:tcBorders><w:top w:val="single" w:sz="12"

wx:bdrwidth="30" w:space="0" w:color="000000"/></w:tcBorders></w:tcPr><w:p/>

</w:tc><w:tc><w:tcPr><w:tcW w:w="1705" w:type="dxa"/><w:tcBorders><w:top

w:val="single" w:sz="12" wx:bdrwidth="30" w:space="0" w:color="000000"/>

</w:tcBorders></w:tcPr><w:p/></w:tc><w:tc><w:tcPr><w:tcW w:w="1705"

w:type="dxa"/><w:tcBorders><w:top w:val="single" w:sz="12" wx:bdrwidth="30"

w:space="0" w:color="000000"/></w:tcBorders></w:tcPr><w:p/></w:tc></w:tr>

</w:tbl><w:p/><w:sectPr><w:pgSz w:w="11906" w:h="16838"/><w:pgMar w:top="1440"

w:right="1800" w:bottom="1440" w:left="1800" w:header="708" w:footer="708"

w:gutter="0"/><w:cols w:space="708"/><w:docGrid w:line-pitch="360"/>

Images

Here is the markup for a linked image. Vector Markup Language (VML), Microsofts' non-standard alternative to SVG, is used, which is a pity.

Embedded images are stored within the XML file in an encoded format, and not in an external file. This means a single XMLfile represents a complete Word file, and is an improvement on Word 2000/XP, which create multiple files when using the Save as HTML function.

<w:pict>

  <v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75"

      o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"

      filled="f" stroked="f">

    <v:stroke joinstyle="miter"/>

    <v:formulas>

      <v:f eqn="if lineDrawn pixelLineWidth 0"/>

      <v:f eqn="sum @0 1 0"/><v:f eqn="sum 0 0 @1"/>

      <v:f eqn="prod @2 1 2"/>

      <v:f eqn="prod @3 21600 pixelWidth"/>

      <v:f eqn="prod @3 21600 pixelHeight"/>

      <v:f eqn="sum @0 0 1"/><v:f eqn="prod @6 1 2"/>

      <v:f eqn="prod @7 21600 pixelWidth"/>

      <v:f eqn="sum @8 21600 0"/>

      <v:f eqn="prod @7 21600 pixelHeight"/>

      <v:f eqn="sum @10 21600 0"/>

    </v:formulas>

    <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>

    <o:lock v:ext="edit" aspectratio="t"/>

  </v:shapetype>

  <v:shape id="_x0000_i1025" type="#_x0000_t75"

      alt="XML Workshop Ltd." style="width:150pt;height:75pt">

    <v:imagedata src="D:\yawconline\test\xmlw.gif"/>

  </v:shape>

</w:pict>

Footnotes

This is how a footnote is encoded. The text of the footnote is embedded within the paragraph, which seems like a sensible option.

<w:p><w:r><w:t>This paragraph contains a footnote</w:t></w:r>

<w:r><w:rPr><w:rStyle w:val="FootnoteReference"/></w:rPr>

<w:footnote><w:p><w:pPr><w:pStyle w:val="FootnoteText"/></w:pPr><w:r><w:rPr><w:rStyle w:val="FootnoteReference"/></w:rPr><w:footnoteRef/></w:r><w:r><w:t> This is footnote text</w:t></w:r></w:p></w:footnote>

</w:r><w:r><w:t>.</w:t></w:r></w:p>

如何在svg中保留文字空格:【上一篇】
aSP获取Sql中刚插入数据库ID:【下一篇】
【相关文章】
  • xmlhttp中文参考(www.xmlhttp.cn)
  • HTTP 1.1状态代码以及它们对应的状态信息和含义
  • 关于HttpServletRequest类中的方法
  • httpd base on both user and network authentication
  • Apache APR可移植运行库简介(1)(http://blog.csdn.net/tingya)
  • Apache APR可移植运行库简介(2)(http://blog.csdn.net/tingya)
  • Apache APR可移植运行库简介(3)(http://blog.csdn.net/tingya)
  • Apache APR可移植运行库简介(4)(http://blog.csdn.net/tingy)
  • Apache内存池内幕(1)(http://blog.csdn.net/tingya/)
  • [分享]只键入 http://服务器名访问OWA
  • 【随机文章】
  • 数据库管理
  • GDB常见使用命令!
  • 为需要动态分配内存的类声明一个拷贝构造函数与一个赋值运算运算符
  • 今生立志从事安全事业
  • Windows系统“命令提示符”中信息的快速编辑模式
  • 远程搞定键盘失灵
  • “软件工业奥斯卡”SYS-CON 读者选择奖: Linux 开发
  • 入门教程-模仿物体高速运动
  • 在网页的word 中追加一份文档
  • 五子棋游戏的制作(1)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.