java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

javax.xml.datatype
类 DatatypeFactory

java.lang.Object
  继承者 javax.xml.datatype.DatatypeFactory

public abstract class DatatypeFactory
extends Object

创建新 javax.xml.datatype Object 的工厂,该对象将 XML 映射到 Java Object 或从 Java Object 映射。

newInstance() 用于创建新的 DatatypeFactory。按以下顺序使用下面的实现解析机制:

  1. 如果 DATATYPEFACTORY_PROPERTY 指定的系统属性 "javax.xml.datatype.DatatypeFactory" 存在,则实例化具有属性值名称的类。将实例化进程中抛出的任何异常包装为 DatatypeConfigurationException
  2. 如果文件 ${JAVA_HOME}/lib/jaxp.properties 存在,则在 Properties Object 中装载它。然后查询 Properties Object,以获取前面步骤中的文档介绍的属性,并按照前面步骤中文档的介绍进行处理。
  3. 使用服务解析机制,例如 META-INF/services/java.xml.datatype.DatatypeFactory。将实例化进程中抛出的任何异常包装为 DatatypeConfigurationException
  4. 最终机制将尝试实例化 DATATYPEFACTORY_IMPLEMENTATION_CLASSjavax.xml.datatype.DatatypeFactoryImpl)指定的 Class。将实例化进程中抛出的任何异常包装为 DatatypeConfigurationException

从以下版本开始:
1.5

字段摘要
static String DATATYPEFACTORY_IMPLEMENTATION_CLASS
          JSR 206 中定义的默认实现类名:Java(TM) API for XML Processing (JAXP) 1.3。
static String DATATYPEFACTORY_PROPERTY
          JSR 206 中定义的默认属性名称:Java(TM) API for XML Processing (JAXP) 1.3。
 
构造方法摘要
protected DatatypeFactory()
          受到保护的构造方法,以防止包外实例化。
 
方法摘要
abstract  Duration newDuration(boolean isPositive, BigInteger years, BigInteger months, BigInteger days, BigInteger hours, BigInteger minutes, BigDecimal seconds)
          获取 Duration 的新实例,它将 Duration 指定为正数的年、月、日、时、分、秒。
 Duration newDuration(boolean isPositive, int years, int months, int days, int hours, int minutes, int seconds)
          获取 Duration 的新实例,它将 Duration 指定为正数的年、月、日、时、分、秒。
abstract  Duration newDuration(long durationInMilliSeconds)
          获取新的 Duration 实例,它将 Duration 指定为毫秒。
abstract  Duration newDuration(String lexicalRepresentation)
          获取新的 Duration 实例,它根据 XML Schema 1.0 第 3.2.6.1 节中的定义将 Duration 指定为其字符串表示形式 "PnYnMnDTnHnMnS"。
 Duration newDurationDayTime(boolean isPositive, BigInteger day, BigInteger hour, BigInteger minute, BigInteger second)
          使用 XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration 中定义的指定 dayhourminutesecond 创建类型为 xdt:dayTimeDurationDuration
 Duration newDurationDayTime(boolean isPositive, int day, int hour, int minute, int second)
          使用 XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration 中定义的指定 dayhourminutesecond 创建类型为 xdt:dayTimeDurationDuration
 Duration newDurationDayTime(long durationInMilliseconds)
          使用 XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration 中定义的指定毫秒创建类型为 xdt:dayTimeDurationDuration
 Duration newDurationDayTime(String lexicalRepresentation)
          通过解析其 String 表示形式 "PnDTnHnMnS"(XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration)创建类型为 xdt:dayTimeDurationDuration
 Duration newDurationYearMonth(boolean isPositive, BigInteger year, BigInteger month)
          使用 XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration 中定义的指定 yearmonth 创建类型为 xdt:yearMonthDurationDuration
 Duration newDurationYearMonth(boolean isPositive, int year, int month)
          使用 XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration 中定义的指定 yearmonth 创建类型为 xdt:yearMonthDurationDuration
 Duration newDurationYearMonth(long durationInMilliseconds)
          使用 XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration 中定义的指定毫秒创建类型为 xdt:yearMonthDurationDuration
 Duration newDurationYearMonth(String lexicalRepresentation)
          通过解析其 String 表示形式 "PnYnM"(XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration)创建类型为 xdt:yearMonthDurationDuration
static DatatypeFactory newInstance()
          获取新的 DatatypeFactory 实例。
abstract  XMLGregorianCalendar newXMLGregorianCalendar()
          创建新的 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)
          从 GregorianCalendar 创建 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)
          通过将字符串解析为词汇表示形式,创建新的 XMLGregorianCalendar。
 XMLGregorianCalendar newXMLGregorianCalendarDate(int year, int month, int day, int timezone)
          创建 XML Schema 内置数据类型 dateg* 的 Java 表示形式。
 XMLGregorianCalendar newXMLGregorianCalendarTime(int hours, int minutes, int seconds, BigDecimal fractionalSecond, int timezone)
          创建 XML Schema 内置数据类型 time 的 Java 实例。
 XMLGregorianCalendar newXMLGregorianCalendarTime(int hours, int minutes, int seconds, int timezone)
          创建 XML Schema 内置数据类型 time 的 Java 实例。
 XMLGregorianCalendar newXMLGregorianCalendarTime(int hours, int minutes, int seconds, int milliseconds, int timezone)
          创建 XML Schema 内置数据类型 time 的 Java 实例。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

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。

默认值为 com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl

另请参见:
常量字段值
构造方法详细信息

DatatypeFactory

protected DatatypeFactory()

受到保护的构造方法,以防止包外实例化。

使用 newInstance() 创建 DatatypeFactory

方法详细信息

newInstance

public static DatatypeFactory newInstance()
                                   throws DatatypeConfigurationException

获取新的 DatatypeFactory 实例。

在此 Class 的文档中定义实现解析机制。

返回:
新的 DocumentBuilderFactory 实例
抛出:
DatatypeConfigurationException - 如果该实现不可用,或者无法实例化。

newDuration

public abstract Duration newDuration(String lexicalRepresentation)

获取新的 Duration 实例,它根据 XML Schema 1.0 第 3.2.6.1 节中的定义将 Duration 指定为其字符串表示形式 "PnYnMnDTnHnMnS"。

XML Schema 第二部分 Datatypes 中的 3.2.6 小节 duration 将 duration 定义为:

持续时间表示某一时间段。持续时间的值空间是六维空间,其中坐标分别指定 [ISO 8601] 的第 5.5.3.2 节中定义的 Gregorian year、month、day、hour、minute 和 second 组件。这些组件根据其重要性按其出现顺序(即按 year、month、day、hour、minute 和 second)排序。

从创建的 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 第二部分 Datatypes 中的 3.2.6 小节将 duration 定义为:

持续时间表示某一时间段。持续时间的值空间是六维空间,其中坐标分别指定 [ISO 8601] 的第 5.5.3.2 节中定义的 Gregorian year、month、day、hour、minute 和 second 组件。这些组件根据其重要性按其出现顺序(即按 year、month、day、hour、minute 和 second)排序。

通过计算指定毫秒的值设置所有六个值,并可以使用创建的 Durationget 方法来使用它们。该值符合以下规范并由其定义:

GregorianCalendar 使用的历元开始时间定义默认开始实例:即 Calendar.YEAR = 1970、Calendar.MONTH = Calendar.JANUARYCalendar.DATE = 1 等。这非常重要,因为阳历中存在变化,即闰年的月 = Calendar.FEBRUARY 会有不同的天数,所以可能影响 Duration.getMonths()Duration.getDays() 的结果。

参数:
durationInMilliSeconds - 要创建的以毫秒为单位的 Duration。
返回:
表示 durationInMilliSeconds 的新 Duration

newDuration

public abstract Duration newDuration(boolean isPositive,
                                     BigInteger years,
                                     BigInteger months,
                                     BigInteger days,
                                     BigInteger hours,
                                     BigInteger minutes,
                                     BigDecimal seconds)

获取 Duration 的新实例,它将 Duration 指定为正数的年、月、日、时、分、秒。

XML Schema 规范说明值可以为任意大小。实现可以选择不(或不能)支持任意大和/或小的值。如果超过实现容量,则抛出 UnsupportedOperationException 和指示实现限制的消息。

null 值指示不设置字段。

参数:
isPositive - 设置为 false 将创建负的 Duration。当 Duration 的长度为零时,将忽略此参数。
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 指定为正数的年、月、日、时、分、秒。

DatatypeConstants.FIELD_UNDEFINED 值指示不设置字段。

参数:
isPositive - 设置为 false 将创建负的 Duration。当 Duration 的长度为零时,将忽略此参数。
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)

通过解析其 String 表示形式 "PnDTnHnMnS"(XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration)创建类型为 xdt:dayTimeDurationDuration

数据类型 xdt:dayTimeDurationxs:duration 的子类型,其词汇表示形式仅包含 day、hour、minute 和 second 组件。此数据类型位于名称空间 http://www.w3.org/2003/11/xpath-datatypes 中。

从创建的 Duration 设置并使用所有四个值。

XML Schema 规范说明值可以为任意大小。实现可以选择不(或不能)支持任意大和/或小的值。如果超过实现容量,则抛出 UnsupportedOperationException 和指示实现限制的消息。

参数:
lexicalRepresentation - Duration 的词汇表示形式。
返回:
使用指定 lexicalRepresentation 创建的新 Duration
抛出:
IllegalArgumentException - 如果给定的字符串不符合上述规范。
UnsupportedOperationException - 如果实现无法支持请求值。
NullPointerException - 如果 lexicalRepresentationnull

newDurationDayTime

public Duration newDurationDayTime(long durationInMilliseconds)

使用 XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration 中定义的指定毫秒创建类型为 xdt:dayTimeDurationDuration

数据类型 xdt:dayTimeDurationxs:duration 的子类型,其词汇表示形式仅包含 day、hour、minute 和 second 组件。此数据类型位于名称空间 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
另请参见:
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)

使用 XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration 中定义的指定 dayhourminutesecond 创建类型为 xdt:dayTimeDurationDuration

数据类型 xdt:dayTimeDurationxs:duration 的子类型,其词汇表示形式仅包含 day、hour、minute 和 second 组件。此数据类型位于名称空间 http://www.w3.org/2003/11/xpath-datatypes 中。

XML Schema 规范说明值可以为任意大小。实现可以选择不(或不能)支持任意大和/或小的值。如果超过实现容量,则抛出 UnsupportedOperationException 和指示实现限制的消息。

null 值指示不设置字段。

参数:
isPositive - 设置为 false 将创建负的 Duration。当 Duration 的长度为零时,将忽略此参数。
day - Duration 的日。
hour - Duration 的时。
minute - Duration 的分。
second - Duration 的秒。
返回:
使用指定的 dayhourminutesecond 创建新的 Duration
抛出:
IllegalArgumentException - 如果任何值创建一个无效的 Duration
UnsupportedOperationException - 如果实现无法支持请求值。

newDurationDayTime

public Duration newDurationDayTime(boolean isPositive,
                                   int day,
                                   int hour,
                                   int minute,
                                   int second)

使用 XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration 中定义的指定 dayhourminutesecond 创建类型为 xdt:dayTimeDurationDuration

数据类型 xdt:dayTimeDurationxs:duration 的子类型,其词汇表示形式仅包含 day、hour、minute 和 second 组件。此数据类型位于名称空间 http://www.w3.org/2003/11/xpath-datatypes 中。

DatatypeConstants.FIELD_UNDEFINED 值指示不设置字段。

参数:
isPositive - 设置为 false 将创建负的 Duration。当 Duration 的长度为零时,将忽略此参数。
day - Duration 的日。
hour - Duration 的时。
minute - Duration 的分。
second - Duration 的秒。
返回:
使用指定的 dayhourminutesecond 创建新的 Duration
抛出:
IllegalArgumentException - 如果任何值创建一个无效的 Duration

newDurationYearMonth

public Duration newDurationYearMonth(String lexicalRepresentation)

通过解析其 String 表示形式 "PnYnM"(XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration)创建类型为 xdt:yearMonthDurationDuration

数据类型 xdt:yearMonthDurationxs:duration 的子类型,其词汇表示形式仅包含 year 和 month 组件。此数据类型位于名称空间 XMLConstants.W3C_XPATH_DATATYPE_NS_URI 中。

从创建的 Duration 设置并使用这两个值

XML Schema 规范说明值可以为任意大小。实现可以选择不(或不能)支持任意大和/或小的值。如果超过实现容量,则抛出 UnsupportedOperationException 和指示实现限制的消息。

参数:
lexicalRepresentation - Duration 的词汇表示形式。
返回:
使用指定 lexicalRepresentation 创建的新 Duration
抛出:
IllegalArgumentException - 如果 lexicalRepresentation 不符合规范。
UnsupportedOperationException - 如果实现无法支持请求值。
NullPointerException - 如果 lexicalRepresentationnull

newDurationYearMonth

public Duration newDurationYearMonth(long durationInMilliseconds)

使用 XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration 中定义的指定毫秒创建类型为 xdt:yearMonthDurationDuration

数据类型 xdt:yearMonthDurationxs:duration 的子类型,其词汇表示形式仅包含 year 和 month 组件。此数据类型位于名称空间 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)

使用 XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration 中定义的指定 yearmonth 创建类型为 xdt:yearMonthDurationDuration

XML Schema 规范说明值可以为任意大小。实现可以选择不(或不能)支持任意大和/或小的值。如果超过实现容量,则抛出 UnsupportedOperationException 和指示实现限制的消息。

null 值指示不设置字段。

参数:
isPositive - 设置为 false 将创建负的 Duration。当 Duration 的长度为零时,将忽略此参数。
year - Duration 的年。
month - Duration 的月。
返回:
使用指定的 yearmonth 创建的新 Duration
抛出:
IllegalArgumentException - 如果任何值创建一个无效的 Duration
UnsupportedOperationException - 如果实现无法支持请求值。

newDurationYearMonth

public Duration newDurationYearMonth(boolean isPositive,
                                     int year,
                                     int month)

使用 XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration 中定义的指定 yearmonth 创建类型为 xdt:yearMonthDurationDuration

DatatypeConstants.FIELD_UNDEFINED 值指示不设置字段。

参数:
isPositive - 设置为 false 将创建负的 Duration。当 Duration 的长度为零时,将忽略此参数。
year - Duration 的年。
month - Duration 的月。
返回:
使用指定的 yearmonth 创建的新 Duration
抛出:
IllegalArgumentException - 如果任何值创建一个无效的 Duration

newXMLGregorianCalendar

public abstract XMLGregorianCalendar newXMLGregorianCalendar()

创建新的 XMLGregorianCalendar 实例。

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

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

newXMLGregorianCalendar

public abstract XMLGregorianCalendar newXMLGregorianCalendar(String lexicalRepresentation)

通过将字符串解析为词汇表示形式,创建新的 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 日期/时间数据数型之一的词汇表示形式。
返回:
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 的 fractionalSecond。
timezone - 要创建的 XMLGregorianCalendar 的时区。
返回:
从指定值创建的 XMLGregorianCalendar
抛出:
IllegalArgumentException - 如果任何单个参数的值超出由 XMLGregorianCalendar 中词汇 Data Mapping 表确定的字段的最大值约束,或者复合值组成由 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 中词汇 Data Mapping 表确定的字段的最大值约束,或者复合值组成由 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 中词汇 Data Mapping 表确定的字段的最大值约束,或者复合值组成由 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 - 以分钟为单位的偏移量。DatatypeConstants.FIELD_UNDEFINED 指示未设置可选字段。
返回:
从参数值创建的 XMLGregorianCalendar
抛出:
IllegalArgumentException - 如果任何单个参数的值超出由 XMLGregorianCalendar 中词汇 Data Mapping 表确定的字段的最大值约束,或者复合值组成由 XMLGregorianCalendar.isValid() 确定的无效 XMLGregorianCalendar 实例。
另请参见:
DatatypeConstants.FIELD_UNDEFINED

newXMLGregorianCalendarTime

public XMLGregorianCalendar newXMLGregorianCalendarTime(int hours,
                                                        int minutes,
                                                        int seconds,
                                                        BigDecimal fractionalSecond,
                                                        int timezone)

创建 XML Schema 内置数据类型 time 的 Java 实例。

null 值指示不设置字段。

DatatypeConstants.FIELD_UNDEFINED 值指示不设置字段。

参数:
hours - 小时数
minutes - 分钟数
seconds - 秒数
fractionalSecond - null 的值,它指示未设置此可选字段。
timezone - 以分为单位的偏移量。DatatypeConstants.FIELD_UNDEFINED 指示未设置可选字段。
返回:
从参数值创建的 XMLGregorianCalendar
抛出:
IllegalArgumentException - 如果任何单个参数的值超出由 XMLGregorianCalendar 中词汇 Data Mapping 表确定的字段的最大值约束,或者复合值组成由 XMLGregorianCalendar.isValid() 确定的无效 XMLGregorianCalendar 实例。
另请参见:
DatatypeConstants.FIELD_UNDEFINED

newXMLGregorianCalendarTime

public XMLGregorianCalendar newXMLGregorianCalendarTime(int hours,
                                                        int minutes,
                                                        int seconds,
                                                        int milliseconds,
                                                        int timezone)

创建 XML Schema 内置数据类型 time 的 Java 实例。

DatatypeConstants.FIELD_UNDEFINED 值指示不设置字段。

参数:
hours - 小时数
minutes - 分钟数
seconds - 秒数
milliseconds - 毫秒数
timezone - 以分钟为单位的偏移量。DatatypeConstants.FIELD_UNDEFINED 指示未设置可选字段。
返回:
从参数值创建的 XMLGregorianCalendar
抛出:
IllegalArgumentException - 如果任何单个参数的值超出由 XMLGregorianCalendar 中词汇 Data Mapping 表确定的字段的最大值约束,或者复合值组成由 XMLGregorianCalendar.isValid() 确定的无效 XMLGregorianCalendar 实例。
另请参见:
DatatypeConstants.FIELD_UNDEFINED

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策