2010-12-14 82 views
1

Je souhaite créer un éditeur XML personnalisé pouvant proposer des modèles ou des assistances de contenu en fonction du XPath actuel. La création de modèles en utilisant le point d'extension org.eclipse.ui.editors.templates le rend accessible à l'ensemble du type de contexte, ce qui est un peu trop simple.Modèles XML ou aide au contenu prenant en charge XPath

Lorsque je googler obtenir des liens vers oXygen qui peuvent gérer cela, à savoir:

... assistant XPath contenu au courant et montrant des fonctions axes (toutes documentées avec des sections de la spécification W3C), variables et paramètres ainsi comme des tests de nom pour les éléments et les attributs dans le contexte.

Je suppose que je vais devoir utiliser l'éditeur WTP XML?

Répondre

0

Besoin d'utiliser le WTP XML? Éditeur? Je ne comprends pas ce que vous voulez dire, compte tenu de l'option que vous avez recherchée. < oXygen/> est un éditeur XML entièrement fonctionnel, autonome ou en tant que plugin Eclipse; cela coûte un peu d'argent (300 $ +) par permis, mais si vous pouvez vous le permettre, allez-y et utilisez-le. Il a obtenu le XPath support que vous cherchez. Je l'ai déjà utilisé auparavant et j'en étais très content.

0

Vous pouvez. Lorsque les contributions de l'éditeur WTP XML au point d'extension org.eclipse.wst.sse.ui.completionProposal sont invoquées, elles recherchent le nœud DOM et l'emplacement de texte pertinents et déterminent les éléments à proposer. Il n'y a pas de limite artificielle à la contribution de plus d'ordinateurs. Vous pouvez voir comment cela se fait par rapport à la DTD de la grammaire du schéma XML en utilisant org.eclipse.wst.xml.ui.internal.contentassist.AbstractXMLCompletionProposalComputer#computeCompletionProposals(CompletionProposalInvocationContext, IProgressMonitor) ou à partir des modèles d'aide au contenu XML livrés dans le plug-in XML UI en utilisant org.eclipse.wst.xml.ui.internal.contentassist.XMLTemplatesCompletionProposalComputer#computeCompletionProposals(CompletionProposalInvocationContext, IProgressMonitor).