- java.lang.Object
-
- javax.xml.datatype.DatatypeFactory
-
public abstract class DatatypeFactory extends Object
创建新的javax.xml.datatype
Object
的工厂,javax.xml.datatype
XML映射到/从JavaObject
s。通过
newInstance()
方法创建了一个新的DatatypeFactory
实例,该方法使用以下实现解决机制来确定实现:- 如果由
DATATYPEFACTORY_PROPERTY
指定的系统属性“javax.xml.datatype.DatatypeFactory
”存在,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尝试加载服务。 如果上下文类加载器为空,则将使用system class loader 。在
service configuration error
的情况下,将抛出一个DatatypeConfigurationException
。最终机制是尝试实例化由
Class
指定的Class 。 在实例化过程中抛出的任何异常被包装为DatatypeConfigurationException
。
- 从以下版本开始:
- 1.5
- 如果由
-
-
Field Summary
Fields Modifier and Type Field 描述 static String
DATATYPEFACTORY_IMPLEMENTATION_CLASS
JSR 206中定义的默认实现类名称 :用于XML处理的Java(TM)API(JAXP)1.3 。static String
DATATYPEFACTORY_PROPERTY
JSR 206中定义的默认属性名称:用于XML处理的Java(TM)API(JAXP)1.3。
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
DatatypeFactory()
受保护的构造函数以防止程序包外的实例化。
-
方法摘要
所有方法 静态方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 static DatatypeFactory
newDefaultInstance()
创建一个新的实例DatatypeFactory
builtin system-default implementation 。Duration
newDuration(boolean isPositive, int years, int months, int days, int hours, int minutes, int seconds)
获取Duration
的新实例,指定Duration
为isPositive,年,月,日,小时,分钟,秒。abstract Duration
newDuration(boolean isPositive, BigInteger years, BigInteger months, BigInteger days, BigInteger hours, BigInteger minutes, BigDecimal seconds)
获得一个新的Duration
实例,指定Duration
为isPositive,年,月,日,小时,分钟,秒。abstract Duration
newDuration(long durationInMilliSeconds)
获取Duration
的新实例,指定Duration
为毫秒。abstract Duration
newDuration(String lexicalRepresentation)
获取Duration
的新实例,指定Duration
作为其字符串表示形式“PnYnMnDTnHnMnS”,如XML Schema 1.0第3.2.6.1节中所定义。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 。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 。Duration
newDurationDayTime(long durationInMilliseconds)
创建Duration
类型的xdt:dayTimeDuration
使用指定毫秒中定义 XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration 。Duration
newDurationDayTime(String lexicalRepresentation)
创建Duration
型xdt:dayTimeDuration
通过分析其String
表示 ,“PnDTnHnMnS” XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration 。Duration
newDurationYearMonth(boolean isPositive, int year, int month)
创建Duration
类型的xdt:yearMonthDuration
使用指定year
和month
中定义 XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration 。Duration
newDurationYearMonth(boolean isPositive, BigInteger year, BigInteger month)
创建Duration
类型的xdt:yearMonthDuration
使用指定year
和month
中定义 XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration 。Duration
newDurationYearMonth(long durationInMilliseconds)
创建Duration
类型的xdt:yearMonthDuration
使用指定毫秒中定义 XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration 。Duration
newDurationYearMonth(String lexicalRepresentation)
创建Duration
型xdt:yearMonthDuration
通过分析其String
表示 ,“PnYnM” XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration 。static DatatypeFactory
newInstance()
获取一个新的实例DatatypeFactory
。static DatatypeFactory
newInstance(String factoryClassName, ClassLoader classLoader)
从类名获取一个新的实例DatatypeFactory
。abstract XMLGregorianCalendar
newXMLGregorianCalendar()
创建一个新的实例XMLGregorianCalendar
。XMLGregorianCalendar
newXMLGregorianCalendar(int year, int month, int day, int hour, int minute, int second, int millisecond, int timezone)
java.util.GregorianCalendar
实例需要转换为XMLGregorianCalendar
实例的值空间构造方法。abstract XMLGregorianCalendar
newXMLGregorianCalendar(String lexicalRepresentation)
通过解析String作为词法表示来创建一个新的XMLGregorianCalendar。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和相关的内置数据类型。abstract XMLGregorianCalendar
newXMLGregorianCalendar(GregorianCalendar cal)
创建XMLGregorianCalendar
从GregorianCalendar
。XMLGregorianCalendar
newXMLGregorianCalendarDate(int year, int month, int day, int timezone)
创建XML Schema内置数据类型date
或g*
的Java表示g*
。XMLGregorianCalendar
newXMLGregorianCalendarTime(int hours, int minutes, int seconds, int timezone)
创建XML Schema内置数据类型的Java实例time
。XMLGregorianCalendar
newXMLGregorianCalendarTime(int hours, int minutes, int seconds, int milliseconds, int timezone)
创建XML Schema内置数据类型时间的Java实例。XMLGregorianCalendar
newXMLGregorianCalendarTime(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
。- 另请参见:
- Constant Field Values
-
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()
创建一个新的实例DatatypeFactory
builtin system-default implementation 。- 结果
-
DatatypeFactory
内置系统默认实现的新实例。 - 从以下版本开始:
- 9
-
newInstance
public static DatatypeFactory newInstance() throws DatatypeConfigurationException
获取一个新的实例DatatypeFactory
。这个
Class
的文档中的实现解决机制是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 Schema 1.0第3.2.6.1节中所定义。XML Schema第2部分:数据类型,3.2.6 duration,将
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
不是的有效表示Duration
。 -
UnsupportedOperationException
- 如果实现不能支持请求的值。 -
NullPointerException
- 如果lexicalRepresentation
是null
。
-
newDuration
public abstract Duration newDuration(long durationInMilliSeconds)
获取Duration
的新实例,指定Duration
为毫秒。XML模式第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
-
XMLGregorianCalendar
日期/时间数据类型XML 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
的消息,指示实现限制。A
null
值表示该字段未设置。- 参数
-
isPositive
- 设置为false
以创建一个负的持续时间。 当持续时间的长度为零时,此参数将被忽略。 -
years
- 的Duration
-
months
- 的Duration
-
days
- 的Duration
-
hours
- 的Duration
-
minutes
- 的Duration
-
seconds
- 的Duration
- 结果
-
新建
Duration
从指定的值创建。 - 异常
-
IllegalArgumentException
- 如果值不是Duration
的有效表示:如果所有字段(年,月,...)都为空,或者任何字段为负。 -
UnsupportedOperationException
- 如果实现不能支持请求的值。
-
newDuration
public Duration newDuration(boolean isPositive, int years, int months, int days, int hours, int minutes, int seconds)
获取一个新的Duration
实例,指定Duration
为isPositive,年,月,日,小时,分钟,秒。A
DatatypeConstants.FIELD_UNDEFINED
值表示该字段未设置。- 参数
-
isPositive
- 设置为false
创建一个负的持续时间。 当持续时间的长度为零时,此参数将被忽略。 -
years
- 的Duration
-
months
- 的Duration
-
days
- 的Duration
-
hours
- 的Duration
-
minutes
- 的Duration
-
seconds
- 的Duration
- 结果
-
新建
Duration
从指定的值创建。 - 异常
-
IllegalArgumentException
- 如果值不是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
不是仅在日期和时间方面表示的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
-
XMLGregorianCalendar
日期/时间数据类型XML 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
的消息,指示实现限制。A
null
值表示该字段未设置。- 参数
-
isPositive
- 设置为false
以创建负持续时间。 当持续时间的长度为零时,此参数将被忽略。 -
day
- 天Duration
。 -
hour
- 小时Duration
。 -
minute
- 分钟:Duration
。 -
second
- 第Duration
。 - 结果
-
新
Duration
使用指定的创建day
,hour
,minute
和second
。 - 异常
-
IllegalArgumentException
- 如果值不是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
。A
DatatypeConstants.FIELD_UNDEFINED
值表示该字段未设置。- 参数
-
isPositive
- 设置为false
创建一个负的持续时间。 当持续时间的长度为零时,此参数将被忽略。 -
day
- 天Duration
。 -
hour
- 小时Duration
。 -
minute
- 分钟数Duration
。 -
second
- 第Duration
。 - 结果
-
新
Duration
使用指定的创建day
,hour
,minute
和second
。 - 异常
-
IllegalArgumentException
- 如果值不是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
不是仅以年数和月份表示的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
-
XMLGregorianCalendar
日期/时间数据类型XML 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
的消息,指示实现限制。A
null
值表示该字段未设置。- 参数
-
isPositive
- 设置为false
以创建负持续时间。 当持续时间的长度为零时,此参数将被忽略。 -
year
- 年份Duration
。 -
month
- 月份Duration
。 - 结果
-
新建
Duration
使用指定的year
和month
创建。 - 异常
-
IllegalArgumentException
- 如果值不是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 。A
DatatypeConstants.FIELD_UNDEFINED
值表示该字段未设置。- 参数
-
isPositive
- 设置为false
以创建负持续时间。 当持续时间的长度为零时,此参数将被忽略。 -
year
- 年份Duration
。 -
month
- 月份Duration
。 - 结果
-
新建
Duration
使用指定的year
和month
创建。 - 异常
-
IllegalArgumentException
- 如果值不是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模式日期/时间数据类型之一的词汇表示。 - 结果
-
XMLGregorianCalendar
创建自lexicalRepresentation
。 - 异常
-
IllegalArgumentException
- 如果lexicalRepresentation
不是有效的XMLGregorianCalendar
。 -
NullPointerException
- 如果lexicalRepresentation
是null
。
-
newXMLGregorianCalendar
public abstract XMLGregorianCalendar newXMLGregorianCalendar(GregorianCalendar cal)
创建XMLGregorianCalendar
从GregorianCalendar
。 Field by Field Conversion fromGregorianCalendar
to anXMLGregorianCalendar
java.util.GregorianCalendar
fieldjavax.xml.datatype.XMLGregorianCalendar
fieldERA == 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)
(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
参数支持任意大的数字,小数year
具有无限精度。一个
null
值表示该字段未设置。- 参数
-
year
- 要创建的XMLGregorianCalendar
。 -
month
- 的XMLGregorianCalendar
待创建。 -
day
- 的XMLGregorianCalendar
要创建。 -
hour
- 的XMLGregorianCalendar
要创建。 -
minute
- ofXMLGregorianCalendar
待创建。 -
second
- ofXMLGregorianCalendar
待创建。 -
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
设置为null
A
DatatypeConstants.FIELD_UNDEFINED
的值表示该字段未设置。- 参数
-
year
- 的XMLGregorianCalendar
将要创建。 -
month
- 的XMLGregorianCalendar
要创建。 -
day
- 的XMLGregorianCalendar
要创建。 -
hour
- 的XMLGregorianCalendar
要创建。 -
minute
- 的XMLGregorianCalendar
要创建。 -
second
- ofXMLGregorianCalendar
待创建。 -
millisecond
- 的XMLGregorianCalendar
待创建。 -
timezone
- 的XMLGregorianCalendar
要创建。 - 结果
-
XMLGregorianCalendar
从指定的值创建。 - 异常
-
IllegalArgumentException
-如果任何单独参数的值是由日期/时间数据的映射表中所确定的字段的最大值约束外XMLGregorianCalendar
或如果复合值构成的无效XMLGregorianCalendar
实例由以下方法测定XMLGregorianCalendar.isValid()
。
-
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
- 以分钟为单位。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内置数据类型的Java实例time
。A
DatatypeConstants.FIELD_UNDEFINED
值表示该字段未设置。- 参数
-
hours
- 小时数 -
minutes
- 分钟数 -
seconds
- 秒数 -
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
- 以分钟为单位。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实例。A
DatatypeConstants.FIELD_UNDEFINED
值表示该字段未设置。- 参数
-
hours
- 小时数 -
minutes
- 分钟数 -
seconds
- 秒数 -
milliseconds
- 毫秒数 -
timezone
- 以分钟为单位。DatatypeConstants.FIELD_UNDEFINED
表示可选字段未设置。 - 结果
-
XMLGregorianCalendar
从参数值创建。 - 异常
-
IllegalArgumentException
- 如果任何单个参数的值超出由XMLGregorianCalendar
中的日期/时间数据映射表确定的字段的最大值约束,或者复合值构成由XMLGregorianCalendar.isValid()
确定的无效的XMLGregorianCalendar
实例。 - 另请参见:
-
DatatypeConstants.FIELD_UNDEFINED
-
-