docs: protected CmsLink getXsdLink(CmsObject cms, CmsXmlContent xmlContent) {
  
          String schema = xmlContent.getContentDefinition().getSchemaLocation();
          if (schema.startsWith(CmsXmlEntityResolver.OPENCMS_SCHEME)) {
              if (CmsXmlEntityResolver.isInternalId(schema)) {
                  return null;
              }
              schema = schema.substring(CmsXmlEntityResolver.OPENCMS_SCHEME.length() - 1);
          } else if (CmsXmlEntityResolver.isCachedSystemId(schema)) {
              // schema may not exist as a VFS file because it has just been cached (some test cases do this)
              return null;
          }
          try {
              CmsResource schemaRes = cms.readResource(cms.getRequestContext().removeSiteRoot(schema));
              CmsLink xsdLink = new CmsLink(
                  null,
                  CmsRelationType.XSD,
                  schemaRes.getStructureId(),
                  schemaRes.getRootPath(),
                  true);
              return xsdLink;
          } catch (CmsException e) {
              LOG.error(e.getLocalizedMessage(), e);
          }
          return null;
      }