public static Location newLocation(ValidatorMessage message) {
   LocationImpl loc = new LocusTransformer().new LocationImpl();
   try {
     loc.setColumnNumber(message.getColumn());
     loc.setLineNumber(message.getLine());
     if (message.getFile() != null) loc.setSystemId(message.getFile().toString());
   } catch (Exception e) {
   }
   return loc;
 }
 public static Location newLocation(SAXParseException spe) {
   LocationImpl loc = new LocusTransformer().new LocationImpl();
   try {
     loc.setColumnNumber(spe.getColumnNumber());
     loc.setLineNumber(spe.getLineNumber());
     loc.setSystemId(spe.getSystemId());
   } catch (Exception e) {
   }
   return loc;
 }
 public static Location newLocation(DOMLocator location) {
   LocationImpl loc = new LocusTransformer().new LocationImpl();
   try {
     loc.setColumnNumber(location.getColumnNumber());
     loc.setLineNumber(location.getLineNumber());
     loc.setSystemId(location.getUri());
   } catch (Exception e) {
   }
   return loc;
 }
 public static Location newLocation(TransformerException te) {
   LocationImpl loc = new LocusTransformer().new LocationImpl();
   SourceLocator sl = te.getLocator();
   try {
     loc.setColumnNumber(sl.getColumnNumber());
     loc.setLineNumber(sl.getLineNumber());
     loc.setSystemId(sl.getSystemId());
     loc.setPublicId(sl.getPublicId());
   } catch (Exception e) {
   }
   return loc;
 }
  public static Location newLocation(FilesetFileException ffe) {
    LocationImpl loc = new LocusTransformer().new LocationImpl();
    try {
      Throwable cause = ffe.getRootCause();
      if (cause == null) cause = ffe.getCause();

      Location innerLocation = null;
      if (cause instanceof CSSParseException) {
        innerLocation = LocusTransformer.newLocation((CSSParseException) cause);
      } else if (cause instanceof SAXParseException) {
        innerLocation = LocusTransformer.newLocation((SAXParseException) cause);
      }

      loc.setSystemId(ffe.getOrigin().getFile().toURI().toString());
      if (innerLocation != null) {
        loc.setLineNumber(innerLocation.getLineNumber());
        loc.setColumnNumber(innerLocation.getColumnNumber());
      }
    } catch (Exception e) {
    }

    return loc;
  }