Les caractéristiques permettent d'activer ou de désactiver des fonctionnalités spécifiques comme la prise en compte des espaces de noms ou la validation des documents XML.

Les propriétés fournissent des informations à propos du document XML, à l'instar du numéro de version XML ou la partie du document qui a produit l'évenement en cours.

Les caractéristiques et les propriétés sont accessibles et modifiables en les appelant par une URI. Les adresses URI sont le produit d'une concaténation de leur nom avec l'adresse http://xml.org/sax/(features|properties)/.

http://xml.org/sax/features/external-general-entities
http://xml.org/sax/features/namespaces
http://xml.org/sax/features/validation
http://xml.org/sax/properties/document-xml-version
http://xml.org/sax/properties/xml-string
CaractéristiqueMode d'accèsValeur par défaut
Description
external-general-entities Lecture/Ecriture non-spécifié
indique si l'analyseur doit traiter les entités générales externes. La valeur vaut toujours true si validating = true.
external-parameter-entities Lecture/Ecriture non-spécifié
indique si l'analyseur doit traiter les entités paramètres externes. La valeur vaut toujours true si validating = true.
is-standalone (analyse) Lecture seule, (pas d'analyse) none non-applicable
peut être examiné seulement durant une analyse et après le rappel de la méthode startDocument() (Lecture seule). La valeur est true si l'attribut standalone du prologue XML vaut yes.
lexical-handler/parameter-entities Lecture/Ecriture non-spécifié
indique que l'objet LexicalHandler rapportera le début et la fin des entités paramètres.
namespaces Lecture/Ecriture true
indique que les URI d'espaces de noms et les noms locaux non-préfixés pour les noms d'élément et d'attribut seront disponibles.
namespace-prefixes Lecture/Ecriture false
indique que les noms qualifiés (préfixe/nomLocal) et les attributs incluant les déclarations xmlns seront disponibles.
resolve-dtd-uris Lecture/Ecriture true
indique que les ID systèmes dans les déclarations seront convertis en URI absolues avant leur notification. Au contraire, les ID systèmes ne seront pas convertis, mais les analyseurs fourniraient l'URI de base à partir de la méthode Locator.getSystemId(). Cela s'applique aux ID systèmes passés dans les méthodes DTDHandler.notationDecl(), DTDHandler.unparsedEntityDecl(), et DeclHandler.externalEntityDecl()..
string-interning Lecture/Ecriture non-spécifié
possède une valeur true si tous les noms XML en plus des URI d'espace de noms auraient été assignées (interned) en utilisant Java. Ceci supporte des tests rapides d'égalité/inégalité sur des constantes textuelles plutôt que de forcer des appels plus lents à String.equals().
unicode-normalization-checking Lecture/Ecriture false
notifie les erreurs de normalisation Unicode avec la méthode ErrorHandler.error(). Ces erreurs ne sont pas fatales dans la plupart des cas.
use-attributes2 Lecture seule non-applicable
indique si les objets Attribute passés par l'analyseur dans la méthode ContentHandler.startElement() implémentent l'interface org.xml.sax.ext.Attributes2.
use-locator2 Lecture seule non-applicable
indique si les objets Locator passés par l'analyseur dans la méthode ContentHandler.setDocumentLocator(), implémentent l'interface org.xml.sax.ext.Locator2.
use-entity-resolver2 Lecture/Ecriture true
indique s'il est passé à la méthode setEntityResolver() un objet implémentant l'interface org.xml.sax.ext.EntityResolver2, ces nouvelles méthodes seront employées.
validation Lecture/Ecriture non-spécifié
indique si l'analyseur rapporte toutes les erreurs de validité. Si la valeur est true, toutes les entités externes seront lues.
xmlns-uris Lecture/Ecriture false
si la caractéristique namespace-prefixes est fixée, vérifie que l'analyseur traite les attributs de déclaration d'espace de noms comme étant dans l'espace de noms http://www.w3.org/2000/xmlns/. Par défaut, SAX 2 se conforme à la recommandation Namespaces in XML, laquelle déclare explicitement que les attributs ne sont dans aucun espace de noms.
xml-1.1 Lecture seule non-applicable
indique si l'analyseur supporte la version XML 1.1 (true) ou XML 1.0 (false).
PropriétésMode d'accès
Description
declaration-handlerLecture/Ecriture
utilisé pour voir la plupart des déclarations DTD, à l'exception de celles traitées lexicalement. L'objet doit implémenter org.xml.sax.ext.DeclHandler.
document-xml-versionLecture seule
fournit une chaîne de caractères décrivant la version XML ("1.0" ou "1.1").
dom-nodeLecture/Ecriture
est utilisé pour spécifier l'arborescence DOM exploitée par l'analyseur. L'objet doit implémenter l'interface org.w3c.dom.Node.
lexical-handlerLecture/Ecriture
utilisé pour voir certains événements de syntaxe essentiels pour certaines applications comme les commentaires, les délimiteurs de commentaires, de sections CDATA et de DTD. L'objet doit implémenter l'interface org.xml.sax.ext.LexicalHandler.
xml-stringLecture seule
expose la partie du document XML responsable de l'événement courant.