<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta name=Generator content="Microsoft Word 14 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
..shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Cambria;
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
h1
        {mso-style-name:"Heading 1\,h1\,Level 1 Topic Heading";
        mso-style-priority:9;
        mso-style-link:"Heading 1 Char\,h1 Char\,Level 1 Topic Heading Char";
        margin-top:8.0pt;
        margin-right:0in;
        margin-bottom:48.0pt;
        margin-left:.65in;
        text-indent:-.65in;
        page-break-before:always;
        page-break-after:avoid;
        mso-list:l1 level1 lfo1;
        font-size:24.0pt;
        font-family:"Cambria","serif";
        color:#376092;
        mso-fareast-language:EN-CA;
        font-weight:normal;}
h2
        {mso-style-name:"Heading 2\,h2\,Level 2 Topic Heading\,H2";
        mso-style-priority:9;
        mso-style-link:"Heading 2 Char\,h2 Char\,Level 2 Topic Heading Char\,H2 Char";
        margin-top:8.0pt;
        margin-right:0in;
        margin-bottom:4.0pt;
        margin-left:.65in;
        text-indent:-.65in;
        line-height:115%;
        page-break-after:avoid;
        mso-list:l1 level2 lfo1;
        font-size:14.0pt;
        font-family:"Cambria","serif";
        color:#4F81BD;
        mso-fareast-language:EN-CA;
        font-weight:normal;}
h3
        {mso-style-name:"Heading 3\,h3\,Level 3 Topic Heading";
        mso-style-priority:9;
        mso-style-link:"Heading 3 Char\,h3 Char\,Level 3 Topic Heading Char";
        margin-top:8.0pt;
        margin-right:0in;
        margin-bottom:4.0pt;
        margin-left:.85in;
        text-indent:-.85in;
        line-height:115%;
        page-break-after:avoid;
        mso-list:l1 level3 lfo1;
        font-size:13.0pt;
        font-family:"Cambria","serif";
        color:#4F81BD;
        mso-fareast-language:EN-CA;
        font-weight:normal;}
h4
        {mso-style-name:"Heading 4\,h4\,First Subheading";
        mso-style-priority:9;
        mso-style-link:"Heading 4 Char";
        margin-top:8.0pt;
        margin-right:0in;
        margin-bottom:4.0pt;
        margin-left:1.05in;
        text-indent:-1.05in;
        line-height:115%;
        page-break-after:avoid;
        mso-list:l1 level4 lfo1;
        font-size:12.0pt;
        font-family:"Cambria","serif";
        color:#4F81BD;
        mso-fareast-language:EN-CA;
        font-weight:normal;}
h5
        {mso-style-name:"Heading 5\,h5\,Second Subheading";
        mso-style-priority:9;
        mso-style-link:"Heading 5 Char";
        margin-top:8.0pt;
        margin-right:0in;
        margin-bottom:4.0pt;
        margin-left:1.25in;
        text-indent:-1.25in;
        line-height:115%;
        page-break-after:avoid;
        mso-list:l1 level5 lfo1;
        font-size:12.0pt;
        font-family:"Cambria","serif";
        color:#254061;
        mso-fareast-language:EN-CA;
        font-weight:normal;}
h6
        {mso-style-name:"Heading 6\,h6\,Third Subheading";
        mso-style-priority:9;
        mso-style-link:"Heading 6 Char";
        margin-top:8.0pt;
        margin-right:0in;
        margin-bottom:4.0pt;
        margin-left:1.45in;
        text-indent:-1.45in;
        line-height:115%;
        page-break-after:avoid;
        mso-list:l1 level6 lfo1;
        font-size:12.0pt;
        font-family:"Cambria","serif";
        color:#254061;
        mso-fareast-language:EN-CA;
        font-weight:normal;}
p.MsoHeading7, li.MsoHeading7, div.MsoHeading7
        {mso-style-priority:4;
        mso-style-link:"Heading 7 Char";
        margin-top:10.0pt;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:1.65in;
        margin-bottom:.0001pt;
        text-indent:-1.65in;
        line-height:115%;
        page-break-after:avoid;
        mso-list:l1 level7 lfo1;
        font-size:11.0pt;
        font-family:"Arial","sans-serif";
        color:#254061;
        mso-fareast-language:EN-CA;
        font-weight:bold;}
p.MsoHeading8, li.MsoHeading8, div.MsoHeading8
        {mso-style-priority:4;
        mso-style-link:"Heading 8 Char";
        margin-top:10.0pt;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:1.85in;
        margin-bottom:.0001pt;
        text-indent:-1.85in;
        line-height:115%;
        page-break-after:avoid;
        mso-list:l1 level8 lfo1;
        font-size:11.0pt;
        font-family:"Arial","sans-serif";
        color:#254061;
        mso-fareast-language:EN-CA;
        font-weight:bold;
        font-style:italic;}
p.MsoHeading9, li.MsoHeading9, div.MsoHeading9
        {mso-style-priority:4;
        mso-style-link:"Heading 9 Char";
        margin-top:10.0pt;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:2.05in;
        margin-bottom:.0001pt;
        text-indent:-2.05in;
        line-height:115%;
        page-break-after:avoid;
        mso-list:l1 level9 lfo1;
        font-size:11.0pt;
        font-family:"Arial","sans-serif";
        color:#254061;
        mso-fareast-language:EN-CA;
        font-style:italic;}
p.MsoListBullet, li.MsoListBullet, div.MsoListBullet
        {mso-style-priority:99;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:10.0pt;
        margin-left:.5in;
        mso-add-space:auto;
        text-indent:-.25in;
        line-height:115%;
        mso-list:l0 level1 lfo2;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-CA;}
p.MsoListBulletCxSpFirst, li.MsoListBulletCxSpFirst, div.MsoListBulletCxSpFirst
        {mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:-.25in;
        line-height:115%;
        mso-list:l0 level1 lfo2;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-CA;}
p.MsoListBulletCxSpMiddle, li.MsoListBulletCxSpMiddle, div.MsoListBulletCxSpMiddle
        {mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:-.25in;
        line-height:115%;
        mso-list:l0 level1 lfo2;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-CA;}
p.MsoListBulletCxSpLast, li.MsoListBulletCxSpLast, div.MsoListBulletCxSpLast
        {mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:10.0pt;
        margin-left:.5in;
        mso-add-space:auto;
        text-indent:-.25in;
        line-height:115%;
        mso-list:l0 level1 lfo2;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-CA;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri","sans-serif";}
span.Heading1Char
        {mso-style-name:"Heading 1 Char\,h1 Char\,Level 1 Topic Heading Char";
        mso-style-priority:9;
        mso-style-link:"Heading 1\,h1\,Level 1 Topic Heading";
        font-family:"Cambria","serif";
        color:#376092;
        mso-fareast-language:EN-CA;}
span.Heading2Char
        {mso-style-name:"Heading 2 Char\,h2 Char\,Level 2 Topic Heading Char\,H2 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 2\,h2\,Level 2 Topic Heading\,H2";
        font-family:"Cambria","serif";
        color:#4F81BD;
        mso-fareast-language:EN-CA;}
span.Heading3Char
        {mso-style-name:"Heading 3 Char\,h3 Char\,Level 3 Topic Heading Char";
        mso-style-priority:9;
        mso-style-link:"Heading 3\,h3\,Level 3 Topic Heading";
        font-family:"Cambria","serif";
        color:#4F81BD;
        mso-fareast-language:EN-CA;}
span.Heading4Char
        {mso-style-name:"Heading 4 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 4\,h4\,First Subheading";
        font-family:"Cambria","serif";
        color:#4F81BD;
        mso-fareast-language:EN-CA;}
span.Heading5Char
        {mso-style-name:"Heading 5 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 5\,h5\,Second Subheading";
        font-family:"Cambria","serif";
        color:#254061;
        mso-fareast-language:EN-CA;}
span.Heading6Char
        {mso-style-name:"Heading 6 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 6\,h6\,Third Subheading";
        font-family:"Cambria","serif";
        color:#254061;
        mso-fareast-language:EN-CA;}
span.Heading7Char
        {mso-style-name:"Heading 7 Char";
        mso-style-priority:4;
        mso-style-link:"Heading 7";
        font-family:"Arial","sans-serif";
        color:#254061;
        mso-fareast-language:EN-CA;
        font-weight:bold;}
span.Heading8Char
        {mso-style-name:"Heading 8 Char";
        mso-style-priority:4;
        mso-style-link:"Heading 8";
        font-family:"Arial","sans-serif";
        color:#254061;
        mso-fareast-language:EN-CA;
        font-weight:bold;
        font-style:italic;}
span.Heading9Char
        {mso-style-name:"Heading 9 Char";
        mso-style-priority:4;
        mso-style-link:"Heading 9";
        font-family:"Arial","sans-serif";
        color:#254061;
        mso-fareast-language:EN-CA;
        font-style:italic;}
p.c, li.c, div.c
        {mso-style-name:"c\,Code\,C";
        margin-top:0in;
        margin-right:0in;
        margin-bottom:10.0pt;
        margin-left:.2in;
        mso-add-space:auto;
        line-height:115%;
        font-size:11.0pt;
        font-family:Consolas;
        mso-fareast-language:EN-CA;}
p.cCxSpFirst, li.cCxSpFirst, div.cCxSpFirst
        {mso-style-name:"c\,Code\,CCxSpFirst";
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.2in;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        line-height:115%;
        font-size:11.0pt;
        font-family:Consolas;
        mso-fareast-language:EN-CA;}
p.cCxSpMiddle, li.cCxSpMiddle, div.cCxSpMiddle
        {mso-style-name:"c\,Code\,CCxSpMiddle";
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.2in;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        line-height:115%;
        font-size:11.0pt;
        font-family:Consolas;
        mso-fareast-language:EN-CA;}
p.cCxSpLast, li.cCxSpLast, div.cCxSpLast
        {mso-style-name:"c\,Code\,CCxSpLast";
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:10.0pt;
        margin-left:.2in;
        mso-add-space:auto;
        line-height:115%;
        font-size:11.0pt;
        font-family:Consolas;
        mso-fareast-language:EN-CA;}
p.Appendix1, li.Appendix1, div.Appendix1
        {mso-style-name:"Appendix 1";
        margin-top:8.0pt;
        margin-right:0in;
        margin-bottom:48.0pt;
        margin-left:0in;
        text-align:center;
        text-indent:0in;
        page-break-before:always;
        page-break-after:avoid;
        mso-list:l2 level1 lfo3;
        font-size:24.0pt;
        font-family:"Cambria","serif";
        color:#376092;
        mso-fareast-language:EN-CA;
        font-weight:bold;}
p.Appendix2, li.Appendix2, div.Appendix2
        {mso-style-name:"Appendix 2";
        margin-top:8.0pt;
        margin-right:0in;
        margin-bottom:4.0pt;
        margin-left:.6in;
        text-indent:-.6in;
        line-height:115%;
        page-break-after:avoid;
        mso-list:l2 level2 lfo3;
        font-size:14.0pt;
        font-family:"Cambria","serif";
        color:#4F81BD;
        mso-fareast-language:EN-CA;
        font-weight:bold;}
p.Appendix3, li.Appendix3, div.Appendix3
        {mso-style-name:"Appendix 3";
        margin-top:8.0pt;
        margin-right:0in;
        margin-bottom:4.0pt;
        margin-left:.75in;
        text-indent:-.75in;
        line-height:115%;
        page-break-after:avoid;
        mso-list:l2 level3 lfo3;
        font-size:13.0pt;
        font-family:"Cambria","serif";
        color:#4F81BD;
        mso-fareast-language:EN-CA;
        font-weight:bold;}
p.Appendix4, li.Appendix4, div.Appendix4
        {mso-style-name:"Appendix 4";
        margin-top:8.0pt;
        margin-right:0in;
        margin-bottom:4.0pt;
        margin-left:1.0in;
        text-indent:-1.0in;
        line-height:115%;
        page-break-after:avoid;
        mso-list:l2 level4 lfo3;
        font-size:12.0pt;
        font-family:"Cambria","serif";
        color:#4F81BD;
        mso-fareast-language:EN-CA;}
p.Appendix5, li.Appendix5, div.Appendix5
        {mso-style-name:"Appendix 5";
        margin-top:8.0pt;
        margin-right:0in;
        margin-bottom:4.0pt;
        margin-left:1.25in;
        text-indent:-1.25in;
        line-height:115%;
        page-break-after:avoid;
        mso-list:l2 level5 lfo3;
        font-size:12.0pt;
        font-family:"Cambria","serif";
        color:#254061;
        mso-fareast-language:EN-CA;}
p.Appendix6, li.Appendix6, div.Appendix6
        {mso-style-name:"Appendix 6";
        margin-top:8.0pt;
        margin-right:0in;
        margin-bottom:4.0pt;
        margin-left:1.5in;
        text-indent:-1.5in;
        line-height:115%;
        page-break-after:avoid;
        mso-list:l2 level6 lfo3;
        font-size:12.0pt;
        font-family:"Cambria","serif";
        color:#254061;
        mso-fareast-language:EN-CA;}
span.Non-normativeBracket
        {mso-style-name:"Non-normative Bracket\,Example start\/end";
        font-style:italic;}
span.Element
        {mso-style-name:Element;
        font-family:"Cambria","serif";}
span.Attribute
        {mso-style-name:Attribute;
        font-family:"Cambria","serif";}
span.Codefragment
        {mso-style-name:"Code fragment";
        font-family:Consolas;}
span.Attributevalue
        {mso-style-name:"Attribute value";
        font-family:Consolas;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
..MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
/* List Definitions */
@list l0
        {mso-list-id:-119;
        mso-list-type:simple;
        mso-list-template-ids:289864676;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-style-link:"List Bullet";
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1
        {mso-list-id:703868044;
        mso-list-template-ids:-1492236614;
        mso-list-style-priority:99;
        mso-list-style-name:"Ecma Document Numbering";}
@list l1:level1
        {mso-level-style-link:"Heading 1";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.65in;
        text-indent:-.65in;}
@list l1:level2
        {mso-level-style-link:"Heading 2";
        mso-level-text:"%1\.%2";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.65in;
        text-indent:-.65in;}
@list l1:level3
        {mso-level-style-link:"Heading 3";
        mso-level-text:"%1\.%2\.%3";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.85in;
        text-indent:-.85in;}
@list l1:level4
        {mso-level-style-link:"Heading 4";
        mso-level-text:"%1\.%2\.%3\.%4";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.05in;
        text-indent:-1.05in;}
@list l1:level5
        {mso-level-style-link:"Heading 5";
        mso-level-text:"%1\.%2\.%3\.%4\.%5";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.25in;
        text-indent:-1.25in;}
@list l1:level6
        {mso-level-style-link:"Heading 6";
        mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.45in;
        text-indent:-1.45in;}
@list l1:level7
        {mso-level-style-link:"Heading 7";
        mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.65in;
        text-indent:-1.65in;}
@list l1:level8
        {mso-level-style-link:"Heading 8";
        mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.85in;
        text-indent:-1.85in;}
@list l1:level9
        {mso-level-style-link:"Heading 9";
        mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.05in;
        text-indent:-2.05in;}
@list l2
        {mso-list-id:1010717096;
        mso-list-template-ids:-1318786124;
        mso-list-style-name:"Ecma Annex Numbering";}
@list l2:level1
        {mso-level-number-format:alpha-upper;
        mso-level-style-link:"Appendix 1";
        mso-level-suffix:none;
        mso-level-text:"Annex %1\.";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.5in;
        text-indent:-1.5in;
        mso-ansi-font-weight:bold;}
@list l2:level2
        {mso-level-style-link:"Appendix 2";
        mso-level-text:"%1\.%2";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.6in;
        text-indent:-.6in;}
@list l2:level3
        {mso-level-style-link:"Appendix 3";
        mso-level-text:"%1\.%2\.%3";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.75in;}
@list l2:level4
        {mso-level-style-link:"Appendix 4";
        mso-level-text:"%1\.%2\.%3\.%4";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.0in;
        text-indent:-1.0in;}
@list l2:level5
        {mso-level-style-link:"Appendix 5";
        mso-level-text:"%1\.%2\.%3\.%4\.%5";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.25in;
        text-indent:-1.25in;}
@list l2:level6
        {mso-level-style-link:"Appendix 6";
        mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.5in;
        text-indent:-1.5in;}
@list l2:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.75in;
        text-indent:-.25in;}
@list l2:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.0in;
        text-indent:-.25in;}
@list l2:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.25in;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=Section1><p class=MsoPlainText>Here is an updated response to this defect report.  Based on WG4 feedback, I've made the following changes:<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText>1.  I've replaced &quot;customer-defined&quot; with &quot;extra-standard&quot;<o:p></o:p></p><p class=MsoPlainText>2.  I've removed &quot;customer&quot; whenever possible from this part of the standard ( note: I did NOT change element or attribute names, just prose )<o:p></o:p></p><p class=MsoPlainText>3.  I've extended the original defect report about one misuse of example to include two others<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText>Hopefully this is an improvement on this part of the standard.  More to come, naturally.<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><h1 style='margin-left:0in;text-indent:0in;mso-list:none'><a name="_Toc231548230"><b><span style='color:#365F91'>DR 09-0207</span> &#8212; WML: Custom XML and Smart Tags</b></a><b><o:p></o:p></b></h1><p class=MsoNormal><b>Part 1, §17.5 will be updated as follows:</b><o:p></o:p></p><h2 style='margin-left:0in;text-indent:0in;mso-list:none'><a name="_Toc197335290"></a><a name="_Toc197336304"><b>17.5   Custom Markup</b></a><b><o:p></o:p></b></h2><p class=MsoNormal><a name=16></a>Within a WordprocessingML document, it is often necessary for specific documents to contain semantic information beyond the presentation information specified by ISO/IEC 29500. [<span class=Non-normativeBracket>Example</span>: An invoice document might wish to specify that a particular sentence of text is a customer name, in order for that information to be easily extracted from the document without the need to parse the text using regular expression matching or similar. <span class=Non-normativeBracket>end</span> <span class=Non-normativeBracket>example</span>]<o:p></o:p></p><p class=MsoNormal>For these scenarios, multiple facilities are provided for the insertion and round-tripping of <s><span style='color:red'>customer defined </span></s><u><span style='color:blue'>extra-standard</span></u> semantics within a WordprocessingML document. There are three distinct forms in which <s><span style='color:red'>customer defined </span></s><u><span style='color:blue'>extra-standard</span></u> semantics can be inserted into a WordprocessingML document, each with their own specific intended usage:<o:p></o:p></p><p class=MsoListBulletCxSpFirst style='mso-list:l0 level1 lfo2'><![if !supportLists]><span lang=EN-CA style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN-CA>Smart tags<o:p></o:p></span></p><p class=MsoListBulletCxSpMiddle style='mso-list:l0 level1 lfo2'><![if !supportLists]><span lang=EN-CA style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN-CA>Custom XML markup<o:p></o:p></span></p><p class=MsoListBulletCxSpLast style='mso-list:l0 level1 lfo2'><![if !supportLists]><span lang=EN-CA style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN-CA>Structured document tags (content controls)<o:p></o:p></span></p><p class=MsoNormal>The elements and attributes which define each of these forms is described in the following clauses.<o:p></o:p></p><p class=MsoNormal><b>Part 1, §17.5.1 will be updated as follows:</b><o:p></o:p></p><h3 style='margin-left:0in;text-indent:0in;mso-list:none'><a name="_Toc197335291"><b>17.5.1            Custom XML and Smart Tags</b></a><b><o:p></o:p></b></h3><p class=MsoNormal><a name=83></a>The first <u><span style='color:blue'>form</span></u> <s><span style='color:red'>example</span></s> of <s><span style='color:red'>customer defined </span></s><u><span style='color:blue'>extra-standard</span></u> semantics that can be embedded in a WordprocessingML document are smart tags. <u><span style='color:blue'>Implementations</span></u> <s><span style='color:red'>Customers</span></s> can establish sets of smart tags that allow semantic labels to be added around an arbitrary run or set of runs within a document to provide information about the type of data contained within.<o:p></o:p></p><p class=MsoNormal>[<span class=Non-normativeBracket>Example</span>: Consider the following text in a WordprocessingML document, with a smart tag around the stock symbol 'CNTS':<o:p></o:p></p><p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is a stock symbol: CNTS<o:p></o:p></p><p class=MsoNormal>This text would translate to the following WordprocessingML markup:<o:p></o:p></p><p class=c><span lang=EN-CA>&lt;w:p w:rsidR=&quot;00672474&quot; w:rsidRDefault=&quot;00672474&quot;&gt;<br>  &lt;w:r&gt;<br>    &lt;w:t xml:space=&quot;preserve&quot;&gt;This is a stock symbol: &lt;/w:t&gt;<br>  &lt;/w:r&gt;<br>  &lt;w:smartTag w:uri=&quot;<a href="http://www.example.com">http://www.example.com</a>&quot; <br>     w:element=&quot;stockticker&quot;&gt;<br>    &lt;w:r&gt;<br>      &lt;w:t&gt;CNTS&lt;/w:t&gt;<br>    &lt;/w:r&gt;<br>  &lt;/w:smartTag&gt;<br>&lt;/w:p&gt;<o:p></o:p></span></p><p class=MsoNormal>As shown above, the smart tag is delimited by the <span class=Element>smartTag</span> element, which surrounds the run (or runs) which contain the text which is part of the smart tag. <span class=Non-normativeBracket>end example</span>]<o:p></o:p></p><p class=MsoNormal>The smart tag itself carries two required pieces of information, which together contain the <u><span style='color:blue'>extra-standard</span></u> semantics for this smart tag:<o:p></o:p></p><p class=MsoListBulletCxSpFirst style='mso-list:l0 level1 lfo2'><![if !supportLists]><span lang=EN-CA style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN-CA>The first of these is the namespace for this smart tag (contained in the </span><span class=Attribute><span lang=EN-CA>uri</span></span><span lang=EN-CA> attribute). This allows the smart tag to specify a URI which should identifies the namespace of this smart tag to a consumer. It is intended to be used to specify a family of smart tags to which this one belongs. [</span><span class=Non-normativeBracket>Example</span><span lang=EN-CA>: In the sample above, the smart tag belongs to the <a href="http://www.example.com"><span class=Codefragment><span style='color:windowtext;text-decoration:none'>http://www.example.com</span></span></a> namespace. </span><span class=Non-normativeBracket>end example</span><span lang=EN-CA>]<o:p></o:p></span></p><p class=MsoListBulletCxSpLast style='mso-list:l0 level1 lfo2'><![if !supportLists]><span lang=EN-CA style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN-CA>The second of these is the element name for this smart tag (contained in the </span><span class=Attribute><span lang=EN-CA>element</span></span><span lang=EN-CA> attribute).. This allows the smart tag to specify a name which identifies this type of smart tag within its namespace and again available to a consumer. It is intended to be used to specify a unique name for this type of smart tag. [</span><span class=Non-normativeBracket>Example</span><span lang=EN-CA>: In the sample above, the smart tag specifies that its data is of style </span><span class=Attributevalue><span lang=EN-CA style='font-size:10.0pt;line-height:115%'>stockticker</span></span><span lang=EN-CA>. </span><span class=Non-normativeBracket>end example</span><span lang=EN-CA>]<o:p></o:p></span></p><p class=MsoNormal>The next example of <s><span style='color:red'>customer defined </span></s><u><span style='color:blue'>extra-standard</span></u> semantics which can be embedded in a WordprocessingML document is custom XML markup. Custom XML markup allows the application of the XML elements defined in any schema syntax (XML Schema, NVDL, etc.) to be applied to the contents of a WordprocessingML document in one of two locations: around a paragraph or set of paragraphs (at the block level); or around an arbitrary run or set of runs within a document (at the inline level) to provide semantics to that content within the context and structures defined by the associated schema definition.<o:p></o:p></p><p class=MsoNormal>The distinction between custom XML markup and smart tags is that custom XML markup is based on a specified schema.  As a result, the custom XML elements can be validated against the schema.  Also, as shown below, custom XML markup can be used at the block-level as well as on the inline (run) level. <o:p></o:p></p><p class=MsoNormal>[<span class=Non-normativeBracket>Example</span>: Consider a simple XML Schema which defines two elements: a root element of <span class=Element>invoice</span>, and a child element of <span class=Element>customerName</span> - the first defining that this file's contents are an invoice, and the second specifying that the enclosed text as a customer's name:<o:p></o:p></p><p class=MsoNormal><img border=0 width=449 height=101 id="_x0000_i1028" src="cid:image001.png@01C9E9F5.0A3F26E0"><o:p></o:p></p><p class=MsoNormal>This output would translate to the following WordprocessingML markup:<o:p></o:p></p><p class=c><span lang=EN-CA style='background:white;mso-highlight:white'>&lt;w:customXml w:uri=&quot;http://www.example.com/2006/invoice&quot; w:element=&quot;invoice&quot;&gt;<br>  &lt;w:p&gt;<br>    &lt;w:r&gt;<br>      &lt;w:t&gt;This is an invoice.&lt;/w:t&gt;<br>    &lt;/w:r&gt;<br>  &lt;/w:p&gt;<br>  &lt;w:p&gt;<br>    &lt;w:r&gt;<br>      &lt;w:t xml:space=&quot;preserve&quot;&gt;And this is a customer name: &lt;/w:t&gt;<br>    &lt;/w:r&gt;<br>    &lt;w:customXml w:uri=&quot;http://www.example.com/2006/invoice&quot; w:element=&quot;customerName&quot;&gt;<br>      &lt;w:r&gt;<br>        &lt;w:t&gt;Tristan Davis&lt;/w:t&gt;<br>      &lt;/w:r&gt;<br>    &lt;/w:customXml&gt;<br>  &lt;/w:p&gt;<br>&lt;/w:customXml&gt;</span><span lang=EN-CA><o:p></o:p></span></p><p class=MsoNormal>As shown above, each of the XML elements from the <s><span style='color:red'>implementation</span></s><u><span style='color:blue'>-</span></u> <s><span style='color:red'>customer-</span></s>supplied XML schema is represented within the document output as a <span class=Element>customXml</span> element. <span class=Non-normativeBracket>end example</span>]<o:p></o:p></p><p class=MsoNormal>Similar to the smart tag example above, a custom XML element in a document has two required attributes. <o:p></o:p></p><p class=MsoListBulletCxSpFirst style='mso-list:l0 level1 lfo2'><![if !supportLists]><span lang=EN-CA style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN-CA>The first is the </span><span class=Attribute><span lang=EN-CA>uri</span></span><span lang=EN-CA> attribute, whose contents specify the namespace of the custom XML element in the document. In the example above, the elements each belong to the <a href="http://www.example.com/2006/invoice"><span class=Codefragment><span style='color:windowtext;text-decoration:none'>http://www.example.com/2006/invoice</span></span></a> namespace.<o:p></o:p></span></p><p class=MsoListBulletCxSpLast style='mso-list:l0 level1 lfo2'><![if !supportLists]><span lang=EN-CA style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN-CA>The second is the </span><span class=Attribute><span lang=EN-CA>element</span></span><span lang=EN-CA> attribute, whose contents specify the name of the custom XML element at this location in the document. In the example above, the root element is called </span><span class=Element><span lang=EN-CA>invoice</span></span><span lang=EN-CA> and the child element is called </span><span class=Element><span lang=EN-CA>customerName</span></span><span lang=EN-CA>. <o:p></o:p></span></p><p class=MsoNormal>As well as the required information specified above, custom XML elements can also specify any number of attributes (as specified in the associated XML Schema) on the element. To add this information, the <span class=Element>customXmlPr</span> (properties on the custom XML element) specify one or more <span class=Element>attr</span> elements. <o:p></o:p></p><p class=MsoNormal>[<span class=Non-normativeBracket>Example</span>: Using the example above, we can add a <span class=Element>type</span> attribute to the <span class=Element>customerName</span> element as follows:<o:p></o:p></p><p class=c><span lang=EN-CA style='background:white;mso-highlight:white'>&lt;w:customXml w:uri=&quot;http://www.example.com/2006/invoice&quot; w:element=&quot;customerName&quot;&gt;<br>  &lt;w:customXmlPr&gt;<br>    &lt;w:</span><span lang=EN-CA>attr <span style='background:white;mso-highlight:white'>w:uri=&quot;http://www.example.com/2006/invoice&quot;</span> w:name=&quot;type&quot; w:val=&quot;individual&quot;/&gt;<span style='background:white;mso-highlight:white'><br>  &lt;/w:customXmlPr&gt;<br>  &lt;w:r&gt;<br>    &lt;w:t&gt;Tristan Davis&lt;/w:t&gt;<br>  &lt;/w:r&gt;<br>&lt;/w:customXml&gt;<o:p></o:p></span></span></p><p class=MsoNormal>The resulting XML, as seen above, simply adds an <span class=Element>attr</span> element which specifies the attribute for the custom XML element. <span class=Non-normativeBracket>end example</span>]<span style='background:white;mso-highlight:white'>&#8230;</span><o:p></o:p></p><p class=MsoNormal><b>Part 1, §17.5.2 will be updated as follows:</b><o:p></o:p></p><h3 style='margin-left:0in;text-indent:0in;mso-list:none'><a name="_Toc197335302"><b>17.5.2            Structured Document Tags</b></a><b><o:p></o:p></b></h3><p class=MsoNormal><a name=17></a>The final form of <s><span style='color:red'>customer defined </span></s><u><span style='color:blue'>extra-standard</span></u> semantics which can be embedded in a WordprocessingML document are structured document tags (SDTs). <o:p></o:p></p><p class=MsoNormal>As shown above, smart tags and custom XML markup each provide a facility for embedding <s><span style='color:red'>customer defined </span></s><u><span style='color:blue'>extra-standard</span></u> semantics into the document: smart tags, via the ability to provide a basic namespace/name for a run or set of runs within a documents; and custom XML markup, via the ability to tag the document with XML elements and attributes specified by any XML Schema file. <o:p></o:p></p><p class=MsoNormal>However, each of these techniques, while they each provide a way to add the desired semantic information, does not provide a way to affect the presentation or interaction within the document. To bridge these two worlds, structured document tags allow both the specification of <u><span style='color:blue'>extra-standard</span></u> <s><span style='color:red'>customer</span></s> semantics as well as the ability to influence the presentation of that data in the document. <o:p></o:p></p><p class=MsoNormal>This means that the <u><span style='color:blue'>implementation</span></u> <s><span style='color:red'>customer</span></s> can define the semantics and context of the tag, but can then use a rich set of pre-defined properties to define its behavior and appearance within the WordprocessingML document's presentation.<o:p></o:p></p><p class=MsoNormal>[<span class=Non-normativeBracket>Example</span>: Consider a region which should be tagged with the semantic of &quot;birthday&quot;, for the user to enter their date or birth into the document. Ideally, this region would also utilize a date picker to allow the user to enter the date from a calendar:<o:p></o:p></p><p class=MsoNormal><img border=0 width=200 height=74 id="Picture_x0020_1" src="cid:image002.png@01C9E9F5.0A3F26E0"><o:p></o:p></p><p class=MsoNormal>This content would be specified using the following WordprocessingML:<o:p></o:p></p><p class=c><span lang=EN-CA style='background:white;mso-highlight:white'>&lt;w:sdt&gt;<br>  &lt;w:sdtPr&gt;<br>    &lt;w:alias w:val=&quot;Birthday&quot;/&gt;<br>    &lt;w:id w:val=&quot;8775518&quot;/&gt;<br>    &lt;w:placeholder&gt;<br>      &lt;w:docPart w:val=&quot;DefaultPlaceholder_22479095&quot;/&gt;<br>    &lt;/w:placeholder&gt;<br>    &lt;w:showingPlcHdr/&gt;<br>    &lt;w:date&gt;<br>      &lt;w:dateFormat w:val=&quot;M/d/yyyy&quot;/&gt;<br>      &lt;w:lid w:val=&quot;EN-US&quot;/&gt;<br>    &lt;/w:date&gt;<br>  &lt;/w:sdtPr&gt;<br>  &lt;w:sdtContent&gt;<br>    &lt;w:p&gt;<br>      &lt;w:r&gt;<br>        &lt;w:rPr&gt;<br>          &lt;w:rStyle w:val=&quot;PlaceholderText&quot;/&gt;<br>        &lt;/w:rPr&gt;<br>        &lt;w:t&gt;Click here to enter a date&#8230;&lt;/w:t&gt;<br>      &lt;/w:r&gt;<br>    &lt;/w:p&gt;<br>  &lt;/w:sdtContent&gt;<br>&lt;/w:sdt&gt;</span><span lang=EN-CA><o:p></o:p></span></p><p class=MsoNormal><span class=Non-normativeBracket>end example</span><span style='background:white;mso-highlight:white'>]</span><o:p></o:p></p><p class=MsoNormal>As shown above, each of the structured document tags in the WordprocessingML file is represented using the <span class=Element>sdt</span> element.<o:p></o:p></p><p class=MsoNormal>Within a structured document tag, there are two child elements which contain the definition and the content of this SDT. The first of these is the <span class=Element>sdtPr</span> element, which contains the set of properties specified for this structured document tag. The second is the <span class=Element>sdtContent</span> element, which contains all the content which is contained within this structured document tag.<o:p></o:p></p><p class=MsoNormal><b>Part 1, §M.1.6 will be updated as follows:</b><o:p></o:p></p><p class=Appendix3 style='margin-left:0in;text-indent:0in;mso-list:none'><a name="_Toc193029759"><span lang=EN-CA>M.1.6  Custom Markup</span></a><span lang=EN-CA><o:p></o:p></span></p><p class=MsoNormal><s><span style='color:red'>Within a WordprocessingML document, it is often necessary for specific documents to contain semantic information beyond the presentation information specified by this Office Open XML specification. For example, an invoice document might wish to specify that a particular sentence of text is a customer name, in order for that information to be easily extracted from the document without the need to parse the text using regular expression matching or similar. For those cases, multiple facilities are provided for the insertion and round-tripping of customer defined semantics within a WordprocessingML document.<o:p></o:p></span></s></p><p class=MsoNormal>There are three distinct forms in which <s><span style='color:red'>customer defined </span></s><u><span style='color:blue'>extra-standard</span></u> semantics can be inserted into a WordprocessingML document, each with their own specific intended usage:<o:p></o:p></p><p class=MsoListBulletCxSpFirst style='mso-list:l0 level1 lfo2'><![if !supportLists]><span lang=EN-CA style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN-CA>Smart tags<o:p></o:p></span></p><p class=MsoListBulletCxSpMiddle style='mso-list:l0 level1 lfo2'><![if !supportLists]><span lang=EN-CA style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN-CA>Custom XML markup<o:p></o:p></span></p><p class=MsoListBulletCxSpLast style='mso-list:l0 level1 lfo2'><![if !supportLists]><span lang=EN-CA style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN-CA>Structured document tags (content controls)<o:p></o:p></span></p><p class=MsoNormal>The usage and presentation of each of these forms is described in the following sections.<o:p></o:p></p><p class=MsoNormal><b>Part 1, §M.1.6.1 will be updated as follows:</b><o:p></o:p></p><p class=Appendix4 style='margin-left:0in;text-indent:0in;mso-list:none'><span lang=EN-CA>M.1.6.1            Smart Tags<o:p></o:p></span></p><p class=MsoNormal>The first <u><span style='color:blue'>form</span></u> <s><span style='color:red'>example</span></s> of <s><span style='color:red'>customer defined </span></s><u><span style='color:blue'>extra-standard</span></u> semantics which can be embedded in a WordprocessingML document are smart tags. Smart tags allow semantic information to be added around an arbitrary run or set of runs within a document to provide information about the kind of data contained within.<o:p></o:p></p><p class=MsoNormal>Consider the following text in a WordprocessingML document, with a smart tag around the stock symbol 'CNTS' (where the smart tag is displayed using a purple dotted underline):<o:p></o:p></p><p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is a stock symbol: CNTS <o:p></o:p></p><p class=MsoNormal>This text would translate to the following WordprocessingML markup:<o:p></o:p></p><p class=c><span lang=EN-CA>&lt;w:p w:rsidR=&quot;00672474&quot; w:rsidRDefault=&quot;00672474&quot;&gt;<br>  &lt;w:r&gt;<br>    &lt;w:t xml:space=&quot;preserve&quot;&gt;This is a stock symbol: &lt;/w:t&gt;<br>  &lt;/w:r&gt;<br>  &lt;w:smartTag w:uri=&quot;http://schemas.openxmlformats.org/2006/smarttags&quot; <br>     w:element=&quot;stockticker&quot;&gt;<br>    &lt;w:r&gt;<br>      &lt;w:t&gt;MSFT&lt;/w:t&gt;<br>    &lt;/w:r&gt;<br>  &lt;/w:smartTag&gt;<br>&lt;/w:p&gt;<o:p></o:p></span></p><p class=MsoNormal>As shown above, the smart tag is delimited by the <span class=Element>smartTag</span> element, which surrounds the run (or runs) which contain the text which is part of the smart tag.<o:p></o:p></p><p class=MsoNormal>The smart tag itself carries two required pieces of information, which together contain the customer semantics for this smart tag. <o:p></o:p></p><p class=MsoNormal>The first of these is the namespace for this smart tag (contained in the <span class=Attribute>uri</span> attribute).. This allows the smart tag to specify a URI which should be round-tripped with this smart tag and be available to a consumer. It is intended to be used to specify a family of smart tags to which this one belongs &#8211; for example, in the sample above, the smart tag belongs to the <span class=Attributevalue><span style='font-size:10.0pt'>http://schemas.openxmlformats..org/2006/smarttags</span></span> namespace.<o:p></o:p></p><p class=MsoNormal>The second of these is the element name for this smart tag (contained in the <span class=Attribute>element</span> attribute). This allows the smart tag to specify a name which should be round-tripped with this smart tag and again available to a consumer. It is intended to be used to specify a unique name for this class of smart tag &#8211; for example, in the sample above, the smart tag specifies that its data is of class <span class=Attributevalue><span style='font-size:10.0pt'>stockticker</span></span>.<o:p></o:p></p><p class=MsoNormal>As well as the required information specified above, a smart tag can also contain any number of additional properties in namespace/name/value sets by adding them to the smart tag&#8217;s property bag.<o:p></o:p></p><p class=MsoNormal>Using the example above, adding a new property called <span class=Codefragment>fullCompanyName</span> with no namespace and value <span class=Codefragment>Microsoft Corporation</span> to the smart tag would mean augmenting the output to add the <span class=Element>smartTagPr</span> element with this new property as follows:<o:p></o:p></p><p class=c><span lang=EN-CA>  &lt;w:smartTag w:uri=&quot;http://schemas.openxmlformats.org/2006/smarttags&quot; <br>     w:element=&quot;stockticker&quot;&gt;<br>  &lt;w:smartTagPr&gt;<br>    &lt;w:attr w:name=&quot;fullCompanyName&quot; w:val=&quot;Microsoft Corporation&quot;/&gt;<br>  &lt;/w:smartTagPr&gt;<br>  &lt;w:r&gt;<br>    &lt;w:t&gt;MSFT&lt;/w:t&gt;<br>  &lt;/w:r&gt;<br>&lt;/w:smartTag&gt;<o:p></o:p></span></p><p class=MsoNormal>The resulting XML, as seen above, simply adds an <span class=Element>attr</span> element which specifies the property and value for the property bag.<o:p></o:p></p><p class=MsoNormal>A producer can embed a smart tag around any run-level content in a WordprocessingML document in order to embed additional information about the family and class of the data contained within. This allows &#8216;tagging&#8217; of specific regions of a document with these semantics without need to provide context beyond the information provided in the <span class=Attribute>uri</span> and <span class=Attribute>element</span> attributes.<o:p></o:p></p><p class=MsoNormal>A consumer can read this smart tag data and provide additional functionality around these namespace/element pairs, which might or might not be specific to that smart tag class in the document. Examples of this functionality include: the ability to add/remove this markup via a user interface, ability to provide actions to operating in the context of this data classification, etc.<o:p></o:p></p><p class=MsoNormal><b>Part 1, §M.1.6.2 will be updated as follows:</b><o:p></o:p></p><p class=Appendix4 style='margin-left:0in;text-indent:0in;mso-list:none'><span lang=EN-CA>M.1.6.2            Custom XML Markup<o:p></o:p></span></p><p class=MsoNormal>The next <u><span style='color:blue'>form</span></u> <s><span style='color:red'>example</span></s> of <s><span style='color:red'>customer defined </span></s><u><span style='color:blue'>extra-standard</span></u> semantics which can be embedded in a WordprocessingML document is custom XML markup. Custom XML markup allows the application of the XML elements defined in any valid XML Schema file to be applied to the contents of a WordprocessingML document in one of two locations: around a paragraph or set of paragraphs (at the block level); or around an arbitrary run or set of runs within a document (at the inline level) to provide semantics to that content within the context and structures defined by the associated XML Schema definition file.<o:p></o:p></p><p class=MsoNormal>The distinction between custom XML markup and smart tags is based on the fact that custom XML markup corresponds with the contents of a custom XML schema; which means that as shown below, custom XML markup can be used at the block-level to mark up the contents of a document on levels beyond that of one or more runs as well as on the inline (run) level. It can also be validated against a custom XML schema by a producer at run time.<o:p></o:p></p><p class=MsoNormal>Consider a simple XML Schema which defines two elements: a root element of <span class=Element>invoice</span>, and a child element of <span class=Element>customerName</span> - the first defining that this file's contents are an invoice, and the second specifying that the enclosed text as a customer's name:<o:p></o:p></p><p class=MsoNormal><img border=0 width=450 height=102 id="_x0000_i1026" src="cid:image001.png@01C9E9F5.0A3F26E0"><o:p></o:p></p><p class=MsoNormal>This output would translate to the following WordprocessingML markup:<o:p></o:p></p><p class=c><span lang=EN-CA>&lt;w:customXml w:uri=&quot;http://www.example.com/2006/invoice&quot; w:element=&quot;invoice&quot;&gt;<br>  &lt;w:p&gt;<br>    &lt;w:r&gt;<br>      &lt;w:t&gt;This is an invoice.&lt;/w:t&gt;<br>    &lt;/w:r&gt;<br>  &lt;/w:p&gt;<br>  &lt;w:p&gt;<br>    &lt;w:r&gt;<br>      &lt;w:t xml:space=&quot;preserve&quot;&gt;And this is a customer name: &lt;/w:t&gt;<br>    &lt;/w:r&gt;<br>    &lt;w:customXml w:uri=&quot;http://www.example.com/2006/invoice&quot; w:element=&quot;customerName&quot;&gt;<br>      &lt;w:r&gt;<br>        &lt;w:t&gt;Tristan Davis&lt;/w:t&gt;<br>      &lt;/w:r&gt;<br>    &lt;/w:customXml&gt;<br>  &lt;/w:p&gt;<br>&lt;/w:customXml&gt;<o:p></o:p></span></p><p class=MsoNormal>As shown above, each of the XML elements from the customer-supplied XML schema is represented within the document output as a <span class=Element>customXml</span> element. <o:p></o:p></p><p class=MsoNormal>Similar to the smart tag example above, a custom XML element in a document has two required attributes. <o:p></o:p></p><p class=MsoNormal>The first is the <span class=Attribute>uri</span> attribute, whose contents specify the namespace of the custom XML element in the document. In the example above, the elements each belong to the <span class=Codefragment>http://www.example.com/2006/invoice namespace</span>.<o:p></o:p></p><p class=MsoNormal>The second is the <span class=Attribute>element</span> attribute, whose contents specify the name of the custom XML element at this location in the document. In the example above, the root element is called <span class=Element>invoice</span> and the child element is called <span class=Element>customerName</span>. <o:p></o:p></p><p class=MsoNormal>As well as the required information specified above, custom XML elements can also specify any number of attributes (as specified in the associated XML Schema) on the element. To add this information, the <span class=Element>customXmlPr</span> (properties on the custom XML element) specify one or more <span class=Element>attr</span> elements. <o:p></o:p></p><p class=MsoNormal>Using the example above, we can add a <span class=Element>type</span> attribute to the <span class=Element>customerName</span> element as follows:<o:p></o:p></p><p class=c><span lang=EN-CA>&lt;w:customXml w:uri=&quot;http://www.example.com/2006/invoice&quot; w:element=&quot;customerName&quot;&gt;<br>  &lt;w:customXmlPr&gt;<br>    &lt;w:attr w:uri=&quot;http://www.example.com/2006/invoice&quot; w:name=&quot;type&quot; w:val=&quot;individual&quot;/&gt;<br>  &lt;/w:customXmlPr&gt;<br>  &lt;w:r&gt;<br>    &lt;w:t&gt;Tristan Davis&lt;/w:t&gt;<br>  &lt;/w:r&gt;<br>&lt;/w:customXml&gt;<o:p></o:p></span></p><p class=MsoNormal>The resulting XML, as seen above, simply adds an <span class=Element>attr</span> element which specifies the attribute for the custom XML element.<o:p></o:p></p><p class=MsoNormal>A producer can embed a custom XML element around or with block-level or run-level content in a WordprocessingML document in order to embed the structure of the <s><span style='color:red'>customer defined </span></s><u><span style='color:blue'>extra-standard</span></u> XML Schema within the WordprocessingML content. This allows &#8216;tagging&#8217; of specific regions of a document with the semantics from this schema, while ensuring that the resulting file can be validated to the WordprocessingML schemas.<o:p></o:p></p><p class=MsoNormal>A consumer can read this custom XML markup and provide additional functionality around this <s><span style='color:red'>customer defined </span></s><u><span style='color:blue'>extra-standard</span></u> XML markup, which might or might not be specific to that particular XML namespace. Examples of this functionality include: the ability to add/remove this XML markup via a user interface, ability to provide actions to operating in the context of this namespace, etc.<o:p></o:p></p><p class=MsoNormal>Each custom XML element is analogous to an XML element in the specified XML schema, and can be nested arbitrarily to any depth in the document. This facility is limited only by the XML Schema file itself, and the contents of the current document.<o:p></o:p></p><p class=MsoNormal><b>Part 1, §M.1.6.3 will be updated as follows:</b><o:p></o:p></p><p class=Appendix4 style='margin-left:0in;text-indent:0in;mso-list:none'><span lang=EN-CA>M.1.6.3            Structured Document Tags<o:p></o:p></span></p><p class=MsoNormal>The final <u>form</u> <s><span style='color:red'>example</span></s> of <s><span style='color:red'>customer defined </span></s><u><span style='color:blue'>extra-standard</span></u> semantics which can be embedded in a WordprocessingML document is the structured document tag (SDT). <o:p></o:p></p><p class=MsoNormal>As shown above, smart tags and custom XML markup each provide a facility for embedding customer-defined semantics into the document: smart tags, via the ability to provide a basic namespace/name for a run or set of runs within a documents; and custom XML markup, via the ability to tag the document with XML elements and attributes specified by any valid XML Schema file. <o:p></o:p></p><p class=MsoNormal>However, each of these techniques, while they each provide a way to add the desired semantic information, does not provide a way to affect the presentation or interaction within the document. To bridge these two worlds, structured document tags allow both the specification of customer semantics as well as the ability to influence the presentation of that data in the document. <o:p></o:p></p><p class=MsoNormal>This means that the customer can define the semantics and context of the tag, but can then use a rich set of pre-defined properties to define its behavior and appearance within the WordprocessingML document's presentation.<o:p></o:p></p><p class=MsoNormal>Consider a region which should be tagged with the semantic of &quot;birthday&quot;, for the user to enter their date or birth into the document. Ideally, this region would also utilize a date picker to allow the user to enter the date from a calendar::<o:p></o:p></p><p class=MsoNormal><img border=0 width=228 height=86 id="Picture_x0020_3" src="cid:image003.png@01C9E9F5.0A3F26E0"><o:p></o:p></p><p class=MsoNormal>This content would translate to the following WordprocessingML markup:<o:p></o:p></p><p class=cCxSpFirst><span lang=EN-CA>&lt;w:sdt&gt;<br>  &lt;w:sdtPr&gt;<br>    &lt;w:alias w:val=&quot;Birthday&quot;/&gt;<br>    &lt;w:id w:val=&quot;8775518&quot;/&gt;<br>    &lt;w:placeholder&gt;<br>      &lt;w:docPart w:val=&quot;DefaultPlaceholder_22479095&quot;/&gt;<br>    &lt;/w:placeholder&gt;<br>    &lt;w:showingPlcHdr/&gt;<br>    &lt;w:date&gt;<br>      &lt;w:dateFormat w:val=&quot;M/d/yyyy&quot;/&gt;<br>      &lt;w:lid w:val=&quot;EN-US&quot;/&gt;<br>    &lt;/w:date&gt;<br>  &lt;/w:sdtPr&gt;<o:p></o:p></span></p><p class=cCxSpLast><span lang=EN-CA>  &lt;w:sdtContent&gt;<br>    &lt;w:p&gt;<br>      &lt;w:r&gt;<br>        &lt;w:rPr&gt;<br>          &lt;w:rStyle w:val=&quot;PlaceholderText&quot;/&gt;<br>        &lt;/w:rPr&gt;<br>        &lt;w:t&gt;Click here to enter a date&#8230;&lt;/w:t&gt;<br>      &lt;/w:r&gt;<br>    &lt;/w:p&gt;<br>  &lt;/w:sdtContent&gt;<br>&lt;/w:sdt&gt;<o:p></o:p></span></p><p class=MsoNormal>As shown above, each of the structured document tags in the WordprocessingML file is represented using the <span class=Element>sdt</span> element.<o:p></o:p></p><p class=MsoNormal>Within a structured document tag, there are two child elements which contain the definition and the content of this SDT. The first of these is the <span class=Element>sdtPr</span> element, which contains the set of properties specified for this structured document tag. The second is the <span class=Element>sdtContent</span> element, which contains all the content which is contained within this structured document tag.<o:p></o:p></p><p class=MsoNormal><b>Part 1, §M.3.1.2.8 will be updated as follows:</b><o:p></o:p></p><p class=Appendix5 style='margin-left:0in;text-indent:0in;mso-list:none'><span lang=EN-CA>M.3.1.2.8         Customer Data<o:p></o:p></span></p><p class=MsoNormal>There is a set of utilities that facilitate the storage of customer XML data within the file format.  Although a topic for a separate paper, essentially, this functionality comes down to the ability to store <s><span style='color:red'>customer defined </span></s><u><span style='color:blue'>extra-standard</span></u> XML in the file format in a way that it can be easily queried, modified and/or surfaced in the presentation.  Suffice it to say, the data is stored in a separate part within the package, and hence the utility pairs the object using it with the part within the package.<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText>-----Original Message-----<br>From: Rick Jelliffe [mailto:rjelliffe@allette.com.au] <br>Sent: Saturday, May 30, 2009 10:57 PM<br>To: Shawn Villaron<br>Cc: SC 34 WG4<br>Subject: Re: DR 09-0207: WML: Custom XML and Smart Tags</p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText>Shawn Villaron wrote:<o:p></o:p></p><p class=MsoPlainText>&gt;<o:p>&nbsp;</o:p></p><p class=MsoPlainText>&gt; *Nature of the Defect:*<o:p></o:p></p><p class=MsoPlainText>&gt;<o:p>&nbsp;</o:p></p><p class=MsoPlainText>&gt; Para 3 begins, &quot;The first example of customer-defined semantics that <o:p></o:p></p><p class=MsoPlainText>&gt; can be embedded in a WordprocessingML document are smart tags [...]&quot;<o:p></o:p></p><p class=MsoPlainText>&gt;<o:p>&nbsp;</o:p></p><p class=MsoPlainText>&gt; This is a misuse of the word &quot;example&quot;.<o:p></o:p></p><p class=MsoPlainText>&gt;<o:p>&nbsp;</o:p></p><p class=MsoPlainText>&gt; *Here is the proposed response for this DR:*<o:p></o:p></p><p class=MsoPlainText>&gt;<o:p>&nbsp;</o:p></p><p class=MsoPlainText>&gt; The exact changes are as follows:<o:p></o:p></p><p class=MsoPlainText>&gt;<o:p>&nbsp;</o:p></p><p class=MsoPlainText>&gt; The first example _form _of customer-defined semantics that can be <o:p></o:p></p><p class=MsoPlainText>&gt; embedded in a WordprocessingML document are smart tags.<o:p></o:p></p><p class=MsoPlainText>&gt;<o:p>&nbsp;</o:p></p><p class=MsoPlainText>&gt; I&#8217;ve like to suggest that we move this to LAST CALL.<o:p></o:p></p><p class=MsoPlainText>&gt;<o:p>&nbsp;</o:p></p><p class=MsoPlainText>&gt; shawn<o:p></o:p></p><p class=MsoPlainText>&gt;<o:p>&nbsp;</o:p></p><p class=MsoPlainText>Is &quot;customer&quot; a defined term? I think for wordsmithing, when we re-write a sentence, if it has &quot;customer-defined&quot; it should be replaced by a defined term like &quot;foreign semantics&quot; or &quot;extra-standard semantics&quot; or &quot;additional semantics&quot;.<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText>Cheers<o:p></o:p></p><p class=MsoPlainText>Rick Jelliffe<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p></div></body></html>