Module java.xml

Class DatatypeFactory

java.lang.Object
javax.xml.datatype.DatatypeFactory

public abstract class DatatypeFactory extends Object
工厂,用于创建将XML映射到Java对象或将Java对象映射到XML的javax.xml.datatype Object

通过使用newInstance()方法创建DatatypeFactory的新实例,该方法使用JAXP查找机制来确定要加载的DatatypeFactory实现类。

自从:
1.5
  • Field Details

    • DATATYPEFACTORY_PROPERTY

      public static final String DATATYPEFACTORY_PROPERTY
      默认属性名称,定义在JSR 206: Java(TM) API for XML Processing (JAXP) 1.3中。

      默认值为javax.xml.datatype.DatatypeFactory

      参见:
    • DATATYPEFACTORY_IMPLEMENTATION_CLASS

      public static final String DATATYPEFACTORY_IMPLEMENTATION_CLASS
      默认实现类名称,定义在JSR 206: Java(TM) API for XML Processing (JAXP) 1.3中。

      实现者应指定一个适当的类名,以便在没有其他实现解析机制成功时实例化。

      用户不应引用此字段;它仅用于记录工厂实现细节。

  • Constructor Details

    • DatatypeFactory

      protected DatatypeFactory()
      受保护的构造函数,防止在包外部实例化。

      使用newInstance()创建一个DatatypeFactory

  • Method Details

    • newDefaultInstance

      public static DatatypeFactory newDefaultInstance()
      创建DatatypeFactory的新实例,内置系统默认实现
      返回:
      DatatypeFactory内置系统默认实现的新实例。
      自从:
      9
    • newInstance

      public static DatatypeFactory newInstance() throws DatatypeConfigurationException
      获取一个新的DatatypeFactory实例。此方法使用JAXP查找机制来确定要加载的DatatypeFactory实现类。
      返回:
      一个新的DatatypeFactory实例。
      抛出:
      DatatypeConfigurationException - 如果实现不可用或无法实例化。
      参见:
    • newInstance

      public static DatatypeFactory newInstance(String factoryClassName, ClassLoader classLoader) throws DatatypeConfigurationException
      从类名获取一个新的DatatypeFactory实例。当类路径中存在多个提供程序时,此函数很有用。它为应用程序提供更多控制,因为可以指定应加载哪个提供程序。

      一旦应用程序获得了DatatypeFactory的引用,就可以使用工厂来配置和获取数据类型实例。

      故障排除提示

      设置jaxp.debug系统属性将导致此方法向System.err打印大量关于其操作和查找位置的调试消息。

      如果遇到问题,请尝试:

       java -Djaxp.debug=1 YourProgram ....
       
      参数:
      factoryClassName - 提供javax.xml.datatype.DatatypeFactory实现的完全限定工厂类名。
      classLoader - 用于加载工厂类的ClassLoader。如果为null,则使用当前Thread的上下文类加载器来加载工厂类。
      返回:
      一个新的DatatypeFactory实例。
      抛出:
      DatatypeConfigurationException - 如果factoryClassNamenull,或者无法加载、实例化工厂类。
      自从:
      1.6
      参见:
    • newDuration

      public abstract Duration newDuration(String lexicalRepresentation)
      获取一个新的Duration实例,指定Duration为其字符串表示形式,"PnYnMnDTnHnMnS",如XML Schema 1.0第3.2.6.1节中定义。

      XML Schema Part 2: Datatypes, 3.2.6 duration,将duration定义为:

      duration表示一段时间。duration的值空间是一个六维空间,其中坐标指定了分别在[ISO 8601]第5.5.3.2节中定义的Gregorian年、月、日、小时、分钟和秒组件。这些组件按照它们的重要性顺序排列,即年、月、日、小时、分钟和秒。

      所有六个值都已设置,并可从创建的Duration中获取。

      XML Schema规范规定值可以是任意大小。如果实现选择不支持任意大和/或小的值,当超出实现容量时,将抛出UnsupportedOperationException,并显示指示实现限制的消息。

      参数:
      lexicalRepresentation - DurationString表示形式。
      返回:
      从解析lexicalRepresentation创建的新Duration
      抛出:
      IllegalArgumentException - 如果lexicalRepresentation不是Duration的有效表示。
      UnsupportedOperationException - 如果实现无法支持请求的值。
      NullPointerException - 如果lexicalRepresentationnull
    • newDuration

      public abstract Duration newDuration(long durationInMilliSeconds)
      获取一个新的Duration实例,指定Duration为毫秒。

      XML Schema Part 2: Datatypes, 3.2.6 duration,将duration定义为:

      duration表示一段时间。duration的值空间是一个六维空间,其中的坐标分别指定了[ISO 8601]第5.5.3.2节中定义的公历年、月、日、小时、分钟和秒组件。这些组件按照它们的重要性按照它们的出现顺序进行排序,即年、月、日、小时、分钟和秒。

      所有六个值都通过从指定的毫秒计算它们的值来设置,并可以使用创建的Durationget方法获得。这些值符合并由以下内容定义:

      默认的起始实例由GregorianCalendar使用纪元的开始来定义:即,Calendar.YEAR = 1970,Calendar.MONTH = Calendar.JANUARYCalendar.DATE = 1,等等。这很重要,因为公历日历中存在变化,例如闰年在月份中有不同的天数 = Calendar.FEBRUARY,因此Duration.getMonths()Duration.getDays()的结果可能会受到影响。

      参数:
      durationInMilliSeconds - 要创建的毫秒持续时间。
      返回:
      表示durationInMilliSeconds的新Duration
    • newDuration

      public abstract Duration newDuration(boolean isPositive, BigInteger years, BigInteger months, BigInteger days, BigInteger hours, BigInteger minutes, BigDecimal seconds)
      获取一个新的Duration实例,指定Duration为isPositive、年、月、日、小时、分钟、秒。

      XML Schema规范规定值可以是任意大小。实现可能选择不支持或无法支持任意大和/或小的值。如果超出实现容量,将抛出UnsupportedOperationException,并显示指示实现限制的消息。

      null值表示该字段未设置。

      参数:
      isPositive - 设置为false以创建负持续时间。当持续时间长度为零时,此参数将被忽略。
      years - 这个Duration的年份
      months - 这个Duration的月份
      days - 这个Duration的天数
      hours - 这个Duration的小时数
      minutes - 这个Duration的分钟数
      seconds - 这个Duration的秒数
      返回:
      从指定值创建的新Duration
      抛出:
      IllegalArgumentException - 如果值不是Duration的有效表示:如果所有字段(年、月等)都为null,或者任何字段为负。
      UnsupportedOperationException - 如果实现无法支持请求的值。
    • newDuration

      public Duration newDuration(boolean isPositive, int years, int months, int days, int hours, int minutes, int seconds)
      获取一个新的Duration实例,指定Duration为isPositive、年、月、日、小时、分钟、秒。

      DatatypeConstants.FIELD_UNDEFINED值表示该字段未设置。

      参数:
      isPositive - 设置为false以创建负持续时间。当持续时间长度为零时,此参数将被忽略。
      years - 这个Duration的年份
      months - 这个Duration的月份
      days - 这个Duration的天数
      hours - 这个Duration的小时数
      minutes - 这个Duration的分钟数
      seconds - 这个Duration的秒数
      返回:
      从指定值创建的新Duration
      抛出:
      IllegalArgumentException - 如果值不是Duration的有效表示:如果任何字段为负。
      参见:
    • newDurationDayTime

      public Duration newDurationDayTime(String lexicalRepresentation)
      通过解析其String表示形式"PnDTnHnMnS",创建一个xdt:dayTimeDuration类型的DurationXQuery 1.0和XPath 2.0数据模型,xdt:dayTimeDuration

      数据类型xdt:dayTimeDurationxs:duration的子类型,其词法表示仅包含天、小时、分钟和秒组件。此数据类型位于命名空间http://www.w3.org/2003/11/xpath-datatypes中。

      所有四个值都被设置,并可以从创建的Duration中获取。

      XML Schema规范规定值可以是任意大小。实现可能选择不支持或无法支持任意大和/或小的值。如果超出实现容量,将抛出UnsupportedOperationException,并显示指示实现限制的消息。

      参数:
      lexicalRepresentation - 持续时间的词法表示。
      返回:
      使用指定的lexicalRepresentation创建的新Duration
      抛出:
      IllegalArgumentException - 如果lexicalRepresentation不是仅以天和时间表示的Duration的有效表示。
      UnsupportedOperationException - 如果实现无法支持请求的值。
      NullPointerException - 如果lexicalRepresentationnull
    • newDurationDayTime

      public Duration newDurationDayTime(long durationInMilliseconds)
      使用指定的毫秒数在XQuery 1.0和XPath 2.0数据模型,xdt:dayTimeDuration中定义,创建一个xdt:dayTimeDuration类型的Duration

      数据类型xdt:dayTimeDurationxs:duration的子类型,其词法表示仅包含天、小时、分钟和秒组件。此数据类型位于命名空间http://www.w3.org/2003/11/xpath-datatypes中。

      所有四个值通过从指定的毫秒数计算它们的值来设置,并可以使用创建的Durationget方法获得。这些值符合并由以下内容定义:

      默认的起始实例由GregorianCalendar使用纪元的开始来定义:即,Calendar.YEAR = 1970,Calendar.MONTH = Calendar.JANUARYCalendar.DATE = 1,等等。这很重要,因为公历日历中存在变化,例如闰年在月份中有不同的天数 = Calendar.FEBRUARY,因此Duration.getDays()的结果可能会受到影响。

      确定天、小时、分钟和秒后剩余的毫秒将被丢弃。

      参数:
      durationInMilliseconds - 要创建的Duration的毫秒数。
      返回:
      使用指定的durationInMilliseconds创建的新Duration
      参见:
    • newDurationDayTime

      public Duration newDurationDayTime(boolean isPositive, BigInteger day, BigInteger hour, BigInteger minute, BigInteger second)
      创建一个Duration,类型为xdt:dayTimeDuration,使用指定的dayhourminutesecond,如在XQuery 1.0和XPath 2.0数据模型,xdt:dayTimeDuration中定义。

      数据类型xdt:dayTimeDurationxs:duration的子类型,其词法表示仅包含天、小时、分钟和秒组件。此数据类型位于命名空间http://www.w3.org/2003/11/xpath-datatypes中。

      XML Schema规范说明值可以是任意大小。如果实现容量超出,将抛出UnsupportedOperationException,并显示实现限制的消息。

      null值表示该字段未设置。

      参数:
      isPositive - 设置为false以创建负持续时间。当持续时间长度为零时,此参数将被忽略。
      day - Duration的天数。
      hour - Duration的小时数。
      minute - Duration的分钟数。
      second - Duration的秒数。
      返回:
      使用指定的dayhourminutesecond创建的新Duration
      抛出:
      IllegalArgumentException - 如果值不是Duration的有效表示:如果所有字段(天、小时等)都为null,或者任何字段为负。
      UnsupportedOperationException - 如果实现无法支持请求的值。
    • newDurationDayTime

      public Duration newDurationDayTime(boolean isPositive, int day, int hour, int minute, int second)
      创建一个Duration,类型为xdt:dayTimeDuration,使用指定的dayhourminutesecond,如在XQuery 1.0和XPath 2.0数据模型,xdt:dayTimeDuration中定义。

      数据类型xdt:dayTimeDurationxs:duration的子类型,其词法表示仅包含天、小时、分钟和秒组件。此数据类型位于命名空间http://www.w3.org/2003/11/xpath-datatypes中。

      DatatypeConstants.FIELD_UNDEFINED值表示该字段未设置。

      参数:
      isPositive - 设置为false以创建负持续时间。当持续时间长度为零时,此参数将被忽略。
      day - Duration的天数。
      hour - Duration的小时数。
      minute - Duration的分钟数。
      second - Duration的秒数。
      返回:
      使用指定的dayhourminutesecond创建的新Duration
      抛出:
      IllegalArgumentException - 如果值不是Duration的有效表示:如果任何字段(天、小时等)为负。
    • newDurationYearMonth

      public Duration newDurationYearMonth(String lexicalRepresentation)
      创建一个Duration,类型为xdt:yearMonthDuration,通过解析其String表示"PnYnM"创建,如在XQuery 1.0和XPath 2.0数据模型,xdt:yearMonthDuration中定义。

      数据类型xdt:yearMonthDurationxs:duration的子类型,其词法表示仅包含年和月组件。此数据类型位于命名空间XMLConstants.W3C_XPATH_DATATYPE_NS_URI中。

      两个值已设置,并可从创建的Duration中获取。

      XML Schema规范说明值可以是任意大小。如果实现容量超出,将抛出UnsupportedOperationException,并显示实现限制的消息。

      参数:
      lexicalRepresentation - 持续时间的词法表示。
      返回:
      使用指定的lexicalRepresentation创建的新Duration
      抛出:
      IllegalArgumentException - 如果lexicalRepresentation不是仅以年和月表示的Duration的有效表示。
      UnsupportedOperationException - 如果实现无法支持请求的值。
      NullPointerException - 如果lexicalRepresentationnull
    • newDurationYearMonth

      public Duration newDurationYearMonth(long durationInMilliseconds)
      创建一个Duration,类型为xdt:yearMonthDuration,使用指定的毫秒数,如在XQuery 1.0和XPath 2.0数据模型,xdt:yearMonthDuration中定义。

      数据类型xdt:yearMonthDurationxs:duration的子类型,其词法表示仅包含年和月组件。此数据类型位于命名空间XMLConstants.W3C_XPATH_DATATYPE_NS_URI中。

      通过从指定的毫秒数计算它们的值来设置两个值,并可以使用创建的Durationget方法获取这些值。这些值符合并由以下定义:

      默认的起始实例由GregorianCalendar使用纪元的开始定义:即,Calendar.YEAR = 1970,Calendar.MONTH = Calendar.JANUARYCalendar.DATE = 1,等等。这很重要,因为公历日历有变化,例如闰年在月份中有不同的天数 = Calendar.FEBRUARY,因此Duration.getMonths()的结果可能会受到影响。

      确定年和月后剩余的毫秒数将被丢弃。

      参数:
      durationInMilliseconds - 要创建的Duration的毫秒数。
      返回:
      使用指定的durationInMilliseconds创建的新Duration
    • newDurationYearMonth

      public Duration newDurationYearMonth(boolean isPositive, BigInteger year, BigInteger month)
      创建一个Duration,类型为xdt:yearMonthDuration,使用指定的yearmonth,如在XQuery 1.0和XPath 2.0数据模型,xdt:yearMonthDuration中定义。

      XML Schema规范说明值可以是任意大小。如果实现容量超出,将抛出UnsupportedOperationException,并显示实现限制的消息。

      null值表示该字段未设置。

      参数:
      isPositive - 设置为false以创建负持续时间。当持续时间长度为零时,此参数将被忽略。
      year - Duration的年份。
      month - Duration的月份。
      返回:
      使用指定的yearmonth创建的新Duration
      抛出:
      IllegalArgumentException - 如果值不是Duration的有效表示:如果所有字段(年、月)都为null,或者任何字段为负。
      UnsupportedOperationException - 如果实现无法支持请求的值。
    • newDurationYearMonth

      public Duration newDurationYearMonth(boolean isPositive, int year, int month)
      创建一个Duration,类型为xdt:yearMonthDuration,使用指定的yearmonth,如在XQuery 1.0和XPath 2.0数据模型,xdt:yearMonthDuration中定义。

      DatatypeConstants.FIELD_UNDEFINED值表示该字段未设置。

      参数:
      isPositive - 设置为false以创建负持续时间。当持续时间的长度为零时,此参数将被忽略。
      year - Duration的年份。
      month - Duration的月份。
      返回:
      使用指定的yearmonth创建的新Duration
      抛出:
      IllegalArgumentException - 如果值不是Duration的有效表示:如果任何字段(年、月)为负。
    • newXMLGregorianCalendar

      public abstract XMLGregorianCalendar newXMLGregorianCalendar()
      创建一个新的XMLGregorianCalendar实例。

      所有日期/时间数据类型字段设置为DatatypeConstants.FIELD_UNDEFINED或null。

      返回:
      所有日期/时间数据类型字段设置为DatatypeConstants.FIELD_UNDEFINED或null的新XMLGregorianCalendar
    • newXMLGregorianCalendar

      public abstract XMLGregorianCalendar newXMLGregorianCalendar(String lexicalRepresentation)
      通过将字符串解析为词法表示创建一个新的XMLGregorianCalendar。

      解析词法字符串表示在XML Schema 1.0第2部分,第3.2.[7-14].1节,词法表示中定义。

      字符串表示可能没有任何前导和尾随空格。

      解析是逐字段进行的,以便对于任何词法上正确的字符串x,以下条件成立:

       newXMLGregorianCalendar(x).toXMLFormat().equals(x)
       

      除了在 XML Schema 1.0勘误表,第3.2.7.2节中列出的注意的词法/规范表示不匹配。

      参数:
      lexicalRepresentation - 八个XML Schema日期/时间数据类型之一的词法表示。
      返回:
      lexicalRepresentation创建的XMLGregorianCalendar
      抛出:
      IllegalArgumentException - 如果lexicalRepresentation不是有效的XMLGregorianCalendar
      NullPointerException - 如果lexicalRepresentationnull
    • newXMLGregorianCalendar

      public abstract XMLGregorianCalendar newXMLGregorianCalendar(GregorianCalendar cal)
      GregorianCalendar创建一个XMLGregorianCalendar
      GregorianCalendarXMLGregorianCalendar的逐字段转换
      java.util.GregorianCalendar字段 javax.xml.datatype.XMLGregorianCalendar字段
      ERA == GregorianCalendar.BC ? -YEAR : YEAR XMLGregorianCalendar.setYear(int year)
      MONTH + 1 XMLGregorianCalendar.setMonth(int month)
      DAY_OF_MONTH XMLGregorianCalendar.setDay(int day)
      HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND XMLGregorianCalendar.setTime(int hour, int minute, int second, BigDecimal fractional)
      (ZONE_OFFSET + DST_OFFSET) / (60*1000)
      (以分钟为单位)
      XMLGregorianCalendar.setTimezone(int offset)*

      *信息转换丢失。不可能在XML Schema 1.0日期/时间数据类型表示中表示java.util.GregorianCalendar的夏令时时区id。

      要计算返回值的TimeZone字段,

      • this.getTimezone() != FIELD_UNDEFINED时,使用this.getTimezone()创建一个带有自定义时区id的java.util.TimeZone
      • 否则,使用主机的GregorianCalendar默认时区值,如java.util.TimeZone.getDefault()指定的那样。
      参数:
      cal - 用于创建XMLGregorianCalendarjava.util.GregorianCalendar
      返回:
      java.util.GregorianCalendar创建的XMLGregorianCalendar
      抛出:
      NullPointerException - 如果calnull
    • newXMLGregorianCalendar

      public abstract XMLGregorianCalendar newXMLGregorianCalendar(BigInteger year, int month, int day, int hour, int minute, int second, BigDecimal fractionalSecond, int timezone)
      允许W3C XML Schema 1.0建议的xsd:dateTime和相关内置数据类型的完整值空间的构造函数。请注意,year参数支持任意大的数字,而fractionalSecond具有无限精度。

      null值表示字段未设置。

      参数:
      year - 要创建的XMLGregorianCalendar的年份。
      month - 要创建的XMLGregorianCalendar的月份。
      day - 要创建的XMLGregorianCalendar的日期。
      hour - 要创建的XMLGregorianCalendar的小时。
      minute - 要创建的XMLGregorianCalendar的分钟。
      second - 要创建的XMLGregorianCalendar的秒数。
      fractionalSecond - 要创建的XMLGregorianCalendar的分数秒。
      timezone - 要创建的XMLGregorianCalendar的时区。
      返回:
      从指定值创建的XMLGregorianCalendar
      抛出:
      IllegalArgumentException - 如果任何单独参数的值超出由XMLGregorianCalendar中的日期/时间数据映射表确定的字段的最大值约束,或者如果组合值构成由XMLGregorianCalendar.isValid()确定的无效XMLGregorianCalendar实例。
    • newXMLGregorianCalendar

      public XMLGregorianCalendar newXMLGregorianCalendar(int year, int month, int day, int hour, int minute, int second, int millisecond, int timezone)
      允许java.util.GregorianCalendar实例需要转换为XMLGregorianCalendar实例的值空间的构造函数。

      XMLGregorianCalendar eonfractionalSecond设置为null

      DatatypeConstants.FIELD_UNDEFINED值表示字段未设置。

      参数:
      year - 要创建的XMLGregorianCalendar的年份。
      month - 要创建的XMLGregorianCalendar的月份。
      day - 要创建的XMLGregorianCalendar的日期。
      hour - 要创建的XMLGregorianCalendar的小时。
      minute - 要创建的XMLGregorianCalendar的分钟。
      second - 要创建的XMLGregorianCalendar的秒数。
      millisecond - 要创建的XMLGregorianCalendar的毫秒数。
      timezone - 要创建的XMLGregorianCalendar的时区。
      返回:
      从指定值创建的XMLGregorianCalendar
      抛出:
      IllegalArgumentException - 如果任何单独参数的值超出由XMLGregorianCalendar中的日期/时间数据映射表确定的字段的最大值约束,或者如果组合值构成由XMLGregorianCalendar.isValid()确定的无效XMLGregorianCalendar实例。
    • newXMLGregorianCalendarDate

      public XMLGregorianCalendar newXMLGregorianCalendarDate(int year, int month, int day, int timezone)
      创建XML Schema内置数据类型dateg*的Java表示。

      例如,可以使用将monthday参数设置为DatatypeConstants.FIELD_UNDEFINED来调用此工厂创建gYear的实例。

      DatatypeConstants.FIELD_UNDEFINED值表示字段未设置。

      参数:
      year - 要创建的XMLGregorianCalendar的年份。
      month - 要创建的XMLGregorianCalendar的月份。
      day - 要创建的XMLGregorianCalendar的日期。
      timezone - 偏移量(以分钟为单位)。DatatypeConstants.FIELD_UNDEFINED表示可选字段未设置。
      返回:
      从参数值创建的XMLGregorianCalendar
      抛出:
      IllegalArgumentException - 如果任何单独参数的值超出由XMLGregorianCalendar中的日期/时间数据映射表确定的字段的最大值约束,或者如果组合值构成由XMLGregorianCalendar.isValid()确定的无效XMLGregorianCalendar实例。
      参见:
    • newXMLGregorianCalendarTime

      public XMLGregorianCalendar newXMLGregorianCalendarTime(int hours, int minutes, int seconds, int timezone)
      创建XML Schema内置数据类型time的Java实例。

      DatatypeConstants.FIELD_UNDEFINED值表示字段未设置。

      参数:
      hours - 小时数
      minutes - 分钟数
      seconds - 秒数
      timezone - 分钟偏移量。 DatatypeConstants.FIELD_UNDEFINED 表示可选字段未设置。
      返回:
      XMLGregorianCalendar 从参数值创建。
      抛出:
      IllegalArgumentException - 如果任何单个参数的值超出由 XMLGregorianCalendar 中的日期/时间数据映射表确定的字段的最大值约束,或者如果组合值构成无效的 XMLGregorianCalendar 实例,如由 XMLGregorianCalendar.isValid() 确定。
      参见:
    • newXMLGregorianCalendarTime

      public XMLGregorianCalendar newXMLGregorianCalendarTime(int hours, int minutes, int seconds, BigDecimal fractionalSecond, int timezone)
      创建一个 XML Schema 内置数据类型时间的 Java 实例。

      null 值表示字段未设置。

      DatatypeConstants.FIELD_UNDEFINED 值表示字段未设置。

      参数:
      hours - 小时数
      minutes - 分钟数
      seconds - 秒数
      fractionalSecond - null 值表示此可选字段未设置的值。
      timezone - 分钟偏移量。 DatatypeConstants.FIELD_UNDEFINED 表示可选字段未设置。
      返回:
      XMLGregorianCalendar 从参数值创建。
      抛出:
      IllegalArgumentException - 如果任何单个参数的值超出由 XMLGregorianCalendar 中的日期/时间数据映射表确定的字段的最大值约束,或者如果组合值构成无效的 XMLGregorianCalendar 实例,如由 XMLGregorianCalendar.isValid() 确定。
      参见:
    • newXMLGregorianCalendarTime

      public XMLGregorianCalendar newXMLGregorianCalendarTime(int hours, int minutes, int seconds, int milliseconds, int timezone)
      创建一个 XML Schema 内置数据类型时间的 Java 实例。

      DatatypeConstants.FIELD_UNDEFINED 值表示字段未设置。

      参数:
      hours - 小时数
      minutes - 分钟数
      seconds - 秒数
      milliseconds - 毫秒数
      timezone - 分钟偏移量。 DatatypeConstants.FIELD_UNDEFINED 表示可选字段未设置。
      返回:
      XMLGregorianCalendar 从参数值创建。
      抛出:
      IllegalArgumentException - 如果任何单个参数的值超出由 XMLGregorianCalendar 中的日期/时间数据映射表确定的字段的最大值约束,或者如果组合值构成无效的 XMLGregorianCalendar 实例,如由 XMLGregorianCalendar.isValid() 确定。
      参见: