+++ /dev/null
-/*
- * Copyright (c) 2002-2004 Widespace, OU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * Igor Malinin - initial contribution
- *
- * $Id: XMLTextTools.java,v 1.4 2006-10-21 23:14:13 pombredanne Exp $
- */
-
-package net.sourceforge.phpeclipse.xml.ui.text;
-
-import java.util.Map;
-
-import net.sourceforge.phpeclipse.ui.text.AbstractTextTools;
-import net.sourceforge.phpeclipse.xml.ui.internal.text.DeclScanner;
-import net.sourceforge.phpeclipse.xml.ui.internal.text.PHPXMLPartitionScanner;
-import net.sourceforge.phpeclipse.xml.ui.internal.text.SingleTokenScanner;
-import net.sourceforge.phpeclipse.xml.ui.internal.text.TextScanner;
-import net.sourceforge.phpeclipse.xml.ui.internal.text.XMLCDATAScanner;
-import net.sourceforge.phpeclipse.xml.ui.internal.text.XMLPartitionScanner;
-import net.sourceforge.phpeclipse.xml.ui.internal.text.XMLTagScanner;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.rules.DefaultPartitioner;
-import org.eclipse.jface.text.rules.ITokenScanner;
-import org.eclipse.jface.text.rules.RuleBasedScanner;
-
-/**
- *
- *
- * @author Igor Malinin
- */
-public class XMLTextTools extends AbstractTextTools {
- /** Text Attributes for XML editors */
- public static final String[] TOKENS = { IXMLSyntaxConstants.XML_DEFAULT,
- IXMLSyntaxConstants.XML_TAG, IXMLSyntaxConstants.XML_ATT_NAME,
- IXMLSyntaxConstants.XML_ATT_VALUE, IXMLSyntaxConstants.XML_ENTITY,
- IXMLSyntaxConstants.XML_PI, IXMLSyntaxConstants.XML_CDATA,
- IXMLSyntaxConstants.XML_COMMENT, IXMLSyntaxConstants.XML_SMARTY,
- IXMLSyntaxConstants.XML_DECL, };
-
- /** Content types for XML editors */
- public static final String[] TYPES = { XMLPartitionScanner.XML_PI,
- XMLPartitionScanner.XML_COMMENT, XMLPartitionScanner.XML_DECL,
- XMLPartitionScanner.XML_TAG, XMLPartitionScanner.XML_ATTRIBUTE,
- XMLPartitionScanner.XML_CDATA, XMLPartitionScanner.DTD_INTERNAL,
- XMLPartitionScanner.DTD_INTERNAL_PI,
- XMLPartitionScanner.DTD_INTERNAL_COMMENT,
- XMLPartitionScanner.DTD_INTERNAL_DECL, };
-
- /** The XML partitions scanner */
- private XMLPartitionScanner xmlPartitionScanner;
-
- private PHPXMLPartitionScanner phpXMLPartitionScanner;
-
- /** The XML text scanner */
- private TextScanner xmlTextScanner;
-
- /** The DTD text scanner */
- private TextScanner dtdTextScanner;
-
- /** The XML tags scanner */
- private XMLTagScanner xmlTagScanner;
-
- /** The XML attributes scanner */
- private TextScanner xmlAttributeScanner;
-
- /** The XML CDATA sections scanner */
- private XMLCDATAScanner xmlCDATAScanner;
-
- /** The XML processing instructions scanner */
- private SingleTokenScanner xmlPIScanner;
-
- /** The XML comments scanner */
- private SingleTokenScanner xmlCommentScanner;
-
- /** The XML declarations scanner */
- private DeclScanner xmlDeclScanner;
-
- public XMLTextTools(IPreferenceStore store) {
- this(store, TOKENS);
- }
-
- /**
- * Creates a new XML text tools collection.
- */
- public XMLTextTools(IPreferenceStore store, String[] strTokens) {
- super(store, strTokens);
-
- xmlPartitionScanner = new XMLPartitionScanner(false);
- phpXMLPartitionScanner = new PHPXMLPartitionScanner(false);
- Map tokens = getTokens();
-
- xmlTextScanner = new TextScanner(tokens, '&',
- IXMLSyntaxConstants.XML_DEFAULT);
-
- dtdTextScanner = new TextScanner(tokens, '%',
- IXMLSyntaxConstants.XML_DEFAULT);
-
- xmlPIScanner = new SingleTokenScanner(tokens,
- IXMLSyntaxConstants.XML_PI);
-
- xmlCommentScanner = new SingleTokenScanner(tokens,
- IXMLSyntaxConstants.XML_COMMENT);
-
- xmlDeclScanner = new DeclScanner(tokens);
-
- xmlTagScanner = new XMLTagScanner(tokens);
-
- xmlAttributeScanner = new TextScanner(tokens, '&',
- IXMLSyntaxConstants.XML_ATT_VALUE);
-
- xmlCDATAScanner = new XMLCDATAScanner(tokens);
- }
-
- /**
- *
- */
- public IDocumentPartitioner createXMLPartitioner() {
- return new DefaultPartitioner(xmlPartitionScanner, TYPES);
- }
-
- public IDocumentPartitioner createPHPXMLPartitioner() {
- return new DefaultPartitioner(phpXMLPartitionScanner, TYPES);
- }
-
- /**
- *
- */
- // public IPartitionTokenScanner getXMLPartitionScanner() {
- // return xmlPartitionScanner;
- // }
- /**
- * Returns a scanner which is configured to scan XML text.
- *
- * @return an XML text scanner
- */
- public RuleBasedScanner getXMLTextScanner() {
- return xmlTextScanner;
- }
-
- /**
- * Returns a scanner which is configured to scan DTD text.
- *
- * @return an DTD text scanner
- */
- public RuleBasedScanner getDTDTextScanner() {
- return dtdTextScanner;
- }
-
- /**
- * Returns a scanner which is configured to scan XML tags.
- *
- * @return an XML tag scanner
- */
- public RuleBasedScanner getXMLTagScanner() {
- return xmlTagScanner;
- }
-
- /**
- * Returns a scanner which is configured to scan XML tag attributes.
- *
- * @return an XML tag attribute scanner
- */
- public RuleBasedScanner getXMLAttributeScanner() {
- return xmlAttributeScanner;
- }
-
- /**
- * Returns a scanner which is configured to scan XML CDATA sections.
- *
- * @return an XML CDATA section scanner
- */
- public ITokenScanner getXMLCDATAScanner() {
- return xmlCDATAScanner;
- }
-
- /**
- * Returns a scanner which is configured to scan XML processing
- * instructions.
- *
- * @return an XML processing instruction scanner
- */
- public RuleBasedScanner getXMLPIScanner() {
- return xmlPIScanner;
- }
-
- /**
- * Returns a scanner which is configured to scan XML comments.
- *
- * @return an XML comment scanner
- */
- public RuleBasedScanner getXMLCommentScanner() {
- return xmlCommentScanner;
- }
-
- /**
- * Returns a scanner which is configured to scan XML declarations.
- *
- * @return an XML declaration scanner
- */
- public RuleBasedScanner getXMLDeclScanner() {
- return xmlDeclScanner;
- }
-}