- java.lang.Object
-
- javax.xml.datatype.DatatypeFactory
-
public abstract class DatatypeFactory extends Object
工厂创建新的javax.xml.datatypeObject,将XML映射到JavaObject。通过
newInstance()方法创建DatatypeFactory新实例,该方法使用以下实现解析机制来确定实现:- 如果存在由
DATATYPEFACTORY_PROPERTY“javax.xml.datatype.DatatypeFactory”指定的系统属性,则实例化具有属性值名称的类。 在实例化过程中抛出的任何异常都包装为DatatypeConfigurationException。 使用配置文件“jaxp.properties”。 该文件采用标准
Properties格式,通常位于Java安装的conf目录中。 它包含实现类的完全限定名称,键是上面定义的系统属性。jaxp.properties文件只能由JAXP实现读取一次,然后缓存其值以供将来使用。 如果在第一次尝试从该文件读取时该文件不存在,则不再进行任何检查以检查其是否存在。 在第一次读取之后,无法更改jaxp.properties中任何属性的值。
使用由
ServiceLoader类定义的服务提供者加载工具尝试使用default loading mechanism查找和加载服务的实现 :服务提供者加载工具将使用current thread's context class loader尝试加载服务。 如果上下文类加载器为null,则将使用system class loader 。如果是
service configuration error,将抛出DatatypeConfigurationException。最后的机制是尝试实例化
类指定的类 。 在实例化过程中抛出的任何异常都包装为DatatypeConfigurationException。
- 从以下版本开始:
- 1.5
- 如果存在由
-
-
字段汇总
字段 变量和类型 字段 描述 static StringDATATYPEFACTORY_IMPLEMENTATION_CLASSJSR 206中定义的默认实现类名 :用于XML处理的Java(TM)API(JAXP)1.3 。static StringDATATYPEFACTORY_PROPERTYJSR 206中定义的默认属性名称:用于XML处理的Java(TM)API(JAXP)1.3。
-
构造方法摘要
构造方法 变量 构造器 描述 protectedDatatypeFactory()受保护的构造函数以防止在包外部进行实例化。
-
方法摘要
所有方法 静态方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 static DatatypeFactorynewDefaultInstance()创建DatatypeFactorybuiltin system-default implementation的新实例。DurationnewDuration(boolean isPositive, int years, int months, int days, int hours, int minutes, int seconds)获得的新实例Duration指定Duration为isPositive,年,月,日,时,分,秒。abstract DurationnewDuration(boolean isPositive, BigInteger years, BigInteger months, BigInteger days, BigInteger hours, BigInteger minutes, BigDecimal seconds)获得的新实例Duration指定Duration为isPositive,年,月,日,时,分,秒。abstract DurationnewDuration(long durationInMilliSeconds)获得的新实例Duration指定Duration为毫秒。abstract DurationnewDuration(String lexicalRepresentation)获得的新实例Duration指定Duration作为它的字符串表示,“PnYnMnDTnHnMnS”,如在XML模式1.0第3.2.6.1节定义。DurationnewDurationDayTime(boolean isPositive, int day, int hour, int minute, int second)创建Duration类型的xdt:dayTimeDuration使用指定的day,hour,minute和second中定义 XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration 。DurationnewDurationDayTime(boolean isPositive, BigInteger day, BigInteger hour, BigInteger minute, BigInteger second)创建Duration类型的xdt:dayTimeDuration使用指定的day,hour,minute和second中定义 XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration 。DurationnewDurationDayTime(long durationInMilliseconds)创建Duration类型的xdt:dayTimeDuration使用指定毫秒中定义 XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration 。DurationnewDurationDayTime(String lexicalRepresentation)创建Duration类型xdt:dayTimeDuration通过分析其String表示 ,“PnDTnHnMnS”, XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration 。DurationnewDurationYearMonth(boolean isPositive, int year, int month)创建Duration类型的xdt:yearMonthDuration使用指定year和month中定义 XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration 。DurationnewDurationYearMonth(boolean isPositive, BigInteger year, BigInteger month)创建Duration类型的xdt:yearMonthDuration使用指定year和month中定义 XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration 。DurationnewDurationYearMonth(long durationInMilliseconds)DurationnewDurationYearMonth(String lexicalRepresentation)创建Duration类型xdt:yearMonthDuration通过分析其String表示 ,“PnYnM”, XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration 。static DatatypeFactorynewInstance()获取DatatypeFactory的新实例。static DatatypeFactorynewInstance(String factoryClassName, ClassLoader classLoader)从类名获取DatatypeFactory的新实例。abstract XMLGregorianCalendarnewXMLGregorianCalendar()创建XMLGregorianCalendar的新实例。XMLGregorianCalendarnewXMLGregorianCalendar(int year, int month, int day, int hour, int minute, int second, int millisecond, int timezone)java.util.GregorianCalendar实例需要转换为XMLGregorianCalendar实例的值空间的构造方法。abstract XMLGregorianCalendarnewXMLGregorianCalendar(String lexicalRepresentation)通过将String解析为词法表示来创建新的XMLGregorianCalendar。abstract XMLGregorianCalendarnewXMLGregorianCalendar(BigInteger year, int month, int day, int hour, int minute, int second, BigDecimal fractionalSecond, int timezone)构造函数允许W3C XML Schema 1.0对xsd:dateTime和相关内置数据类型的建议所允许的完整值空间。abstract XMLGregorianCalendarnewXMLGregorianCalendar(GregorianCalendar cal)创建XMLGregorianCalendar从GregorianCalendar。XMLGregorianCalendarnewXMLGregorianCalendarDate(int year, int month, int day, int timezone)创建XML Schema内置数据类型date或g*的Java表示g*。XMLGregorianCalendarnewXMLGregorianCalendarTime(int hours, int minutes, int seconds, int timezone)创建XML Schema内置数据类型time的Java实例。XMLGregorianCalendarnewXMLGregorianCalendarTime(int hours, int minutes, int seconds, int milliseconds, int timezone)创建XML Schema内置数据类型时间的Java实例。XMLGregorianCalendarnewXMLGregorianCalendarTime(int hours, int minutes, int seconds, BigDecimal fractionalSecond, int timezone)创建XML Schema内置数据类型时间的Java实例。
-
-
-
字段详细信息
-
DATATYPEFACTORY_PROPERTY
public static final String DATATYPEFACTORY_PROPERTY
JSR 206中定义的默认属性名称:用于XML处理的Java(TM)API(JAXP)1.3。默认值为
javax.xml.datatype.DatatypeFactory。- 另请参见:
- 常数字段值
-
DATATYPEFACTORY_IMPLEMENTATION_CLASS
public static final String DATATYPEFACTORY_IMPLEMENTATION_CLASS
JSR 206中定义的默认实现类名:用于XML处理的Java(TM)API(JAXP)1.3 。如果没有其他实现解析机制成功,则实现者应指定要实例化的适当类的名称。
用户不应该参考这个字段; 它仅用于记录工厂实现细节。
-
-
构造方法详细信息
-
DatatypeFactory
protected DatatypeFactory()
受保护的构造函数以防止在包外部进行实例化。使用
newInstance()创建一个DatatypeFactory。
-
-
方法详细信息
-
newDefaultInstance
public static DatatypeFactory newDefaultInstance()
创建DatatypeFactorybuiltin system-default implementation的新实例。- 结果
-
DatatypeFactory内置系统默认实现的新实例。 - 从以下版本开始:
- 9
-
newInstance
public static DatatypeFactory newInstance() throws DatatypeConfigurationException
获取DatatypeFactory的新实例。在
类的文档中,实现解析机制是defined 。- 结果
-
DatatypeFactory新实例 - 异常
-
DatatypeConfigurationException- 如果实现不可用或无法实例化。 - 另请参见:
-
newInstance(String factoryClassName, ClassLoader classLoader)
-
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的上下文classLoader用于加载工厂类。 - 结果
-
DatatypeFactory新实例 - 异常
-
DatatypeConfigurationException- 如果factoryClassName是null,或者无法加载工厂类,则实例化。 - 从以下版本开始:
- 1.6
- 另请参见:
-
newInstance()
-
newDuration
public abstract Duration newDuration(String lexicalRepresentation)
获得的新实例Duration指定Duration作为它的字符串表示,“PnYnMnDTnHnMnS”,如在XML模式1.0第3.2.6.1节定义。XML Schema第2部分:数据类型,3.2.6持续时间,将
duration定义为:duration represents a duration of time. The value space of duration is a six-dimensional space where the coordinates designate the Gregorian year, month, day, hour, minute, and second components defined in Section 5.5.3.2 of [ISO 8601], respectively. These components are ordered in their significance by their order of appearance i.e. as year, month, day, hour, minute, and second.
所有六个值都已设置,可从创建的
Duration获得XML Schema规范声明值可以是任意大小。 实现可以选择不支持或不支持任意大和/或小值。 如果超出实施容量,将抛出
UnsupportedOperationException,并显示指示实施限制的消息。- 参数
-
lexicalRepresentation-String表示Duration。 - 结果
-
通过解析
Duration创建新的lexicalRepresentation。 - 异常
-
IllegalArgumentException- 如果lexicalRepresentation不是lexicalRepresentation的有效表示Duration。 -
UnsupportedOperationException- 如果实现不支持请求的值。 -
NullPointerException- 如果lexicalRepresentation是null。
-
newDuration
public abstract Duration newDuration(long durationInMilliSeconds)
获取Duration的新实例,指定Duration作为毫秒。XML Schema第2部分:数据类型,3.2.6持续时间,将
duration定义为:duration represents a duration of time. The value space of duration is a six-dimensional space where the coordinates designate the Gregorian year, month, day, hour, minute, and second components defined in Section 5.5.3.2 of [ISO 8601], respectively. These components are ordered in their significance by their order of appearance i.e. as year, month, day, hour, minute, and second.
所有六个值都是通过从指定的毫秒计算它们的值来设置的,并且可以使用创建的
Duration的get方法获得 。 这些值符合并定义为:- ISO 8601:2000(E)第5.5.3.2节替代格式
- W3C XML Schema 1.0 Part 2, Appendix D, ISO 8601 Date and Time Formats
-
XMLGregorianCalendarXML Schema 1.0和Java表示之间的日期/时间数据类型字段映射
默认启动实例由下式定义
GregorianCalendar的使用历元的开始的:即Calendar.YEAR= 1970,Calendar.MONTH=Calendar.JANUARY,Calendar.DATE= 1等由于有在格里历的变化,例如,闰年已经这是很重要月中的不同日期=Calendar.FEBRUARY因此可能会影响Duration.getMonths()和Duration.getDays()的结果。- 参数
-
durationInMilliSeconds- 要创建的持续时间(以毫秒为单位)。 - 结果
-
新的
Duration代表durationInMilliSeconds。
-
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的有效表示Duration:如果所有字段(年,月,...)为空或任何字段为负数。 -
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的有效表示Duration:如果任何字段为负数。 - 另请参见:
-
newDuration( boolean isPositive, BigInteger years, BigInteger months, BigInteger days, BigInteger hours, BigInteger minutes, BigDecimal seconds)
-
newDurationDayTime
public Duration newDurationDayTime(String lexicalRepresentation)
创建Duration类型xdt:dayTimeDuration通过分析其String表示,“PnDTnHnMnS”, XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration 。数据类型
xdt:dayTimeDuration是的子类型xs:duration其词汇表示仅包含日,小时,分,和第二组分。 此数据类型驻留在命名空间http://www.w3.org/2003/11/xpath-datatypes。所有四个值均已设置,可从创建的
Duration获得XML Schema规范声明值可以是任意大小。 实现可以选择不支持或不支持任意大和/或小值。 如果超出实现容量,将抛出
UnsupportedOperationException,并显示一条指示实施限制的消息。- 参数
-
lexicalRepresentation- 持续时间的词汇表示。 - 结果
-
新
Duration使用指定的创建lexicalRepresentation。 - 异常
-
IllegalArgumentException- 如果lexicalRepresentation不是lexicalRepresentation的有效表示,Duration表示日期和时间。 -
UnsupportedOperationException- 如果实现不支持请求的值。 -
NullPointerException- 如果lexicalRepresentation是null。
-
newDurationDayTime
public Duration newDurationDayTime(long durationInMilliseconds)
创建Duration类型的xdt:dayTimeDuration使用指定毫秒中定义XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration 。数据类型
xdt:dayTimeDuration是的子类型xs:duration其词汇表示仅包含日,小时,分,和第二组分。 此数据类型驻留在命名空间http://www.w3.org/2003/11/xpath-datatypes。所有四个值都是通过从指定的毫秒计算它们的值来设置的,并且可以使用创建的
Duration的get方法获得 。 这些值符合并定义为:- ISO 8601:2000(E)第5.5.3.2节替代格式
- W3C XML Schema 1.0 Part 2, Appendix D, ISO 8601 Date and Time Formats
-
XMLGregorianCalendarXML Schema 1.0和Java表示之间的日期/时间数据类型字段映射
默认启动实例由下式定义
GregorianCalendar的使用历元的开始的:即Calendar.YEAR= 1970,Calendar.MONTH=Calendar.JANUARY,Calendar.DATE= 1等由于有在格里历的变化,例如,闰年已经这是很重要当月不同天=Calendar.FEBRUARY这样的结果Duration.getDays()会受到影响。确定日,小时,分钟和秒后的任何剩余毫秒都将被丢弃。
- 参数
-
durationInMilliseconds- 要创建的毫秒Duration。 - 结果
-
新
Duration使用指定的创建durationInMilliseconds。 - 另请参见:
- XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration
-
newDurationDayTime
public Duration newDurationDayTime(boolean isPositive, BigInteger day, BigInteger hour, BigInteger minute, BigInteger second)
创建Duration类型的xdt:dayTimeDuration使用指定的day,hour,minute和second中定义XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration 。数据类型
xdt:dayTimeDuration是的子类型xs:duration其词汇表示仅包含日,小时,分,和第二组分。 此数据类型位于命名空间http://www.w3.org/2003/11/xpath-datatypes。XML Schema规范声明值可以是任意大小。 实现可以选择不支持或不支持任意大和/或小值。 如果超出实施容量,将抛出
UnsupportedOperationException,并显示指示实施限制的消息。null值表示未设置该字段。- 参数
-
isPositive- 设置为false以创建负持续时间。 当持续时间的长度为零时,将忽略此参数。 -
day- 日期Duration。 -
hour- 小时Duration。 -
minute- 分钟Duration。 -
second-second第二Duration。 - 结果
-
新
Duration使用指定的创建day,hour,minute和second。 - 异常
-
IllegalArgumentException- 如果值不是Duration的有效表示Duration:如果所有字段(日,小时,...)为空或者任何字段为负数。 -
UnsupportedOperationException- 如果实现不支持请求的值。
-
newDurationDayTime
public Duration newDurationDayTime(boolean isPositive, int day, int hour, int minute, int second)
创建Duration类型的xdt:dayTimeDuration使用指定的day,hour,minute和second中定义XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration 。数据类型
xdt:dayTimeDuration是的子类型xs:duration其词汇表示仅包含日,小时,分,和第二组分。 此数据类型位于命名空间http://www.w3.org/2003/11/xpath-datatypes。DatatypeConstants.FIELD_UNDEFINED值表示未设置该字段。- 参数
-
isPositive- 设置为false以创建负持续时间。 当持续时间的长度为零时,将忽略此参数。 -
day- 日期Duration。 -
hour- 小时Duration。 -
minute- 分钟,Duration。 -
second- 第二个Duration。 - 结果
-
新
Duration使用指定的创建day,hour,minute和second。 - 异常
-
IllegalArgumentException- 如果值不是Duration的有效表示Duration:如果任何字段(日,小时,......)为负数。
-
newDurationYearMonth
public Duration newDurationYearMonth(String lexicalRepresentation)
创建Duration类型xdt:yearMonthDuration通过分析其String表示,“PnYnM”, XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration 。数据类型
xdt:yearMonthDuration是一个亚型xs:duration,其词汇表示仅包含年份和月份组成部分。 此数据类型驻留在命名空间XMLConstants.W3C_XPATH_DATATYPE_NS_URI中 。这两个值都已设置,可从创建的
Duration获得XML Schema规范声明值可以是任意大小。 实现可以选择不支持或不支持任意大和/或小值。 如果超出实施容量,将抛出
UnsupportedOperationException,并显示指示实施限制的消息。- 参数
-
lexicalRepresentation- 持续时间的词汇表示。 - 结果
-
新
Duration使用指定的创建lexicalRepresentation。 - 异常
-
IllegalArgumentException- 如果lexicalRepresentation不是lexicalRepresentation的有效表示形式,Duration表示年份和月份。 -
UnsupportedOperationException- 如果实现不支持请求的值。 -
NullPointerException- 如果lexicalRepresentation是null。
-
newDurationYearMonth
public Duration newDurationYearMonth(long durationInMilliseconds)
创建Duration类型的xdt:yearMonthDuration使用指定毫秒中定义XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration 。数据类型
xdt:yearMonthDuration是一个亚型xs:duration,其词汇表示仅包含年份和月份组成部分。 此数据类型驻留在命名空间XMLConstants.W3C_XPATH_DATATYPE_NS_URI中 。这两个值都是通过从指定的毫秒计算它们的值来设置的,并且可以使用创建的
Duration的get方法获得 。 这些值符合并定义为:- ISO 8601:2000(E)第5.5.3.2节替代格式
- W3C XML Schema 1.0 Part 2, Appendix D, ISO 8601 Date and Time Formats
-
XMLGregorianCalendarXML Schema 1.0和Java表示之间的日期/时间数据类型字段映射
默认启动实例由下式定义
GregorianCalendar的使用历元的开始的:即Calendar.YEAR= 1970,Calendar.MONTH=Calendar.JANUARY,Calendar.DATE= 1等由于有在格里历的变化,例如,闰年已经这是很重要当月不同天=Calendar.FEBRUARY这样的结果Duration.getMonths()会受到影响。确定年份和月份后的任何剩余毫秒都将被丢弃。
- 参数
-
durationInMilliseconds- 要创建的毫秒Duration。 - 结果
-
新
Duration使用指定的创建durationInMilliseconds。
-
newDurationYearMonth
public Duration newDurationYearMonth(boolean isPositive, BigInteger year, BigInteger month)
创建Duration类型的xdt:yearMonthDuration使用指定year和month中定义XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration 。XML Schema规范声明值可以是任意大小。 实现可以选择不支持或不支持任意大和/或小值。 如果超出实施容量,将抛出
UnsupportedOperationException,并显示指示实施限制的消息。null值表示未设置该字段。- 参数
-
isPositive- 设置为false以创建负持续时间。 当持续时间的长度为零时,将忽略此参数。 -
year-Duration。 -
month- 月份Duration。 - 结果
-
新
Duration使用指定的创建year和month。 - 异常
-
IllegalArgumentException- 如果值不是Duration的有效表示Duration:如果所有字段(年,月)为空或任何字段为负数。 -
UnsupportedOperationException- 如果实现不支持请求的值。
-
newDurationYearMonth
public Duration newDurationYearMonth(boolean isPositive, int year, int month)
创建Duration类型的xdt:yearMonthDuration使用指定year和month中定义XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration 。DatatypeConstants.FIELD_UNDEFINED值表示未设置该字段。- 参数
-
isPositive- 设置为false以创建负持续时间。 当持续时间的长度为零时,将忽略此参数。 -
year-Duration。 -
month- 月份Duration。 - 结果
-
新
Duration使用指定的创建year和month。 - 异常
-
IllegalArgumentException- 如果值不是Duration的有效表示Duration:如果任何字段(年,月)为负数。
-
newXMLGregorianCalendar
public abstract XMLGregorianCalendar newXMLGregorianCalendar()
创建XMLGregorianCalendar的新实例。所有日期/时间数据类型字段设置为
DatatypeConstants.FIELD_UNDEFINED或null。- 结果
-
新的
XMLGregorianCalendar,所有日期/时间数据类型字段设置为DatatypeConstants.FIELD_UNDEFINED或null。
-
newXMLGregorianCalendar
public abstract XMLGregorianCalendar newXMLGregorianCalendar(String lexicalRepresentation)
通过将String解析为词法表示来创建新的XMLGregorianCalendar。解析词法字符串表示在XML Schema 1.0 Part 2, Section 3.2.[7-14].1, Lexical Representation.中定义
字符串表示可能没有任何前导和尾随空格。
解析是逐字段完成的,因此以下适用于任何词法正确的字符串x:
newXMLGregorianCalendar(x).toXMLFormat().equals(x)除了XML Schema 1.0 errata, Section 3.2.7.2中列出的词汇/规范表示不匹配之外 。
- 参数
-
lexicalRepresentation- 八种XML Schema日期/时间数据类型之一的词汇表示。 - 结果
-
XMLGregorianCalendar从创建lexicalRepresentation。 - 异常
-
IllegalArgumentException- 如果lexicalRepresentation不是有效的XMLGregorianCalendar。 -
NullPointerException- 如果lexicalRepresentation是null。
-
newXMLGregorianCalendar
public abstract XMLGregorianCalendar newXMLGregorianCalendar(GregorianCalendar cal)
创建XMLGregorianCalendar从GregorianCalendar。 Field by Field Conversion fromGregorianCalendarto anXMLGregorianCalendarjava.util.GregorianCalendarfieldjavax.xml.datatype.XMLGregorianCalendarfieldERA == GregorianCalendar.BC ? -YEAR : YEARXMLGregorianCalendar.setYear(int year)MONTH + 1XMLGregorianCalendar.setMonth(int month)DAY_OF_MONTHXMLGregorianCalendar.setDay(int day)HOUR_OF_DAY, MINUTE, SECOND, MILLISECONDXMLGregorianCalendar.setTime(int hour, int minute, int second, BigDecimal fractional)(ZONE_OFFSET + DST_OFFSET) / (60*1000)
(in minutes)XMLGregorianCalendar.setTimezone(int offset)**转换信息丢失。 无法在XML Schema 1.
java.util.GregorianCalendar期/时间数据类型表示中表示java.util.GregorianCalendar夏令java.util.GregorianCalendar区ID。要计算返回值的
TimeZone字段,- 当
this.getTimezone() != FIELD_UNDEFINED,使用java.util.TimeZone创建带有自定义时区ID的this.getTimezone()。 - 否则使用
GregorianCalendar主机的默认时区值定义为java.util.TimeZone.getDefault()。
- 参数
-
cal-java.util.GregorianCalendar用于创建XMLGregorianCalendar - 结果
-
XMLGregorianCalendar创建于java.util.GregorianCalendar - 异常
-
NullPointerException- 如果cal是null。
- 当
-
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 eon和fractionalSecond设置为nullDatatypeConstants.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内置数据类型date或g*的Java表示g*。例如,可以创建一个
gYear的实例,调用此工厂,其中month和day参数设置为DatatypeConstants.FIELD_UNDEFINED。DatatypeConstants.FIELD_UNDEFINED值表示未设置该字段。- 参数
-
year- 即将创建的XMLGregorianCalendar。 -
month- 即将创建的XMLGregorianCalendar。 -
day- 即将创建的XMLGregorianCalendar。 -
timezone- 以分钟为timezone偏移量。DatatypeConstants.FIELD_UNDEFINED表示未设置可选字段。 - 结果
-
XMLGregorianCalendar根据参数值创建。 - 异常
-
IllegalArgumentException- 如果任何单个参数的值超出字段的最大值约束(由XMLGregorianCalendar中的日期/时间数据映射表确定),或者复合值构成由XMLGregorianCalendar.isValid()确定的无效XMLGregorianCalendar实例。 - 另请参见:
-
DatatypeConstants.FIELD_UNDEFINED
-
newXMLGregorianCalendarTime
public XMLGregorianCalendar newXMLGregorianCalendarTime(int hours, int minutes, int seconds, int timezone)
创建XML Schema内置数据类型time的Java实例。DatatypeConstants.FIELD_UNDEFINED值表示未设置该字段。- 参数
-
hours- 小时数 -
minutes- 分钟数 -
seconds- 秒数 -
timezone- 以分钟为timezone偏移量。DatatypeConstants.FIELD_UNDEFINED表示未设置可选字段。 - 结果
-
XMLGregorianCalendar从参数值创建。 - 异常
-
IllegalArgumentException- 如果任何单个参数的值超出字段的最大值约束(由XMLGregorianCalendar中的日期/时间数据映射表确定),或者复合值构成由XMLGregorianCalendar.isValid()确定的无效XMLGregorianCalendar实例。 - 另请参见:
-
DatatypeConstants.FIELD_UNDEFINED
-
newXMLGregorianCalendarTime
public XMLGregorianCalendar newXMLGregorianCalendarTime(int hours, int minutes, int seconds, BigDecimal fractionalSecond, int timezone)
- 参数
-
hours- 小时数 -
minutes- 分钟数 -
seconds- 秒数 -
fractionalSecond- 值null表示未设置此可选字段。 -
timezone- 以分钟为timezone偏移量。DatatypeConstants.FIELD_UNDEFINED表示未设置可选字段。 - 结果
-
XMLGregorianCalendar从参数值创建。 - 异常
-
IllegalArgumentException- 如果任何单个参数的值超出字段的最大值约束(由XMLGregorianCalendar中的日期/时间数据映射表确定),或者复合值构成由XMLGregorianCalendar.isValid()确定的无效XMLGregorianCalendar实例。 - 另请参见:
-
DatatypeConstants.FIELD_UNDEFINED
-
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- 以分钟为timezone偏移量。DatatypeConstants.FIELD_UNDEFINED表示未设置可选字段。 - 结果
-
XMLGregorianCalendar根据参数值创建。 - 异常
-
IllegalArgumentException- 如果任何单个参数的值超出字段的最大值约束(由XMLGregorianCalendar中的日期/时间数据映射表确定),或者复合值构成由XMLGregorianCalendar.isValid()确定的无效XMLGregorianCalendar实例。 - 另请参见:
-
DatatypeConstants.FIELD_UNDEFINED
-
-