package org.jboss.windup.util.xml;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.lang3.StringUtils;
/**
* Util methods to work with XML DOCTYPE's.
*/
public class DoctypeUtils
{
public static String extractVersion(String publicId, String systemId) {
Pattern pattern = Pattern.compile("[0-9][0-9a-zA-Z.-]+");
if(StringUtils.isNotBlank(publicId)) {
Matcher matcher = pattern.matcher(publicId);
if(matcher.find()) {
return matcher.group();
}
}
if(StringUtils.isNotBlank(systemId)) {
Matcher matcher = pattern.matcher(systemId);
if(matcher.find()) {
String match = matcher.group();
//for system ID, make sure to remove the ".dtd" that could come in.
return StringUtils.removeEnd(match, ".dtd");
}
}
return null;
}
}