@@ -7,7 +7,12 @@ import 'package:xml/xml.dart';
77import 'signed_xml.dart' ;
88import 'utils.dart' ;
99
10- const xmlData = [XmlNodeType .CDATA , XmlNodeType .DOCUMENT_TYPE , XmlNodeType .PROCESSING , XmlNodeType .TEXT ];
10+ const xmlData = [
11+ XmlNodeType .CDATA ,
12+ XmlNodeType .DOCUMENT_TYPE ,
13+ XmlNodeType .PROCESSING ,
14+ XmlNodeType .TEXT
15+ ];
1116
1217class XmlNamespace {
1318 final String prefix;
@@ -19,7 +24,8 @@ class XmlNamespace {
1924 String toString () => '$prefix :$namespaceURI ' ;
2025
2126 @override
22- bool operator == (Object other) => identical (this , other) ||
27+ bool operator == (Object other) =>
28+ identical (this , other) ||
2329 other is XmlNamespace &&
2430 runtimeType == other.runtimeType &&
2531 prefix == other.prefix &&
@@ -51,8 +57,7 @@ class C14nCanonicalization implements CanonicalizationAlgorithm<String> {
5157 }
5258
5359 int nsCompare (XmlNamespace a, XmlNamespace b) {
54- final attr1 = a.prefix,
55- attr2 = b.prefix;
60+ final attr1 = a.prefix, attr2 = b.prefix;
5661 if (attr1 == attr2) return 0 ;
5762 return attr1.compareTo (attr2);
5863 }
@@ -73,12 +78,17 @@ class C14nCanonicalization implements CanonicalizationAlgorithm<String> {
7378 attrListToRender.sort (attrCompare);
7479
7580 return attrListToRender
76- .map ((attr) => ' ${attr .name .qualified }="${encodeSpecialCharactersInAttribute (attr .value )}"' )
81+ .map ((attr) =>
82+ ' ${attr .name .qualified }="${encodeSpecialCharactersInAttribute (attr .value )}"' )
7783 .join ('' );
7884 }
7985
80- RenderNsResult _renderNs (XmlElement node, List <String > prefixesInScope, String defaultNs,
81- Map <String , String > defaultNsForPrefix, List <XmlNamespace > ancestorNamespaces) {
86+ RenderNsResult _renderNs (
87+ XmlElement node,
88+ List <String > prefixesInScope,
89+ String defaultNs,
90+ Map <String , String > defaultNsForPrefix,
91+ List <XmlNamespace > ancestorNamespaces) {
8292 final res = < String > [];
8393 var newDefaultNs = defaultNs;
8494 final currNs = node.name.namespaceUri ?? '' ;
@@ -88,7 +98,8 @@ class C14nCanonicalization implements CanonicalizationAlgorithm<String> {
8898 final prefix = node.name.prefix;
8999 if (prefix != null ) {
90100 if (! prefixesInScope.contains (prefix)) {
91- nsListToRender.add (XmlNamespace (prefix, node.name.namespaceUri ?? defaultNsForPrefix[prefix]));
101+ nsListToRender.add (XmlNamespace (
102+ prefix, node.name.namespaceUri ?? defaultNsForPrefix[prefix]));
92103 prefixesInScope.add (prefix);
93104 }
94105 } else if (defaultNs != currNs) {
@@ -110,7 +121,10 @@ class C14nCanonicalization implements CanonicalizationAlgorithm<String> {
110121
111122 //handle all prefixed attributes that are not xmlns definitions and where
112123 //the prefix is not defined already
113- if (prefix != null && ! prefixesInScope.contains (prefix) && prefix != 'xmlns' && prefix != 'xml' ) {
124+ if (prefix != null &&
125+ ! prefixesInScope.contains (prefix) &&
126+ prefix != 'xmlns' &&
127+ prefix != 'xml' ) {
114128 nsListToRender.add (XmlNamespace (prefix, attr.name.namespaceUri));
115129 prefixesInScope.add (prefix);
116130 }
@@ -140,8 +154,12 @@ class C14nCanonicalization implements CanonicalizationAlgorithm<String> {
140154 return RenderNsResult (res.join ('' ), newDefaultNs);
141155 }
142156
143- String _processInner (XmlNode node, List <String > prefixesInScope, String defaultNs,
144- Map <String , String > defaultNsForPrefix, List <XmlNamespace > ancestorNamespaces) {
157+ String _processInner (
158+ XmlNode node,
159+ List <String > prefixesInScope,
160+ String defaultNs,
161+ Map <String , String > defaultNsForPrefix,
162+ List <XmlNamespace > ancestorNamespaces) {
145163 if (node.nodeType == XmlNodeType .COMMENT ) {
146164 return renderComment (node);
147165 }
@@ -152,12 +170,20 @@ class C14nCanonicalization implements CanonicalizationAlgorithm<String> {
152170
153171 if (node is XmlElement ) {
154172 final tagName = node.name.qualified,
155- ns = _renderNs (node, prefixesInScope, defaultNs, defaultNsForPrefix, ancestorNamespaces),
156- res = ['<' , tagName, ns.rendered, renderAttrs (node, ns.newDefaultNs), '>' ];
173+ ns = _renderNs (node, prefixesInScope, defaultNs, defaultNsForPrefix,
174+ ancestorNamespaces),
175+ res = [
176+ '<' ,
177+ tagName,
178+ ns.rendered,
179+ renderAttrs (node, ns.newDefaultNs),
180+ '>'
181+ ];
157182
158183 for (final child in node.children) {
159184 final pfxCopy = prefixesInScope.toList ();
160- res.add (_processInner (child, pfxCopy, ns.newDefaultNs, defaultNsForPrefix, < XmlNamespace > []));
185+ res.add (_processInner (child, pfxCopy, ns.newDefaultNs,
186+ defaultNsForPrefix, < XmlNamespace > []));
161187 }
162188
163189 res.add ('</$tagName >' );
@@ -175,8 +201,7 @@ class C14nCanonicalization implements CanonicalizationAlgorithm<String> {
175201 isAfterDocument = false ;
176202
177203 if (isOutsideDocument) {
178- XmlNode ? nextNode = node,
179- previousNode = node;
204+ XmlNode ? nextNode = node, previousNode = node;
180205
181206 while (nextNode != null ) {
182207 if (nextNode == node.document? .rootElement) {
@@ -197,16 +222,23 @@ class C14nCanonicalization implements CanonicalizationAlgorithm<String> {
197222 }
198223 }
199224
200- return (isAfterDocument ? '\n ' : '' ) + '<!--' + encodeSpecialCharactersInText (node.text) + '-->' + (isBeforeDocument ? '\n ' : '' );
225+ return (isAfterDocument ? '\n ' : '' ) +
226+ '<!--' +
227+ encodeSpecialCharactersInText (node.text) +
228+ '-->' +
229+ (isBeforeDocument ? '\n ' : '' );
201230 }
202231
203232 @override
204233 String process (XmlNode node, [Map <String , dynamic > options = const {}]) {
205234 final defaultNs = options['defaultNs' ] as String ? ?? '' ;
206- final defaultNsForPrefix = options['defaultNsForPrefix' ] as Map <String , String >? ?? {};
207- final ancestorNamespaces = options['ancestorNamespaces' ] as List <XmlNamespace >? ?? [];
235+ final defaultNsForPrefix =
236+ options['defaultNsForPrefix' ] as Map <String , String >? ?? {};
237+ final ancestorNamespaces =
238+ options['ancestorNamespaces' ] as List <XmlNamespace >? ?? [];
208239
209- return _processInner (node, [], defaultNs, defaultNsForPrefix, ancestorNamespaces);
240+ return _processInner (
241+ node, [], defaultNs, defaultNsForPrefix, ancestorNamespaces);
210242 }
211243
212244 @override
@@ -218,5 +250,6 @@ class C14nCanonicalizationWithComments extends C14nCanonicalization {
218250 bool get includeComments => true ;
219251
220252 @override
221- String get algorithmName => 'http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments' ;
222- }
253+ String get algorithmName =>
254+ 'http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments' ;
255+ }
0 commit comments