2009-09-28 8 views
1

L'outil schemagen.exe génère des définitions xsd à partir de classes, par ex. le résultat estschemagen.exe génère un préfixe tns

<xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="aa/bb" xmlns:a="aa/bbb" xmlns:tns="aa/bb" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 

quand je mets dans le paquet-info.class sur le niveau du package:

@XmlSchema(namespace = "aa/bb", 
      elementFormDefault = XmlNsForm.QUALIFIED, 
      xmlns = {@XmlNs(prefix="a", namespaceURI="aa/bb"), 
        @XmlNs(prefix="xs",namespaceURI="http://www.w3.org/2001/XMLSchema")}) 

package aa.bb; 
import javax.xml.bind.annotation.*; 

Le point est que deux préfixes existent maintenant: mon préféré courte: a et le schemagen. exe a automatiquement généré le préfixe tns. C'est dommage, car tous les types générés utilisent le préfixe tns, je serais content si mon propre préfixe était utilisé dans la génération sans le tns. Que devrais-je faire?

Répondre

1

C'est peu technique et sujet aux erreurs, mais pourquoi ne pas ouvrir le document XSD dans un éditeur de texte et utiliser quelques commandes globales de recherche et de remplacement bien choisies?

1

Apprendre à aimer tns? C'est une convention de l'utiliser pour désigner l'espace de noms cible dans les schémas XML après tout.

Questions connexes