SAX.setDocumentLocator()
SAX.startDocument()
SAX.startElement(RDF:RDF, xmlsn:p3p='http//www.w3.org/TR/1998/WD-P3P10-syntax#proposal.DTD', xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#')
SAX.characters(
<PROP realm="http://www.CoolC, 1)
SAX.startElement(PROP, realm='http://www.CoolCatalog.com/catalogue/', entity='CoolCatalog', agreeID='94df1293a3e519bb', assurance='http://www.TrustUs.org')
SAX.characters(
  <USES>
  <STATEMENT purp="2, 3)
SAX.startElement(USES)
SAX.characters(
  <STATEMENT purp="2,3" recpn, 3)
SAX.startElement(STATEMENT, purp='2,3', recpnt='0', id='0', consq='a site with clothes you'd appreciate.')
SAX.characters(
    <WITH><PREFIX name="User., 5)
SAX.startElement(WITH)
SAX.startElement(PREFIX, name='User.')
SAX.characters(
     <REF name="Name.First"/>, 6)
SAX.startElement(REF, name='Name.First')
SAX.endElement((null))
SAX.characters(
     <REF name="Bdate.Year" o, 6)
SAX.startElement(REF, name='Bdate.Year', optional='1')
SAX.endElement((null))
SAX.characters(
     <REF name="Gender"/>
   , 6)
SAX.startElement(REF, name='Gender')
SAX.endElement((null))
SAX.characters(
    </PREFIX></WITH>
  </STAT, 5)
SAX.endElement(PREFIX)
SAX.endElement(WITH)
SAX.characters(
  </STATEMENT>
  </USES>
  <U, 3)
SAX.endElement(STATEMENT)
SAX.characters(
  </USES>
  <USES>
  <STATEME, 3)
SAX.endElement(USES)
SAX.characters(
  <USES>
  <STATEMENT action=, 3)
SAX.startElement(USES)
SAX.characters(
  <STATEMENT action="read&amp, 3)
SAX.startElement(STATEMENT, action='read&amp;write', purp='0', recpnt='0', id='1')
SAX.characters(
    <REF name="User.Shipping., 5)
SAX.startElement(REF, name='User.Shipping.')
SAX.endElement((null))
SAX.characters(
  </STATEMENT>
  </USES>
  <D, 3)
SAX.endElement(STATEMENT)
SAX.characters(
  </USES>
  <DISCLOSURE discU, 3)
SAX.endElement(USES)
SAX.characters(
  <DISCLOSURE discURI="http:/, 3)
SAX.startElement(DISCLOSURE, discURI='http://www.CoolCatalog.com/PrivacyPractice.html', access='3', other='0,1')
SAX.endElement((null))
SAX.characters(
</PROP></RDF:RDF>
, 1)
SAX.endElement(PROP)
SAX.endElement(RDF:RDF)
SAX.endDocument()
