docs: @Nonnull
    public IMicroDocument getAsDocument (@Nonnull @Nonempty final String sFullContextPath)
    {
      final String sNamespaceURL = CXMLSitemap.XML_NAMESPACE_0_9;
      final IMicroDocument ret = new MicroDocument ();
      final IMicroElement eSitemapindex = ret.appendElement (sNamespaceURL, ELEMENT_SITEMAPINDEX);
      int nIndex = 0;
      for (final XMLSitemapURLSet aURLSet : m_aURLSets)
      {
        final IMicroElement eSitemap = eSitemapindex.appendElement (sNamespaceURL, ELEMENT_SITEMAP);
  
        // The location of the sub-sitemaps must be prefixed with the full server
        // and context path
        eSitemap.appendElement (sNamespaceURL, ELEMENT_LOC)
                .appendText (sFullContextPath + "/" + getSitemapFilename (nIndex));
  
        final LocalDateTime aLastModification = aURLSet.getLastModificationDateTime ();
        if (aLastModification != null)
        {
          eSitemap.appendElement (sNamespaceURL, ELEMENT_LASTMOD)
                  .appendText (PDTWebDateHelper.getAsStringXSD (aLastModification));
        }
        ++nIndex;
      }
      return ret;
    }