code: private byte[] getSchemaBytes() {
  
          StringBuffer schema = new StringBuffer(512);
          schema.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
          schema.append("<xsd:schema xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" elementFormDefault=\"qualified\">");
          Iterator<I_CmsXmlSchemaType> i = m_registeredTypes.values().iterator();
          while (i.hasNext()) {
              I_CmsXmlSchemaType type = i.next();
              schema.append(type.getSchemaDefinition());
          }
          schema.append("</xsd:schema>");
          String schemaStr = schema.toString();
  
          try {
              // pretty print the XML schema
              // this helps in debugging the auto-generated schema includes
              // since it makes them more human-readable
              Document doc = CmsXmlUtils.unmarshalHelper(schemaStr, null);
              schemaStr = CmsXmlUtils.marshal(doc, CmsEncoder.ENCODING_UTF_8);
          } catch (CmsXmlException e) {
              // should not ever happen
              LOG.error(Messages.get().getBundle().key(Messages.LOG_PRETTY_PRINT_SCHEMA_BYTES_ERROR_0), e);
          }
          if (LOG.isInfoEnabled()) {
              LOG.info(
                  Messages.get().getBundle().key(
                      Messages.LOG_XML_TYPE_DEFINITION_XSD_2,
                      CmsXmlContentDefinition.XSD_INCLUDE_OPENCMS,
                      schemaStr));
          }
          try {
              return schemaStr.getBytes(CmsEncoder.ENCODING_UTF_8);
          } catch (UnsupportedEncodingException e) {
              // should not happen since the default encoding of UTF-8 is always valid
              LOG.error(Messages.get().getBundle().key(Messages.LOG_CONVERTING_SCHEMA_BYTES_ERROR_0), e);
          }
          return null;
      }
docs: Returns a byte array to be used as input source for the configured XML content types.<p>
  
  @return a byte array to be used as input source for the configured XML content types