WordProcessingML, XML, and Lists

Looking at the XML format for Word documents, I have been focusing on lists and how they are articulated. In great measure, things are pretty easy to grasp by looking at the XML.

Here's the low-down: Lists are defined in the XML as a type of template. That list definition is assigned an ID to uniquely identify it. A list has different levels created when a user indents with the tab key when working on the list. The way these levels are going to look need to be defined as well. The XML definition of the list template contains this information.

The actual list text is really just regular paragraph text, but it is marked up with listPr inside of the pPr element you normally see. Here's the first level of a list definition:

<w:listDef w:listDefId="0">
      <w:lsid w:val="17E44CFF" />
      <w:plt w:val="HybridMultilevel" />
      <w:tmpl w:val="360E47DA" />
      <w:lvl w:ilvl="0" w:tplc="537C0FFC">
        <w:start w:val="1" />
        <w:nfc w:val="23" />
        <w:lvlText w:val="ð" />
        <w:lvlJc w:val="left" />
            <w:tab w:val="list" w:pos="720" />
          <w:ind w:left="720" w:hanging="360" />
          <w:rFonts w:ascii="Symbol"
w:h-ansi="Symbol" w:hint="default" />

Now, your list cannot refer directly to this list definition. It points to another element that maps back to the list definition:

    <w:list w:ilfo="1">
      <w:ilst w:val="0" />

So, your list would refer to list number 1 which really points to list definition 0.

Here's the pPr that contains this:

            <w:ilvl w:val="0" />
            <w:ilfo w:val="1" />
            <wx:t wx:val="ð" wx:wTabBefore="360" wx:wTabAfter="210" />
            <wx:font wx:val="Symbol" />
          <w:t>Item 1</w:t>

Anyway, I am messing around with this for my next OfficeTalk article on the Office Developer Center. I may write during the Thanksgiving vacation here in the US, unless I spend too much time on my bicycle (very likely).

BTW: I ordered up my new bike (to replace my Trek 5200 destroyed in the tangle with a car in September). Blah. I am getting a new 2005 Trek Madone 5.9 with all the trimmings. I'll post photos when it arrives (it'll be many weeks as Trek is kind of slow in that department IMO). It will be monogrammed with my nickname: "Pain Junkie"- cool. Until then, I'm on my trusty aluminum Specialized and putting in loads of miles- my second year on the Carmichael program. Get his nutrition book, too. It's excellent and a great companion to the Ultimate Ride.

 Rock Thought for the day: I made my move. I bought the Zen Nomad Xtra 40GB portable music player. Form factor is pretty good (I don't mind that it is slightly bigger than an iPod). I work at Microsoft, but I have nothing against the iPod. The Nomad was cheaper (the store where I bought it was running a screaming deal). I already uploaded 417 tracks. My bike ride today is going to be a rocking one! I will be jamming to Billy Corgan's crazy guitar and Chamberlain's heart-stopping percussion during my trip up toward Everett on the the bike. That is living!

Using my Bose sound-cancellation headphones with this at home is truly a new music experience, also.

Rock on, and ON!

Skip to main content