Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
XsltInput.cs
Go to the documentation of this file.
3
4namespace System.Xml.Xsl.Xslt;
5
6internal sealed class XsltInput : IErrorHelper
7{
8 public struct DelayedQName
9 {
10 private readonly string _prefix;
11
12 private readonly string _localName;
13
15 {
16 _prefix = rec.prefix;
17 _localName = rec.localName;
18 }
19
20 public static implicit operator string(DelayedQName qn)
21 {
22 if (qn._prefix.Length != 0)
23 {
24 return qn._prefix + ":" + qn._localName;
25 }
26 return qn._localName;
27 }
28 }
29
30 public struct XsltAttribute
31 {
32 public string name;
33
34 public int flags;
35
36 public XsltAttribute(string name, int flags)
37 {
40 }
41 }
42
43 internal sealed class ContextInfo
44 {
62
63 public NsDecl nsList;
64
66
68
70
71 private readonly int _elemNameLength;
72
79
81 {
82 _elemNameLength = input.QualifiedName.Length;
83 }
84
85 public void AddNamespace(string prefix, string nsUri)
86 {
87 nsList = new NsDecl(nsList, prefix, nsUri);
88 }
89
91 {
92 if (lineInfo.Start.Line == 0)
93 {
94 elemNameLi = (endTagLi = null);
95 return;
96 }
98 if (!input.IsEmptyElement)
99 {
100 endTagLi = input.BuildLineInfo();
101 }
102 else
103 {
105 }
106 }
107 }
108
109 internal struct Record
110 {
111 public string localName;
112
113 public string nsUri;
114
115 public string prefix;
116
117 public string value;
118
119 public string baseUri;
120
122
124
125 public Location end;
126
127 public string QualifiedName
128 {
129 get
130 {
131 if (prefix.Length != 0)
132 {
133 return prefix + ":" + localName;
134 }
135 return localName;
136 }
137 }
138 }
139
140 private readonly XmlReader _reader;
141
143
144 private readonly bool _topLevelReader;
145
147
148 private readonly KeywordsTable _atoms;
149
150 private readonly Compiler _compiler;
151
152 private readonly bool _reatomize;
153
155
156 private Record[] _records = new Record[22];
157
158 private int _currentRecord;
159
160 private bool _isEmptyElement;
161
162 private int _lastTextNode;
163
164 private int _numAttributes;
165
167
168 private bool _attributesRead;
169
171
173
174 private readonly int[] _xsltAttributeNumber = new int[21];
175
177 {
178 get
179 {
180 if (_nodeType != XmlNodeType.Element || 0 >= _currentRecord)
181 {
182 return _nodeType;
183 }
184 return XmlNodeType.Attribute;
185 }
186 }
187
189
191
193
195
197
199
201
203
205
207
209
211 {
212 get
213 {
214 return _scopeManager.CanHaveApplyImports;
215 }
216 set
217 {
219 }
220 }
221
222 public bool ForwardCompatibility => _scopeManager.ForwardCompatibility;
223
224 public bool BackwardCompatibility => _scopeManager.BackwardCompatibility;
225
227 {
228 get
229 {
230 if (!_scopeManager.ForwardCompatibility)
231 {
232 return XslVersion.Version10;
233 }
234 return XslVersion.ForwardsCompatible;
235 }
236 }
237
239 {
240 EnsureExpandEntities(reader);
242 _atoms = atoms;
243 _reader = reader;
244 _reatomize = reader.NameTable != atoms.NameTable;
245 _readerLineInfo = ((xmlLineInfo != null && xmlLineInfo.HasLineInfo()) ? xmlLineInfo : null);
249 _nodeType = XmlNodeType.Document;
250 }
251
252 private static void EnsureExpandEntities(XmlReader reader)
253 {
255 {
257 }
258 }
259
260 private void ExtendRecordBuffer(int position)
261 {
262 if (_records.Length <= position)
263 {
264 int num = _records.Length * 2;
265 if (num <= position)
266 {
267 num = position + 1;
268 }
269 Record[] array = new Record[num];
270 Array.Copy(_records, array, _records.Length);
271 _records = array;
272 }
273 }
274
276 {
277 if (!_topLevelReader && _reader.ReadState != ReadState.Interactive)
278 {
279 return false;
280 }
283 {
284 dictionary = xmlNamespaceResolver.GetNamespacesInScope(XmlNamespaceScope.ExcludeXml);
285 }
286 while (MoveToNextSibling() && _nodeType == XmlNodeType.Whitespace)
287 {
288 }
289 if (_nodeType == XmlNodeType.Element)
290 {
291 if (dictionary != null)
292 {
294 {
295 if (_scopeManager.LookupNamespace(item.Key) == null)
296 {
297 string nsUri = _atoms.NameTable.Add(item.Value);
298 _scopeManager.AddNsDeclaration(item.Key, nsUri);
299 _ctxInfo.AddNamespace(item.Key, nsUri);
300 }
301 }
302 }
303 return true;
304 }
305 return false;
306 }
307
308 public void Finish()
309 {
310 if (_topLevelReader)
311 {
312 while (_reader.ReadState == ReadState.Interactive)
313 {
314 _reader.Skip();
315 }
316 }
317 }
318
337
339 {
340 if (_readerLineInfo != null)
341 {
343 if (_reader.BaseURI != rec.baseUri || rec.end.LessOrEqual(rec.start))
344 {
345 rec.end = new Location(rec.start.Line, int.MaxValue);
346 }
347 }
348 }
349
351 {
352 rec.localName = string.Empty;
353 rec.nsUri = string.Empty;
354 rec.prefix = string.Empty;
357 if (_readerLineInfo == null)
358 {
359 return;
360 }
361 bool flag = _reader.NodeType == XmlNodeType.CDATA;
362 int num = _readerLineInfo.LineNumber;
364 rec.start = new Location(num, num2 - (flag ? 9 : 0));
365 char c = ' ';
366 string value = rec.value;
367 char c2;
368 for (int i = 0; i < value.Length; c = c2, i++)
369 {
370 c2 = value[i];
371 if (c2 != '\n')
372 {
373 if (c2 != '\r')
374 {
375 num2++;
376 continue;
377 }
378 }
379 else if (c == '\r')
380 {
381 continue;
382 }
383 num++;
384 num2 = 1;
385 }
386 rec.end = new Location(num, num2 + (flag ? 3 : 0));
387 }
388
390 {
391 string localName = _reader.LocalName;
392 rec.localName = string.Empty;
393 rec.nsUri = string.Empty;
394 rec.prefix = string.Empty;
396 if (_readerLineInfo != null)
397 {
399 }
401 _reader.Read();
403 _reader.Read();
404 if (_readerLineInfo != null)
405 {
407 }
408 }
409
411 {
413 if (Ref.Equal(rec.prefix, _atoms.Xmlns))
414 {
415 string nsUri = _atoms.NameTable.Add(_reader.Value);
416 if (!Ref.Equal(rec.localName, _atoms.Xml))
417 {
418 _scopeManager.AddNsDeclaration(rec.localName, nsUri);
419 _ctxInfo.AddNamespace(rec.localName, nsUri);
420 }
421 return false;
422 }
423 if (rec.prefix.Length == 0 && Ref.Equal(rec.localName, _atoms.Xmlns))
424 {
426 _scopeManager.AddNsDeclaration(string.Empty, nsUri2);
428 return false;
429 }
431 {
432 rec.value = string.Empty;
434 return true;
435 }
436 if (_readerLineInfo != null)
437 {
438 int num = ((_reader.NodeType == XmlNodeType.EntityReference) ? (-2) : (-1));
440 if (_reader.BaseURI != rec.baseUri || rec.valueStart.LessOrEqual(rec.start))
441 {
442 int num2 = ((rec.prefix.Length != 0) ? (rec.prefix.Length + 1) : 0) + rec.localName.Length;
443 rec.end = new Location(rec.start.Line, rec.start.Pos + num2 + 1);
444 }
445 }
446 string text = string.Empty;
448 do
449 {
450 switch (_reader.NodeType)
451 {
452 case XmlNodeType.EntityReference:
454 break;
455 default:
458 break;
459 case XmlNodeType.EndEntity:
460 break;
461 }
462 }
463 while (_reader.ReadAttributeValue());
465 if (_readerLineInfo != null)
466 {
467 int num3 = ((_reader.NodeType == XmlNodeType.EndEntity) ? 1 : text.Length) + 1;
469 if (_reader.BaseURI != rec.baseUri || rec.end.LessOrEqual(rec.valueStart))
470 {
471 rec.end = new Location(rec.start.Line, int.MaxValue);
472 }
473 }
474 return true;
475 }
476
477 public bool MoveToFirstChild()
478 {
479 if (IsEmptyElement)
480 {
481 return false;
482 }
483 return ReadNextSibling();
484 }
485
486 public bool MoveToNextSibling()
487 {
488 if (_nodeType == XmlNodeType.Element || _nodeType == XmlNodeType.EndElement)
489 {
490 _scopeManager.ExitScope();
491 }
492 return ReadNextSibling();
493 }
494
495 public void SkipNode()
496 {
497 if (_nodeType == XmlNodeType.Element && MoveToFirstChild())
498 {
499 do
500 {
501 SkipNode();
502 }
503 while (MoveToNextSibling());
504 }
505 }
506
507 private int ReadTextNodes()
508 {
509 bool flag = _reader.XmlSpace == XmlSpace.Preserve;
510 bool flag2 = true;
511 int num = 0;
512 while (true)
513 {
514 XmlNodeType nodeType = _reader.NodeType;
515 if (nodeType <= XmlNodeType.EntityReference)
516 {
517 if ((uint)(nodeType - 3) > 1u)
518 {
519 if (nodeType != XmlNodeType.EntityReference)
520 {
521 break;
522 }
523 string localName = _reader.LocalName;
524 if (localName.Length > 0)
525 {
526 if (localName[0] != '#')
527 {
528 switch (localName)
529 {
530 case "lt":
531 case "gt":
532 case "quot":
533 case "apos":
534 break;
535 default:
536 goto IL_0121;
537 }
538 }
542 {
543 flag2 = false;
544 }
545 num++;
546 continue;
547 }
548 goto IL_0121;
549 }
551 {
552 flag2 = false;
553 }
554 }
555 else if ((uint)(nodeType - 13) > 1u)
556 {
557 if (nodeType != XmlNodeType.EndEntity)
558 {
559 break;
560 }
561 _reader.Read();
562 continue;
563 }
566 _reader.Read();
567 num++;
568 continue;
569 IL_0121:
571 _reader.Read();
572 }
573 _nodeType = ((!flag2) ? XmlNodeType.Text : (flag ? XmlNodeType.SignificantWhitespace : XmlNodeType.Whitespace));
574 return num;
575 }
576
577 private bool ReadNextSibling()
578 {
580 {
583 {
584 _lastTextNode = 0;
585 }
586 return true;
587 }
588 _currentRecord = 0;
589 while (!_reader.EOF)
590 {
591 switch (_reader.NodeType)
592 {
593 case XmlNodeType.Text:
594 case XmlNodeType.CDATA:
595 case XmlNodeType.EntityReference:
596 case XmlNodeType.Whitespace:
597 case XmlNodeType.SignificantWhitespace:
598 {
599 int num = ReadTextNodes();
600 if (num != 0)
601 {
602 _lastTextNode = num - 1;
603 return true;
604 }
605 break;
606 }
607 case XmlNodeType.Element:
608 _scopeManager.EnterScope();
610 return true;
611 case XmlNodeType.EndElement:
612 _nodeType = XmlNodeType.EndElement;
613 _isEmptyElement = false;
615 _reader.Read();
617 return false;
618 default:
619 _reader.Read();
620 break;
621 }
622 }
623 return false;
624 }
625
626 private int ReadElement()
627 {
628 _attributesRead = false;
630 _nodeType = XmlNodeType.Element;
632 _ctxInfo = new ContextInfo(this);
633 int num = 1;
635 {
636 do
637 {
639 if (ReadAttribute(ref _records[num]))
640 {
641 num++;
642 }
643 }
646 }
647 _reader.Read();
650 _attributes = null;
651 return num - 1;
652 }
653
654 public void MoveToElement()
655 {
656 _currentRecord = 0;
657 }
658
659 private bool MoveToAttributeBase(int attNum)
660 {
661 if (0 < attNum && attNum <= _numAttributes)
662 {
664 return true;
665 }
666 _currentRecord = 0;
667 return false;
668 }
669
671 {
672 if (0 < attNum && attNum <= _numAttributes)
673 {
675 return true;
676 }
677 _currentRecord = 0;
678 return false;
679 }
680
681 public bool MoveToXsltAttribute(int attNum, string attName)
682 {
684 return _currentRecord != 0;
685 }
686
688 {
689 return (_attributes[attNum].flags & ((_compiler.Version == 2) ? XsltLoader.V2Req : XsltLoader.V1Req)) != 0;
690 }
691
692 public bool AttributeExists(int attNum, string attName)
693 {
694 return _xsltAttributeNumber[attNum] != 0;
695 }
696
697 public bool IsNs(string ns)
698 {
699 return Ref.Equal(ns, NamespaceUri);
700 }
701
702 public bool IsKeyword(string kwd)
703 {
704 return Ref.Equal(kwd, LocalName);
705 }
706
707 public bool IsXsltNamespace()
708 {
709 return IsNs(_atoms.UriXsl);
710 }
711
712 public bool IsNullNamespace()
713 {
714 return IsNs(string.Empty);
715 }
716
717 public bool IsXsltKeyword(string kwd)
718 {
719 if (IsKeyword(kwd))
720 {
721 return IsXsltNamespace();
722 }
723 return false;
724 }
725
726 public bool IsExtensionNamespace(string uri)
727 {
728 return _scopeManager.IsExNamespace(uri);
729 }
730
731 private void SetVersion(int attVersion)
732 {
734 double num = XPathConvert.StringToDouble(Value);
735 if (double.IsNaN(num))
736 {
738 num = 1.0;
739 }
740 SetVersion(num);
741 }
742
743 private void SetVersion(double version)
744 {
745 if (_compiler.Version == 0)
746 {
748 }
749 if (_compiler.Version == 1)
750 {
752 _scopeManager.ForwardCompatibility = version != 1.0;
753 }
754 else
755 {
758 }
759 }
760
762 {
763 return GetAttributes(Array.Empty<XsltAttribute>());
764 }
765
767 {
768 _attributes = attributes;
769 _records[0].value = null;
770 int attExPrefixes = 0;
771 int attExPrefixes2 = 0;
772 int xPathDefaultNamespace = 0;
773 int defaultCollation = 0;
774 int num = 0;
775 bool flag = IsXsltNamespace() && IsKeyword(_atoms.Output);
777 bool flag3 = _compiler.Version == 2;
778 for (int i = 0; i < attributes.Length; i++)
779 {
781 }
783 if (flag2 || (flag3 && !flag))
784 {
785 for (int j = 1; MoveToAttributeBase(j); j++)
786 {
788 {
789 SetVersion(j);
790 break;
791 }
792 }
793 }
794 if (_compiler.Version == 0)
795 {
796 SetVersion(1.0);
797 }
800 for (int k = 1; MoveToAttributeBase(k); k++)
801 {
802 if (IsNullNamespace())
803 {
804 string localName = LocalName;
805 int l;
806 for (l = 0; l < attributes.Length; l++)
807 {
808 if (Ref.Equal(localName, attributes[l].name) && (attributes[l].flags & num2) != 0)
809 {
811 break;
812 }
813 }
814 if (l == attributes.Length)
815 {
816 if (Ref.Equal(localName, _atoms.ExcludeResultPrefixes) && (flag2 || flag3))
817 {
819 continue;
820 }
821 if (Ref.Equal(localName, _atoms.ExtensionElementPrefixes) && (flag2 || flag3))
822 {
824 continue;
825 }
826 if (Ref.Equal(localName, _atoms.XPathDefaultNamespace) && flag3)
827 {
829 continue;
830 }
831 if (Ref.Equal(localName, _atoms.DefaultCollation) && flag3)
832 {
834 continue;
835 }
836 if (Ref.Equal(localName, _atoms.UseWhen) && flag3)
837 {
838 num = k;
839 continue;
840 }
842 }
843 }
844 else if (IsXsltNamespace())
845 {
847 }
848 }
849 _attributesRead = true;
855 if (num != 0)
856 {
858 }
860 for (int m = 0; m < attributes.Length; m++)
861 {
862 if (_xsltAttributeNumber[m] == 0)
863 {
864 int flags = attributes[m].flags;
865 if ((_compiler.Version == 2 && (flags & XsltLoader.V2Req) != 0) || (_compiler.Version == 1 && (flags & XsltLoader.V1Req) != 0 && (!ForwardCompatibility || (flags & XsltLoader.V2Req) != 0)))
866 {
868 }
869 }
870 }
871 return _ctxInfo;
872 }
873
875 {
876 int num = 0;
877 int attExPrefixes = 0;
878 int attExPrefixes2 = 0;
879 int xPathDefaultNamespace = 0;
880 int defaultCollation = 0;
881 int num2 = 0;
882 for (int i = 1; MoveToLiteralAttribute(i); i++)
883 {
884 if (IsXsltNamespace())
885 {
886 string localName = LocalName;
887 if (Ref.Equal(localName, _atoms.Version))
888 {
889 num = i;
890 }
891 else if (Ref.Equal(localName, _atoms.ExtensionElementPrefixes))
892 {
893 attExPrefixes = i;
894 }
895 else if (Ref.Equal(localName, _atoms.ExcludeResultPrefixes))
896 {
897 attExPrefixes2 = i;
898 }
899 else if (Ref.Equal(localName, _atoms.XPathDefaultNamespace))
900 {
902 }
903 else if (Ref.Equal(localName, _atoms.DefaultCollation))
904 {
906 }
907 else if (Ref.Equal(localName, _atoms.UseWhen))
908 {
909 num2 = i;
910 }
911 }
912 }
913 _attributesRead = true;
915 if (num != 0)
916 {
917 SetVersion(num);
918 }
919 else if (asStylesheet)
920 {
922 SetVersion(1.0);
923 }
925 if (!IsExtensionNamespace(_records[0].nsUri))
926 {
927 if (_compiler.Version == 2)
928 {
931 if (num2 != 0)
932 {
934 }
935 }
937 }
938 return _ctxInfo;
939 }
940
942 {
943 if (_compiler.Version == 2)
944 {
945 for (int i = 1; MoveToAttributeBase(i); i++)
946 {
948 {
949 SetVersion(i);
950 break;
951 }
952 }
953 }
954 _attributesRead = true;
955 }
956
958 {
960 {
961 return;
962 }
963 string value = Value;
964 if (value.Length == 0)
965 {
966 return;
967 }
968 if (!extensions && _compiler.Version != 1 && value == "#all")
969 {
970 ctxInfo.nsList = new NsDecl(ctxInfo.nsList, null, null);
971 return;
972 }
974 string[] array = XmlConvert.SplitString(value);
975 for (int i = 0; i < array.Length; i++)
976 {
977 if (array[i] == "#default")
978 {
979 array[i] = LookupXmlNamespace(string.Empty);
980 if (array[i].Length == 0 && _compiler.Version != 1 && !BackwardCompatibility)
981 {
983 }
984 }
985 else
986 {
988 }
989 }
991 {
992 return;
993 }
994 for (int j = 0; j < array.Length; j++)
995 {
996 if (array[j] != null)
997 {
998 ctxInfo.nsList = new NsDecl(ctxInfo.nsList, null, array[j]);
999 if (extensions)
1000 {
1001 _scopeManager.AddExNamespace(array[j]);
1002 }
1003 }
1004 }
1005 }
1006
1008 {
1009 if (MoveToLiteralAttribute(attNamespace) && Value.Length != 0)
1010 {
1012 }
1013 }
1014
1016 {
1018 {
1019 string[] array = XmlConvert.SplitString(Value);
1020 int i;
1021 for (i = 0; i < array.Length && XmlCollation.Create(array[i], throwOnError: false) == null; i++)
1022 {
1023 }
1024 if (i == array.Length)
1025 {
1027 }
1028 else if (array[i] != "http://www.w3.org/2004/10/xpath-functions/collation/codepoint")
1029 {
1031 }
1032 }
1033 }
1034
1036 {
1037 return nt switch
1038 {
1039 XmlNodeType.Element => 1,
1040 XmlNodeType.CDATA => 9,
1042 XmlNodeType.Comment => 4,
1045 _ => 0,
1046 };
1047 }
1048
1050 {
1051 return new SourceLineInfo(Uri, Start, End);
1052 }
1053
1055 {
1056 if (_readerLineInfo == null)
1057 {
1058 return BuildLineInfo();
1059 }
1060 if (LocalName == null)
1061 {
1063 }
1065 int line = start.Line;
1067 return new SourceLineInfo(Uri, new Location(line, num), new Location(line, num + QualifiedName.Length));
1068 }
1069
1075
1076 public string LookupXmlNamespace(string prefix)
1077 {
1078 string text = _scopeManager.LookupNamespace(prefix);
1079 if (text != null)
1080 {
1081 return text;
1082 }
1083 if (prefix.Length == 0)
1084 {
1085 return string.Empty;
1086 }
1088 return null;
1089 }
1090
1091 public void ReportError(string res, params string[] args)
1092 {
1094 }
1095
1096 public void ReportErrorFC(string res, params string[] args)
1097 {
1099 {
1101 }
1102 }
1103
1104 private void ReportNYI(string arg)
1105 {
1107 }
1108}
static unsafe void Copy(Array sourceArray, Array destinationArray, int length)
Definition Array.cs:624
static string Xslt_MissingAttribute
Definition SR.cs:1882
static string Xslt_WrongStylesheetElement
Definition SR.cs:1866
static string Xslt_InvalidAttrValue
Definition SR.cs:1884
static string Xslt_InvalidPrefix
Definition SR.cs:1926
static string Xslt_NotYetImplemented
Definition SR.cs:1994
static string Xslt_InvalidAttribute
Definition SR.cs:1880
static string Xslt_WdXslNamespace
Definition SR.cs:1868
static string Xslt_ExcludeDefault
Definition SR.cs:2008
static string Xslt_CollationSyntax
Definition SR.cs:2010
Definition SR.cs:7
static bool Equal(string strA, string strB)
Definition Ref.cs:5
static bool IsOnlyWhitespace(string str)
static string[] SplitString(string value)
string Add(char[] array, int offset, int length)
virtual void Skip()
Definition XmlReader.cs:532
XmlNodeType NodeType
Definition XmlReader.cs:62
static XmlCollation Create(string collationLiteral)
static unsafe double StringToDouble(string s)
bool ExitForwardsCompatible(bool fwdCompat)
Definition Compiler.cs:315
void ReportError(ISourceLineInfo lineInfo, string res, params string[] args)
Definition Compiler.cs:331
void AddNamespace(string prefix, string nsUri)
Definition XsltInput.cs:85
ContextInfo(ISourceLineInfo lineinfo)
Definition XsltInput.cs:73
void SaveExtendedLineInfo(XsltInput input)
Definition XsltInput.cs:90
ISourceLineInfo BuildLineInfo()
static int PositionAdjustment(XmlNodeType nt)
bool IsRequiredAttribute(int attNum)
Definition XsltInput.cs:687
void SetVersion(int attVersion)
Definition XsltInput.cs:731
XsltAttribute[] _attributes
Definition XsltInput.cs:172
ContextInfo GetLiteralAttributes(bool asStylesheet)
Definition XsltInput.cs:874
readonly XmlReader _reader
Definition XsltInput.cs:140
readonly KeywordsTable _atoms
Definition XsltInput.cs:148
readonly IXmlLineInfo _readerLineInfo
Definition XsltInput.cs:142
bool AttributeExists(int attNum, string attName)
Definition XsltInput.cs:692
bool IsXsltKeyword(string kwd)
Definition XsltInput.cs:717
readonly int[] _xsltAttributeNumber
Definition XsltInput.cs:174
void InsertExNamespaces(int attExPrefixes, ContextInfo ctxInfo, bool extensions)
Definition XsltInput.cs:957
readonly CompilerScopeManager< VarPar > _scopeManager
Definition XsltInput.cs:146
XsltInput(XmlReader reader, Compiler compiler, KeywordsTable atoms)
Definition XsltInput.cs:238
void SetDefaultCollation(int attCollation)
bool ReadAttribute(ref Record rec)
Definition XsltInput.cs:410
void FillupTextRecord(ref Record rec)
Definition XsltInput.cs:350
void SetRecordEnd(ref Record rec)
Definition XsltInput.cs:338
ContextInfo GetAttributes(XsltAttribute[] attributes)
Definition XsltInput.cs:766
void FillupCharacterEntityRecord(ref Record rec)
Definition XsltInput.cs:389
void ExtendRecordBuffer(int position)
Definition XsltInput.cs:260
void ReportErrorFC(string res, params string[] args)
void SetVersion(double version)
Definition XsltInput.cs:743
ISourceLineInfo BuildNameLineInfo()
bool MoveToAttributeBase(int attNum)
Definition XsltInput.cs:659
string LookupXmlNamespace(string prefix)
void ReportError(string res, params string[] args)
static void EnsureExpandEntities(XmlReader reader)
Definition XsltInput.cs:252
bool IsKeyword(string kwd)
Definition XsltInput.cs:702
void SetXPathDefaultNamespace(int attNamespace)
void FillupRecord(ref Record rec)
Definition XsltInput.cs:319
bool MoveToXsltAttribute(int attNum, string attName)
Definition XsltInput.cs:681
ISourceLineInfo BuildReaderLineInfo()
readonly Compiler _compiler
Definition XsltInput.cs:150
bool MoveToLiteralAttribute(int attNum)
Definition XsltInput.cs:670
bool IsExtensionNamespace(string uri)
Definition XsltInput.cs:726
XsltAttribute(string name, int flags)
Definition XsltInput.cs:36