summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSalvador Zalapa2013-01-07 16:20:03 (EST)
committerNick Sandonato2013-01-07 18:01:33 (EST)
commit89b6ad52333ec31f7c75f69ad602129fa8ac5851 (patch)
tree6acf2784b6677f6c68f593d71ed6725689faa355
parentd8b1867b0c88dd275a75c625cdb095979ec4f575 (diff)
downloadwebtools.sourceediting-89b6ad52333ec31f7c75f69ad602129fa8ac5851.zip
webtools.sourceediting-89b6ad52333ec31f7c75f69ad602129fa8ac5851.tar.gz
webtools.sourceediting-89b6ad52333ec31f7c75f69ad602129fa8ac5851.tar.bz2
'Bug_357677_Incorrect_parsing_of_scape_symbol'v201301081519
-rw-r--r--bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex2
-rw-r--r--bundles/org.eclipse.wst.sse.core/META-INF/devTimeSupportInfo.txt15
-rw-r--r--bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLTokenizer.java305
-rw-r--r--bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLContentRegion.java6
4 files changed, 175 insertions, 153 deletions
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex
index a539e9e..128475f 100644
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex
+++ b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex
@@ -1249,7 +1249,7 @@ Extender = [\u00B7\u02D0\u02D1\u0387\u0640\u0E46\u0EC6\u3005\u3031-\u3035\u309D-
}
// end DECLARATION handling
-<YYINITIAL> [^<&%]*|[&%]{S}+{Name}[^&%<]*|[&%]{Name}([^;&%<]*|{S}+;*) {
+<YYINITIAL> ([^;&%<]*|[&%]){Name}{S}+({Name}|{S})*{Name}([^;&%<]*|;)|[^<&%]*|[&%]{S}+{Name}[^&%<]*|[&%]{Name}([^;&%<]*|{S}+;*) {
if(Debug.debugTokenizer)
dump("\nXML content");//$NON-NLS-1$
return XML_CONTENT;
diff --git a/bundles/org.eclipse.wst.sse.core/META-INF/devTimeSupportInfo.txt b/bundles/org.eclipse.wst.sse.core/META-INF/devTimeSupportInfo.txt
new file mode 100644
index 0000000..d8c776e
--- /dev/null
+++ b/bundles/org.eclipse.wst.sse.core/META-INF/devTimeSupportInfo.txt
@@ -0,0 +1,15 @@
+
+
+This directory, DevTimeSupport, normally contains
+the source for some of our parser generators.
+
+See :pserver:dev.eclipse.org:/cvsroot/webtools/sourceediting/plugins/org.eclipse.wst.sse.core/DevTimeSupport
+
+This particular text file you are reading
+is the only one shipped
+with an SDK build, since the other files
+are seldom needed during development or debugging,
+and some of those files cause problems with long
+filename or paths that end up being too long for
+some platforms, and some unzip programs.
+
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLTokenizer.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLTokenizer.java
index 56e90eb..c8425c6 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLTokenizer.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLTokenizer.java
@@ -1,7 +1,7 @@
-/* The following code was generated by JFlex 1.2.2 on 11/8/12 6:04 PM */
+/* The following code was generated by JFlex 1.2.2 on 7/01/13 02:49 PM */
/*******************************************************************************
- * Copyright (c) 2004, 2012 IBM Corporation and others.
+ * Copyright (c) 2004, 2013 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -32,8 +32,8 @@ import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
/**
* This class is a scanner generated by
* <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2
- * on 11/8/12 6:04 PM from the specification file
- * <tt>file:/Users/nsando/dev/git/wtp/kepler/webtools.sourceediting/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex</tt>
+ * on 7/01/13 02:49 PM from the specification file
+ * <tt>file:/C:/git_SSE/webtools.sourceediting/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex</tt>
*/
public class XMLTokenizer implements BlockTokenizer, DOMRegionContext {
@@ -173,12 +173,12 @@ public class XMLTokenizer implements BlockTokenizer, DOMRegionContext {
6588, 6642, 6696, 6750, 6804, 6858, 6912, 6966, 1674, 7020,
7074, 1674, 1674, 1674, 1998, 7128, 7182, 7236, 7290, 7344,
7398, 5670, 7452, 7452, 6102, 7506, 7506, 7560, 6480, 7614,
- 7614, 7668, 1674, 7722, 7776, 1674, 7830, 7884, 7938, 7992,
- 8046, 8100, 8154, 5832, 6264, 8208, 6642, 8262, 8316, 8370,
- 8424, 8478, 8532, 8586, 8640, 8694, 8748, 8802, 8856, 8910,
- 8964, 9018, 1674, 1674, 9072, 9126, 9180, 9234, 1674, 1674,
- 1674, 9288, 9342, 9396, 9450, 9504, 9558, 1674, 9612, 4158,
- 4428, 9666, 9720, 9774, 9828, 1998
+ 7614, 7668, 1674, 7722, 7776, 7830, 1674, 7884, 7938, 7992,
+ 8046, 8100, 8154, 8208, 5832, 6264, 8262, 6642, 8316, 8370,
+ 8424, 1674, 8478, 8532, 8586, 8640, 8694, 8748, 8802, 8856,
+ 8910, 8964, 9018, 9072, 9126, 1674, 1674, 9180, 9234, 9288,
+ 9342, 1674, 1674, 1674, 9396, 9450, 9504, 9558, 9612, 9666,
+ 1674, 9720, 4158, 4428, 9774, 9828, 9882, 9936, 1998
};
/**
@@ -333,55 +333,63 @@ public class XMLTokenizer implements BlockTokenizer, DOMRegionContext {
"\13\0\1\323\52\0\13\263\1\322\52\263\2\145\1\0"+
"\26\145\1\324\34\145\7\0\1\325\110\0\1\326\33\0"+
"\1\273\1\0\10\273\1\0\4\273\1\0\40\273\1\0"+
- "\6\273\1\0\3\273\1\274\4\273\1\0\1\273\1\274"+
- "\2\273\1\0\2\273\1\274\35\273\1\327\5\273\15\0"+
- "\1\276\42\0\1\330\22\0\1\331\14\0\3\331\2\0"+
- "\1\331\7\0\1\331\1\0\2\331\3\0\1\331\2\0"+
- "\2\331\11\0\1\53\1\332\1\53\4\0\1\53\5\0"+
- "\6\53\1\0\12\53\1\0\7\53\1\0\3\53\1\0"+
- "\5\53\35\0\1\333\12\0\1\333\44\0\2\334\62\0"+
- "\2\335\74\0\1\336\12\0\1\336\44\0\2\337\40\0"+
- "\2\340\1\0\3\340\2\0\1\227\4\340\1\0\10\340"+
- "\1\0\31\340\2\0\1\340\3\0\2\341\1\0\3\341"+
- "\2\0\1\253\4\341\1\0\10\341\1\0\31\341\2\0"+
- "\1\341\2\136\1\0\27\136\1\342\33\136\3\0\2\343"+
- "\1\0\3\343\2\0\1\266\4\343\1\0\10\343\1\0"+
- "\31\343\2\0\1\343\2\145\1\0\27\145\1\344\33\145"+
- "\33\0\1\345\112\0\1\327\22\0\1\331\14\0\3\331"+
- "\2\0\1\331\7\0\1\331\1\0\2\331\3\0\1\331"+
- "\1\0\1\330\2\331\11\0\3\53\4\0\1\53\5\0"+
- "\6\53\1\0\6\53\1\346\3\53\1\0\7\53\1\0"+
- "\3\53\1\0\5\53\45\0\1\347\5\0\1\347\53\0"+
- "\1\350\63\0\1\351\7\0\1\351\55\0\1\352\7\0"+
- "\1\352\57\0\1\353\24\0\2\136\1\0\30\136\1\354"+
- "\32\136\2\145\1\0\30\145\1\355\32\145\34\0\1\356"+
- "\37\0\3\53\4\0\1\53\5\0\6\53\1\0\12\53"+
- "\1\0\3\53\1\357\3\53\1\0\3\53\1\0\5\53"+
- "\46\0\1\360\57\0\1\361\14\0\1\361\53\0\1\362"+
- "\47\0\2\363\71\0\1\364\27\0\1\364\3\0\2\136"+
- "\1\0\31\136\1\365\31\136\2\145\1\0\31\145\1\366"+
- "\31\145\35\0\1\367\36\0\3\53\4\0\1\53\5\0"+
- "\6\53\1\0\12\53\1\0\6\53\1\370\1\0\3\53"+
- "\1\0\5\53\37\0\1\371\7\0\1\371\53\0\1\372"+
- "\12\0\1\372\52\0\1\373\12\0\1\373\15\0\2\136"+
- "\1\0\32\136\1\374\30\136\2\145\1\0\32\145\1\375"+
- "\30\145\34\0\1\376\37\0\3\53\4\0\1\53\5\0"+
- "\5\53\1\377\1\0\12\53\1\0\7\53\1\0\3\53"+
- "\1\0\5\53\2\136\1\0\31\136\1\u0100\31\136\2\145"+
- "\1\0\31\145\1\u0101\31\145\31\0\1\u0102\42\0\3\53"+
- "\4\0\1\53\5\0\6\53\1\0\5\53\1\u0103\4\53"+
- "\1\0\7\53\1\0\3\53\1\0\5\53\2\136\1\0"+
- "\26\136\1\u0104\34\136\2\145\1\0\26\145\1\u0105\34\145"+
- "\6\0\3\53\4\0\1\53\5\0\6\53\1\0\6\53"+
- "\1\u0106\3\53\1\0\7\53\1\0\3\53\1\0\5\53"+
- "\6\0\3\53\4\0\1\53\5\0\6\53\1\0\12\53"+
- "\1\0\7\53\1\0\3\53\1\0\4\53\1\u0107\6\0"+
- "\3\53\4\0\1\53\5\0\6\53\1\0\5\53\1\u0108"+
- "\4\53\1\0\7\53\1\0\3\53\1\0\5\53\6\0"+
- "\3\53\4\0\1\53\5\0\6\53\1\0\5\53\1\u0109"+
- "\4\53\1\0\7\53\1\0\3\53\1\0\5\53\6\0"+
+ "\6\273\1\0\3\273\1\274\2\273\1\327\1\273\1\0"+
+ "\1\273\1\274\2\273\1\0\2\273\1\274\6\327\1\273"+
+ "\12\327\1\273\7\327\1\273\3\327\1\330\3\327\1\273"+
+ "\1\327\15\0\1\276\42\0\1\331\22\0\1\332\14\0"+
+ "\3\332\2\0\1\332\7\0\1\332\1\0\2\332\3\0"+
+ "\1\332\2\0\2\332\11\0\1\53\1\333\1\53\4\0"+
+ "\1\53\5\0\6\53\1\0\12\53\1\0\7\53\1\0"+
+ "\3\53\1\0\5\53\35\0\1\334\12\0\1\334\44\0"+
+ "\2\335\62\0\2\336\74\0\1\337\12\0\1\337\44\0"+
+ "\2\340\40\0\2\341\1\0\3\341\2\0\1\227\4\341"+
+ "\1\0\10\341\1\0\31\341\2\0\1\341\3\0\2\342"+
+ "\1\0\3\342\2\0\1\253\4\342\1\0\10\342\1\0"+
+ "\31\342\2\0\1\342\2\136\1\0\27\136\1\343\33\136"+
+ "\3\0\2\344\1\0\3\344\2\0\1\266\4\344\1\0"+
+ "\10\344\1\0\31\344\2\0\1\344\2\145\1\0\27\145"+
+ "\1\345\33\145\33\0\1\346\32\0\1\273\1\0\3\273"+
+ "\1\347\3\327\1\273\1\0\1\273\1\347\1\327\1\273"+
+ "\1\0\2\273\1\347\6\327\1\273\12\327\1\273\7\327"+
+ "\1\273\3\327\1\350\5\327\60\0\1\330\22\0\1\332"+
+ "\14\0\3\332\2\0\1\332\7\0\1\332\1\0\2\332"+
+ "\3\0\1\332\1\0\1\331\2\332\11\0\3\53\4\0"+
+ "\1\53\5\0\6\53\1\0\6\53\1\351\3\53\1\0"+
+ "\7\53\1\0\3\53\1\0\5\53\45\0\1\352\5\0"+
+ "\1\352\53\0\1\353\63\0\1\354\7\0\1\354\55\0"+
+ "\1\355\7\0\1\355\57\0\1\356\24\0\2\136\1\0"+
+ "\30\136\1\357\32\136\2\145\1\0\30\145\1\360\32\145"+
+ "\34\0\1\361\31\0\1\273\1\0\3\273\1\347\2\273"+
+ "\1\327\1\273\1\0\1\273\1\347\2\273\1\0\2\273"+
+ "\1\347\6\327\1\273\12\327\1\273\7\327\1\273\3\327"+
+ "\1\0\3\327\1\273\1\327\6\0\3\53\4\0\1\53"+
+ "\5\0\6\53\1\0\12\53\1\0\3\53\1\362\3\53"+
+ "\1\0\3\53\1\0\5\53\46\0\1\363\57\0\1\364"+
+ "\14\0\1\364\53\0\1\365\47\0\2\366\71\0\1\367"+
+ "\27\0\1\367\3\0\2\136\1\0\31\136\1\370\31\136"+
+ "\2\145\1\0\31\145\1\371\31\145\35\0\1\372\36\0"+
"\3\53\4\0\1\53\5\0\6\53\1\0\12\53\1\0"+
- "\3\53\1\u010a\3\53\1\0\3\53\1\0\5\53";
+ "\6\53\1\373\1\0\3\53\1\0\5\53\37\0\1\374"+
+ "\7\0\1\374\53\0\1\375\12\0\1\375\52\0\1\376"+
+ "\12\0\1\376\15\0\2\136\1\0\32\136\1\377\30\136"+
+ "\2\145\1\0\32\145\1\u0100\30\145\34\0\1\u0101\37\0"+
+ "\3\53\4\0\1\53\5\0\5\53\1\u0102\1\0\12\53"+
+ "\1\0\7\53\1\0\3\53\1\0\5\53\2\136\1\0"+
+ "\31\136\1\u0103\31\136\2\145\1\0\31\145\1\u0104\31\145"+
+ "\31\0\1\u0105\42\0\3\53\4\0\1\53\5\0\6\53"+
+ "\1\0\5\53\1\u0106\4\53\1\0\7\53\1\0\3\53"+
+ "\1\0\5\53\2\136\1\0\26\136\1\u0107\34\136\2\145"+
+ "\1\0\26\145\1\u0108\34\145\6\0\3\53\4\0\1\53"+
+ "\5\0\6\53\1\0\6\53\1\u0109\3\53\1\0\7\53"+
+ "\1\0\3\53\1\0\5\53\6\0\3\53\4\0\1\53"+
+ "\5\0\6\53\1\0\12\53\1\0\7\53\1\0\3\53"+
+ "\1\0\4\53\1\u010a\6\0\3\53\4\0\1\53\5\0"+
+ "\6\53\1\0\5\53\1\u010b\4\53\1\0\7\53\1\0"+
+ "\3\53\1\0\5\53\6\0\3\53\4\0\1\53\5\0"+
+ "\6\53\1\0\5\53\1\u010c\4\53\1\0\7\53\1\0"+
+ "\3\53\1\0\5\53\6\0\3\53\4\0\1\53\5\0"+
+ "\6\53\1\0\12\53\1\0\3\53\1\u010d\3\53\1\0"+
+ "\3\53\1\0\5\53";
/**
* The transition table of the DFA
@@ -420,10 +428,10 @@ public class XMLTokenizer implements BlockTokenizer, DOMRegionContext {
0, 1, 0, 0, 0, 9, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0,
9, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 9, 0, 0, 9,
9, 9, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1,
- 0, 1, 0, 1, 9, 0, 1, 9, 0, 1, 0, 0, 0, 0, 0, 0,
- 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
- 0, 0, 9, 9, 1, 1, 0, 1, 9, 9, 9, 1, 1, 0, 1, 1,
- 1, 9, 1, 1, 1, 1, 1, 1, 1, 1
+ 0, 1, 0, 1, 9, 0, 1, 1, 9, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 1, 0, 1, 9, 1, 0, 0, 0, 0, 0, 1, 1,
+ 0, 1, 0, 0, 0, 9, 9, 1, 1, 0, 1, 9, 9, 9, 1, 1,
+ 0, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1
};
/** the input device */
@@ -442,9 +450,6 @@ public class XMLTokenizer implements BlockTokenizer, DOMRegionContext {
/** the textposition at the last accepting state */
private int yy_markedPos;
- /** the textposition at the last state to be included in yytext */
- //private int yy_pushbackPos;
-
/** the current text position in the buffer */
private int yy_currentPos;
@@ -956,10 +961,10 @@ private final String scanXMLCommentText() throws IOException {
* @return the unpacked transition table
*/
private static int [] yy_unpack(String packed) {
- int [] trans = new int[9882];
+ int [] trans = new int[9990];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
- while (i < 3150) {
+ while (i < 3270) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
value--;
@@ -1013,8 +1018,7 @@ private final String scanXMLCommentText() throws IOException {
/* translate stored positions */
yy_endRead-= yy_startRead;
yy_currentPos-= yy_startRead;
- yy_markedPos-= yy_startRead;
- //yy_pushbackPos-= yy_startRead;
+ yy_markedPos-= yy_startRead;
yy_startRead = 0;
}
@@ -1257,17 +1261,17 @@ protected final boolean containsTagName(String markerTagName) {
switch (yy_action) {
- case 265:
+ case 268:
{
if(Debug.debugTokenizer)
dump("XSL processing instruction target");//$NON-NLS-1$
yybegin(ST_XML_PI_ATTRIBUTE_NAME);
return XML_TAG_NAME;
}
- case 267: break;
- case 257:
- case 259:
+ case 270: break;
case 260:
+ case 262:
+ case 263:
{
if(Debug.debugTokenizer)
dump("\nCDATA start");//$NON-NLS-1$
@@ -1275,54 +1279,54 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_CDATA_TEXT);
return XML_CDATA_OPEN;
}
- case 268: break;
- case 250:
+ case 271: break;
+ case 253:
{
if(Debug.debugTokenizer)
dump("element");//$NON-NLS-1$
yybegin(ST_XML_ELEMENT_DECLARATION);
return XML_ELEMENT_DECLARATION;
}
- case 269: break;
- case 249:
+ case 272: break;
+ case 252:
{
if(Debug.debugTokenizer)
dump("attlist");//$NON-NLS-1$
yybegin(ST_XML_ATTLIST_DECLARATION);
return XML_ATTLIST_DECLARATION;
}
- case 270: break;
- case 248:
+ case 273: break;
+ case 251:
{
if(Debug.debugTokenizer)
dump("doctype");//$NON-NLS-1$
yybegin(ST_XML_DOCTYPE_DECLARATION);
return XML_DOCTYPE_DECLARATION;
}
- case 271: break;
- case 243:
+ case 274: break;
+ case 246:
{
if(Debug.debugTokenizer)
dump("doctype external id");//$NON-NLS-1$
yybegin(ST_XML_DOCTYPE_ID_PUBLIC);
return XML_DOCTYPE_EXTERNAL_ID_PUBLIC;
}
- case 272: break;
- case 242:
+ case 275: break;
+ case 245:
{
if(Debug.debugTokenizer)
dump("doctype external id");//$NON-NLS-1$
yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
return XML_DOCTYPE_EXTERNAL_ID_SYSTEM;
}
- case 273: break;
- case 215:
+ case 276: break;
+ case 216:
{
if(Debug.debugTokenizer)
dump("\nCharRef");//$NON-NLS-1$
return XML_CHAR_REFERENCE;
}
- case 274: break;
+ case 277: break;
case 212:
{
if(Debug.debugTokenizer)
@@ -1330,7 +1334,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_XML_COMMENT);
return XML_COMMENT_OPEN;
}
- case 275: break;
+ case 278: break;
case 194:
case 195:
{
@@ -1339,7 +1343,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_XML_PI_ATTRIBUTE_NAME);
return XML_TAG_NAME;
}
- case 276: break;
+ case 279: break;
case 193:
{
if(Debug.debugTokenizer)
@@ -1347,7 +1351,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(YYINITIAL);
return XML_COMMENT_CLOSE;
}
- case 277: break;
+ case 280: break;
case 192:
{
if(Debug.debugTokenizer)
@@ -1355,28 +1359,28 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(fStateStack.pop());
return XML_CDATA_CLOSE;
}
- case 278: break;
+ case 281: break;
case 191:
{
if(Debug.debugTokenizer)
dump("\nPEReference");//$NON-NLS-1$
return XML_PE_REFERENCE;
}
- case 279: break;
+ case 282: break;
case 188:
{
if(Debug.debugTokenizer)
dump("\nEntityRef");//$NON-NLS-1$
return XML_ENTITY_REFERENCE;
}
- case 280: break;
+ case 283: break;
case 139:
case 153:
case 161:
{
return XML_DOCTYPE_INTERNAL_SUBSET;
}
- case 281: break;
+ case 284: break;
case 127:
{
yybegin(YYINITIAL);
@@ -1384,7 +1388,7 @@ protected final boolean containsTagName(String markerTagName) {
dump("empty tag close");//$NON-NLS-1$
return XML_EMPTY_TAG_CLOSE;
}
- case 282: break;
+ case 285: break;
case 120:
{
if(Debug.debugTokenizer)
@@ -1392,14 +1396,14 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(YYINITIAL);
return XML_PI_CLOSE;
}
- case 283: break;
+ case 286: break;
case 119:
{
// ended with nothing inside
yybegin(YYINITIAL);
return XML_PI_CLOSE;
}
- case 284: break;
+ case 287: break;
case 52:
case 54:
case 55:
@@ -1411,7 +1415,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_XML_PI_ATTRIBUTE_NAME);
return XML_TAG_ATTRIBUTE_VALUE;
}
- case 285: break;
+ case 288: break;
case 51:
{
if(Debug.debugTokenizer)
@@ -1419,7 +1423,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_XML_PI_ATTRIBUTE_VALUE);
return XML_TAG_ATTRIBUTE_EQUALS;
}
- case 286: break;
+ case 289: break;
case 50:
{
if(Debug.debugTokenizer)
@@ -1427,7 +1431,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_XML_PI_EQUALS);
return XML_TAG_ATTRIBUTE_NAME;
}
- case 287: break;
+ case 290: break;
case 46:
case 47:
case 48:
@@ -1435,35 +1439,35 @@ protected final boolean containsTagName(String markerTagName) {
// block scan until close is found
return doScan("?>", false, XML_PI_CONTENT, ST_XML_PI_TAG_CLOSE, ST_XML_PI_TAG_CLOSE);
}
- case 288: break;
+ case 291: break;
case 45:
{
yybegin(ST_PI_CONTENT);
return WHITE_SPACE;
}
- case 289: break;
+ case 292: break;
case 42:
case 43:
case 44:
case 117:
case 118:
- case 217:
- case 229:
- case 238:
- case 247:
- case 254:
- case 258:
+ case 218:
+ case 232:
+ case 241:
+ case 250:
+ case 257:
case 261:
- case 262:
- case 263:
case 264:
+ case 265:
+ case 266:
+ case 267:
{
if(Debug.debugTokenizer)
dump("processing instruction target");//$NON-NLS-1$
yybegin(ST_PI_WS);
return XML_TAG_NAME;
}
- case 290: break;
+ case 293: break;
case 37:
case 38:
{
@@ -1471,14 +1475,14 @@ protected final boolean containsTagName(String markerTagName) {
dump("comment content");//$NON-NLS-1$
return scanXMLCommentText();
}
- case 291: break;
+ case 294: break;
case 36:
{
if(Debug.debugTokenizer)
dump("LINE FEED");//$NON-NLS-1$
return WHITE_SPACE;
}
- case 292: break;
+ case 295: break;
case 31:
case 32:
{
@@ -1489,7 +1493,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_CDATA_END);
return blockContext;
}
- case 293: break;
+ case 296: break;
case 0:
case 27:
case 109:
@@ -1497,12 +1501,15 @@ protected final boolean containsTagName(String markerTagName) {
case 186:
case 187:
case 214:
+ case 215:
+ case 230:
+ case 231:
{
if(Debug.debugTokenizer)
dump("\nXML content");//$NON-NLS-1$
return XML_CONTENT;
}
- case 294: break;
+ case 297: break;
case 5:
case 8:
case 9:
@@ -1524,7 +1531,7 @@ protected final boolean containsTagName(String markerTagName) {
dump("white space");//$NON-NLS-1$
return WHITE_SPACE;
}
- case 295: break;
+ case 298: break;
case 12:
case 58:
{
@@ -1533,39 +1540,39 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(YYINITIAL);
return XML_CONTENT;
}
- case 296: break;
+ case 299: break;
case 23:
case 93:
case 94:
case 172:
case 207:
- case 225:
- case 235:
- case 244:
- case 251:
- case 255:
+ case 226:
+ case 238:
+ case 247:
+ case 254:
+ case 258:
{
if(Debug.debugTokenizer)
dump("elementdecl contentspec");//$NON-NLS-1$
return XML_ELEMENT_DECL_CONTENT;
}
- case 297: break;
+ case 300: break;
case 25:
case 100:
case 101:
case 183:
case 211:
- case 227:
- case 236:
- case 245:
- case 252:
- case 256:
+ case 228:
+ case 239:
+ case 248:
+ case 255:
+ case 259:
{
if(Debug.debugTokenizer)
dump("attlist contentspec");//$NON-NLS-1$
return XML_ATTLIST_DECL_CONTENT;
}
- case 298: break;
+ case 301: break;
case 28:
case 59:
case 70:
@@ -1575,7 +1582,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_XML_TAG_NAME);
return XML_TAG_OPEN;
}
- case 299: break;
+ case 302: break;
case 29:
case 33:
case 34:
@@ -1603,7 +1610,7 @@ protected final boolean containsTagName(String markerTagName) {
yychar + "-" + (yychar + yylength()));//$NON-NLS-1$
return UNDEFINED;
}
- case 300: break;
+ case 303: break;
case 30:
case 112:
{
@@ -1611,7 +1618,7 @@ protected final boolean containsTagName(String markerTagName) {
dump("non-reference %");//$NON-NLS-1$
return XML_CONTENT;
}
- case 301: break;
+ case 304: break;
case 60:
{
if(Debug.debugTokenizer)
@@ -1623,7 +1630,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(YYINITIAL);
return XML_TAG_CLOSE;
}
- case 302: break;
+ case 305: break;
case 62:
case 63:
{
@@ -1632,7 +1639,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_XML_ATTRIBUTE_NAME);
return XML_TAG_NAME;
}
- case 303: break;
+ case 306: break;
case 64:
{
if(Debug.debugTokenizer)
@@ -1640,7 +1647,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_XML_EQUALS);
return XML_TAG_ATTRIBUTE_NAME;
}
- case 304: break;
+ case 307: break;
case 65:
{
if(Debug.debugTokenizer)
@@ -1648,7 +1655,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_XML_ATTRIBUTE_VALUE);
return XML_TAG_ATTRIBUTE_EQUALS;
}
- case 305: break;
+ case 308: break;
case 66:
case 68:
case 69:
@@ -1659,7 +1666,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_XML_ATTRIBUTE_NAME);
return XML_TAG_ATTRIBUTE_VALUE;
}
- case 306: break;
+ case 309: break;
case 71:
{
if(Debug.debugTokenizer)
@@ -1671,7 +1678,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(fStateStack.pop());
return XML_DECLARATION_CLOSE;
}
- case 307: break;
+ case 310: break;
case 76:
{
if(Debug.debugTokenizer)
@@ -1679,7 +1686,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_XML_DOCTYPE_EXTERNAL_ID);
return XML_DOCTYPE_NAME;
}
- case 308: break;
+ case 311: break;
case 79:
case 81:
case 82:
@@ -1695,7 +1702,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
return XML_DOCTYPE_EXTERNAL_ID_PUBREF;
}
- case 309: break;
+ case 312: break;
case 84:
case 86:
case 87:
@@ -1707,7 +1714,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_XML_DECLARATION_CLOSE);
return XML_DOCTYPE_EXTERNAL_ID_SYSREF;
}
- case 310: break;
+ case 313: break;
case 89:
case 91:
case 92:
@@ -1722,7 +1729,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_XML_ELEMENT_DECLARATION_CONTENT);
return XML_ELEMENT_DECL_NAME;
}
- case 311: break;
+ case 314: break;
case 95:
{
if(Debug.debugTokenizer)
@@ -1734,7 +1741,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(fStateStack.pop());
return XML_DECLARATION_CLOSE;
}
- case 312: break;
+ case 315: break;
case 96:
case 98:
case 99:
@@ -1749,7 +1756,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_XML_ATTLIST_DECLARATION_CONTENT);
return XML_ATTLIST_DECL_NAME;
}
- case 313: break;
+ case 316: break;
case 102:
{
if(Debug.debugTokenizer)
@@ -1761,7 +1768,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(fStateStack.pop());
return XML_DECLARATION_CLOSE;
}
- case 314: break;
+ case 317: break;
case 105:
{
if(Debug.debugTokenizer)
@@ -1769,7 +1776,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_XML_TAG_NAME);
return XML_END_TAG_OPEN;
}
- case 315: break;
+ case 318: break;
case 106:
{
if(Debug.debugTokenizer)
@@ -1777,7 +1784,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_PI);
return XML_PI_OPEN;
}
- case 316: break;
+ case 319: break;
case 107:
{
fStateStack.push(yystate());
@@ -1786,7 +1793,7 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(ST_XML_DECLARATION);
return XML_DECLARATION_OPEN;
}
- case 317: break;
+ case 320: break;
case 116:
{
if(Debug.debugTokenizer)
@@ -1794,13 +1801,13 @@ protected final boolean containsTagName(String markerTagName) {
yybegin(YYINITIAL);
return XML_PI_CLOSE;
}
- case 318: break;
+ case 321: break;
case 103:
case 104:
{
return doBlockTagScan();
}
- case 319: break;
+ case 322: break;
default:
if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
yy_atEOF = true;
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLContentRegion.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLContentRegion.java
index e9088db..efc1081 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLContentRegion.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLContentRegion.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
+ * Copyright (c) 2001, 2013 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -125,8 +125,8 @@ public class XMLContentRegion implements ITextRegion {
// less than or equal to end-start. This might
// cause us to miss a few cases we could have handled,
// but will prevent us from trying to handle funning cases
- // involving whitespace.
- if ((fStart >= getTextEnd()) || (Math.abs(lengthToReplace) >= getTextEnd() - getStart())) {
+ // involving whitespace.
+ if ((fStart >= getTextEnd()) || (Math.abs(lengthToReplace) >= getTextEnd() - getStart()) || ((parent.getText().startsWith("&")) && (parent.getText().endsWith(";")))) {
canHandle = false;
} else {
canHandle = true;