1
2
3
4
5
6 using System;
7
8 namespace System.Xml
9 {
10 public class EntityReference : CharacterData
11 {
12 public EntityReference(const System.Lex.Span& span_, int fileIndex_) : base(NodeKind.entityReferenceNode, span_, fileIndex_, "entity_reference")
13 {
14 }
15 public EntityReference(const System.Lex.Span& span_, int fileIndex_, const string& entityReference_) :
16 base(NodeKind.entityReferenceNode, span_, fileIndex_, "entity_reference", entityReference_)
17 {
18 }
19 public override void Accept(Visitor& visitor)
20 {
21 visitor.Visit(*this);
22 }
23 [nodiscard]
24 public override Result<bool> Write(System.Text.CodeFormatter& formatter)
25 {
26 if (formatter.Error())
27 {
28 return Result<bool>(ErrorId(formatter.GetErrorId()));
29 }
30 formatter << "&" << Data() << ";";
31 return Result<bool>(true);
32 }
33 public override Node* Clone(bool deep) const
34 {
35 return new EntityReference(Span(), FileIndex(), Data());
36 }
37 }
38
39 public EntityReference* MakeEntityReference(const string& entityReference)
40 {
41 return new EntityReference(System.Lex.Span(), -1, entityReference);
42 }
43 }