<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif; ">
<div>
<div>
<div>You can annotate any file by using this tagging: (this example includes the xml_curl.txt file, and provides callouts for various lines – see screenshot at the end of this note)</div>
<div><br>
</div>
<div>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #af4415">
<span style="color: #000000"> </span><span style="color: #0e22a0"><example</span><span style="color: #fd9666"> xml:id</span><span style="color: #ff935c">=</span>"xml_example"<span style="color: #0e22a0">></span><span style="color: #000000"><br>
        </span><span style="color: #0e22a0"><title></span><span style="color: #000000">cURL Command Example: XML Request and Response</span><span style="color: #0e22a0"></title></span><span style="color: #000000"><br>
        </span><span style="color: #0e22a0"><programlistingco></span><span style="color: #000000"><br>
            </span><span style="color: #0e22a0"><areaspec></span><span style="color: #000000"><br>
                </span><span style="color: #0e22a0"><area</span><span style="color: #fd9666"> xml:id</span><span style="color: #ff935c">=</span>"xml_curl.txt.endpoint"<span style="color: #000000"><br>
</span><span style="color: #fd9666">                    units</span><span style="color: #ff935c">=</span>"linecolumn"<span style="color: #fd9666"> coords</span><span style="color: #ff935c">=</span>"1 87"<span style="color: #0e22a0">/></span><span style="color: #000000"><br>
                </span><span style="color: #0e22a0"><area</span><span style="color: #fd9666"> xml:id</span><span style="color: #ff935c">=</span>"xml_curl.txt.content"<span style="color: #fd9666"> units</span><span style="color: #ff935c">=</span>"linecolumn"<span style="color: #000000"><br>
</span><span style="color: #fd9666">                    coords</span><span style="color: #ff935c">=</span>"4 46"<span style="color: #0e22a0">/></span><span style="color: #000000"><br>
                </span><span style="color: #0e22a0"><area</span><span style="color: #fd9666"> xml:id</span><span style="color: #ff935c">=</span>"xml_curl.txt.accept"<span style="color: #fd9666"> units</span><span style="color: #ff935c">=</span>"linecolumn"<span style="color: #000000"><br>
</span><span style="color: #fd9666">                    coords</span><span style="color: #ff935c">=</span>"5 40"<span style="color: #0e22a0">/></span><span style="color: #000000"><br>
                </span><span style="color: #0e22a0"><area</span><span style="color: #fd9666"> xml:id</span><span style="color: #ff935c">=</span>"xml_curl.txt.file"<span style="color: #fd9666"> units</span><span style="color: #ff935c">=</span>"linecolumn"<span style="color: #000000"><br>
</span><span style="color: #fd9666">                    coords</span><span style="color: #ff935c">=</span>"7 29"<span style="color: #0e22a0">/></span><span style="color: #000000"><br>
                </span><span style="color: #0e22a0"><area</span><span style="color: #fd9666"> xml:id</span><span style="color: #ff935c">=</span>"xml_curl.txt.ppxml"<span style="color: #fd9666"> units</span><span style="color: #ff935c">=</span>"linecolumn"<span style="color: #000000"><br>
</span><span style="color: #fd9666">                    coords</span><span style="color: #ff935c">=</span>"7 40"<span style="color: #0e22a0">/></span><span style="color: #000000"><br>
            </span><span style="color: #0e22a0"></areaspec></span><span style="color: #000000"><br>
            </span><span style="color: #0e22a0"><programlisting</span><span style="color: #fd9666"> language</span><span style="color: #ff935c">=</span>"bash"<span style="color: #fd9666"> role</span><span style="color: #ff935c">=</span>"gutter: false"<span style="color: #0e22a0">></span><span style="color: #a347cc"><?db-font-size
 65%?></span><span style="color: #0e22a0"><prompt></span><span style="color: #000000">$</span><span style="color: #0e22a0"></prompt></span><span style="color: #000000">
</span><span style="color: #0e22a0"><xi:include</span><span style="color: #fd9666"> href</span><span style="color: #ff935c">=</span>"../samples/xml_curl.txt"<span style="color: #fd9666"> parse</span><span style="color: #ff935c">=</span>"text"<span style="color: #0e22a0">/></programlisting></span><span style="color: #000000"><br>
        </span><span style="color: #0e22a0"></programlistingco></span><span style="color: #000000"><br>
    </span><span style="color: #0e22a0"></example></span><span style="color: #000000"><br>
    </span><span style="color: #0e22a0"><para></span><span style="color: #000000">The example,
</span><span style="color: #0e22a0"><xref</span><span style="color: #fd9666"> linkend</span><span style="color: #ff935c">=</span>"xml_example"<span style="color: #0e22a0">/></span><span style="color: #000000">, includes the<br>
        following changes:</span><span style="color: #0e22a0"><calloutlist></span><span style="color: #000000"><br>
            </span><span style="color: #0e22a0"><callout</span><span style="color: #fd9666"> arearefs</span><span style="color: #ff935c">=</span>"xml_curl.txt.endpoint"<span style="color: #0e22a0">></span><span style="color: #000000"><br>
                </span><span style="color: #0e22a0"><para></span><span style="color: #000000">Append
</span><span style="color: #0e22a0"><literal></span><span style="color: #000000">.xml</span><span style="color: #0e22a0"></literal></span><span style="color: #000000"> to the endpoint<br>
                    in the cURL command to return an XML<br>
                    response.</span><span style="color: #0e22a0"></para></span><span style="color: #000000"><br>
            </span><span style="color: #0e22a0"></callout></span><span style="color: #000000"><br>
            </span><span style="color: #0e22a0"><callout</span><span style="color: #fd9666"> arearefs</span><span style="color: #ff935c">=</span>"xml_curl.txt.content"<span style="color: #0e22a0">></span><span style="color: #000000"><br>
                </span><span style="color: #0e22a0"><para></span><span style="color: #000000">The
</span><span style="color: #0e22a0"><literal></span><span style="color: #000000">Content-Type:</span><span style="color: #0e22a0"></literal></span><span style="color: #000000"> header<br>
                    specifies </span><span style="color: #0e22a0"><literal></span><span style="color: #000000">application/xml</span><span style="color: #0e22a0"></literal></span><span style="color: #000000"><br>
                    instead of </span><span style="color: #0e22a0"><literal></span><span style="color: #000000">application/json</span><span style="color: #0e22a0"></literal></span><span style="color: #000000">.<br>
                </span><span style="color: #0e22a0"></para></span><span style="color: #000000"><br>
            </span><span style="color: #0e22a0"></callout></span><span style="color: #000000"><br>
            </span><span style="color: #0e22a0"><callout</span><span style="color: #fd9666"> arearefs</span><span style="color: #ff935c">=</span>"xml_curl.txt.accept"<span style="color: #0e22a0">></span><span style="color: #000000"><br>
                </span><span style="color: #0e22a0"><para></span><span style="color: #000000">The
</span><span style="color: #0e22a0"><literal></span><span style="color: #000000">Accept:</span><span style="color: #0e22a0"></literal></span><span style="color: #000000"> header specifies<br>
                        </span><span style="color: #0e22a0"><literal></span><span style="color: #000000">application/xml</span><span style="color: #0e22a0"></literal></span><span style="color: #000000"> instead of<br>
                        </span><span style="color: #0e22a0"><literal></span><span style="color: #000000">application/json</span><span style="color: #0e22a0"></literal></span><span style="color: #000000">.
</span><span style="color: #0e22a0"></para></span><span style="color: #000000"><br>
            </span><span style="color: #0e22a0"></callout></span><span style="color: #000000"><br>
            </span><span style="color: #0e22a0"><callout</span><span style="color: #fd9666"> arearefs</span><span style="color: #ff935c">=</span>"xml_curl.txt.file"<span style="color: #0e22a0">></span><span style="color: #000000"><br>
                </span><span style="color: #0e22a0"><para></span><span style="color: #000000">If the request requires a request body, specify<br>
                    it in XML format. In this example, the XML body is<br>
                    passed in the<br>
                        </span><span style="color: #0e22a0"><filename></span><span style="color: #000000">server_post_req.xml</span><span style="color: #0e22a0"></filename></span><span style="color: #000000"><br>
                    file.</span><span style="color: #0e22a0"></para></span><span style="color: #000000"><br>
            </span><span style="color: #0e22a0"></callout></span><span style="color: #000000"><br>
            </span><span style="color: #0e22a0"><callout</span><span style="color: #fd9666"> arearefs</span><span style="color: #ff935c">=</span>"xml_curl.txt.ppxml"<span style="color: #0e22a0">></span><span style="color: #000000"><br>
                </span><span style="color: #0e22a0"><para></span><span style="color: #000000">To pretty-print the XML output, set the
</span><span style="color: #0e22a0"><literal</span><span style="color: #000000"><br>
</span><span style="color: #fd9666">                        </span><span style="color: #00aad2">xmlns:svg</span><span style="color: #ff935c">=</span>"http://www.w3.org/2000/svg"<span style="color: #000000"><br>
</span><span style="color: #fd9666">                        </span><span style="color: #00aad2">xmlns:m</span><span style="color: #ff935c">=</span>"http://www.w3.org/1998/Math/MathML"<span style="color: #000000"><br>
</span><span style="color: #fd9666">                        </span><span style="color: #00aad2">xmlns:html</span><span style="color: #ff935c">=</span>"http://www.w3.org/1999/xhtml"<span style="color: #000000"><br>
</span><span style="color: #fd9666">                        </span><span style="color: #00aad2">xmlns:db</span><span style="color: #ff935c">=</span>"http://docbook.org/ns/docbook"<span style="color: #000000"><br>
</span><span style="color: #fd9666">                        </span><span style="color: #0e22a0">></span><span style="color: #000000">ppxml</span><span style="color: #0e22a0"></literal></span><span style="color: #000000"> alias, as follows:
</span><span style="color: #0e22a0"></para></span><span style="color: #000000"><br>
                </span><span style="color: #0e22a0"><programlisting</span><span style="color: #fd9666"> language</span><span style="color: #ff935c">=</span>"bash"<span style="color: #fd9666"> role</span><span style="color: #ff935c">=</span>"gutter: false"<span style="color: #0e22a0">></span><span style="color: #a347cc"><?db-font-size
 50%?></span><span style="color: #0e22a0"><prompt></span><span style="color: #000000">$</span><span style="color: #0e22a0"></prompt></span><span style="color: #000000"> alias ppxml='python -c "import sys, xml.dom.minidom; print xml.dom.minidom.parseString(sys.stdin.read()).toprettyxml()"'</span><span style="color: #0e22a0"></programlisting></span><span style="color: #000000"><br>
                </span><span style="color: #0e22a0"><para</span><span style="color: #fd9666">
</span><span style="color: #00aad2">xmlns:svg</span><span style="color: #ff935c">=</span>"http://www.w3.org/2000/svg"<span style="color: #000000"><br>
</span><span style="color: #fd9666">                    </span><span style="color: #00aad2">xmlns:m</span><span style="color: #ff935c">=</span>"http://www.w3.org/1998/Math/MathML"<span style="color: #000000"><br>
</span><span style="color: #fd9666">                    </span><span style="color: #00aad2">xmlns:html</span><span style="color: #ff935c">=</span>"http://www.w3.org/1999/xhtml"<span style="color: #000000"><br>
</span><span style="color: #fd9666">                    </span><span style="color: #00aad2">xmlns:db</span><span style="color: #ff935c">=</span>"http://docbook.org/ns/docbook"<span style="color: #0e22a0">></span><span style="color: #000000">Then,<br>
                    append the </span><span style="color: #0e22a0"><literal></span><span style="color: #000000">ppxml</span><span style="color: #0e22a0"></literal></span><span style="color: #000000"> alias to your<br>
                    cURL command. </span><span style="color: #0e22a0"></para></span><span style="color: #000000"><br>
            </span><span style="color: #0e22a0"></callout></span><span style="color: #000000"><br>
        </span><span style="color: #0e22a0"></calloutlist></para></span><span style="color: #000000"><br>
</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #af4415">
<span style="color: #0e22a0"><br>
</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #af4415">
<span style="color: #0e22a0"><br>
</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #af4415">
<span style="color: #0e22a0"><img src="cid:BCBB9E80-38AF-4615-9FEA-18978840CE21" type="image/png"></span></p>
</div>
<div>
<div>
<div style="color: rgb(0, 0, 0); "><font class="Apple-style-span" color="rgb(0, 0, 0)" face="Apple Chancery"><i>Diane</i></font></div>
<div style="font-family: Calibri, sans-serif; font-size: 14px; color: rgb(0, 0, 0); ">
<font class="Apple-style-span" color="rgb(0, 0, 0)"><i>----------------------------------------------</i></font></div>
<div style="font-family: Calibri, sans-serif; font-size: 14px; color: rgb(0, 0, 0); ">
<font class="Apple-style-span" color="rgb(0, 0, 0)">Diane Fleming</font></div>
<div style="font-family: Calibri, sans-serif; font-size: 14px; ">
<div style="color: rgb(0, 0, 0); ">Software Developer II - US</div>
</div>
diane.fleming@rackspace.com</div>
<div>Cell  512.323.6799</div>
<div>Office 512.874.1260<br>
<div style="font-family: Calibri, sans-serif; font-size: 14px; ">
<div style="color: rgb(0, 0, 0); ">Skype drfleming0227</div>
<div style="color: rgb(0, 0, 0); ">Google-plus diane.fleming@gmail.com</div>
</div>
</div>
</div>
</div>
</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>Anne Gentle <<a href="mailto:anne@openstack.org">anne@openstack.org</a>><br>
<span style="font-weight:bold">Date: </span>Wednesday, February 26, 2014 1:08 PM<br>
<span style="font-weight:bold">To: </span>Andreas Jaeger <<a href="mailto:aj@suse.com">aj@suse.com</a>><br>
<span style="font-weight:bold">Cc: </span>"<a href="mailto:openstack-docs@lists.openstack.org">openstack-docs@lists.openstack.org</a>" <<a href="mailto:openstack-docs@lists.openstack.org">openstack-docs@lists.openstack.org</a>><br>
<span style="font-weight:bold">Subject: </span>Re: [Openstack-docs] Checking JSON/XML errors on docs.openstack.org<br>
</div>
<div><br>
</div>
<div>
<div>
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Wed, Feb 26, 2014 at 12:55 PM, Andreas Jaeger <span dir="ltr">
<<a href="mailto:aj@suse.com" target="_blank">aj@suse.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 02/26/2014 03:04 PM, Jamie Hannaford wrote:<br>
> [...]<br>
<div class="">> Following this, I've also written a script that checks every single<br>
> piece of documentation on <a href="http://openstack.org" target="_blank">openstack.org</a> for malformed JSON/XML. Whereas<br>
> Andreas checks during the Jenkins build process, my check allows us to<br>
> see any pre-built documentation errors that are currently live.  Doing<br>
> this, I've found 31 errors on the <a href="http://docs.openstack.org" target="_blank">
docs.openstack.org</a> sub-domain that<br>
> need to be corrected. The full report is attached.<br>
<br>
</div>
Great idea! I think you run it before some changes were merged, could<br>
you rerun it and file a bug report with these instructions, please?<br>
<br>
I hope somebody will then fix these ;)</blockquote>
<div><br>
</div>
<div>Agreed - although one that was identified is policy.json from the Grizzly documents, where we use annotation inline like [1] [2] [3] which then makes the json invalid. So in fixing that, we need to figure out how to annotate the policy.json file -- any
 ideas? </div>
<div><br>
</div>
<div>Thanks for the work here --- what a great idea for higher quality docs.</div>
<div><br>
</div>
<div>Anne</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
thanks,<br>
Andreas<br>
<span class="HOEnZb"><font color="#888888">--<br>
 Andreas Jaeger aj@{<a href="http://suse.com" target="_blank">suse.com</a>,<a href="http://opensuse.org" target="_blank">opensuse.org</a>} Twitter/Identica: jaegerandi<br>
  SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany<br>
   GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg)<br>
    GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126<br>
<br>
_______________________________________________<br>
Openstack-docs mailing list<br>
<a href="mailto:Openstack-docs@lists.openstack.org">Openstack-docs@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-docs" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-docs</a><br>
</font></span></blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</span>
</body>
</html>