jaxe
Class SchemaW3C

java.lang.Object
  extended by jaxe.SchemaW3C
All Implemented Interfaces:
InterfaceSchema

public class SchemaW3C
extends java.lang.Object
implements InterfaceSchema

Utilisation d'un schéma W3C


Nested Class Summary
private static class SchemaW3C.TypeObjetSchema
           
 
Field Summary
private  java.util.HashMap<org.w3c.dom.Element,java.util.ArrayList<org.w3c.dom.Element>> cacheAttributs
           
private  java.util.HashMap<org.w3c.dom.Element,java.util.ArrayList<org.w3c.dom.Element>> cacheSousElements
           
private  java.util.HashMap<org.w3c.dom.Element,java.util.Set<org.w3c.dom.Element>> cacheSubst
           
private  Config cfg
           
private  java.util.ArrayList<java.net.URI> fichiersInclus
           
private  java.util.HashMap<java.lang.String,java.lang.String> hashPrefixes
           
private  java.util.HashMap<java.lang.String,java.util.ArrayList<org.w3c.dom.Element>> htopattgroups
           
private  java.util.HashMap<java.lang.String,java.util.ArrayList<org.w3c.dom.Element>> htopcomptypes
           
private  java.util.HashMap<java.lang.String,java.util.ArrayList<org.w3c.dom.Element>> htopelements
           
private  java.util.HashMap<java.lang.String,java.util.ArrayList<org.w3c.dom.Element>> htopgroups
           
private  java.util.HashMap<java.lang.String,java.util.ArrayList<org.w3c.dom.Element>> htopsimptypes
           
private static org.apache.log4j.Logger LOG
           
private  java.util.ArrayList<org.w3c.dom.Element> ltopelements
           
private  java.util.ArrayList<org.w3c.dom.Element> ltousattgroups
           
private  java.util.ArrayList<org.w3c.dom.Element> ltouselements
           
private  java.util.ArrayList<org.w3c.dom.Element> ltousextensions
           
private  java.util.ArrayList<org.w3c.dom.Element> ltousgroups
           
private static java.lang.String newline
           
private static java.util.ResourceBundle rb
           
private  org.w3c.dom.Element schema
           
private  java.lang.String schemaNamespace
           
private  java.util.HashMap<org.w3c.dom.Element,java.util.ArrayList<org.w3c.dom.Element>> substitutions
           
private  java.lang.String targetNamespace
           
 
Constructor Summary
SchemaW3C(java.net.URL schemaURL, Config cfg)
           
 
Method Summary
private static void addNodeList(java.util.ArrayList<org.w3c.dom.Element> l, org.w3c.dom.NodeList nl)
          Ajoute tous les éléments d'une NodeList à une ArrayList de Element, en supposant que tous les éléments de la NodeList sont des org.w3c.dom.Element.
 boolean aEspace(java.lang.String espace)
          Renvoie true si l'espace de nom est défini dans le schéma
private  void ajSubst(org.w3c.dom.Element el, java.lang.String nomel, java.util.Set<org.w3c.dom.Element> liste)
           
private  void ajSubst2(org.w3c.dom.Element el, java.lang.String nomel, java.util.Set<org.w3c.dom.Element> liste)
           
 boolean attributValide(org.w3c.dom.Element refAttribut, java.lang.String valeur)
          Renvoie true si la valeur donnée est une valeur valide pour l'attribut
private  org.w3c.dom.Element chercherPremier(SchemaW3C.TypeObjetSchema type, java.lang.String nom)
          Renvoie le premier objet du schéma avec le type et le nom donnés, ou null si rien de correspondant n'est trouvé.
private  org.w3c.dom.Element chercherPremier(SchemaW3C.TypeObjetSchema type, java.lang.String nom, java.lang.String espace)
          Renvoie le premier objet du schéma avec le type, le nom et l'espace de noms donnés, ou null si rien de correspondant n'est trouvé.
 boolean contientDuTexte(org.w3c.dom.Element refElement)
          Renvoie true si l'élément dont on donne la référence peut contenir du texte
 java.lang.String documentationAttribut(org.w3c.dom.Element refAttribut)
          Renvoie la documentation d'un attribut à partir de sa référence
 java.lang.String documentationElement(org.w3c.dom.Element refElement)
          Renvoie la documentation d'un élément dont on donne la référence (sous forme de texte simple, ou de HTML 3 pour faire des sauts de lignes)
 boolean elementDansSchema(org.w3c.dom.Element refElement)
          Renvoie true si la référence vient de ce schéma
 boolean elementObligatoire(org.w3c.dom.Element refParent, org.w3c.dom.Element refEnfant)
          Renvoit true si l'enfant est obligatoire sous le parent.
private  java.util.ArrayList<org.w3c.dom.Element> enfants(org.w3c.dom.Element parent, java.lang.String tag)
          Renvoie la liste des éléments enfants d'un élément donné ayant un nom donné (getElementsByTagName renvoit tous les descendants, alors qu'ici on cherche juste les enfants de premier niveau)
 boolean enfantsMultiples(org.w3c.dom.Element refParent, org.w3c.dom.Element refEnfant)
          Renvoit true si le parent peut avoir des enfants multiples avec la référence refEnfant.
 java.lang.String espaceAttribut(org.w3c.dom.Element refAttribut)
          Renvoie l'espace de noms d'un attribut à partir de sa référence
 java.lang.String espaceAttribut(java.lang.String nomAttribut)
          Renvoie l'espace de noms d'un attribut à partir de son nom complet (avec le préfixe s'il y en a un)
 java.lang.String espaceCible()
          Renvoie l'espace de noms cible du schéma (attribut targetNamespace avec WXS)
 java.lang.String espaceElement(org.w3c.dom.Element refElement)
          Renvoie l'espace de nom de l'élément dont la référence est passée en paramètre, un String vide si targetNamespace est vide, ou null si l'espace de noms n'est pas défini.
 boolean estObligatoire(org.w3c.dom.Element refAttribut)
          Renvoie true si un attribut est obligatoire, à partir de sa définition
 java.lang.String expressionReguliere(org.w3c.dom.Element refParent, boolean modevisu, boolean modevalid)
          Expression régulière correspondant au schéma pour un élément parent donné
private  java.lang.String expressionReguliere(org.w3c.dom.Element sparent, int niveau, boolean modechoice, boolean modevisu, boolean modepasnul, int imodepasnul, boolean modevalid, boolean[] annulable)
          Expression régulière correspondant au schéma pour un élément parent donné problème 1: l'utilisateur entre les données au fur et à mesure, tout doit donc être facultatif problème 2: jakarta-regexp et les possessive quantifiers n'acceptent pas des expressions comme (a?
private static java.net.URL getParentURL(java.net.URL u)
          Renvoie l'url du répertoire parent du fichier ou répertoire correspondant à l'URL donnée, ou null si l'on ne peut pas déterminer le répertoire parent.
 org.w3c.dom.Element getSchemaTypeElement(java.lang.String nomType, java.lang.String tns)
          Renvoie l'élément simpleType ou complexType avec le nom et l'espace de noms donnés.
private  org.w3c.dom.Element inclusion1(java.net.URL urls)
          Chargement d'un schéma en mémoire.
private  void inclusion2(org.w3c.dom.Element sch, java.net.URL schemadir)
          Chargement d'un schéma en mémoire.
 java.util.ArrayList<org.w3c.dom.Element> listeAttributs(org.w3c.dom.Element refElement)
          Renvoie la liste des références des attributs possibles pour un élément dont on donne la référence en paramètre
 java.util.ArrayList<org.w3c.dom.Element> listeElementsDansEspaces(java.util.Set<java.lang.String> espaces)
          Renvoie les références des éléments qui sont dans les espaces de noms passés en paramètre
 java.util.ArrayList<org.w3c.dom.Element> listeElementsHorsEspace(java.lang.String espace)
          Renvoie les références des éléments qui ne sont pas dans l'espace de noms passé en paramètre
 java.util.ArrayList<org.w3c.dom.Element> listeElementsParents(org.w3c.dom.Element refElement)
          Renvoie la liste des références des parents possibles pour un élément dont la référence est passée en paramètre
 java.util.ArrayList<java.lang.String> listeEspaces()
          Renvoie la liste des espaces de noms (String) utilisés par ce schéma.
 java.util.ArrayList<org.w3c.dom.Element> listeSousElements(org.w3c.dom.Element refParent)
          Renvoie les références des éléments enfants de l'élément dont la référence est passée en paramètre
private  java.util.ArrayList<org.w3c.dom.Element> listeTous(org.w3c.dom.Element parent, java.lang.String tag)
          Renvoie une ArrayList avec tous les éléments descendants d'un élément parent ayant un nom donné.
 java.util.ArrayList<org.w3c.dom.Element> listeTousElements()
          Renvoie les références de tous les éléments du schéma
 java.util.ArrayList<java.lang.String> listeValeursAttribut(org.w3c.dom.Element refAttribut)
          Renvoie la liste des valeurs possibles pour un attribut, à partir de sa référence.
private static java.lang.String localValue(java.lang.String s)
          Renvoie la partie locale du nom d'un élément (en retirant le préfixe)
 java.lang.String nomAttribut(org.w3c.dom.Element refAttribut)
          Renvoie le nom d'un attribut à partir de sa référence
 java.lang.String nomElement(org.w3c.dom.Element refElement)
          Renvoie le nom de l'élément dont la référence est donnée.
 org.w3c.dom.Element parentAttribut(org.w3c.dom.Element refAttribut)
          Renvoie la référence de du premier élément parent d'un attribut à partir de sa référence
private  org.w3c.dom.Element parentExtension(org.w3c.dom.Element ext)
          Renvoie le premier élément parent de l'extension
private  org.w3c.dom.Element parentGroupeAttributs(org.w3c.dom.Element attg)
          Renvoie le premier élément parent du groupe d'attributs
private  org.w3c.dom.Element parentTypeComplexe(org.w3c.dom.Element ct)
          Renvoie le premier élément parent du type complexe
 java.lang.String prefixeElement(org.w3c.dom.Element refElement)
          Renvoie le préfixe à utiliser pour créer un élément dont on donne la référence, ou null s'il n'y en a pas.
 java.lang.String prefixeEspace(java.lang.String espace)
          Renvoie un préfixe à utiliser pour l'espace de noms donné, ou null si aucune suggestion n'est possible
private static java.lang.String prefixeString(java.lang.String nom)
          Renvoie le préfixe d'un nom, ou null s'il n'en a pas.
 org.w3c.dom.Element referenceElement(org.w3c.dom.Element el)
          Renvoie la référence du premier élément du schéma avec le nom et l'espace de noms de l'élément passé en paramètre.
 org.w3c.dom.Element referenceElement(org.w3c.dom.Element el, org.w3c.dom.Element refParent)
          Renvoie la référence du premier élément du schéma avec le nom et l'espace de noms de l'élément passé en paramètre, et avec le parent dont la référence est passée en paramètre.
 org.w3c.dom.Element referenceElement(java.lang.String nom)
          Renvoie la référence du premier élément du schéma avec le nom donné.
private  org.w3c.dom.Element referenceElement(java.lang.String nom, java.lang.String espace)
          Renvoie la référence du premier élément du schéma avec le nom et l'espace de noms passés en paramètre.
private  java.util.ArrayList<org.w3c.dom.Element> sCtAttributs(org.w3c.dom.Element ctdef, java.util.ArrayList<org.w3c.dom.Element> pile)
           
private  java.lang.String sDocumentation(org.w3c.dom.Element balisedef)
          Renvoie la documentation d'un élément ou attribut dont on donne la définition dans le fichier de schéma WXS
private  java.util.ArrayList<org.w3c.dom.Element> sParents(org.w3c.dom.Element refElement)
           
private  java.lang.String substExpr(org.w3c.dom.Element el, java.lang.String nomel, boolean modevisu, boolean modechoice)
          utilisé dans expressionReguliere pour les substitutionGroup
 java.lang.String valeurParDefaut(org.w3c.dom.Element refAttribut)
          Renvoie la valeur par défaut d'un attribut dont la référence est donnée en paramètre
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG

private static final org.apache.log4j.Logger LOG

rb

private static final java.util.ResourceBundle rb

newline

private static final java.lang.String newline

cfg

private final Config cfg

schema

private final org.w3c.dom.Element schema

schemaNamespace

private java.lang.String schemaNamespace

targetNamespace

private java.lang.String targetNamespace

ltopelements

private final java.util.ArrayList<org.w3c.dom.Element> ltopelements

htopelements

private final java.util.HashMap<java.lang.String,java.util.ArrayList<org.w3c.dom.Element>> htopelements

htopgroups

private final java.util.HashMap<java.lang.String,java.util.ArrayList<org.w3c.dom.Element>> htopgroups

htopcomptypes

private final java.util.HashMap<java.lang.String,java.util.ArrayList<org.w3c.dom.Element>> htopcomptypes

htopsimptypes

private final java.util.HashMap<java.lang.String,java.util.ArrayList<org.w3c.dom.Element>> htopsimptypes

htopattgroups

private final java.util.HashMap<java.lang.String,java.util.ArrayList<org.w3c.dom.Element>> htopattgroups

ltouselements

private final java.util.ArrayList<org.w3c.dom.Element> ltouselements

ltousgroups

private final java.util.ArrayList<org.w3c.dom.Element> ltousgroups

ltousattgroups

private final java.util.ArrayList<org.w3c.dom.Element> ltousattgroups

ltousextensions

private final java.util.ArrayList<org.w3c.dom.Element> ltousextensions

substitutions

private final java.util.HashMap<org.w3c.dom.Element,java.util.ArrayList<org.w3c.dom.Element>> substitutions

cacheSubst

private final java.util.HashMap<org.w3c.dom.Element,java.util.Set<org.w3c.dom.Element>> cacheSubst

hashPrefixes

private java.util.HashMap<java.lang.String,java.lang.String> hashPrefixes

cacheAttributs

private java.util.HashMap<org.w3c.dom.Element,java.util.ArrayList<org.w3c.dom.Element>> cacheAttributs

cacheSousElements

private java.util.HashMap<org.w3c.dom.Element,java.util.ArrayList<org.w3c.dom.Element>> cacheSousElements

fichiersInclus

private final java.util.ArrayList<java.net.URI> fichiersInclus
Constructor Detail

SchemaW3C

public SchemaW3C(java.net.URL schemaURL,
                 Config cfg)
Method Detail

elementDansSchema

public boolean elementDansSchema(org.w3c.dom.Element refElement)
Renvoie true si la référence vient de ce schéma

Specified by:
elementDansSchema in interface InterfaceSchema

referenceElement

public org.w3c.dom.Element referenceElement(java.lang.String nom)
Renvoie la référence du premier élément du schéma avec le nom donné.

Specified by:
referenceElement in interface InterfaceSchema

referenceElement

public org.w3c.dom.Element referenceElement(org.w3c.dom.Element el)
Renvoie la référence du premier élément du schéma avec le nom et l'espace de noms de l'élément passé en paramètre.

Specified by:
referenceElement in interface InterfaceSchema

referenceElement

private org.w3c.dom.Element referenceElement(java.lang.String nom,
                                             java.lang.String espace)
Renvoie la référence du premier élément du schéma avec le nom et l'espace de noms passés en paramètre.


referenceElement

public org.w3c.dom.Element referenceElement(org.w3c.dom.Element el,
                                            org.w3c.dom.Element refParent)
Renvoie la référence du premier élément du schéma avec le nom et l'espace de noms de l'élément passé en paramètre, et avec le parent dont la référence est passée en paramètre.

Specified by:
referenceElement in interface InterfaceSchema

nomElement

public java.lang.String nomElement(org.w3c.dom.Element refElement)
Renvoie le nom de l'élément dont la référence est donnée.

Specified by:
nomElement in interface InterfaceSchema

espaceElement

public java.lang.String espaceElement(org.w3c.dom.Element refElement)
Renvoie l'espace de nom de l'élément dont la référence est passée en paramètre, un String vide si targetNamespace est vide, ou null si l'espace de noms n'est pas défini.

Specified by:
espaceElement in interface InterfaceSchema

prefixeElement

public java.lang.String prefixeElement(org.w3c.dom.Element refElement)
Renvoie le préfixe à utiliser pour créer un élément dont on donne la référence, ou null s'il n'y en a pas.

Specified by:
prefixeElement in interface InterfaceSchema

documentationElement

public java.lang.String documentationElement(org.w3c.dom.Element refElement)
Renvoie la documentation d'un élément dont on donne la référence (sous forme de texte simple, ou de HTML 3 pour faire des sauts de lignes)

Specified by:
documentationElement in interface InterfaceSchema

listeEspaces

public java.util.ArrayList<java.lang.String> listeEspaces()
Renvoie la liste des espaces de noms (String) utilisés par ce schéma.

Specified by:
listeEspaces in interface InterfaceSchema

aEspace

public boolean aEspace(java.lang.String espace)
Renvoie true si l'espace de nom est défini dans le schéma

Specified by:
aEspace in interface InterfaceSchema

prefixeEspace

public java.lang.String prefixeEspace(java.lang.String espace)
Renvoie un préfixe à utiliser pour l'espace de noms donné, ou null si aucune suggestion n'est possible

Specified by:
prefixeEspace in interface InterfaceSchema

espaceCible

public java.lang.String espaceCible()
Renvoie l'espace de noms cible du schéma (attribut targetNamespace avec WXS)

Specified by:
espaceCible in interface InterfaceSchema

listeElementsHorsEspace

public java.util.ArrayList<org.w3c.dom.Element> listeElementsHorsEspace(java.lang.String espace)
Renvoie les références des éléments qui ne sont pas dans l'espace de noms passé en paramètre

Specified by:
listeElementsHorsEspace in interface InterfaceSchema

listeElementsDansEspaces

public java.util.ArrayList<org.w3c.dom.Element> listeElementsDansEspaces(java.util.Set<java.lang.String> espaces)
Renvoie les références des éléments qui sont dans les espaces de noms passés en paramètre

Specified by:
listeElementsDansEspaces in interface InterfaceSchema

listeTousElements

public java.util.ArrayList<org.w3c.dom.Element> listeTousElements()
Renvoie les références de tous les éléments du schéma

Specified by:
listeTousElements in interface InterfaceSchema

elementObligatoire

public boolean elementObligatoire(org.w3c.dom.Element refParent,
                                  org.w3c.dom.Element refEnfant)
Renvoit true si l'enfant est obligatoire sous le parent.

Specified by:
elementObligatoire in interface InterfaceSchema

enfantsMultiples

public boolean enfantsMultiples(org.w3c.dom.Element refParent,
                                org.w3c.dom.Element refEnfant)
Renvoit true si le parent peut avoir des enfants multiples avec la référence refEnfant.

Specified by:
enfantsMultiples in interface InterfaceSchema

listeSousElements

public java.util.ArrayList<org.w3c.dom.Element> listeSousElements(org.w3c.dom.Element refParent)
Renvoie les références des éléments enfants de l'élément dont la référence est passée en paramètre

Specified by:
listeSousElements in interface InterfaceSchema

expressionReguliere

public java.lang.String expressionReguliere(org.w3c.dom.Element refParent,
                                            boolean modevisu,
                                            boolean modevalid)
Expression régulière correspondant au schéma pour un élément parent donné

Specified by:
expressionReguliere in interface InterfaceSchema
Parameters:
modevisu - True si on cherche une expression régulière à afficher pour l'utilisateur
modevalid - Pour obtenir une validation stricte au lieu de chercher si une insertion est possible

listeElementsParents

public java.util.ArrayList<org.w3c.dom.Element> listeElementsParents(org.w3c.dom.Element refElement)
Renvoie la liste des références des parents possibles pour un élément dont la référence est passée en paramètre

Specified by:
listeElementsParents in interface InterfaceSchema

listeAttributs

public java.util.ArrayList<org.w3c.dom.Element> listeAttributs(org.w3c.dom.Element refElement)
Renvoie la liste des références des attributs possibles pour un élément dont on donne la référence en paramètre

Specified by:
listeAttributs in interface InterfaceSchema

nomAttribut

public java.lang.String nomAttribut(org.w3c.dom.Element refAttribut)
Renvoie le nom d'un attribut à partir de sa référence

Specified by:
nomAttribut in interface InterfaceSchema

espaceAttribut

public java.lang.String espaceAttribut(org.w3c.dom.Element refAttribut)
Renvoie l'espace de noms d'un attribut à partir de sa référence

Specified by:
espaceAttribut in interface InterfaceSchema

documentationAttribut

public java.lang.String documentationAttribut(org.w3c.dom.Element refAttribut)
Renvoie la documentation d'un attribut à partir de sa référence

Specified by:
documentationAttribut in interface InterfaceSchema

espaceAttribut

public java.lang.String espaceAttribut(java.lang.String nomAttribut)
Renvoie l'espace de noms d'un attribut à partir de son nom complet (avec le préfixe s'il y en a un)

Specified by:
espaceAttribut in interface InterfaceSchema

estObligatoire

public boolean estObligatoire(org.w3c.dom.Element refAttribut)
Renvoie true si un attribut est obligatoire, à partir de sa définition

Specified by:
estObligatoire in interface InterfaceSchema

listeValeursAttribut

public java.util.ArrayList<java.lang.String> listeValeursAttribut(org.w3c.dom.Element refAttribut)
Renvoie la liste des valeurs possibles pour un attribut, à partir de sa référence. Renvoie null s'il y a un nombre infini de valeurs possibles.

Specified by:
listeValeursAttribut in interface InterfaceSchema

valeurParDefaut

public java.lang.String valeurParDefaut(org.w3c.dom.Element refAttribut)
Renvoie la valeur par défaut d'un attribut dont la référence est donnée en paramètre

Specified by:
valeurParDefaut in interface InterfaceSchema

attributValide

public boolean attributValide(org.w3c.dom.Element refAttribut,
                              java.lang.String valeur)
Renvoie true si la valeur donnée est une valeur valide pour l'attribut

Specified by:
attributValide in interface InterfaceSchema

parentAttribut

public org.w3c.dom.Element parentAttribut(org.w3c.dom.Element refAttribut)
Renvoie la référence de du premier élément parent d'un attribut à partir de sa référence

Specified by:
parentAttribut in interface InterfaceSchema

parentTypeComplexe

private org.w3c.dom.Element parentTypeComplexe(org.w3c.dom.Element ct)
Renvoie le premier élément parent du type complexe


parentExtension

private org.w3c.dom.Element parentExtension(org.w3c.dom.Element ext)
Renvoie le premier élément parent de l'extension


parentGroupeAttributs

private org.w3c.dom.Element parentGroupeAttributs(org.w3c.dom.Element attg)
Renvoie le premier élément parent du groupe d'attributs


contientDuTexte

public boolean contientDuTexte(org.w3c.dom.Element refElement)
Renvoie true si l'élément dont on donne la référence peut contenir du texte

Specified by:
contientDuTexte in interface InterfaceSchema

getParentURL

private static java.net.URL getParentURL(java.net.URL u)
Renvoie l'url du répertoire parent du fichier ou répertoire correspondant à l'URL donnée, ou null si l'on ne peut pas déterminer le répertoire parent.


inclusion1

private org.w3c.dom.Element inclusion1(java.net.URL urls)
Chargement d'un schéma en mémoire. Appelle inclusion2.

Parameters:
urls - URL du fichier du schéma WXS

enfants

private java.util.ArrayList<org.w3c.dom.Element> enfants(org.w3c.dom.Element parent,
                                                         java.lang.String tag)
Renvoie la liste des éléments enfants d'un élément donné ayant un nom donné (getElementsByTagName renvoit tous les descendants, alors qu'ici on cherche juste les enfants de premier niveau)


addNodeList

private static void addNodeList(java.util.ArrayList<org.w3c.dom.Element> l,
                                org.w3c.dom.NodeList nl)
Ajoute tous les éléments d'une NodeList à une ArrayList de Element, en supposant que tous les éléments de la NodeList sont des org.w3c.dom.Element.


listeTous

private java.util.ArrayList<org.w3c.dom.Element> listeTous(org.w3c.dom.Element parent,
                                                           java.lang.String tag)
Renvoie une ArrayList avec tous les éléments descendants d'un élément parent ayant un nom donné.


inclusion2

private void inclusion2(org.w3c.dom.Element sch,
                        java.net.URL schemadir)
Chargement d'un schéma en mémoire. Appelé par inclusion1.

Parameters:
sch - L'élément racine du schéma WXS
schemadir - URL du répertoire de référence (dans lequel se trouve le fichier du schéma)

localValue

private static java.lang.String localValue(java.lang.String s)
Renvoie la partie locale du nom d'un élément (en retirant le préfixe)


prefixeString

private static java.lang.String prefixeString(java.lang.String nom)
Renvoie le préfixe d'un nom, ou null s'il n'en a pas.


ajSubst

private void ajSubst(org.w3c.dom.Element el,
                     java.lang.String nomel,
                     java.util.Set<org.w3c.dom.Element> liste)

ajSubst2

private void ajSubst2(org.w3c.dom.Element el,
                      java.lang.String nomel,
                      java.util.Set<org.w3c.dom.Element> liste)

expressionReguliere

private java.lang.String expressionReguliere(org.w3c.dom.Element sparent,
                                             int niveau,
                                             boolean modechoice,
                                             boolean modevisu,
                                             boolean modepasnul,
                                             int imodepasnul,
                                             boolean modevalid,
                                             boolean[] annulable)
Expression régulière correspondant au schéma pour un élément parent donné problème 1: l'utilisateur entre les données au fur et à mesure, tout doit donc être facultatif problème 2: jakarta-regexp et les possessive quantifiers n'acceptent pas des expressions comme (a?|b?)? on fait donc des transformations: (a+|b)c -> (a*|b?)?c? (a?|b?)* -> (a|b)* (a?b?c?)* -> (a|b|c)* (modechoice=true) ((a?b*c*)|d?)? -> (((ab*c*)|(b+c*)|(b*c+))|d)? (modepasnul=true) ((a|b)*|c)* -> (a|b|c)*

Parameters:
sparent - Element parent dont on cherche l'expression régulière pour le contenu
niveau - Niveau d'appel (doit être égal à 1 quand l'appel n'est pas récursif)
modechoice - Utilisation d'un choice au lieu d'une sequence pour éviter les doubles annulations
modevisu - True si on cherche une expression régulière à afficher pour l'utilisateur
modepasnul - Eviter les expressions vides
imodepasnul - position d'évaluation, utilisée avec modepasnul
modevalid - Pour obtenir une validation stricte au lieu de chercher si une insertion est possible
annulable - Tableau de taille 1 dans lequel on renvoie true si une chaîne vide matche

substExpr

private java.lang.String substExpr(org.w3c.dom.Element el,
                                   java.lang.String nomel,
                                   boolean modevisu,
                                   boolean modechoice)
utilisé dans expressionReguliere pour les substitutionGroup


sParents

private java.util.ArrayList<org.w3c.dom.Element> sParents(org.w3c.dom.Element refElement)

sCtAttributs

private java.util.ArrayList<org.w3c.dom.Element> sCtAttributs(org.w3c.dom.Element ctdef,
                                                              java.util.ArrayList<org.w3c.dom.Element> pile)

sDocumentation

private java.lang.String sDocumentation(org.w3c.dom.Element balisedef)
Renvoie la documentation d'un élément ou attribut dont on donne la définition dans le fichier de schéma WXS


getSchemaTypeElement

public org.w3c.dom.Element getSchemaTypeElement(java.lang.String nomType,
                                                java.lang.String tns)
Renvoie l'élément simpleType ou complexType avec le nom et l'espace de noms donnés. Renvoie null si aucun type correspondant n'est trouvé.


chercherPremier

private org.w3c.dom.Element chercherPremier(SchemaW3C.TypeObjetSchema type,
                                            java.lang.String nom,
                                            java.lang.String espace)
Renvoie le premier objet du schéma avec le type, le nom et l'espace de noms donnés, ou null si rien de correspondant n'est trouvé.


chercherPremier

private org.w3c.dom.Element chercherPremier(SchemaW3C.TypeObjetSchema type,
                                            java.lang.String nom)
Renvoie le premier objet du schéma avec le type et le nom donnés, ou null si rien de correspondant n'est trouvé.