Mercurial > hg > nginx-site
comparison xml/en/docs/njs/reference.xml @ 2934:41870b949ac9
Documented XML module in njs.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Thu, 02 Feb 2023 16:22:15 +0000 |
parents | 386ba17fac23 |
children | 918ec12be507 |
comparison
equal
deleted
inserted
replaced
2933:386ba17fac23 | 2934:41870b949ac9 |
---|---|
7 <!DOCTYPE article SYSTEM "../../../../dtd/article.dtd"> | 7 <!DOCTYPE article SYSTEM "../../../../dtd/article.dtd"> |
8 | 8 |
9 <article name="Reference" | 9 <article name="Reference" |
10 link="/en/docs/njs/reference.html" | 10 link="/en/docs/njs/reference.html" |
11 lang="en" | 11 lang="en" |
12 rev="97"> | 12 rev="98"> |
13 | 13 |
14 <section id="summary"> | 14 <section id="summary"> |
15 | 15 |
16 <para> | 16 <para> |
17 <link doc="index.xml">njs</link> provides objects, methods and properties | 17 <link doc="index.xml">njs</link> provides objects, methods and properties |
1879 is a <literal>CryptoKey</literal> | 1879 is a <literal>CryptoKey</literal> |
1880 that represents the input to the derivation algorithm | 1880 that represents the input to the derivation algorithm |
1881 - the initial key material for the derivation function: | 1881 - the initial key material for the derivation function: |
1882 for example, for <literal>PBKDF2</literal> it might be a password, | 1882 for example, for <literal>PBKDF2</literal> it might be a password, |
1883 imported as a <literal>CryptoKey</literal> using | 1883 imported as a <literal>CryptoKey</literal> using |
1884 <link id="crypto_sublte_import_key"><literal>сrypto.subtle.importKey()</literal></link>. | 1884 <link id="crypto_subtle_import_key"><literal>сrypto.subtle.importKey()</literal></link>. |
1885 </tag-desc> | 1885 </tag-desc> |
1886 | 1886 |
1887 <tag-name id="crypto_derive_key_derivedkeyalg"><literal>derivedKeyAlgorithm</literal></tag-name> | 1887 <tag-name id="crypto_derive_key_derivedkeyalg"><literal>derivedKeyAlgorithm</literal></tag-name> |
1888 <tag-desc> | 1888 <tag-desc> |
1889 is an object | 1889 is an object |
5108 </list> | 5108 </list> |
5109 </para> | 5109 </para> |
5110 | 5110 |
5111 </section> | 5111 </section> |
5112 | 5112 |
5113 | |
5114 <section id="xml" name="XML"> | |
5115 | |
5116 <para> | |
5117 The XML module allows working with XML documents | |
5118 (<link doc="changes.xml" id="njs0.7.10">0.7.10</link>). | |
5119 The XML module object is returned by | |
5120 <literal>require('xml')</literal>. | |
5121 </para> | |
5122 | |
5123 <para> | |
5124 Example: | |
5125 <example> | |
5126 const xml = require("xml"); | |
5127 let data = `<note><to b="bar" a= "foo" >Tove</to><from>Jani</from></note>`; | |
5128 let doc = xml.parse(data); | |
5129 | |
5130 console.log(doc.note.to.$text) /* 'Tove' */ | |
5131 console.log(doc.note.to.$attr$b) /* 'bar' */ | |
5132 console.log(doc.note.$tags[1].$text) /* 'Jani' */ | |
5133 | |
5134 let dec = new TextDecoder(); | |
5135 let c14n = dec.decode(xml.exclusiveC14n(doc.note)); | |
5136 console.log(c14n) /* '<note><to a="foo" b="bar">Tove</to><from>Jani</from></note>' */ | |
5137 | |
5138 c14n = dec.decode(xml.exclusiveC14n(doc.note.to)); | |
5139 console.log(c14n) /* '<to a="foo" b="bar">Tove</to>' */ | |
5140 | |
5141 c14n = dec.decode(xml.exclusiveC14n(doc.note, doc.note.to /* excluding 'to' */)); | |
5142 console.log(c14n) /* '<note><from>Jani</from></note>' */ | |
5143 </example> | |
5144 </para> | |
5145 | |
5146 <para> | |
5147 <list type="tag"> | |
5148 | |
5149 <tag-name id="xml_parse"><literal>parse(<value>string</value> | | |
5150 <value>Buffer</value>)</literal></tag-name> | |
5151 <tag-desc> | |
5152 Parses a string or Buffer for an XML document, | |
5153 returns an | |
5154 <link id="xml_doc"><literal>XMLDoc</literal></link> wrapper object | |
5155 around XML structure. | |
5156 </tag-desc> | |
5157 | |
5158 <tag-name id="xml_c14n"><literal>xml.c14n(<value>root_node</value>[, | |
5159 <value>excluding_node</value>]])</literal></tag-name> | |
5160 <tag-desc> | |
5161 Canonicalizes <literal>root_node</literal> and its children according to | |
5162 <link url="https://www.w3.org/TR/xml-c14n">Canonical XML Version 1.1</link>. | |
5163 | |
5164 <para> | |
5165 <list type="tag"> | |
5166 | |
5167 <tag-name><literal>excluding_node</literal></tag-name> | |
5168 <tag-desc> | |
5169 allows omitting from the output a part of the document | |
5170 </tag-desc> | |
5171 | |
5172 </list> | |
5173 </para> | |
5174 | |
5175 </tag-desc> | |
5176 | |
5177 <tag-name id="xml_exclusiveC14n"><literal>xml.exclusiveC14n(<value>root_node</value>[, | |
5178 <value>excluding_node</value>[, | |
5179 <value>withComments</value> | |
5180 [,<value>prefix_list</value>]]])</literal></tag-name> | |
5181 <tag-desc> | |
5182 Canonicalizes <literal>root_node</literal> and its children according to | |
5183 <link url="https://www.w3.org/TR/xml-exc-c14n/">Exclusive XML | |
5184 Canonicalization Version 1.0</link>. | |
5185 | |
5186 <para> | |
5187 <list type="tag"> | |
5188 | |
5189 <tag-name><literal>excluding_node</literal></tag-name> | |
5190 <tag-desc> | |
5191 allows omitting from the output a part of the document | |
5192 corresponding to the node and its children | |
5193 </tag-desc> | |
5194 | |
5195 <tag-name><literal>withComments</literal></tag-name> | |
5196 <tag-desc> | |
5197 a boolean value, <literal>false</literal> by default. | |
5198 If <literal>true</literal>, canonicalization corresponds to | |
5199 <link url="http://www.w3.org/2001/10/xml-exc-c14n#WithComments">Exclusive XML | |
5200 Canonicalization Version 1.0</link>. | |
5201 </tag-desc> | |
5202 | |
5203 <tag-name><literal>prefix_list</literal></tag-name> | |
5204 <tag-desc> | |
5205 an optional string with a space separated namespace prefixes | |
5206 for namespaces that should also be included into the output | |
5207 </tag-desc> | |
5208 | |
5209 </list> | |
5210 </para> | |
5211 | |
5212 </tag-desc> | |
5213 | |
5214 <tag-name id="xml_doc"><literal>XMLDoc</literal></tag-name> | |
5215 <tag-desc> | |
5216 An XMLDoc wrapper object around XML structure. | |
5217 | |
5218 <para> | |
5219 <list type="tag"> | |
5220 | |
5221 <tag-name id="xml_doc_root"><literal>$root</literal></tag-name> | |
5222 <tag-desc> | |
5223 the root tag as | |
5224 <link id="xml_node"><literal>XMLNode</literal></link> wrapper object | |
5225 </tag-desc> | |
5226 | |
5227 <tag-name id="xml_doc_xxx"><literal>doc.<value>xxx</value></literal></tag-name> | |
5228 <tag-desc> | |
5229 the first root tag named <value>xxx</value> as | |
5230 <link id="xml_node"><literal>XMLNode</literal></link> wrapper object | |
5231 </tag-desc> | |
5232 | |
5233 </list> | |
5234 </para> | |
5235 | |
5236 </tag-desc> | |
5237 | |
5238 <tag-name id="xml_node"><literal>XMLNode</literal></tag-name> | |
5239 <tag-desc> | |
5240 An XMLNode wrapper object around XML tag node. | |
5241 <para> | |
5242 <list type="tag"> | |
5243 | |
5244 <tag-name id="xml_node_tag"><literal>node.$tag$<value>xxx</value></literal></tag-name> | |
5245 <tag-desc> | |
5246 the first child tag named <value>xxx</value> as | |
5247 <link id="xml_node"><literal>XMLNode</literal></link> wrapper object | |
5248 </tag-desc> | |
5249 | |
5250 <tag-name><literal>node.<value>xxx</value></literal></tag-name> | |
5251 <tag-desc> | |
5252 a shorthand syntax for | |
5253 <link id="xml_node_tag"><literal>node.$tag$<value>xxx</value></literal></link> | |
5254 </tag-desc> | |
5255 | |
5256 <tag-name><literal>node.$tags$<value>xxx</value></literal></tag-name> | |
5257 <tag-desc> | |
5258 an array of all children tags named <value>xxx</value> | |
5259 </tag-desc> | |
5260 | |
5261 <tag-name><literal>node.$tags$</literal></tag-name> | |
5262 <tag-desc> | |
5263 an array of all children tags | |
5264 </tag-desc> | |
5265 | |
5266 <tag-name><literal>node.$attr$<value>xxx</value></literal></tag-name> | |
5267 <tag-desc> | |
5268 an attribute value of <value>xxx</value> | |
5269 </tag-desc> | |
5270 | |
5271 <tag-name><literal>node.$attrs</literal></tag-name> | |
5272 <tag-desc> | |
5273 an <link id="xml_xmlattr"><literal>XMLAttr</literal></link> wrapper object | |
5274 </tag-desc> | |
5275 | |
5276 <tag-name><literal>node.$name</literal></tag-name> | |
5277 <tag-desc> | |
5278 the tag name of the node | |
5279 </tag-desc> | |
5280 | |
5281 <tag-name><literal>node.$ns</literal></tag-name> | |
5282 <tag-desc> | |
5283 the namespace of the node | |
5284 </tag-desc> | |
5285 | |
5286 <tag-name><literal>node.$parent</literal></tag-name> | |
5287 <tag-desc> | |
5288 the parent of the node | |
5289 </tag-desc> | |
5290 | |
5291 <tag-name><literal>node.$text</literal></tag-name> | |
5292 <tag-desc> | |
5293 the node's content | |
5294 </tag-desc> | |
5295 | |
5296 </list> | |
5297 </para> | |
5298 | |
5299 </tag-desc> | |
5300 | |
5301 <tag-name id="xml_xmlattr"><literal>XMLAttr</literal></tag-name> | |
5302 <tag-desc> | |
5303 An XMLAttrs wrapper object around XML node attributes. | |
5304 | |
5305 <para> | |
5306 <list type="tag"> | |
5307 | |
5308 <tag-name id="xmlattr_x"><literal>attr.<value>xxx</value></literal></tag-name> | |
5309 <tag-desc> | |
5310 a value of the <value>xxx</value> attribute | |
5311 </tag-desc> | |
5312 | |
5313 </list> | |
5314 </para> | |
5315 | |
5316 </tag-desc> | |
5317 | |
5318 </list> | |
5319 </para> | |
5320 | |
5113 </section> | 5321 </section> |
5114 | 5322 |
5323 </section> | |
5324 | |
5115 </article> | 5325 </article> |