Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit7d29315

Browse files
committed
Change CDATA to RAWTEXT (spec r3562). This breaks test-compat.
1 parent8911496 commit7d29315

File tree

3 files changed

+26
-26
lines changed

3 files changed

+26
-26
lines changed

‎src/html5lib/constants.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@
267267
contentModelFlags= {
268268
"PCDATA":0,
269269
"RCDATA":1,
270-
"CDATA":2,
270+
"RAWTEXT":2,
271271
"PLAINTEXT":3
272272
}
273273

‎src/html5lib/html5parser.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ def __init__(self, tree = simpletree.TreeBuilder,
7777
# XXX "inHeadNoscript": InHeadNoScriptPhase(self, self.tree),
7878
"afterHead":AfterHeadPhase(self,self.tree),
7979
"inBody":InBodyPhase(self,self.tree),
80-
"inCDataRCData":InCDataRCDataPhase(self,self.tree),
80+
"inRCDataRawtext":InRCDataRawtextPhase(self,self.tree),
8181
"inTable":InTablePhase(self,self.tree),
8282
"inTableText":InTableTextPhase(self,self.tree),
8383
"inCaption":InCaptionPhase(self,self.tree),
@@ -126,7 +126,7 @@ def reset(self):
126126
ifself.innerHTMLincdataElements:
127127
self.tokenizer.contentModelFlag=tokenizer.contentModelFlags["RCDATA"]
128128
elifself.innerHTMLinrcdataElements:
129-
self.tokenizer.contentModelFlag=tokenizer.contentModelFlags["CDATA"]
129+
self.tokenizer.contentModelFlag=tokenizer.contentModelFlags["RAWTEXT"]
130130
elifself.innerHTML=='plaintext':
131131
self.tokenizer.contentModelFlag=tokenizer.contentModelFlags["PLAINTEXT"]
132132
else:
@@ -391,18 +391,18 @@ def resetInsertionMode(self):
391391
self.phase=self.phases["inBody"]
392392
break
393393

394-
defparseRCDataCData(self,token,contentType):
395-
"""Generic(R)CDATA Parsing algorithm
396-
contentType - RCDATA orCDATA
394+
defparseRCDataRawtext(self,token,contentType):
395+
"""GenericRCDATA/RAWTEXT Parsing algorithm
396+
contentType - RCDATA orRAWTEXT
397397
"""
398-
assertcontentTypein ("CDATA","RCDATA")
398+
assertcontentTypein ("RAWTEXT","RCDATA")
399399

400400
element=self.tree.insertElement(token)
401401
self.tokenizer.contentModelFlag=contentModelFlags[contentType]
402402

403403
self.originalPhase=self.phase
404404

405-
self.phase=self.phases["inCDataRCData"]
405+
self.phase=self.phases["inRCDataRawtext"]
406406

407407
classPhase(object):
408408
"""Base class for helper object that implements each phase of processing
@@ -746,16 +746,16 @@ def startTagMeta(self, token):
746746
self.parser.tokenizer.stream.changeEncoding(codec)
747747

748748
defstartTagTitle(self,token):
749-
self.parser.parseRCDataCData(token,"RCDATA")
749+
self.parser.parseRCDataRawtext(token,"RCDATA")
750750

751751
defstartTagNoScriptNoFramesStyle(self,token):
752752
#Need to decide whether to implement the scripting-disabled case
753-
self.parser.parseRCDataCData(token,"CDATA")
753+
self.parser.parseRCDataRawtext(token,"RAWTEXT")
754754

755755
defstartTagScript(self,token):
756-
#I think this is equivalent to theCDATA stuff since we don't execute script
756+
#I think this is equivalent to theRAWTEXT stuff since we don't execute script
757757
#self.tree.insertElement(token)
758-
self.parser.parseRCDataCData(token,"CDATA")
758+
self.parser.parseRCDataRawtext(token,"RAWTEXT")
759759

760760
defstartTagOther(self,token):
761761
self.anythingElse()
@@ -887,7 +887,7 @@ def __init__(self, parser, tree):
887887
("isindex",self.startTagIsIndex),
888888
("textarea",self.startTagTextarea),
889889
("iframe",self.startTagIFrame),
890-
(("noembed","noframes","noscript"),self.startTagCdata),
890+
(("noembed","noframes","noscript"),self.startTagRawtext),
891891
("select",self.startTagSelect),
892892
(("rp","rt"),self.startTagRpRt),
893893
(("option","optgroup"),self.startTagOpt),
@@ -1100,7 +1100,7 @@ def startTagXmp(self, token):
11001100
self.endTagP(impliedTagToken("p"))
11011101
self.tree.reconstructActiveFormattingElements()
11021102
self.parser.framesetOK=False
1103-
self.parser.parseRCDataCData(token,"CDATA")
1103+
self.parser.parseRCDataRawtext(token,"RAWTEXT")
11041104

11051105
defstartTagTable(self,token):
11061106
ifself.parser.compatMode!="quirks":
@@ -1179,11 +1179,11 @@ def startTagTextarea(self, token):
11791179

11801180
defstartTagIFrame(self,token):
11811181
self.parser.framesetOK=False
1182-
self.startTagCdata(token)
1182+
self.startTagRawtext(token)
11831183

1184-
defstartTagCdata(self,token):
1184+
defstartTagRawtext(self,token):
11851185
"""iframe, noembed noframes, noscript(if scripting enabled)"""
1186-
self.parser.parseRCDataCData(token,"CDATA")
1186+
self.parser.parseRCDataRawtext(token,"RAWTEXT")
11871187

11881188
defstartTagOpt(self,token):
11891189
ifself.tree.elementInScope("option"):
@@ -1520,7 +1520,7 @@ def endTagOther(self, token):
15201520
self.parser.parseError("unexpected-end-tag", {"name":token["name"]})
15211521
break
15221522

1523-
classInCDataRCDataPhase(Phase):
1523+
classInRCDataRawtextPhase(Phase):
15241524
def__init__(self,parser,tree):
15251525
Phase.__init__(self,parser,tree)
15261526
self.startTagHandler=utils.MethodDispatcher([])
@@ -1540,7 +1540,7 @@ def processEOF(self):
15401540
self.parser.phase.processEOF()
15411541

15421542
defstartTagOther(self,token):
1543-
assertFalse,"Tried to process start tag %s in(R)CDATA mode"%name
1543+
assertFalse,"Tried to process start tag %s inRCDATA/RAWTEXT mode"%name
15441544

15451545
defendTagScript(self,token):
15461546
node=self.tree.openElements.pop()

‎src/html5lib/tokenizer.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ def dataState(self):
265265

266266
# Keep a charbuffer to handle the escapeFlag
267267
if (self.contentModelFlagin
268-
(contentModelFlags["CDATA"],contentModelFlags["RCDATA"])):
268+
(contentModelFlags["RAWTEXT"],contentModelFlags["RCDATA"])):
269269
iflen(self.lastFourChars)==4:
270270
self.lastFourChars.pop(0)
271271
self.lastFourChars.append(data)
@@ -276,20 +276,20 @@ def dataState(self):
276276
notself.escapeFlag):
277277
self.state=self.entityDataState
278278
elif (data=="-"andself.contentModelFlagin
279-
(contentModelFlags["CDATA"],contentModelFlags["RCDATA"])and
279+
(contentModelFlags["RAWTEXT"],contentModelFlags["RCDATA"])and
280280
notself.escapeFlagand"".join(self.lastFourChars)=="<!--"):
281281
self.escapeFlag=True
282282
self.tokenQueue.append({"type":tokenTypes["Characters"],
283283
"data":data})
284284
elif (data=="<"and (self.contentModelFlag==
285285
contentModelFlags["PCDATA"]
286286
or (self.contentModelFlagin
287-
(contentModelFlags["CDATA"],
287+
(contentModelFlags["RAWTEXT"],
288288
contentModelFlags["RCDATA"])and
289289
self.escapeFlag==False))):
290290
self.state=self.tagOpenState
291291
elif (data==">"andself.contentModelFlagin
292-
(contentModelFlags["CDATA"],contentModelFlags["RCDATA"])and
292+
(contentModelFlags["RAWTEXT"],contentModelFlags["RCDATA"])and
293293
self.escapeFlagand"".join(self.lastFourChars)[1:]=="-->"):
294294
self.escapeFlag=False
295295
self.tokenQueue.append({"type":tokenTypes["Characters"],"data":data})
@@ -308,7 +308,7 @@ def dataState(self):
308308
# any <!-- or --> sequences
309309
else:
310310
if (self.contentModelFlagin
311-
(contentModelFlags["CDATA"],contentModelFlags["RCDATA"])):
311+
(contentModelFlags["RAWTEXT"],contentModelFlags["RCDATA"])):
312312
chars=self.stream.charsUntil((u"&",u"<",u">",u"-"))
313313
self.lastFourChars+=chars[-4:]
314314
self.lastFourChars=self.lastFourChars[-4:]
@@ -358,7 +358,7 @@ def tagOpenState(self):
358358
self.stream.unget(data)
359359
self.state=self.dataState
360360
else:
361-
# We know the content model flag is set to either RCDATA orCDATA
361+
# We know the content model flag is set to either RCDATA orRAWTEXT
362362
# now because this state can never be entered with the PLAINTEXT
363363
# flag.
364364
ifdata==u"/":
@@ -371,7 +371,7 @@ def tagOpenState(self):
371371

372372
defcloseTagOpenState(self):
373373
if (self.contentModelFlagin (contentModelFlags["RCDATA"],
374-
contentModelFlags["CDATA"])):
374+
contentModelFlags["RAWTEXT"])):
375375

376376
charStack= []
377377
ifself.currentToken:

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp