|
|
|
@ -4,26 +4,24 @@
|
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
|
<meta name="generator" content="Asciidoctor 2.0.10">
|
|
|
|
|
<meta name="generator" content="Asciidoctor 2.0.16">
|
|
|
|
|
<meta name="author" content="website, repository">
|
|
|
|
|
<title>pugixml 1.11 quick start guide</title>
|
|
|
|
|
<title>pugixml 1.13 quick start guide</title>
|
|
|
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
|
|
|
|
|
<style>
|
|
|
|
|
/* Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */
|
|
|
|
|
/* Uncomment @import statement to use as custom stylesheet */
|
|
|
|
|
/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
|
|
|
|
|
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}
|
|
|
|
|
audio,video{display:inline-block}
|
|
|
|
|
audio:not([controls]){display:none;height:0}
|
|
|
|
|
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
|
|
|
|
|
/*! Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */
|
|
|
|
|
/* Uncomment the following line when using as a custom stylesheet */
|
|
|
|
|
/* @import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"; */
|
|
|
|
|
html{font-family:sans-serif;-webkit-text-size-adjust:100%}
|
|
|
|
|
a{background:none}
|
|
|
|
|
a:focus{outline:thin dotted}
|
|
|
|
|
a:active,a:hover{outline:0}
|
|
|
|
|
h1{font-size:2em;margin:.67em 0}
|
|
|
|
|
abbr[title]{border-bottom:1px dotted}
|
|
|
|
|
b,strong{font-weight:bold}
|
|
|
|
|
abbr{font-size:.9em}
|
|
|
|
|
abbr[title]{cursor:help;border-bottom:1px dotted #dddddf;text-decoration:none}
|
|
|
|
|
dfn{font-style:italic}
|
|
|
|
|
hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
|
|
|
|
|
hr{height:0}
|
|
|
|
|
mark{background:#ff0;color:#000}
|
|
|
|
|
code,kbd,pre,samp{font-family:monospace;font-size:1em}
|
|
|
|
|
pre{white-space:pre-wrap}
|
|
|
|
@ -35,20 +33,22 @@ sub{bottom:-.25em}
|
|
|
|
|
img{border:0}
|
|
|
|
|
svg:not(:root){overflow:hidden}
|
|
|
|
|
figure{margin:0}
|
|
|
|
|
audio,video{display:inline-block}
|
|
|
|
|
audio:not([controls]){display:none;height:0}
|
|
|
|
|
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
|
|
|
|
|
legend{border:0;padding:0}
|
|
|
|
|
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
|
|
|
|
|
button,input{line-height:normal}
|
|
|
|
|
button,select{text-transform:none}
|
|
|
|
|
button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
|
|
|
|
|
button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}
|
|
|
|
|
button[disabled],html input[disabled]{cursor:default}
|
|
|
|
|
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
|
|
|
|
|
input[type=checkbox],input[type=radio]{padding:0}
|
|
|
|
|
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
|
|
|
|
|
textarea{overflow:auto;vertical-align:top}
|
|
|
|
|
table{border-collapse:collapse;border-spacing:0}
|
|
|
|
|
*,*::before,*::after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
|
|
|
|
|
*,::before,::after{box-sizing:border-box}
|
|
|
|
|
html,body{font-size:100%}
|
|
|
|
|
body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}
|
|
|
|
|
body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-wrap:anywhere;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}
|
|
|
|
|
a:hover{cursor:pointer}
|
|
|
|
|
img,object,embed{max-width:100%;height:auto}
|
|
|
|
|
object,embed{height:100%}
|
|
|
|
@ -63,14 +63,12 @@ img{-ms-interpolation-mode:bicubic}
|
|
|
|
|
img,object,svg{display:inline-block;vertical-align:middle}
|
|
|
|
|
textarea{height:auto;min-height:50px}
|
|
|
|
|
select{width:100%}
|
|
|
|
|
.center{margin-left:auto;margin-right:auto}
|
|
|
|
|
.stretch{width:100%}
|
|
|
|
|
.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
|
|
|
|
|
div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
|
|
|
|
|
div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}
|
|
|
|
|
a{color:#2156a5;text-decoration:underline;line-height:inherit}
|
|
|
|
|
a:hover,a:focus{color:#1d4b8f}
|
|
|
|
|
a img{border:0}
|
|
|
|
|
p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
|
|
|
|
|
p{line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
|
|
|
|
|
p aside{font-size:.875em;line-height:1.35;font-style:italic}
|
|
|
|
|
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
|
|
|
|
|
h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
|
|
|
|
@ -79,14 +77,14 @@ h2{font-size:1.6875em}
|
|
|
|
|
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
|
|
|
|
|
h4,h5{font-size:1.125em}
|
|
|
|
|
h6{font-size:1em}
|
|
|
|
|
hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
|
|
|
|
|
hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em}
|
|
|
|
|
em,i{font-style:italic;line-height:inherit}
|
|
|
|
|
strong,b{font-weight:bold;line-height:inherit}
|
|
|
|
|
small{font-size:60%;line-height:inherit}
|
|
|
|
|
code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
|
|
|
|
|
ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
|
|
|
|
|
ul,ol,dl{line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
|
|
|
|
|
ul,ol{margin-left:1.5em}
|
|
|
|
|
ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
|
|
|
|
|
ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0}
|
|
|
|
|
ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
|
|
|
|
|
ul.square{list-style-type:square}
|
|
|
|
|
ul.circle{list-style-type:circle}
|
|
|
|
@ -94,31 +92,29 @@ ul.disc{list-style-type:disc}
|
|
|
|
|
ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
|
|
|
|
|
dl dt{margin-bottom:.3125em;font-weight:bold}
|
|
|
|
|
dl dd{margin-bottom:1.25em}
|
|
|
|
|
abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
|
|
|
|
|
abbr{text-transform:none}
|
|
|
|
|
blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
|
|
|
|
|
blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
|
|
|
|
|
blockquote cite::before{content:"\2014 \0020"}
|
|
|
|
|
blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
|
|
|
|
|
blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
|
|
|
|
|
@media screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
|
|
|
|
|
h1{font-size:2.75em}
|
|
|
|
|
h2{font-size:2.3125em}
|
|
|
|
|
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
|
|
|
|
|
h4{font-size:1.4375em}}
|
|
|
|
|
table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
|
|
|
|
|
table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede;word-wrap:normal}
|
|
|
|
|
table thead,table tfoot{background:#f7f8f7}
|
|
|
|
|
table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
|
|
|
|
|
table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
|
|
|
|
|
table tr.even,table tr.alt{background:#f8f8f7}
|
|
|
|
|
table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
|
|
|
|
|
table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{line-height:1.6}
|
|
|
|
|
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
|
|
|
|
|
h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
|
|
|
|
|
.center{margin-left:auto;margin-right:auto}
|
|
|
|
|
.stretch{width:100%}
|
|
|
|
|
.clearfix::before,.clearfix::after,.float-group::before,.float-group::after{content:" ";display:table}
|
|
|
|
|
.clearfix::after,.float-group::after{clear:both}
|
|
|
|
|
:not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}
|
|
|
|
|
:not(pre)>code.nobreak{word-wrap:normal}
|
|
|
|
|
:not(pre)>code.nowrap{white-space:nowrap}
|
|
|
|
|
:not(pre).nobreak{word-wrap:normal}
|
|
|
|
|
:not(pre).nowrap{white-space:nowrap}
|
|
|
|
|
:not(pre).pre-wrap{white-space:pre-wrap}
|
|
|
|
|
:not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
|
|
|
|
|
pre{color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;line-height:1.45;text-rendering:optimizeSpeed}
|
|
|
|
|
pre code,pre pre{color:inherit;font-size:inherit;line-height:inherit}
|
|
|
|
|
pre>code{display:block}
|
|
|
|
@ -126,7 +122,7 @@ pre.nowrap,pre.nowrap pre{white-space:pre;word-wrap:normal}
|
|
|
|
|
em em{font-style:normal}
|
|
|
|
|
strong strong{font-weight:400}
|
|
|
|
|
.keyseq{color:rgba(51,51,51,.8)}
|
|
|
|
|
kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
|
|
|
|
|
kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
|
|
|
|
|
.keyseq kbd:first-child{margin-left:0}
|
|
|
|
|
.keyseq kbd:last-child{margin-right:0}
|
|
|
|
|
.menuseq,.menuref{color:#000}
|
|
|
|
@ -138,7 +134,7 @@ b.button::before,b.button::after{position:relative;top:-1px;font-weight:400}
|
|
|
|
|
b.button::before{content:"[";padding:0 3px 0 2px}
|
|
|
|
|
b.button::after{content:"]";padding:0 2px 0 3px}
|
|
|
|
|
p a>code:hover{color:rgba(0,0,0,.9)}
|
|
|
|
|
#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
|
|
|
|
|
#header,#content,#footnotes,#footer{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
|
|
|
|
|
#header::before,#header::after,#content::before,#content::after,#footnotes::before,#footnotes::after,#footer::before,#footer::after{content:" ";display:table}
|
|
|
|
|
#header::after,#content::after,#footnotes::after,#footer::after{clear:both}
|
|
|
|
|
#content{margin-top:1.25em}
|
|
|
|
@ -146,7 +142,7 @@ p a>code:hover{color:rgba(0,0,0,.9)}
|
|
|
|
|
#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
|
|
|
|
|
#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}
|
|
|
|
|
#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}
|
|
|
|
|
#header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
|
|
|
|
|
#header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}
|
|
|
|
|
#header .details span:first-child{margin-left:-.125em}
|
|
|
|
|
#header .details span.email a{color:rgba(0,0,0,.85)}
|
|
|
|
|
#header .details br{display:none}
|
|
|
|
@ -180,11 +176,11 @@ body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9
|
|
|
|
|
#toc.toc2>ul{font-size:.95em}
|
|
|
|
|
#toc.toc2 ul ul{padding-left:1.25em}
|
|
|
|
|
body.toc2.toc-right{padding-left:0;padding-right:20em}}
|
|
|
|
|
#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
|
|
|
|
|
#content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}
|
|
|
|
|
#content #toc>:first-child{margin-top:0}
|
|
|
|
|
#content #toc>:last-child{margin-bottom:0}
|
|
|
|
|
#footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}
|
|
|
|
|
#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
|
|
|
|
|
#footer{max-width:none;background:rgba(0,0,0,.8);padding:1.25em}
|
|
|
|
|
#footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}
|
|
|
|
|
#content{margin-bottom:.625em}
|
|
|
|
|
.sect1{padding-bottom:.625em}
|
|
|
|
|
@media screen and (min-width:768px){#content{margin-bottom:1.25em}
|
|
|
|
@ -197,29 +193,32 @@ body.toc2.toc-right{padding-left:0;padding-right:20em}}
|
|
|
|
|
#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
|
|
|
|
|
#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
|
|
|
|
|
details,.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
|
|
|
|
|
details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}
|
|
|
|
|
details{margin-left:1.25rem}
|
|
|
|
|
details>summary{cursor:pointer;display:block;position:relative;line-height:1.6;margin-bottom:.625rem;-webkit-tap-highlight-color:transparent}
|
|
|
|
|
details>summary::before{content:"";border:solid transparent;border-left:solid;border-width:.3em 0 .3em .5em;position:absolute;top:.5em;left:-1.25rem;transform:translateX(15%)}
|
|
|
|
|
details[open]>summary::before{border:solid transparent;border-top:solid;border-width:.5em .3em 0;transform:translateY(15%)}
|
|
|
|
|
details>summary::after{content:"";width:1.25rem;height:1em;position:absolute;top:.3em;left:-1.25rem}
|
|
|
|
|
.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
|
|
|
|
|
table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}
|
|
|
|
|
.paragraph.lead>p,#preamble>.sectionbody>[class="paragraph"]:first-of-type p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}
|
|
|
|
|
table.tableblock #preamble>.sectionbody>[class="paragraph"]:first-of-type p{font-size:inherit}
|
|
|
|
|
.paragraph.lead>p,#preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}
|
|
|
|
|
.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
|
|
|
|
|
.admonitionblock>table td.icon{text-align:center;width:80px}
|
|
|
|
|
.admonitionblock>table td.icon img{max-width:none}
|
|
|
|
|
.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
|
|
|
|
|
.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}
|
|
|
|
|
.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6);word-wrap:anywhere}
|
|
|
|
|
.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
|
|
|
|
|
.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
|
|
|
|
|
.exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}
|
|
|
|
|
.exampleblock>.content>:first-child{margin-top:0}
|
|
|
|
|
.exampleblock>.content>:last-child{margin-bottom:0}
|
|
|
|
|
.sidebarblock{border-style:solid;border-width:1px;border-color:#dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;-webkit-border-radius:4px;border-radius:4px}
|
|
|
|
|
.sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}
|
|
|
|
|
.sidebarblock>:first-child{margin-top:0}
|
|
|
|
|
.sidebarblock>:last-child{margin-bottom:0}
|
|
|
|
|
.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
|
|
|
|
|
.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
|
|
|
|
|
.literalblock pre,.listingblock>.content>pre{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}
|
|
|
|
|
.literalblock pre,.listingblock>.content>pre{border-radius:4px;overflow-x:auto;padding:1em;font-size:.8125em}
|
|
|
|
|
@media screen and (min-width:768px){.literalblock pre,.listingblock>.content>pre{font-size:.90625em}}
|
|
|
|
|
@media screen and (min-width:1280px){.literalblock pre,.listingblock>.content>pre{font-size:1em}}
|
|
|
|
|
.literalblock pre,.listingblock>.content>pre:not(.highlight),.listingblock>.content>pre[class="highlight"],.listingblock>.content>pre[class^="highlight "]{background:#f7f7f8}
|
|
|
|
|
.literalblock pre,.listingblock>.content>pre:not(.highlight),.listingblock>.content>pre[class=highlight],.listingblock>.content>pre[class^="highlight "]{background:#f7f7f8}
|
|
|
|
|
.literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}
|
|
|
|
|
.listingblock>.content{position:relative}
|
|
|
|
|
.listingblock code[data-lang]::before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}
|
|
|
|
@ -227,7 +226,7 @@ table.tableblock #preamble>.sectionbody>[class="paragraph"]:first-of-type p{font
|
|
|
|
|
.listingblock.terminal pre .command::before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}
|
|
|
|
|
.listingblock.terminal pre .command:not([data-prompt])::before{content:"$"}
|
|
|
|
|
.listingblock pre.highlightjs{padding:0}
|
|
|
|
|
.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
|
|
|
|
|
.listingblock pre.highlightjs>code{padding:1em;border-radius:4px}
|
|
|
|
|
.listingblock pre.prettyprint{border-width:0}
|
|
|
|
|
.prettyprint{background:#f7f7f8}
|
|
|
|
|
pre.prettyprint .linenums{line-height:1.45;margin-left:2em}
|
|
|
|
@ -237,8 +236,8 @@ pre.prettyprint li:not(:first-child) code[data-lang]::before{display:none}
|
|
|
|
|
table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}
|
|
|
|
|
table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}
|
|
|
|
|
table.linenotable td.code{padding-left:.75em}
|
|
|
|
|
table.linenotable td.linenos{border-right:1px solid currentColor;opacity:.35;padding-right:.5em}
|
|
|
|
|
pre.pygments .lineno{border-right:1px solid currentColor;opacity:.35;display:inline-block;margin-right:.75em}
|
|
|
|
|
table.linenotable td.linenos{border-right:1px solid;opacity:.35;padding-right:.5em}
|
|
|
|
|
pre.pygments .lineno{border-right:1px solid;opacity:.35;display:inline-block;margin-right:.75em}
|
|
|
|
|
pre.pygments .lineno::before{content:"";margin-right:-.125em}
|
|
|
|
|
.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
|
|
|
|
|
.quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}
|
|
|
|
@ -248,7 +247,7 @@ pre.pygments .lineno::before{content:"";margin-right:-.125em}
|
|
|
|
|
.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
|
|
|
|
|
.quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}
|
|
|
|
|
.verseblock{margin:0 1em 1.25em}
|
|
|
|
|
.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
|
|
|
|
|
.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans-serif;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
|
|
|
|
|
.verseblock pre strong{font-weight:400}
|
|
|
|
|
.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
|
|
|
|
|
.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
|
|
|
|
@ -261,22 +260,21 @@ pre.pygments .lineno::before{content:"";margin-right:-.125em}
|
|
|
|
|
.quoteblock.excerpt>blockquote,.quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}
|
|
|
|
|
.quoteblock.excerpt,.quoteblock .quoteblock{margin-left:0}
|
|
|
|
|
.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}
|
|
|
|
|
.quoteblock.excerpt .attribution,.quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}
|
|
|
|
|
table.tableblock{max-width:100%;border-collapse:separate}
|
|
|
|
|
.quoteblock.excerpt .attribution,.quoteblock .quoteblock .attribution{color:inherit;font-size:.85rem;text-align:left;margin-right:0}
|
|
|
|
|
p.tableblock:last-child{margin-bottom:0}
|
|
|
|
|
td.tableblock>.content{margin-bottom:1.25em;word-wrap:anywhere}
|
|
|
|
|
td.tableblock>.content>:last-child{margin-bottom:-1.25em}
|
|
|
|
|
td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}
|
|
|
|
|
table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
|
|
|
|
|
table.grid-all>thead>tr>.tableblock,table.grid-all>tbody>tr>.tableblock{border-width:0 1px 1px 0}
|
|
|
|
|
table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}
|
|
|
|
|
table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}
|
|
|
|
|
table.grid-rows>thead>tr>.tableblock,table.grid-rows>tbody>tr>.tableblock{border-width:0 0 1px}
|
|
|
|
|
table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}
|
|
|
|
|
table.grid-all>*>tr>.tableblock:last-child,table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}
|
|
|
|
|
table.grid-all>tbody>tr:last-child>.tableblock,table.grid-all>thead:last-child>tr>.tableblock,table.grid-rows>tbody>tr:last-child>.tableblock,table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}
|
|
|
|
|
table.grid-all>*>tr>*{border-width:1px}
|
|
|
|
|
table.grid-cols>*>tr>*{border-width:0 1px}
|
|
|
|
|
table.grid-rows>*>tr>*{border-width:1px 0}
|
|
|
|
|
table.frame-all{border-width:1px}
|
|
|
|
|
table.frame-ends{border-width:1px 0}
|
|
|
|
|
table.frame-sides{border-width:0 1px}
|
|
|
|
|
table.frame-topbot,table.frame-ends{border-width:1px 0}
|
|
|
|
|
table.frame-none>colgroup+*>:first-child>*,table.frame-sides>colgroup+*>:first-child>*{border-top-width:0}
|
|
|
|
|
table.frame-none>:last-child>:last-child>*,table.frame-sides>:last-child>:last-child>*{border-bottom-width:0}
|
|
|
|
|
table.frame-none>*>tr>:first-child,table.frame-ends>*>tr>:first-child{border-left-width:0}
|
|
|
|
|
table.frame-none>*>tr>:last-child,table.frame-ends>*>tr>:last-child{border-right-width:0}
|
|
|
|
|
table.stripes-all tr,table.stripes-odd tr:nth-of-type(odd),table.stripes-even tr:nth-of-type(even),table.stripes-hover tr:hover{background:#f8f8f7}
|
|
|
|
|
th.halign-left,td.halign-left{text-align:left}
|
|
|
|
|
th.halign-right,td.halign-right{text-align:right}
|
|
|
|
@ -285,7 +283,7 @@ th.valign-top,td.valign-top{vertical-align:top}
|
|
|
|
|
th.valign-bottom,td.valign-bottom{vertical-align:bottom}
|
|
|
|
|
th.valign-middle,td.valign-middle{vertical-align:middle}
|
|
|
|
|
table thead th,table tfoot th{font-weight:bold}
|
|
|
|
|
tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
|
|
|
|
|
tbody tr th{background:#f7f8f7}
|
|
|
|
|
tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
|
|
|
|
|
p.tableblock>code:only-child{background:none;padding:0}
|
|
|
|
|
p.tableblock{font-size:1em}
|
|
|
|
@ -297,10 +295,10 @@ ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ul
|
|
|
|
|
ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none}
|
|
|
|
|
ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em}
|
|
|
|
|
ul.unstyled,ol.unstyled{margin-left:0}
|
|
|
|
|
ul.checklist{margin-left:.625em}
|
|
|
|
|
ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}
|
|
|
|
|
ul.checklist li>p:first-child>input[type="checkbox"]:first-child{margin-right:.25em}
|
|
|
|
|
ul.inline{display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}
|
|
|
|
|
ul.checklist>li>p:first-child{margin-left:-1em}
|
|
|
|
|
ul.checklist>li>p:first-child>.fa-square-o:first-child,ul.checklist>li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}
|
|
|
|
|
ul.checklist>li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}
|
|
|
|
|
ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}
|
|
|
|
|
ul.inline>li{margin-left:1.25em}
|
|
|
|
|
.unstyled dl dt{font-weight:400;font-style:normal}
|
|
|
|
|
ol.arabic{list-style-type:decimal}
|
|
|
|
@ -314,11 +312,12 @@ ol.lowergreek{list-style-type:lower-greek}
|
|
|
|
|
.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
|
|
|
|
|
td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
|
|
|
|
|
td.hdlist1{font-weight:bold;padding-bottom:1.25em}
|
|
|
|
|
td.hdlist2{word-wrap:anywhere}
|
|
|
|
|
.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
|
|
|
|
|
.colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}
|
|
|
|
|
.colist td:not([class]):first-child img{max-width:none}
|
|
|
|
|
.colist td:not([class]):last-child{padding:.25em 0}
|
|
|
|
|
.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
|
|
|
|
|
.thumb,.th{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}
|
|
|
|
|
.imageblock.left{margin:.25em .625em 1.25em 0}
|
|
|
|
|
.imageblock.right{margin:.25em 0 1.25em .625em}
|
|
|
|
|
.imageblock>.title{margin-bottom:0}
|
|
|
|
@ -386,7 +385,7 @@ a span.icon>.fa{cursor:inherit}
|
|
|
|
|
.admonitionblock td.icon .icon-warning::before{content:"\f071";color:#bf6900}
|
|
|
|
|
.admonitionblock td.icon .icon-caution::before{content:"\f06d";color:#bf3400}
|
|
|
|
|
.admonitionblock td.icon .icon-important::before{content:"\f06a";color:#bf0000}
|
|
|
|
|
.conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
|
|
|
|
|
.conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:50%;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
|
|
|
|
|
.conum[data-value] *{color:#fff!important}
|
|
|
|
|
.conum[data-value]+b{display:none}
|
|
|
|
|
.conum[data-value]::after{content:attr(data-value)}
|
|
|
|
@ -394,25 +393,27 @@ pre .conum[data-value]{position:relative;top:-.125em}
|
|
|
|
|
b.conum *{color:inherit!important}
|
|
|
|
|
.conum:not([data-value]):empty{display:none}
|
|
|
|
|
dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
|
|
|
|
|
h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
|
|
|
|
|
h1,h2,p,td.content,span.alt,summary{letter-spacing:-.01em}
|
|
|
|
|
p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
|
|
|
|
|
p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
|
|
|
|
|
p,blockquote,dt,td.content,span.alt,summary{font-size:1.0625rem}
|
|
|
|
|
p{margin-bottom:1.25rem}
|
|
|
|
|
.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
|
|
|
|
|
.exampleblock>.content{background:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
|
|
|
|
|
.exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}
|
|
|
|
|
.print-only{display:none!important}
|
|
|
|
|
@page{margin:1.25cm .75cm}
|
|
|
|
|
@media print{*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
|
|
|
|
|
@media print{*{box-shadow:none!important;text-shadow:none!important}
|
|
|
|
|
html{font-size:80%}
|
|
|
|
|
a{color:inherit!important;text-decoration:underline!important}
|
|
|
|
|
a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
|
|
|
|
|
a[href^="http:"]:not(.bare)::after,a[href^="https:"]:not(.bare)::after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
|
|
|
|
|
abbr[title]{border-bottom:1px dotted}
|
|
|
|
|
abbr[title]::after{content:" (" attr(title) ")"}
|
|
|
|
|
pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
|
|
|
|
|
thead{display:table-header-group}
|
|
|
|
|
svg{max-width:100%}
|
|
|
|
|
p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
|
|
|
|
|
h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
|
|
|
|
|
#header,#content,#footnotes,#footer{max-width:none}
|
|
|
|
|
#toc,.sidebarblock,.exampleblock>.content{background:none!important}
|
|
|
|
|
#toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}
|
|
|
|
|
body.book #header{text-align:center}
|
|
|
|
@ -429,17 +430,93 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
|
|
|
|
|
.print-only{display:block!important}
|
|
|
|
|
.hide-for-print{display:none!important}
|
|
|
|
|
.show-for-print{display:inherit!important}}
|
|
|
|
|
@media print,amzn-kf8{#header>h1:first-child{margin-top:1.25rem}
|
|
|
|
|
@media amzn-kf8,print{#header>h1:first-child{margin-top:1.25rem}
|
|
|
|
|
.sect1{padding:0!important}
|
|
|
|
|
.sect1+.sect1{border:0}
|
|
|
|
|
#footer{background:none}
|
|
|
|
|
#footer-text{color:rgba(0,0,0,.6);font-size:.9em}}
|
|
|
|
|
@media amzn-kf8{#header,#content,#footnotes,#footer{padding:0}}
|
|
|
|
|
</style>
|
|
|
|
|
<style>
|
|
|
|
|
pre { line-height: 125%; }
|
|
|
|
|
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
|
|
|
|
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
|
|
|
|
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
|
|
|
|
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
|
|
|
|
pre.pygments .hll { background-color: #ffffcc }
|
|
|
|
|
pre.pygments { background: #f8f8f8; }
|
|
|
|
|
pre.pygments .tok-c { color: #3D7B7B; font-style: italic } /* Comment */
|
|
|
|
|
pre.pygments .tok-err { border: 1px solid #FF0000 } /* Error */
|
|
|
|
|
pre.pygments .tok-k { color: #008000; font-weight: bold } /* Keyword */
|
|
|
|
|
pre.pygments .tok-o { color: #666666 } /* Operator */
|
|
|
|
|
pre.pygments .tok-ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
|
|
|
|
|
pre.pygments .tok-cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
|
|
|
|
|
pre.pygments .tok-cp { color: #9C6500 } /* Comment.Preproc */
|
|
|
|
|
pre.pygments .tok-cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
|
|
|
|
|
pre.pygments .tok-c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
|
|
|
|
|
pre.pygments .tok-cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
|
|
|
|
|
pre.pygments .tok-gd { color: #A00000 } /* Generic.Deleted */
|
|
|
|
|
pre.pygments .tok-ge { font-style: italic } /* Generic.Emph */
|
|
|
|
|
pre.pygments .tok-gr { color: #E40000 } /* Generic.Error */
|
|
|
|
|
pre.pygments .tok-gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
|
|
|
|
pre.pygments .tok-gi { color: #008400 } /* Generic.Inserted */
|
|
|
|
|
pre.pygments .tok-go { color: #717171 } /* Generic.Output */
|
|
|
|
|
pre.pygments .tok-gp { color: #000080; font-weight: bold } /* Generic.Prompt */
|
|
|
|
|
pre.pygments .tok-gs { font-weight: bold } /* Generic.Strong */
|
|
|
|
|
pre.pygments .tok-gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
|
|
|
|
pre.pygments .tok-gt { color: #0044DD } /* Generic.Traceback */
|
|
|
|
|
pre.pygments .tok-kc { color: #008000; font-weight: bold } /* Keyword.Constant */
|
|
|
|
|
pre.pygments .tok-kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
|
|
|
|
|
pre.pygments .tok-kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
|
|
|
|
|
pre.pygments .tok-kp { color: #008000 } /* Keyword.Pseudo */
|
|
|
|
|
pre.pygments .tok-kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
|
|
|
|
|
pre.pygments .tok-kt { color: #B00040 } /* Keyword.Type */
|
|
|
|
|
pre.pygments .tok-m { color: #666666 } /* Literal.Number */
|
|
|
|
|
pre.pygments .tok-s { color: #BA2121 } /* Literal.String */
|
|
|
|
|
pre.pygments .tok-na { color: #687822 } /* Name.Attribute */
|
|
|
|
|
pre.pygments .tok-nb { color: #008000 } /* Name.Builtin */
|
|
|
|
|
pre.pygments .tok-nc { color: #0000FF; font-weight: bold } /* Name.Class */
|
|
|
|
|
pre.pygments .tok-no { color: #880000 } /* Name.Constant */
|
|
|
|
|
pre.pygments .tok-nd { color: #AA22FF } /* Name.Decorator */
|
|
|
|
|
pre.pygments .tok-ni { color: #717171; font-weight: bold } /* Name.Entity */
|
|
|
|
|
pre.pygments .tok-ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
|
|
|
|
|
pre.pygments .tok-nf { color: #0000FF } /* Name.Function */
|
|
|
|
|
pre.pygments .tok-nl { color: #767600 } /* Name.Label */
|
|
|
|
|
pre.pygments .tok-nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
|
|
|
|
|
pre.pygments .tok-nt { color: #008000; font-weight: bold } /* Name.Tag */
|
|
|
|
|
pre.pygments .tok-nv { color: #19177C } /* Name.Variable */
|
|
|
|
|
pre.pygments .tok-ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
|
|
|
|
|
pre.pygments .tok-w { color: #bbbbbb } /* Text.Whitespace */
|
|
|
|
|
pre.pygments .tok-mb { color: #666666 } /* Literal.Number.Bin */
|
|
|
|
|
pre.pygments .tok-mf { color: #666666 } /* Literal.Number.Float */
|
|
|
|
|
pre.pygments .tok-mh { color: #666666 } /* Literal.Number.Hex */
|
|
|
|
|
pre.pygments .tok-mi { color: #666666 } /* Literal.Number.Integer */
|
|
|
|
|
pre.pygments .tok-mo { color: #666666 } /* Literal.Number.Oct */
|
|
|
|
|
pre.pygments .tok-sa { color: #BA2121 } /* Literal.String.Affix */
|
|
|
|
|
pre.pygments .tok-sb { color: #BA2121 } /* Literal.String.Backtick */
|
|
|
|
|
pre.pygments .tok-sc { color: #BA2121 } /* Literal.String.Char */
|
|
|
|
|
pre.pygments .tok-dl { color: #BA2121 } /* Literal.String.Delimiter */
|
|
|
|
|
pre.pygments .tok-sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
|
|
|
|
|
pre.pygments .tok-s2 { color: #BA2121 } /* Literal.String.Double */
|
|
|
|
|
pre.pygments .tok-se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
|
|
|
|
|
pre.pygments .tok-sh { color: #BA2121 } /* Literal.String.Heredoc */
|
|
|
|
|
pre.pygments .tok-si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
|
|
|
|
|
pre.pygments .tok-sx { color: #008000 } /* Literal.String.Other */
|
|
|
|
|
pre.pygments .tok-sr { color: #A45A77 } /* Literal.String.Regex */
|
|
|
|
|
pre.pygments .tok-s1 { color: #BA2121 } /* Literal.String.Single */
|
|
|
|
|
pre.pygments .tok-ss { color: #19177C } /* Literal.String.Symbol */
|
|
|
|
|
pre.pygments .tok-bp { color: #008000 } /* Name.Builtin.Pseudo */
|
|
|
|
|
pre.pygments .tok-fm { color: #0000FF } /* Name.Function.Magic */
|
|
|
|
|
pre.pygments .tok-vc { color: #19177C } /* Name.Variable.Class */
|
|
|
|
|
pre.pygments .tok-vg { color: #19177C } /* Name.Variable.Global */
|
|
|
|
|
pre.pygments .tok-vi { color: #19177C } /* Name.Variable.Instance */
|
|
|
|
|
pre.pygments .tok-vm { color: #19177C } /* Name.Variable.Magic */
|
|
|
|
|
pre.pygments .tok-il { color: #666666 } /* Literal.Number.Integer.Long */
|
|
|
|
|
</style>
|
|
|
|
|
</head>
|
|
|
|
|
<body class="article toc2 toc-right">
|
|
|
|
|
<div id="header">
|
|
|
|
|
<h1>pugixml 1.11 quick start guide</h1>
|
|
|
|
|
<h1>pugixml 1.13 quick start guide</h1>
|
|
|
|
|
<div class="details">
|
|
|
|
|
<span id="author" class="author">website</span><br>
|
|
|
|
|
<span id="email" class="email"><a href="https://pugixml.org" class="bare">https://pugixml.org</a></span><br>
|
|
|
|
@ -495,9 +572,9 @@ No documentation is perfect; neither is this one. If you find errors or omission
|
|
|
|
|
<p>You can download the latest source distribution as an archive:</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="paragraph">
|
|
|
|
|
<p><a href="https://github.com/zeux/pugixml/releases/download/v1.11/pugixml-1.11.zip">pugixml-1.11.zip</a> (Windows line endings)
|
|
|
|
|
<p><a href="https://github.com/zeux/pugixml/releases/download/v1.13/pugixml-1.13.zip">pugixml-1.13.zip</a> (Windows line endings)
|
|
|
|
|
/
|
|
|
|
|
<a href="https://github.com/zeux/pugixml/releases/download/v1.11/pugixml-1.11.tar.gz">pugixml-1.11.tar.gz</a> (Unix line endings)</p>
|
|
|
|
|
<a href="https://github.com/zeux/pugixml/releases/download/v1.13/pugixml-1.13.tar.gz">pugixml-1.13.tar.gz</a> (Unix line endings)</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="paragraph">
|
|
|
|
|
<p>The distribution contains library source, documentation (the guide you’re reading now and the manual) and some code examples. After downloading the distribution, install pugixml by extracting all files from the compressed archive.</p>
|
|
|
|
@ -581,11 +658,11 @@ All pugixml classes and functions are located in <code>pugi</code> namespace; yo
|
|
|
|
|
</div>
|
|
|
|
|
<div class="listingblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_document</span> <span class="tok-n">doc</span><span class="tok-p">;</span>
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_document</span><span class="tok-w"> </span><span class="tok-n">doc</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_parse_result</span> <span class="tok-n">result</span> <span class="tok-o">=</span> <span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">load_file</span><span class="tok-p">(</span><span class="tok-s">"tree.xml"</span><span class="tok-p">);</span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_parse_result</span><span class="tok-w"> </span><span class="tok-n">result</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">load_file</span><span class="tok-p">(</span><span class="tok-s">"tree.xml"</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">"Load result: "</span> <span class="tok-o"><<</span> <span class="tok-n">result</span><span class="tok-p">.</span><span class="tok-n">description</span><span class="tok-p">()</span> <span class="tok-o"><<</span> <span class="tok-s">", mesh name: "</span> <span class="tok-o"><<</span> <span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">child</span><span class="tok-p">(</span><span class="tok-s">"mesh"</span><span class="tok-p">).</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"name"</span><span class="tok-p">).</span><span class="tok-n">value</span><span class="tok-p">()</span> <span class="tok-o"><<</span> <span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span></code></pre>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"Load result: "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">result</span><span class="tok-p">.</span><span class="tok-n">description</span><span class="tok-p">()</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">", mesh name: "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">child</span><span class="tok-p">(</span><span class="tok-s">"mesh"</span><span class="tok-p">).</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"name"</span><span class="tok-p">).</span><span class="tok-n">value</span><span class="tok-p">()</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span><span class="tok-w"></span></code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="paragraph">
|
|
|
|
@ -599,19 +676,19 @@ All pugixml classes and functions are located in <code>pugi</code> namespace; yo
|
|
|
|
|
</div>
|
|
|
|
|
<div class="listingblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_document</span> <span class="tok-n">doc</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_parse_result</span> <span class="tok-n">result</span> <span class="tok-o">=</span> <span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">load_string</span><span class="tok-p">(</span><span class="tok-n">source</span><span class="tok-p">);</span>
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_document</span><span class="tok-w"> </span><span class="tok-n">doc</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_parse_result</span><span class="tok-w"> </span><span class="tok-n">result</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">load_string</span><span class="tok-p">(</span><span class="tok-n">source</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-k">if</span> <span class="tok-p">(</span><span class="tok-n">result</span><span class="tok-p">)</span>
|
|
|
|
|
<span class="tok-p">{</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">"XML ["</span> <span class="tok-o"><<</span> <span class="tok-n">source</span> <span class="tok-o"><<</span> <span class="tok-s">"] parsed without errors, attr value: ["</span> <span class="tok-o"><<</span> <span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">child</span><span class="tok-p">(</span><span class="tok-s">"node"</span><span class="tok-p">).</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"attr"</span><span class="tok-p">).</span><span class="tok-n">value</span><span class="tok-p">()</span> <span class="tok-o"><<</span> <span class="tok-s">"]</span><span class="tok-se">\n\n</span><span class="tok-s">"</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-p">}</span>
|
|
|
|
|
<span class="tok-k">else</span>
|
|
|
|
|
<span class="tok-p">{</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">"XML ["</span> <span class="tok-o"><<</span> <span class="tok-n">source</span> <span class="tok-o"><<</span> <span class="tok-s">"] parsed with errors, attr value: ["</span> <span class="tok-o"><<</span> <span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">child</span><span class="tok-p">(</span><span class="tok-s">"node"</span><span class="tok-p">).</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"attr"</span><span class="tok-p">).</span><span class="tok-n">value</span><span class="tok-p">()</span> <span class="tok-o"><<</span> <span class="tok-s">"]</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">"Error description: "</span> <span class="tok-o"><<</span> <span class="tok-n">result</span><span class="tok-p">.</span><span class="tok-n">description</span><span class="tok-p">()</span> <span class="tok-o"><<</span> <span class="tok-s">"</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">"Error offset: "</span> <span class="tok-o"><<</span> <span class="tok-n">result</span><span class="tok-p">.</span><span class="tok-n">offset</span> <span class="tok-o"><<</span> <span class="tok-s">" (error at [..."</span> <span class="tok-o"><<</span> <span class="tok-p">(</span><span class="tok-n">source</span> <span class="tok-o">+</span> <span class="tok-n">result</span><span class="tok-p">.</span><span class="tok-n">offset</span><span class="tok-p">)</span> <span class="tok-o"><<</span> <span class="tok-s">"]</span><span class="tok-se">\n\n</span><span class="tok-s">"</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-p">}</span></code></pre>
|
|
|
|
|
<span class="tok-k">if</span><span class="tok-w"> </span><span class="tok-p">(</span><span class="tok-n">result</span><span class="tok-p">)</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-p">{</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"XML ["</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">source</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"] parsed without errors, attr value: ["</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">child</span><span class="tok-p">(</span><span class="tok-s">"node"</span><span class="tok-p">).</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"attr"</span><span class="tok-p">).</span><span class="tok-n">value</span><span class="tok-p">()</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"]</span><span class="tok-se">\n\n</span><span class="tok-s">"</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-p">}</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-k">else</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-p">{</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"XML ["</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">source</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"] parsed with errors, attr value: ["</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">child</span><span class="tok-p">(</span><span class="tok-s">"node"</span><span class="tok-p">).</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"attr"</span><span class="tok-p">).</span><span class="tok-n">value</span><span class="tok-p">()</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"]</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"Error description: "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">result</span><span class="tok-p">.</span><span class="tok-n">description</span><span class="tok-p">()</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"Error offset: "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">result</span><span class="tok-p">.</span><span class="tok-n">offset</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">" (error at [..."</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-p">(</span><span class="tok-n">source</span><span class="tok-w"> </span><span class="tok-o">+</span><span class="tok-w"> </span><span class="tok-n">result</span><span class="tok-p">.</span><span class="tok-n">offset</span><span class="tok-p">)</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"]</span><span class="tok-se">\n\n</span><span class="tok-s">"</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-p">}</span><span class="tok-w"></span></code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="paragraph">
|
|
|
|
@ -625,21 +702,21 @@ All pugixml classes and functions are located in <code>pugi</code> namespace; yo
|
|
|
|
|
</div>
|
|
|
|
|
<div class="listingblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-k">const</span> <span class="tok-kt">char</span> <span class="tok-n">source</span><span class="tok-p">[]</span> <span class="tok-o">=</span> <span class="tok-s">"<mesh name='sphere'><bounds>0 0 1 1</bounds></mesh>"</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-kt">size_t</span> <span class="tok-n">size</span> <span class="tok-o">=</span> <span class="tok-k">sizeof</span><span class="tok-p">(</span><span class="tok-n">source</span><span class="tok-p">);</span></code></pre>
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-n">source</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-s">"<mesh name='sphere'><bounds>0 0 1 1</bounds></mesh>"</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-kt">size_t</span><span class="tok-w"> </span><span class="tok-n">size</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-k">sizeof</span><span class="tok-p">(</span><span class="tok-n">source</span><span class="tok-p">);</span><span class="tok-w"></span></code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="listingblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-c1">// You can use load_buffer_inplace to load document from mutable memory block; the block's lifetime must exceed that of document</span>
|
|
|
|
|
<span class="tok-kt">char</span><span class="tok-o">*</span> <span class="tok-n">buffer</span> <span class="tok-o">=</span> <span class="tok-k">new</span> <span class="tok-kt">char</span><span class="tok-p">[</span><span class="tok-n">size</span><span class="tok-p">];</span>
|
|
|
|
|
<span class="tok-n">memcpy</span><span class="tok-p">(</span><span class="tok-n">buffer</span><span class="tok-p">,</span> <span class="tok-n">source</span><span class="tok-p">,</span> <span class="tok-n">size</span><span class="tok-p">);</span>
|
|
|
|
|
<span class="tok-kt">char</span><span class="tok-o">*</span><span class="tok-w"> </span><span class="tok-n">buffer</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-k">new</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-p">[</span><span class="tok-n">size</span><span class="tok-p">];</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-n">memcpy</span><span class="tok-p">(</span><span class="tok-n">buffer</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-n">source</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-n">size</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-c1">// The block can be allocated by any method; the block is modified during parsing</span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_parse_result</span> <span class="tok-n">result</span> <span class="tok-o">=</span> <span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">load_buffer_inplace</span><span class="tok-p">(</span><span class="tok-n">buffer</span><span class="tok-p">,</span> <span class="tok-n">size</span><span class="tok-p">);</span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_parse_result</span><span class="tok-w"> </span><span class="tok-n">result</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">load_buffer_inplace</span><span class="tok-p">(</span><span class="tok-n">buffer</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-n">size</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-c1">// You have to destroy the block yourself after the document is no longer used</span>
|
|
|
|
|
<span class="tok-k">delete</span><span class="tok-p">[]</span> <span class="tok-n">buffer</span><span class="tok-p">;</span></code></pre>
|
|
|
|
|
<span class="tok-k">delete</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-n">buffer</span><span class="tok-p">;</span><span class="tok-w"></span></code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="paragraph">
|
|
|
|
@ -647,8 +724,8 @@ All pugixml classes and functions are located in <code>pugi</code> namespace; yo
|
|
|
|
|
</div>
|
|
|
|
|
<div class="listingblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">ifstream</span> <span class="tok-n">stream</span><span class="tok-p">(</span><span class="tok-s">"weekly-utf-8.xml"</span><span class="tok-p">);</span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_parse_result</span> <span class="tok-n">result</span> <span class="tok-o">=</span> <span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">load</span><span class="tok-p">(</span><span class="tok-n">stream</span><span class="tok-p">);</span></code></pre>
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">ifstream</span><span class="tok-w"> </span><span class="tok-nf">stream</span><span class="tok-p">(</span><span class="tok-s">"weekly-utf-8.xml"</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_parse_result</span><span class="tok-w"> </span><span class="tok-n">result</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">load</span><span class="tok-p">(</span><span class="tok-n">stream</span><span class="tok-p">);</span><span class="tok-w"></span></code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
@ -677,13 +754,13 @@ All pugixml classes and functions are located in <code>pugi</code> namespace; yo
|
|
|
|
|
</div>
|
|
|
|
|
<div class="listingblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-k">for</span> <span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span> <span class="tok-n">tool</span> <span class="tok-o">=</span> <span class="tok-n">tools</span><span class="tok-p">.</span><span class="tok-n">child</span><span class="tok-p">(</span><span class="tok-s">"Tool"</span><span class="tok-p">);</span> <span class="tok-n">tool</span><span class="tok-p">;</span> <span class="tok-n">tool</span> <span class="tok-o">=</span> <span class="tok-n">tool</span><span class="tok-p">.</span><span class="tok-n">next_sibling</span><span class="tok-p">(</span><span class="tok-s">"Tool"</span><span class="tok-p">))</span>
|
|
|
|
|
<span class="tok-p">{</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">"Tool "</span> <span class="tok-o"><<</span> <span class="tok-n">tool</span><span class="tok-p">.</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"Filename"</span><span class="tok-p">).</span><span class="tok-n">value</span><span class="tok-p">();</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">": AllowRemote "</span> <span class="tok-o"><<</span> <span class="tok-n">tool</span><span class="tok-p">.</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"AllowRemote"</span><span class="tok-p">).</span><span class="tok-n">as_bool</span><span class="tok-p">();</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">", Timeout "</span> <span class="tok-o"><<</span> <span class="tok-n">tool</span><span class="tok-p">.</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"Timeout"</span><span class="tok-p">).</span><span class="tok-n">as_int</span><span class="tok-p">();</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">", Description '"</span> <span class="tok-o"><<</span> <span class="tok-n">tool</span><span class="tok-p">.</span><span class="tok-n">child_value</span><span class="tok-p">(</span><span class="tok-s">"Description"</span><span class="tok-p">)</span> <span class="tok-o"><<</span> <span class="tok-s">"'</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-p">}</span></code></pre>
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-k">for</span><span class="tok-w"> </span><span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span><span class="tok-w"> </span><span class="tok-n">tool</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">tools</span><span class="tok-p">.</span><span class="tok-n">child</span><span class="tok-p">(</span><span class="tok-s">"Tool"</span><span class="tok-p">);</span><span class="tok-w"> </span><span class="tok-n">tool</span><span class="tok-p">;</span><span class="tok-w"> </span><span class="tok-n">tool</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">tool</span><span class="tok-p">.</span><span class="tok-n">next_sibling</span><span class="tok-p">(</span><span class="tok-s">"Tool"</span><span class="tok-p">))</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-p">{</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"Tool "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">tool</span><span class="tok-p">.</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"Filename"</span><span class="tok-p">).</span><span class="tok-n">value</span><span class="tok-p">();</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">": AllowRemote "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">tool</span><span class="tok-p">.</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"AllowRemote"</span><span class="tok-p">).</span><span class="tok-n">as_bool</span><span class="tok-p">();</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">", Timeout "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">tool</span><span class="tok-p">.</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"Timeout"</span><span class="tok-p">).</span><span class="tok-n">as_int</span><span class="tok-p">();</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">", Description '"</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">tool</span><span class="tok-p">.</span><span class="tok-n">child_value</span><span class="tok-p">(</span><span class="tok-s">"Description"</span><span class="tok-p">)</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"'</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-p">}</span><span class="tok-w"></span></code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="paragraph">
|
|
|
|
@ -691,12 +768,12 @@ All pugixml classes and functions are located in <code>pugi</code> namespace; yo
|
|
|
|
|
</div>
|
|
|
|
|
<div class="listingblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">"Tool for *.dae generation: "</span> <span class="tok-o"><<</span> <span class="tok-n">tools</span><span class="tok-p">.</span><span class="tok-n">find_child_by_attribute</span><span class="tok-p">(</span><span class="tok-s">"Tool"</span><span class="tok-p">,</span> <span class="tok-s">"OutputFileMasks"</span><span class="tok-p">,</span> <span class="tok-s">"*.dae"</span><span class="tok-p">).</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"Filename"</span><span class="tok-p">).</span><span class="tok-n">value</span><span class="tok-p">()</span> <span class="tok-o"><<</span> <span class="tok-s">"</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span>
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"Tool for *.dae generation: "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">tools</span><span class="tok-p">.</span><span class="tok-n">find_child_by_attribute</span><span class="tok-p">(</span><span class="tok-s">"Tool"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-s">"OutputFileMasks"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-s">"*.dae"</span><span class="tok-p">).</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"Filename"</span><span class="tok-p">).</span><span class="tok-n">value</span><span class="tok-p">()</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-k">for</span> <span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span> <span class="tok-n">tool</span> <span class="tok-o">=</span> <span class="tok-n">tools</span><span class="tok-p">.</span><span class="tok-n">child</span><span class="tok-p">(</span><span class="tok-s">"Tool"</span><span class="tok-p">);</span> <span class="tok-n">tool</span><span class="tok-p">;</span> <span class="tok-n">tool</span> <span class="tok-o">=</span> <span class="tok-n">tool</span><span class="tok-p">.</span><span class="tok-n">next_sibling</span><span class="tok-p">(</span><span class="tok-s">"Tool"</span><span class="tok-p">))</span>
|
|
|
|
|
<span class="tok-p">{</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">"Tool "</span> <span class="tok-o"><<</span> <span class="tok-n">tool</span><span class="tok-p">.</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"Filename"</span><span class="tok-p">).</span><span class="tok-n">value</span><span class="tok-p">()</span> <span class="tok-o"><<</span> <span class="tok-s">"</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-p">}</span></code></pre>
|
|
|
|
|
<span class="tok-k">for</span><span class="tok-w"> </span><span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span><span class="tok-w"> </span><span class="tok-n">tool</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">tools</span><span class="tok-p">.</span><span class="tok-n">child</span><span class="tok-p">(</span><span class="tok-s">"Tool"</span><span class="tok-p">);</span><span class="tok-w"> </span><span class="tok-n">tool</span><span class="tok-p">;</span><span class="tok-w"> </span><span class="tok-n">tool</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">tool</span><span class="tok-p">.</span><span class="tok-n">next_sibling</span><span class="tok-p">(</span><span class="tok-s">"Tool"</span><span class="tok-p">))</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-p">{</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"Tool "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">tool</span><span class="tok-p">.</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"Filename"</span><span class="tok-p">).</span><span class="tok-n">value</span><span class="tok-p">()</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-p">}</span><span class="tok-w"></span></code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="paragraph">
|
|
|
|
@ -707,17 +784,17 @@ All pugixml classes and functions are located in <code>pugi</code> namespace; yo
|
|
|
|
|
</div>
|
|
|
|
|
<div class="listingblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-k">for</span> <span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node_iterator</span> <span class="tok-n">it</span> <span class="tok-o">=</span> <span class="tok-n">tools</span><span class="tok-p">.</span><span class="tok-n">begin</span><span class="tok-p">();</span> <span class="tok-n">it</span> <span class="tok-o">!=</span> <span class="tok-n">tools</span><span class="tok-p">.</span><span class="tok-n">end</span><span class="tok-p">();</span> <span class="tok-o">++</span><span class="tok-n">it</span><span class="tok-p">)</span>
|
|
|
|
|
<span class="tok-p">{</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">"Tool:"</span><span class="tok-p">;</span>
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-k">for</span><span class="tok-w"> </span><span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node_iterator</span><span class="tok-w"> </span><span class="tok-n">it</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">tools</span><span class="tok-p">.</span><span class="tok-n">begin</span><span class="tok-p">();</span><span class="tok-w"> </span><span class="tok-n">it</span><span class="tok-w"> </span><span class="tok-o">!=</span><span class="tok-w"> </span><span class="tok-n">tools</span><span class="tok-p">.</span><span class="tok-n">end</span><span class="tok-p">();</span><span class="tok-w"> </span><span class="tok-o">++</span><span class="tok-n">it</span><span class="tok-p">)</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-p">{</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"Tool:"</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-k">for</span> <span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_attribute_iterator</span> <span class="tok-n">ait</span> <span class="tok-o">=</span> <span class="tok-n">it</span><span class="tok-o">-></span><span class="tok-n">attributes_begin</span><span class="tok-p">();</span> <span class="tok-n">ait</span> <span class="tok-o">!=</span> <span class="tok-n">it</span><span class="tok-o">-></span><span class="tok-n">attributes_end</span><span class="tok-p">();</span> <span class="tok-o">++</span><span class="tok-n">ait</span><span class="tok-p">)</span>
|
|
|
|
|
<span class="tok-p">{</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">" "</span> <span class="tok-o"><<</span> <span class="tok-n">ait</span><span class="tok-o">-></span><span class="tok-n">name</span><span class="tok-p">()</span> <span class="tok-o"><<</span> <span class="tok-s">"="</span> <span class="tok-o"><<</span> <span class="tok-n">ait</span><span class="tok-o">-></span><span class="tok-n">value</span><span class="tok-p">();</span>
|
|
|
|
|
<span class="tok-p">}</span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-k">for</span><span class="tok-w"> </span><span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_attribute_iterator</span><span class="tok-w"> </span><span class="tok-n">ait</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">it</span><span class="tok-o">-></span><span class="tok-n">attributes_begin</span><span class="tok-p">();</span><span class="tok-w"> </span><span class="tok-n">ait</span><span class="tok-w"> </span><span class="tok-o">!=</span><span class="tok-w"> </span><span class="tok-n">it</span><span class="tok-o">-></span><span class="tok-n">attributes_end</span><span class="tok-p">();</span><span class="tok-w"> </span><span class="tok-o">++</span><span class="tok-n">ait</span><span class="tok-p">)</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">" "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">ait</span><span class="tok-o">-></span><span class="tok-n">name</span><span class="tok-p">()</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"="</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">ait</span><span class="tok-o">-></span><span class="tok-n">value</span><span class="tok-p">();</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-p">}</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-p">}</span></code></pre>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-p">}</span><span class="tok-w"></span></code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="paragraph">
|
|
|
|
@ -728,22 +805,22 @@ All pugixml classes and functions are located in <code>pugi</code> namespace; yo
|
|
|
|
|
</div>
|
|
|
|
|
<div class="listingblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-k">for</span> <span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span> <span class="tok-nl">tool</span><span class="tok-p">:</span> <span class="tok-n">tools</span><span class="tok-p">.</span><span class="tok-n">children</span><span class="tok-p">(</span><span class="tok-s">"Tool"</span><span class="tok-p">))</span>
|
|
|
|
|
<span class="tok-p">{</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">"Tool:"</span><span class="tok-p">;</span>
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-k">for</span><span class="tok-w"> </span><span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span><span class="tok-w"> </span><span class="tok-n">tool</span><span class="tok-o">:</span><span class="tok-w"> </span><span class="tok-n">tools</span><span class="tok-p">.</span><span class="tok-n">children</span><span class="tok-p">(</span><span class="tok-s">"Tool"</span><span class="tok-p">))</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-p">{</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"Tool:"</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-k">for</span> <span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_attribute</span> <span class="tok-nl">attr</span><span class="tok-p">:</span> <span class="tok-n">tool</span><span class="tok-p">.</span><span class="tok-n">attributes</span><span class="tok-p">())</span>
|
|
|
|
|
<span class="tok-p">{</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">" "</span> <span class="tok-o"><<</span> <span class="tok-n">attr</span><span class="tok-p">.</span><span class="tok-n">name</span><span class="tok-p">()</span> <span class="tok-o"><<</span> <span class="tok-s">"="</span> <span class="tok-o"><<</span> <span class="tok-n">attr</span><span class="tok-p">.</span><span class="tok-n">value</span><span class="tok-p">();</span>
|
|
|
|
|
<span class="tok-p">}</span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-k">for</span><span class="tok-w"> </span><span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_attribute</span><span class="tok-w"> </span><span class="tok-n">attr</span><span class="tok-o">:</span><span class="tok-w"> </span><span class="tok-n">tool</span><span class="tok-p">.</span><span class="tok-n">attributes</span><span class="tok-p">())</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">" "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">attr</span><span class="tok-p">.</span><span class="tok-n">name</span><span class="tok-p">()</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"="</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">attr</span><span class="tok-p">.</span><span class="tok-n">value</span><span class="tok-p">();</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-p">}</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-k">for</span> <span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span> <span class="tok-nl">child</span><span class="tok-p">:</span> <span class="tok-n">tool</span><span class="tok-p">.</span><span class="tok-n">children</span><span class="tok-p">())</span>
|
|
|
|
|
<span class="tok-p">{</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">", child "</span> <span class="tok-o"><<</span> <span class="tok-n">child</span><span class="tok-p">.</span><span class="tok-n">name</span><span class="tok-p">();</span>
|
|
|
|
|
<span class="tok-p">}</span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-k">for</span><span class="tok-w"> </span><span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span><span class="tok-w"> </span><span class="tok-n">child</span><span class="tok-o">:</span><span class="tok-w"> </span><span class="tok-n">tool</span><span class="tok-p">.</span><span class="tok-n">children</span><span class="tok-p">())</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">", child "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">child</span><span class="tok-p">.</span><span class="tok-n">name</span><span class="tok-p">();</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-p">}</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-p">}</span></code></pre>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-p">}</span><span class="tok-w"></span></code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="paragraph">
|
|
|
|
@ -754,23 +831,23 @@ All pugixml classes and functions are located in <code>pugi</code> namespace; yo
|
|
|
|
|
</div>
|
|
|
|
|
<div class="listingblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-k">struct</span> <span class="tok-nl">simple_walker</span><span class="tok-p">:</span> <span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_tree_walker</span>
|
|
|
|
|
<span class="tok-p">{</span>
|
|
|
|
|
<span class="tok-k">virtual</span> <span class="tok-kt">bool</span> <span class="tok-n">for_each</span><span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span><span class="tok-o">&</span> <span class="tok-n">node</span><span class="tok-p">)</span>
|
|
|
|
|
<span class="tok-p">{</span>
|
|
|
|
|
<span class="tok-k">for</span> <span class="tok-p">(</span><span class="tok-kt">int</span> <span class="tok-n">i</span> <span class="tok-o">=</span> <span class="tok-mi">0</span><span class="tok-p">;</span> <span class="tok-n">i</span> <span class="tok-o"><</span> <span class="tok-n">depth</span><span class="tok-p">();</span> <span class="tok-o">++</span><span class="tok-n">i</span><span class="tok-p">)</span> <span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">" "</span><span class="tok-p">;</span> <span class="tok-c1">// indentation</span>
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-k">struct</span><span class="tok-w"> </span><span class="tok-nc">simple_walker</span><span class="tok-o">:</span><span class="tok-w"> </span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_tree_walker</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-p">{</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-k">virtual</span><span class="tok-w"> </span><span class="tok-kt">bool</span><span class="tok-w"> </span><span class="tok-nf">for_each</span><span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span><span class="tok-o">&</span><span class="tok-w"> </span><span class="tok-n">node</span><span class="tok-p">)</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-k">for</span><span class="tok-w"> </span><span class="tok-p">(</span><span class="tok-kt">int</span><span class="tok-w"> </span><span class="tok-n">i</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-mi">0</span><span class="tok-p">;</span><span class="tok-w"> </span><span class="tok-n">i</span><span class="tok-w"> </span><span class="tok-o"><</span><span class="tok-w"> </span><span class="tok-n">depth</span><span class="tok-p">();</span><span class="tok-w"> </span><span class="tok-o">++</span><span class="tok-n">i</span><span class="tok-p">)</span><span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">" "</span><span class="tok-p">;</span><span class="tok-w"> </span><span class="tok-c1">// indentation</span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-n">node_types</span><span class="tok-p">[</span><span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">type</span><span class="tok-p">()]</span> <span class="tok-o"><<</span> <span class="tok-s">": name='"</span> <span class="tok-o"><<</span> <span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">name</span><span class="tok-p">()</span> <span class="tok-o"><<</span> <span class="tok-s">"', value='"</span> <span class="tok-o"><<</span> <span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">value</span><span class="tok-p">()</span> <span class="tok-o"><<</span> <span class="tok-s">"'</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">node_types</span><span class="tok-p">[</span><span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">type</span><span class="tok-p">()]</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">": name='"</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">name</span><span class="tok-p">()</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"', value='"</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">value</span><span class="tok-p">()</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"'</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-k">return</span> <span class="tok-nb">true</span><span class="tok-p">;</span> <span class="tok-c1">// continue traversal</span>
|
|
|
|
|
<span class="tok-p">}</span>
|
|
|
|
|
<span class="tok-p">};</span></code></pre>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-k">return</span><span class="tok-w"> </span><span class="tok-nb">true</span><span class="tok-p">;</span><span class="tok-w"> </span><span class="tok-c1">// continue traversal</span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-p">}</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-p">};</span><span class="tok-w"></span></code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="listingblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-n">simple_walker</span> <span class="tok-n">walker</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">traverse</span><span class="tok-p">(</span><span class="tok-n">walker</span><span class="tok-p">);</span></code></pre>
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-n">simple_walker</span><span class="tok-w"> </span><span class="tok-n">walker</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">traverse</span><span class="tok-p">(</span><span class="tok-n">walker</span><span class="tok-p">);</span><span class="tok-w"></span></code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="paragraph">
|
|
|
|
@ -778,20 +855,20 @@ All pugixml classes and functions are located in <code>pugi</code> namespace; yo
|
|
|
|
|
</div>
|
|
|
|
|
<div class="listingblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xpath_node_set</span> <span class="tok-n">tools</span> <span class="tok-o">=</span> <span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">select_nodes</span><span class="tok-p">(</span><span class="tok-s">"/Profile/Tools/Tool[@AllowRemote='true' and @DeriveCaptionFrom='lastparam']"</span><span class="tok-p">);</span>
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xpath_node_set</span><span class="tok-w"> </span><span class="tok-n">tools</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">select_nodes</span><span class="tok-p">(</span><span class="tok-s">"/Profile/Tools/Tool[@AllowRemote='true' and @DeriveCaptionFrom='lastparam']"</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">"Tools:</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"Tools:</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-k">for</span> <span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xpath_node_set</span><span class="tok-o">::</span><span class="tok-n">const_iterator</span> <span class="tok-n">it</span> <span class="tok-o">=</span> <span class="tok-n">tools</span><span class="tok-p">.</span><span class="tok-n">begin</span><span class="tok-p">();</span> <span class="tok-n">it</span> <span class="tok-o">!=</span> <span class="tok-n">tools</span><span class="tok-p">.</span><span class="tok-n">end</span><span class="tok-p">();</span> <span class="tok-o">++</span><span class="tok-n">it</span><span class="tok-p">)</span>
|
|
|
|
|
<span class="tok-p">{</span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xpath_node</span> <span class="tok-n">node</span> <span class="tok-o">=</span> <span class="tok-o">*</span><span class="tok-n">it</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">node</span><span class="tok-p">().</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"Filename"</span><span class="tok-p">).</span><span class="tok-n">value</span><span class="tok-p">()</span> <span class="tok-o"><<</span> <span class="tok-s">"</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-p">}</span>
|
|
|
|
|
<span class="tok-k">for</span><span class="tok-w"> </span><span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xpath_node_set</span><span class="tok-o">::</span><span class="tok-n">const_iterator</span><span class="tok-w"> </span><span class="tok-n">it</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">tools</span><span class="tok-p">.</span><span class="tok-n">begin</span><span class="tok-p">();</span><span class="tok-w"> </span><span class="tok-n">it</span><span class="tok-w"> </span><span class="tok-o">!=</span><span class="tok-w"> </span><span class="tok-n">tools</span><span class="tok-p">.</span><span class="tok-n">end</span><span class="tok-p">();</span><span class="tok-w"> </span><span class="tok-o">++</span><span class="tok-n">it</span><span class="tok-p">)</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-p">{</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xpath_node</span><span class="tok-w"> </span><span class="tok-n">node</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">it</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">node</span><span class="tok-p">().</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"Filename"</span><span class="tok-p">).</span><span class="tok-n">value</span><span class="tok-p">()</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-p">}</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xpath_node</span> <span class="tok-n">build_tool</span> <span class="tok-o">=</span> <span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">select_node</span><span class="tok-p">(</span><span class="tok-s">"//Tool[contains(Description, 'build system')]"</span><span class="tok-p">);</span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xpath_node</span><span class="tok-w"> </span><span class="tok-n">build_tool</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">select_node</span><span class="tok-p">(</span><span class="tok-s">"//Tool[contains(Description, 'build system')]"</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-k">if</span> <span class="tok-p">(</span><span class="tok-n">build_tool</span><span class="tok-p">)</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">"Build tool: "</span> <span class="tok-o"><<</span> <span class="tok-n">build_tool</span><span class="tok-p">.</span><span class="tok-n">node</span><span class="tok-p">().</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"Filename"</span><span class="tok-p">).</span><span class="tok-n">value</span><span class="tok-p">()</span> <span class="tok-o"><<</span> <span class="tok-s">"</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span></code></pre>
|
|
|
|
|
<span class="tok-k">if</span><span class="tok-w"> </span><span class="tok-p">(</span><span class="tok-n">build_tool</span><span class="tok-p">)</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"Build tool: "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">build_tool</span><span class="tok-p">.</span><span class="tok-n">node</span><span class="tok-p">().</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"Filename"</span><span class="tok-p">).</span><span class="tok-n">value</span><span class="tok-p">()</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span><span class="tok-w"></span></code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="admonitionblock caution">
|
|
|
|
@ -822,35 +899,35 @@ XPath functions throw <code>xpath_exception</code> objects on error; the sample
|
|
|
|
|
</div>
|
|
|
|
|
<div class="listingblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span> <span class="tok-n">node</span> <span class="tok-o">=</span> <span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">child</span><span class="tok-p">(</span><span class="tok-s">"node"</span><span class="tok-p">);</span>
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span><span class="tok-w"> </span><span class="tok-n">node</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">child</span><span class="tok-p">(</span><span class="tok-s">"node"</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-c1">// change node name</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">set_name</span><span class="tok-p">(</span><span class="tok-s">"notnode"</span><span class="tok-p">);</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">", new node name: "</span> <span class="tok-o"><<</span> <span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">name</span><span class="tok-p">()</span> <span class="tok-o"><<</span> <span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">set_name</span><span class="tok-p">(</span><span class="tok-s">"notnode"</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">", new node name: "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">name</span><span class="tok-p">()</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-c1">// change comment text</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">last_child</span><span class="tok-p">().</span><span class="tok-n">set_value</span><span class="tok-p">(</span><span class="tok-s">"useless comment"</span><span class="tok-p">);</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">", new comment text: "</span> <span class="tok-o"><<</span> <span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">last_child</span><span class="tok-p">().</span><span class="tok-n">value</span><span class="tok-p">()</span> <span class="tok-o"><<</span> <span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">last_child</span><span class="tok-p">().</span><span class="tok-n">set_value</span><span class="tok-p">(</span><span class="tok-s">"useless comment"</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">", new comment text: "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">last_child</span><span class="tok-p">().</span><span class="tok-n">value</span><span class="tok-p">()</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-c1">// we can't change value of the element or name of the comment</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">set_value</span><span class="tok-p">(</span><span class="tok-s">"1"</span><span class="tok-p">)</span> <span class="tok-o"><<</span> <span class="tok-s">", "</span> <span class="tok-o"><<</span> <span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">last_child</span><span class="tok-p">().</span><span class="tok-n">set_name</span><span class="tok-p">(</span><span class="tok-s">"2"</span><span class="tok-p">)</span> <span class="tok-o"><<</span> <span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span></code></pre>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">set_value</span><span class="tok-p">(</span><span class="tok-s">"1"</span><span class="tok-p">)</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">", "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">last_child</span><span class="tok-p">().</span><span class="tok-n">set_name</span><span class="tok-p">(</span><span class="tok-s">"2"</span><span class="tok-p">)</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span><span class="tok-w"></span></code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="listingblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_attribute</span> <span class="tok-n">attr</span> <span class="tok-o">=</span> <span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"id"</span><span class="tok-p">);</span>
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_attribute</span><span class="tok-w"> </span><span class="tok-n">attr</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"id"</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-c1">// change attribute name/value</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-n">attr</span><span class="tok-p">.</span><span class="tok-n">set_name</span><span class="tok-p">(</span><span class="tok-s">"key"</span><span class="tok-p">)</span> <span class="tok-o"><<</span> <span class="tok-s">", "</span> <span class="tok-o"><<</span> <span class="tok-n">attr</span><span class="tok-p">.</span><span class="tok-n">set_value</span><span class="tok-p">(</span><span class="tok-s">"345"</span><span class="tok-p">);</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">", new attribute: "</span> <span class="tok-o"><<</span> <span class="tok-n">attr</span><span class="tok-p">.</span><span class="tok-n">name</span><span class="tok-p">()</span> <span class="tok-o"><<</span> <span class="tok-s">"="</span> <span class="tok-o"><<</span> <span class="tok-n">attr</span><span class="tok-p">.</span><span class="tok-n">value</span><span class="tok-p">()</span> <span class="tok-o"><<</span> <span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">attr</span><span class="tok-p">.</span><span class="tok-n">set_name</span><span class="tok-p">(</span><span class="tok-s">"key"</span><span class="tok-p">)</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">", "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">attr</span><span class="tok-p">.</span><span class="tok-n">set_value</span><span class="tok-p">(</span><span class="tok-s">"345"</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">", new attribute: "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">attr</span><span class="tok-p">.</span><span class="tok-n">name</span><span class="tok-p">()</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"="</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">attr</span><span class="tok-p">.</span><span class="tok-n">value</span><span class="tok-p">()</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-c1">// we can use numbers or booleans</span>
|
|
|
|
|
<span class="tok-n">attr</span><span class="tok-p">.</span><span class="tok-n">set_value</span><span class="tok-p">(</span><span class="tok-mf">1.234</span><span class="tok-p">);</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">"new attribute value: "</span> <span class="tok-o"><<</span> <span class="tok-n">attr</span><span class="tok-p">.</span><span class="tok-n">value</span><span class="tok-p">()</span> <span class="tok-o"><<</span> <span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-n">attr</span><span class="tok-p">.</span><span class="tok-n">set_value</span><span class="tok-p">(</span><span class="tok-mf">1.234</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"new attribute value: "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">attr</span><span class="tok-p">.</span><span class="tok-n">value</span><span class="tok-p">()</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-c1">// we can also use assignment operators for more concise code</span>
|
|
|
|
|
<span class="tok-n">attr</span> <span class="tok-o">=</span> <span class="tok-nb">true</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">"final attribute value: "</span> <span class="tok-o"><<</span> <span class="tok-n">attr</span><span class="tok-p">.</span><span class="tok-n">value</span><span class="tok-p">()</span> <span class="tok-o"><<</span> <span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span></code></pre>
|
|
|
|
|
<span class="tok-n">attr</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-nb">true</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"final attribute value: "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">attr</span><span class="tok-p">.</span><span class="tok-n">value</span><span class="tok-p">()</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span><span class="tok-w"></span></code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="paragraph">
|
|
|
|
@ -874,19 +951,19 @@ XPath functions throw <code>xpath_exception</code> objects on error; the sample
|
|
|
|
|
<div class="listingblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-c1">// add node with some name</span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span> <span class="tok-n">node</span> <span class="tok-o">=</span> <span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">append_child</span><span class="tok-p">(</span><span class="tok-s">"node"</span><span class="tok-p">);</span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span><span class="tok-w"> </span><span class="tok-n">node</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">append_child</span><span class="tok-p">(</span><span class="tok-s">"node"</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-c1">// add description node with text child</span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span> <span class="tok-n">descr</span> <span class="tok-o">=</span> <span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">append_child</span><span class="tok-p">(</span><span class="tok-s">"description"</span><span class="tok-p">);</span>
|
|
|
|
|
<span class="tok-n">descr</span><span class="tok-p">.</span><span class="tok-n">append_child</span><span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">node_pcdata</span><span class="tok-p">).</span><span class="tok-n">set_value</span><span class="tok-p">(</span><span class="tok-s">"Simple node"</span><span class="tok-p">);</span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span><span class="tok-w"> </span><span class="tok-n">descr</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">append_child</span><span class="tok-p">(</span><span class="tok-s">"description"</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-n">descr</span><span class="tok-p">.</span><span class="tok-n">append_child</span><span class="tok-p">(</span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">node_pcdata</span><span class="tok-p">).</span><span class="tok-n">set_value</span><span class="tok-p">(</span><span class="tok-s">"Simple node"</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-c1">// add param node before the description</span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span> <span class="tok-n">param</span> <span class="tok-o">=</span> <span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">insert_child_before</span><span class="tok-p">(</span><span class="tok-s">"param"</span><span class="tok-p">,</span> <span class="tok-n">descr</span><span class="tok-p">);</span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span><span class="tok-w"> </span><span class="tok-n">param</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">insert_child_before</span><span class="tok-p">(</span><span class="tok-s">"param"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-n">descr</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-c1">// add attributes to param node</span>
|
|
|
|
|
<span class="tok-n">param</span><span class="tok-p">.</span><span class="tok-n">append_attribute</span><span class="tok-p">(</span><span class="tok-s">"name"</span><span class="tok-p">)</span> <span class="tok-o">=</span> <span class="tok-s">"version"</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-n">param</span><span class="tok-p">.</span><span class="tok-n">append_attribute</span><span class="tok-p">(</span><span class="tok-s">"value"</span><span class="tok-p">)</span> <span class="tok-o">=</span> <span class="tok-mf">1.1</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-n">param</span><span class="tok-p">.</span><span class="tok-n">insert_attribute_after</span><span class="tok-p">(</span><span class="tok-s">"type"</span><span class="tok-p">,</span> <span class="tok-n">param</span><span class="tok-p">.</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"name"</span><span class="tok-p">))</span> <span class="tok-o">=</span> <span class="tok-s">"float"</span><span class="tok-p">;</span></code></pre>
|
|
|
|
|
<span class="tok-n">param</span><span class="tok-p">.</span><span class="tok-n">append_attribute</span><span class="tok-p">(</span><span class="tok-s">"name"</span><span class="tok-p">)</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-s">"version"</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-n">param</span><span class="tok-p">.</span><span class="tok-n">append_attribute</span><span class="tok-p">(</span><span class="tok-s">"value"</span><span class="tok-p">)</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-mf">1.1</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-n">param</span><span class="tok-p">.</span><span class="tok-n">insert_attribute_after</span><span class="tok-p">(</span><span class="tok-s">"type"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-n">param</span><span class="tok-p">.</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"name"</span><span class="tok-p">))</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-s">"float"</span><span class="tok-p">;</span><span class="tok-w"></span></code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="paragraph">
|
|
|
|
@ -898,16 +975,16 @@ XPath functions throw <code>xpath_exception</code> objects on error; the sample
|
|
|
|
|
<div class="listingblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-c1">// remove description node with the whole subtree</span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span> <span class="tok-n">node</span> <span class="tok-o">=</span> <span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">child</span><span class="tok-p">(</span><span class="tok-s">"node"</span><span class="tok-p">);</span>
|
|
|
|
|
<span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">remove_child</span><span class="tok-p">(</span><span class="tok-s">"description"</span><span class="tok-p">);</span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span><span class="tok-w"> </span><span class="tok-n">node</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">child</span><span class="tok-p">(</span><span class="tok-s">"node"</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">remove_child</span><span class="tok-p">(</span><span class="tok-s">"description"</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-c1">// remove id attribute</span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span> <span class="tok-n">param</span> <span class="tok-o">=</span> <span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">child</span><span class="tok-p">(</span><span class="tok-s">"param"</span><span class="tok-p">);</span>
|
|
|
|
|
<span class="tok-n">param</span><span class="tok-p">.</span><span class="tok-n">remove_attribute</span><span class="tok-p">(</span><span class="tok-s">"value"</span><span class="tok-p">);</span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_node</span><span class="tok-w"> </span><span class="tok-n">param</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">node</span><span class="tok-p">.</span><span class="tok-n">child</span><span class="tok-p">(</span><span class="tok-s">"param"</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-n">param</span><span class="tok-p">.</span><span class="tok-n">remove_attribute</span><span class="tok-p">(</span><span class="tok-s">"value"</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-c1">// we can also remove nodes/attributes by handles</span>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_attribute</span> <span class="tok-n">id</span> <span class="tok-o">=</span> <span class="tok-n">param</span><span class="tok-p">.</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"name"</span><span class="tok-p">);</span>
|
|
|
|
|
<span class="tok-n">param</span><span class="tok-p">.</span><span class="tok-n">remove_attribute</span><span class="tok-p">(</span><span class="tok-n">id</span><span class="tok-p">);</span></code></pre>
|
|
|
|
|
<span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_attribute</span><span class="tok-w"> </span><span class="tok-n">id</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-n">param</span><span class="tok-p">.</span><span class="tok-n">attribute</span><span class="tok-p">(</span><span class="tok-s">"name"</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-n">param</span><span class="tok-p">.</span><span class="tok-n">remove_attribute</span><span class="tok-p">(</span><span class="tok-n">id</span><span class="tok-p">);</span><span class="tok-w"></span></code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
@ -927,7 +1004,7 @@ XPath functions throw <code>xpath_exception</code> objects on error; the sample
|
|
|
|
|
<div class="listingblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-c1">// save document to file</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">"Saving result: "</span> <span class="tok-o"><<</span> <span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">save_file</span><span class="tok-p">(</span><span class="tok-s">"save_file_output.xml"</span><span class="tok-p">)</span> <span class="tok-o"><<</span> <span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span></code></pre>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"Saving result: "</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">save_file</span><span class="tok-p">(</span><span class="tok-s">"save_file_output.xml"</span><span class="tok-p">)</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">endl</span><span class="tok-p">;</span><span class="tok-w"></span></code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="paragraph">
|
|
|
|
@ -939,8 +1016,8 @@ XPath functions throw <code>xpath_exception</code> objects on error; the sample
|
|
|
|
|
<div class="listingblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-c1">// save document to standard output</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span> <span class="tok-o"><<</span> <span class="tok-s">"Document:</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span>
|
|
|
|
|
<span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">save</span><span class="tok-p">(</span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-p">);</span></code></pre>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-w"> </span><span class="tok-o"><<</span><span class="tok-w"> </span><span class="tok-s">"Document:</span><span class="tok-se">\n</span><span class="tok-s">"</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-n">doc</span><span class="tok-p">.</span><span class="tok-n">save</span><span class="tok-p">(</span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">cout</span><span class="tok-p">);</span><span class="tok-w"></span></code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="paragraph">
|
|
|
|
@ -951,15 +1028,15 @@ XPath functions throw <code>xpath_exception</code> objects on error; the sample
|
|
|
|
|
</div>
|
|
|
|
|
<div class="listingblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-k">struct</span> <span class="tok-nl">xml_string_writer</span><span class="tok-p">:</span> <span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_writer</span>
|
|
|
|
|
<span class="tok-p">{</span>
|
|
|
|
|
<span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">string</span> <span class="tok-n">result</span><span class="tok-p">;</span>
|
|
|
|
|
<pre class="pygments highlight"><code data-lang="c++"><span></span><span class="tok-k">struct</span><span class="tok-w"> </span><span class="tok-nc">xml_string_writer</span><span class="tok-o">:</span><span class="tok-w"> </span><span class="tok-n">pugi</span><span class="tok-o">::</span><span class="tok-n">xml_writer</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-p">{</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">std</span><span class="tok-o">::</span><span class="tok-n">string</span><span class="tok-w"> </span><span class="tok-n">result</span><span class="tok-p">;</span><span class="tok-w"></span>
|
|
|
|
|
|
|
|
|
|
<span class="tok-k">virtual</span> <span class="tok-kt">void</span> <span class="tok-nf">write</span><span class="tok-p">(</span><span class="tok-k">const</span> <span class="tok-kt">void</span><span class="tok-o">*</span> <span class="tok-n">data</span><span class="tok-p">,</span> <span class="tok-kt">size_t</span> <span class="tok-n">size</span><span class="tok-p">)</span>
|
|
|
|
|
<span class="tok-p">{</span>
|
|
|
|
|
<span class="tok-n">result</span><span class="tok-p">.</span><span class="tok-n">append</span><span class="tok-p">(</span><span class="tok-k">static_cast</span><span class="tok-o"><</span><span class="tok-k">const</span> <span class="tok-kt">char</span><span class="tok-o">*></span><span class="tok-p">(</span><span class="tok-n">data</span><span class="tok-p">),</span> <span class="tok-n">size</span><span class="tok-p">);</span>
|
|
|
|
|
<span class="tok-p">}</span>
|
|
|
|
|
<span class="tok-p">};</span></code></pre>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-k">virtual</span><span class="tok-w"> </span><span class="tok-kt">void</span><span class="tok-w"> </span><span class="tok-nf">write</span><span class="tok-p">(</span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">void</span><span class="tok-o">*</span><span class="tok-w"> </span><span class="tok-n">data</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-kt">size_t</span><span class="tok-w"> </span><span class="tok-n">size</span><span class="tok-p">)</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-n">result</span><span class="tok-p">.</span><span class="tok-n">append</span><span class="tok-p">(</span><span class="tok-k">static_cast</span><span class="tok-o"><</span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-o">*></span><span class="tok-p">(</span><span class="tok-n">data</span><span class="tok-p">),</span><span class="tok-w"> </span><span class="tok-n">size</span><span class="tok-p">);</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-w"> </span><span class="tok-p">}</span><span class="tok-w"></span>
|
|
|
|
|
<span class="tok-p">};</span><span class="tok-w"></span></code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="paragraph">
|
|
|
|
@ -986,7 +1063,7 @@ XPath functions throw <code>xpath_exception</code> objects on error; the sample
|
|
|
|
|
</div>
|
|
|
|
|
<div class="literalblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre>Copyright (c) 2006-2020 Arseny Kapoulkine
|
|
|
|
|
<pre>Copyright (c) 2006-2022 Arseny Kapoulkine
|
|
|
|
|
|
|
|
|
|
Permission is hereby granted, free of charge, to any person
|
|
|
|
|
obtaining a copy of this software and associated documentation
|
|
|
|
@ -1016,7 +1093,7 @@ OTHER DEALINGS IN THE SOFTWARE.</pre>
|
|
|
|
|
<div class="literalblock">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<pre>This software is based on pugixml library (https://pugixml.org).
|
|
|
|
|
pugixml is Copyright (C) 2006-2020 Arseny Kapoulkine.</pre>
|
|
|
|
|
pugixml is Copyright (C) 2006-2022 Arseny Kapoulkine.</pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
@ -1030,79 +1107,8 @@ pugixml is Copyright (C) 2006-2020 Arseny Kapoulkine.</pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="footer">
|
|
|
|
|
<div id="footer-text">
|
|
|
|
|
Last updated 2020-11-26 00:58:43 -0800
|
|
|
|
|
Last updated 2022-09-02 21:41:39 -0700
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<style>
|
|
|
|
|
pre.pygments .hll { background-color: #ffffcc }
|
|
|
|
|
pre.pygments { background: #f8f8f8; }
|
|
|
|
|
pre.pygments .tok-c { color: #408080; font-style: italic } /* Comment */
|
|
|
|
|
pre.pygments .tok-err { border: 1px solid #FF0000 } /* Error */
|
|
|
|
|
pre.pygments .tok-k { color: #008000; font-weight: bold } /* Keyword */
|
|
|
|
|
pre.pygments .tok-o { color: #666666 } /* Operator */
|
|
|
|
|
pre.pygments .tok-ch { color: #408080; font-style: italic } /* Comment.Hashbang */
|
|
|
|
|
pre.pygments .tok-cm { color: #408080; font-style: italic } /* Comment.Multiline */
|
|
|
|
|
pre.pygments .tok-cp { color: #BC7A00 } /* Comment.Preproc */
|
|
|
|
|
pre.pygments .tok-cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
|
|
|
|
|
pre.pygments .tok-c1 { color: #408080; font-style: italic } /* Comment.Single */
|
|
|
|
|
pre.pygments .tok-cs { color: #408080; font-style: italic } /* Comment.Special */
|
|
|
|
|
pre.pygments .tok-gd { color: #A00000 } /* Generic.Deleted */
|
|
|
|
|
pre.pygments .tok-ge { font-style: italic } /* Generic.Emph */
|
|
|
|
|
pre.pygments .tok-gr { color: #FF0000 } /* Generic.Error */
|
|
|
|
|
pre.pygments .tok-gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
|
|
|
|
pre.pygments .tok-gi { color: #00A000 } /* Generic.Inserted */
|
|
|
|
|
pre.pygments .tok-go { color: #888888 } /* Generic.Output */
|
|
|
|
|
pre.pygments .tok-gp { color: #000080; font-weight: bold } /* Generic.Prompt */
|
|
|
|
|
pre.pygments .tok-gs { font-weight: bold } /* Generic.Strong */
|
|
|
|
|
pre.pygments .tok-gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
|
|
|
|
pre.pygments .tok-gt { color: #0044DD } /* Generic.Traceback */
|
|
|
|
|
pre.pygments .tok-kc { color: #008000; font-weight: bold } /* Keyword.Constant */
|
|
|
|
|
pre.pygments .tok-kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
|
|
|
|
|
pre.pygments .tok-kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
|
|
|
|
|
pre.pygments .tok-kp { color: #008000 } /* Keyword.Pseudo */
|
|
|
|
|
pre.pygments .tok-kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
|
|
|
|
|
pre.pygments .tok-kt { color: #B00040 } /* Keyword.Type */
|
|
|
|
|
pre.pygments .tok-m { color: #666666 } /* Literal.Number */
|
|
|
|
|
pre.pygments .tok-s { color: #BA2121 } /* Literal.String */
|
|
|
|
|
pre.pygments .tok-na { color: #7D9029 } /* Name.Attribute */
|
|
|
|
|
pre.pygments .tok-nb { color: #008000 } /* Name.Builtin */
|
|
|
|
|
pre.pygments .tok-nc { color: #0000FF; font-weight: bold } /* Name.Class */
|
|
|
|
|
pre.pygments .tok-no { color: #880000 } /* Name.Constant */
|
|
|
|
|
pre.pygments .tok-nd { color: #AA22FF } /* Name.Decorator */
|
|
|
|
|
pre.pygments .tok-ni { color: #999999; font-weight: bold } /* Name.Entity */
|
|
|
|
|
pre.pygments .tok-ne { color: #D2413A; font-weight: bold } /* Name.Exception */
|
|
|
|
|
pre.pygments .tok-nf { color: #0000FF } /* Name.Function */
|
|
|
|
|
pre.pygments .tok-nl { color: #A0A000 } /* Name.Label */
|
|
|
|
|
pre.pygments .tok-nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
|
|
|
|
|
pre.pygments .tok-nt { color: #008000; font-weight: bold } /* Name.Tag */
|
|
|
|
|
pre.pygments .tok-nv { color: #19177C } /* Name.Variable */
|
|
|
|
|
pre.pygments .tok-ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
|
|
|
|
|
pre.pygments .tok-w { color: #bbbbbb } /* Text.Whitespace */
|
|
|
|
|
pre.pygments .tok-mb { color: #666666 } /* Literal.Number.Bin */
|
|
|
|
|
pre.pygments .tok-mf { color: #666666 } /* Literal.Number.Float */
|
|
|
|
|
pre.pygments .tok-mh { color: #666666 } /* Literal.Number.Hex */
|
|
|
|
|
pre.pygments .tok-mi { color: #666666 } /* Literal.Number.Integer */
|
|
|
|
|
pre.pygments .tok-mo { color: #666666 } /* Literal.Number.Oct */
|
|
|
|
|
pre.pygments .tok-sa { color: #BA2121 } /* Literal.String.Affix */
|
|
|
|
|
pre.pygments .tok-sb { color: #BA2121 } /* Literal.String.Backtick */
|
|
|
|
|
pre.pygments .tok-sc { color: #BA2121 } /* Literal.String.Char */
|
|
|
|
|
pre.pygments .tok-dl { color: #BA2121 } /* Literal.String.Delimiter */
|
|
|
|
|
pre.pygments .tok-sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
|
|
|
|
|
pre.pygments .tok-s2 { color: #BA2121 } /* Literal.String.Double */
|
|
|
|
|
pre.pygments .tok-se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
|
|
|
|
|
pre.pygments .tok-sh { color: #BA2121 } /* Literal.String.Heredoc */
|
|
|
|
|
pre.pygments .tok-si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
|
|
|
|
|
pre.pygments .tok-sx { color: #008000 } /* Literal.String.Other */
|
|
|
|
|
pre.pygments .tok-sr { color: #BB6688 } /* Literal.String.Regex */
|
|
|
|
|
pre.pygments .tok-s1 { color: #BA2121 } /* Literal.String.Single */
|
|
|
|
|
pre.pygments .tok-ss { color: #19177C } /* Literal.String.Symbol */
|
|
|
|
|
pre.pygments .tok-bp { color: #008000 } /* Name.Builtin.Pseudo */
|
|
|
|
|
pre.pygments .tok-fm { color: #0000FF } /* Name.Function.Magic */
|
|
|
|
|
pre.pygments .tok-vc { color: #19177C } /* Name.Variable.Class */
|
|
|
|
|
pre.pygments .tok-vg { color: #19177C } /* Name.Variable.Global */
|
|
|
|
|
pre.pygments .tok-vi { color: #19177C } /* Name.Variable.Instance */
|
|
|
|
|
pre.pygments .tok-vm { color: #19177C } /* Name.Variable.Magic */
|
|
|
|
|
pre.pygments .tok-il { color: #666666 } /* Literal.Number.Integer.Long */
|
|
|
|
|
</style>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|