public abstract class DocumentBuilderFactory extends Object
Модификатор | Конструктор и Описание |
---|---|
protected |
DocumentBuilderFactory()
Защищенный конструктор, чтобы предотвратить инстанцирование.
|
Модификатор и Тип | Метод и Описание |
---|---|
abstract Object |
getAttribute(String name)
Позволяет пользователю получать определенные атрибуты на базовой реализации.
|
abstract boolean |
getFeature(String name)
Получите состояние именованной функции.
|
Схема |
getSchema()
Добирается
Schema объект, определенный через setSchema(Schema schema) метод. |
boolean |
isCoalescing()
Указывает, конфигурируется ли фабрика, чтобы произвести синтаксические анализаторы, который преобразовывает узлы CDATA в текстовые узлы и добавляет ее к смежному (если любой) текстовый узел.
|
boolean |
isExpandEntityReferences()
Указывает, конфигурируется ли фабрика, чтобы произвести синтаксические анализаторы, которые разворачивают узлы ссылки на сущность.
|
boolean |
isIgnoringComments()
Указывает, конфигурируется ли фабрика, чтобы произвести синтаксические анализаторы, который игнорирует комментарии.
|
boolean |
isIgnoringElementContentWhitespace()
Указывает, конфигурируется ли фабрика, чтобы произвести синтаксические анализаторы, которые игнорируют игнорируемый пробел в контенте элемента.
|
boolean |
isNamespaceAware()
Указывает, конфигурируется ли фабрика, чтобы произвести синтаксические анализаторы, которые являются знающим пространством имен.
|
boolean |
isValidating()
Указывает, конфигурируется ли фабрика, чтобы произвести синтаксические анализаторы, которые проверяют контента XML во время синтаксического анализа.
|
boolean |
isXIncludeAware()
Получите состояние обработки XInclude.
|
abstract DocumentBuilder |
newDocumentBuilder()
Создает новый экземпляр a
DocumentBuilder использование в настоящий момент сконфигурированных параметров. |
static DocumentBuilderFactory |
newInstance()
Получите новый экземпляр a
DocumentBuilderFactory . |
static DocumentBuilderFactory |
newInstance(String factoryClassName, ClassLoader classLoader)
Получите новый экземпляр a
DocumentBuilderFactory с имени class. |
abstract void |
setAttribute(String name, Object value)
Позволяет пользователю устанавливать определенные атрибуты на базовой реализации.
|
void |
setCoalescing(boolean coalescing)
Определяет, что синтаксический анализатор, произведенный этим кодом, преобразует узлы CDATA в текстовые узлы и добавит его к смежному (если любой) текстовый узел.
|
void |
setExpandEntityReferences(boolean expandEntityRef)
Определяет, что синтаксический анализатор, произведенный этим кодом, развернет узлы ссылки на сущность.
|
abstract void |
setFeature(String name, boolean value)
Установите функцию этого
DocumentBuilderFactory и DocumentBuilder s создаваемый этой фабрикой. |
void |
setIgnoringComments(boolean ignoreComments)
Определяет, что синтаксический анализатор, произведенный этим кодом, проигнорирует комментарии.
|
void |
setIgnoringElementContentWhitespace(boolean whitespace)
Определяет, что синтаксические анализаторы, создаваемые этой фабрикой, должны устранить пробел в контенте элемента (иногда известный свободно как 'игнорируемый пробел'), анализируя XML-документы (см. XML Rec 2.10).
|
void |
setNamespaceAware(boolean awareness)
Определяет, что синтаксический анализатор, произведенный этим кодом, окажет поддержку для пространств имен XML.
|
void |
setSchema(Schema schema)
Установите
Schema использоваться синтаксическими анализаторами, создаваемыми из этой фабрики. |
void |
setValidating(boolean validating)
Определяет, что синтаксический анализатор, произведенный этим кодом, проверит документов, поскольку они анализируются.
|
void |
setXIncludeAware(boolean state)
Состояние набора обработки XInclude.
|
protected DocumentBuilderFactory()
Защищенный конструктор, чтобы предотвратить инстанцирование. Использовать newInstance()
.
public static DocumentBuilderFactory newInstance()
DocumentBuilderFactory
. Этот статический метод создает новый экземпляр фабрики. Этот метод использует следующую упорядоченную процедуру поиска, чтобы определить DocumentBuilderFactory
реализация class, чтобы загрузиться: javax.xml.parsers.DocumentBuilderFactory
системное свойство. java.util.Properties
отформатируйте и содержит полностью определенное имя реализации class с ключом, являющимся системным свойством, определенным выше. jaxp.properties файл только для чтения однажды реализацией JAXP, и это - значения, тогда кэшируются для будущего использования. Если файл не существует, когда первая попытка предпринимается, чтобы читать из него, никакие дальнейшие попытки не предпринимаются, чтобы проверить на ее существование. Не возможно изменить значение любого свойства в jaxp.properties после того, как это было считано впервые. ServiceLoader
class, чтобы попытаться расположиться и загрузить реализацию службы. DocumentBuilderFactory
это может использовать фабрику, чтобы сконфигурировать и получить экземпляры синтаксического анализатора. Установка jaxp.debug
системное свойство заставит этот метод печатать много сообщений отладки к System.err
о каком это делает и где это смотрит на.
Если у Вас есть проблемы, загружаясь DocumentBuilder
s, попробуйте:
java -Djaxp.debug=1 YourProgram ....
DocumentBuilderFactory
FactoryConfigurationError
- в случае ошибки конфигурации службы или если реализация не доступна или не может быть инстанцирована.public static DocumentBuilderFactory newInstance(String factoryClassName, ClassLoader classLoader)
Получите новый экземпляр a DocumentBuilderFactory
с имени class. Эта функция полезна, когда есть многократные провайдеры в пути к классу. Это дает больше контроля к приложению, поскольку это может определить, какой провайдер должен быть загружен.
Как только приложение получило ссылку на a DocumentBuilderFactory
это может использовать фабрику, чтобы сконфигурировать и получить экземпляры синтаксического анализатора.
Установка jaxp.debug
системное свойство заставит этот метод печатать много сообщений отладки к System.err
о каком это делает и где это смотрит на.
Если у Вас есть попытка задач:
java -Djaxp.debug=1 YourProgram ....
factoryClassName
- полностью определенное имя class фабрики, которое обеспечивает реализацию javax.xml.parsers.DocumentBuilderFactory
.classLoader
- ClassLoader
используемый, чтобы загрузить фабрику class. Если null
ток Thread
's контекст classLoader используется, чтобы загрузить фабрику class.DocumentBuilderFactory
FactoryConfigurationError
- если factoryClassName
null
, или фабрика class не может быть загружена, инстанцирована.newInstance()
public abstract DocumentBuilder newDocumentBuilder() throws ParserConfigurationException
DocumentBuilder
использование в настоящий момент сконфигурированных параметров.ParserConfigurationException
- если DocumentBuilder не может быть создан, который удовлетворяет конфигурацию, которую требуют.public void setNamespaceAware(boolean awareness)
false
awareness
- истина, если произведенный синтаксический анализатор окажет поддержку для пространств имен XML; ложь иначе.public void setValidating(boolean validating)
false
. Отметьте, что "проверка допустимости" здесь означает
Чтобы использовать современные языки схемы, такие как XML-схема W3C или ОСЛАБИТЬ НАНОГРАММ вместо DTD, можно сконфигурировать свой синтаксический анализатор, чтобы быть синтаксическим анализатором непроверки допустимости, уезжая setValidating(boolean)
метод false
, тогда используйте setSchema(Schema)
метод, чтобы связать схему к синтаксическому анализатору.
validating
- истина, если произведенный синтаксический анализатор проверит документов, поскольку они анализируются; ложь иначе.public void setIgnoringElementContentWhitespace(boolean whitespace)
false
.whitespace
- истина, если создаваемый синтаксический анализатор должен устранить пробел в контенте элемента, анализируя XML-документы; ложь иначе.public void setExpandEntityReferences(boolean expandEntityRef)
true
expandEntityRef
- истина, если произведенный синтаксический анализатор развернет узлы ссылки на сущность; ложь иначе.public void setIgnoringComments(boolean ignoreComments)
Определяет, что синтаксический анализатор, произведенный этим кодом, проигнорирует комментарии. По умолчанию значение этого устанавливается в false
.
ignoreComments
- boolean
значение, чтобы проигнорировать комментарии во время обработкиpublic void setCoalescing(boolean coalescing)
false
coalescing
- истина, если произведенный синтаксический анализатор преобразует узлы CDATA в текстовые узлы и добавит это к смежному (если кто-либо) текстовый узел; ложь иначе.public boolean isNamespaceAware()
public boolean isValidating()
public boolean isIgnoringElementContentWhitespace()
public boolean isExpandEntityReferences()
public boolean isIgnoringComments()
public boolean isCoalescing()
public abstract void setAttribute(String name, Object value) throws IllegalArgumentException
Все реализации, которые реализуют JAXP 1.5 или более новый, обязаны поддерживать XMLConstants.ACCESS_EXTERNAL_DTD
и XMLConstants.ACCESS_EXTERNAL_SCHEMA
свойства.
Установка XMLConstants.ACCESS_EXTERNAL_DTD
свойство ограничивает доступ к внешним DTD, внешним Ссылкам на сущность на протоколы, определенные свойством. Если доступ лишается во время парсинга из-за ограничения этого свойства, SAXException
будет брошен методами синтаксического анализа, определенными DocumentBuilder
.
Установка XMLConstants.ACCESS_EXTERNAL_SCHEMA
свойство ограничивает доступ к внешней Схеме, установленной атрибутом schemaLocation в протоколы, определенные свойством. Если доступ лишается во время парсинга из-за ограничения этого свойства, SAXException
будет брошен методами синтаксического анализа, определенными DocumentBuilder
.
name
- Имя атрибута.value
- Значение атрибута.IllegalArgumentException
- брошенный, если базовая реализация не распознает атрибут.public abstract Object getAttribute(String name) throws IllegalArgumentException
name
- Имя атрибута.IllegalArgumentException
- брошенный, если базовая реализация не распознает атрибут.public abstract void setFeature(String name, boolean value) throws ParserConfigurationException
Установите функцию этого DocumentBuilderFactory
и DocumentBuilder
s создаваемый этой фабрикой.
Имена функции полностью определяются URI
s. Реализации могут определить свои собственные функции. A ParserConfigurationException
бросается если это DocumentBuilderFactory
или DocumentBuilder
s это создает, не может поддерживать функцию. Это возможно для a DocumentBuilderFactory
представить значение функции, но быть неспособными изменить его состояние.
Все реализации обязаны поддерживать XMLConstants.FEATURE_SECURE_PROCESSING
функция. Когда функция:
true
: реализация ограничит обработку XML, чтобы соответствовать пределам реализации. Примеры включают enity пределы расширения и конструкции XML-схемы, которые использовали бы большое количество ресурсов. Если обработка XML будет ограничена для соображений безопасности, то о ней сообщат через звонок в зарегистрированный ErrorHandler.fatalError(SAXParseException exception)
. См. DocumentBuilder.setErrorHandler(org.xml.sax.ErrorHandler errorHandler)
. false
: реализация будет, обрабатывая XML согласно спецификациям XML без отношения к возможным пределам реализации. name
- Имя функции.value
- Состояние функции true
или false
.ParserConfigurationException
- если это DocumentBuilderFactory
или DocumentBuilder
s это создает, не может поддерживать эту функцию.NullPointerException
- Если name
параметр является нулем.public abstract boolean getFeature(String name) throws ParserConfigurationException
Получите состояние именованной функции.
Имена функции полностью определяются URI
s. Реализации могут определить свои собственные функции. ParserConfigurationException
бросается если это DocumentBuilderFactory
или DocumentBuilder
s это создает, не может поддерживать функцию. Это возможно для DocumentBuilderFactory
представить значение функции, но быть неспособными изменить его состояние.
name
- Имя функции.ParserConfigurationException
- если это DocumentBuilderFactory
или DocumentBuilder
s это создает, не может поддерживать эту функцию.public Schema getSchema()
Schema
объект, определенный через setSchema(Schema schema)
метод.Schema
объект, который был последним набором через setSchema(Schema)
метод, или нуль, если метод не был вызван с тех пор a DocumentBuilderFactory
создается.UnsupportedOperationException
- Когда реализация не переопределяет этот метод.public void setSchema(Schema schema)
Установите Schema
использоваться синтаксическими анализаторами, создаваемыми из этой фабрики.
Когда a Schema
ненуль, синтаксический анализатор будет использовать блок проверки допустимости, создаваемый из него, чтобы проверить документов прежде, чем он передаст информацию к приложению.
Когда ошибки находятся блоком проверки допустимости, синтаксический анализатор ответственен, чтобы сообщить о них определенному пользователем ErrorHandler
(или если обработчик ошибок не устанавливается, проигнорируйте их или бросьте их), точно так же как любые другие ошибки, найденные синтаксическим анализатором непосредственно. Другими словами, если определенный пользователем ErrorHandler
устанавливается, это должно получить те ошибки, и в противном случае они должны быть обработаны согласно реализации определенные правила обработки ошибок значения по умолчанию.
Блок проверки допустимости может изменить результат синтаксического анализа (например, добавляя значения по умолчанию, которые отсутствовали в документах), и синтаксический анализатор ответственен, чтобы удостовериться, что приложение получит, изменил деревья ДОМА.
Initialy, нуль устанавливается как Schema
.
Эта обработка вступит в силу даже если isValidating()
возвраты метода false
.
Это - ошибка использовать http://java.sun.com/xml/jaxp/properties/schemaSource
свойство и/или http://java.sun.com/xml/jaxp/properties/schemaLanguage
свойство в соединении с a Schema
объект. Такая конфигурация вызовет a ParserConfigurationException
исключение, когда newDocumentBuilder()
вызывается.
Синтаксический анализатор должен быть в состоянии работать с любым Schema
реализация. Однако, синтаксическим анализаторам и схемам позволяют использовать специфичные для реализации пользовательские механизмы, пока они приводят к результату, описанному в спецификации.
schema
- Schema
использовать или null
удалить схему.UnsupportedOperationException
- Когда реализация не переопределяет этот метод.public void setXIncludeAware(boolean state)
Состояние набора обработки XInclude.
Если разметка XInclude находится в экземпляре документа, должен это обрабатываться как определено во
XInclude обработка значений по умолчанию к false
.
state
- Набор XInclude, обрабатывающий к true
или false
UnsupportedOperationException
- Когда реализация не переопределяет этот метод.public boolean isXIncludeAware()
Получите состояние обработки XInclude.
UnsupportedOperationException
- Когда реализация не переопределяет этот метод.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92