XML Schema 规范定义了许多内置数据类型 http://www.w3.org/TR/xmlschema-2/#built-in-datatypes是否有 Java 库可以回答有关天气的问题,值是特定的数据类型。沿线的东西。
if(XSDValidator.isXSDDate("2012-06-12") == false) {
// return error
}
更新: 这个用例不在 XML 的上下文中,而是在我有一个字符串的情况下,我想要符合其中一种 XSD 类型,并且我想要一种标准方法来检查它是否符合。例如,字符串可以是我从传入的 JSON 请求、URL 或任何其他地方提取的值……等等。
最佳答案
以下是 JDK/JRE 中您可能会使用的一些可用类:
javax.xml.datatype.XMLGregorianCalendar
对于日期/时间类型,您可以使用 javax.xml.datatype.XMLGregorianCalendar
,自 Java SE 5 以来,它作为 JDK/JRE 的一部分包含在内。
DatatypeFactory df = DatatypeFactory.newInstance();
XMLGregorianCalendar xgc = df.newXMLGregorianCalendar("2012-06-18");
return DatatypeConstants.DATE.equals(xgc.getXMLSchemaType());
javax.xml.bind.DatatypeConveter
还有 javax.xml.bind.DatatypeConveter
会针对错误值抛出 IllegalArgumentException
:
DatatypeConverter.parseDate("2012-06-18");
关于java - 用于验证内置 XSD 类型的正则表达式或库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12462072/