XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition (32 page)

BOOK: XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition
10.71Mb size Format: txt, pdf, ePub

The simplest situation is where it finds just one rule that matches this element, for example one declared as:


If it finds more than one matching template rule, it has to use its conflict resolution policy to choose the best fit. The other possibility is that there is no matching template rule: in this case it invokes the built-in template rule for element nodes, which simply executes

: in other words, it selects the children of this element, and tries to find template rules that match these children. There's also a built-in template rule for text nodes, which copies the text node to the output. If the element has no children,

does nothing.

Whatever happens, however, the result of evaluating the

instruction is a sequence, usually a sequence of nodes. These nodes are added to the result of the sequence constructor contained by the

instruction, and are used to form the children (and potentially also the attributes) of the new

element. The new

and

elements now form a sequence that's used to make the children of the

element; and because this template rule was the first one to be activated, the transformation is now complete and the tree with this

element at the top becomes the final result tree of the transformation. (The

element is automatically wrapped in a document node, to complete the process.)

Hopefully, you never actually need to analyze what's going on to this level of detail. The name
template
was chosen because you can think of the whole process as producing a simple fill-in-the-blanks copy of the elements in the stylesheet as elements in the result tree. In the case of literal result elements and literal text, they are copied across unchanged; in the case of XSLT instructions, some processing is performed to fetch data from a source document for insertion at this point in the result tree.

Push Processing

The simplest way to process a source tree is thus to write a template rule for each kind of node that can be encountered, and for that template rule to produce any output required, as well as to call

to process the children of that node.

Example: Push Processing

This example demonstrates the push processing technique: a rule-based stylesheet in which there is one template rule to process each different kind of node.

Input

The source document,
books.xml
, is a simple book catalog:



   

      Nigel Rees

      Sayings of the Century

      8.95

   

   

      Evelyn Waugh

      Sword of Honour

      12.99

   

   

      Herman Melville

      Moby Dick

      8.99

   

   

      J. R. R. Tolkien

      The Lord of the Rings

      22.99

   


Stylesheet

Say you want to display this data in the form of a sequentially numbered booklist. The following stylesheet,
books.xsl
, will do the trick:

   xmlns:xsl=“http://www.w3.org/1999/XSL/Transform”>


  

    A list of books

    

      

    

  



  

    

    

  



  



What's happening here? There's no template rule for the document node, so the built-in template gets invoked. This processes all the children of the document node.

There's only one child of the document node, the

element. So the template rule for the

element is evaluated. This creates some standard HTML elements on the result tree, and eventually calls

to cause its own children to be processed. These children are all

elements, so they are all processed by the template rule whose match pattern is
match=“book”
. This template rule outputs an HTML

element, and within it a

element, which it fills by executing the

instruction whose effect is to get the sequence number of the current node (the

element) within its parent element. It then calls

once again to process the children of the

element in the source tree.

The children of the

element in the source document are all

,
<br/></span>, or<br/><span><price><br/></span>elements; so as it happens they all match the template rule whose match pattern is<br/><span><img src="/files/04/27/65/f042765/public/lgray.gif" />match=“author | title | price”<br/><img src="/files/04/27/65/f042765/public/ggray.gif" /></span>(you can read<br/><span><img src="/files/04/27/65/f042765/public/lgray.gif" />|<br/><img src="/files/04/27/65/f042765/public/ggray.gif" /></span>as “or”). This template rule outputs an HTML<br/><span><td><br/></span>element that it fills by executing an instruction<br/><span><xsl:value-of select=“.”/><br/></span>. This instruction evaluates an XPath expression, and writes its result (a string) as text to the result tree. The expression is<br/><span><img src="/files/04/27/65/f042765/public/lgray.gif" />.<br/><img src="/files/04/27/65/f042765/public/ggray.gif" /></span>, which returns the string value of the current node, that is the textual content of the current<br/><span><author><br/></span>,<br/><span><price><br/></span>, or<br/><span><title><br/></span>element.<br/></p><p>This template makes no further call on<br/><span><xsl:apply-templates><br/></span>, so its own children are not processed, and control returns all the way up.<br/></p><p>Output<br/></p><div><p><span><html><br/></span></p><p><span>  <body><br/></span></p><p><span>     A list of books</h1><br/></span></p><p><span>     <table width=“640”><br/></span></p><p><span>        <tr><br/></span></p><p><span>           <td>1</td><br/></span></p><p><span>           <td>Nigel Rees</td><br/></span></p><p><span>           <td>Sayings of the Century</td><br/></span></p><p><span>           <td>8.95</td><br/></span></p><p><span>        </tr><br/></span></p><p><span>        <tr><br/></span></p><p><span>           <td>2</td><br/></span></p><p><span>           <td>Evelyn Waugh</td><br/></span></p><p><span>           <td>Sword of Honour</td><br/></span></p><p><span>           <td>12.99</td><br/></span></p><p><span>        </tr><br/></span></p><p><span>   etc..<br/></span></p><p><span>       </table><br/></span></p><p><span>   </body><br/></span></p><p><span></html><br/></span></p></div></div></div> </div> <div class="col-xs-12 text-left pagination-container"> <ul class="pagination"><li class="prev"><a href="/pdf-novels/xslt-20-and-xpath-20-programmers-reference-4th-edition-by-michael-kay-free/31-page" data-page="30">«</a></li> <li class="first"><a href="/pdf-novels/xslt-20-and-xpath-20-programmers-reference-4th-edition-by-michael-kay-free" data-page="0">1</a></li> <li class="disabled"><span>...</span></li> <li><a href="/pdf-novels/xslt-20-and-xpath-20-programmers-reference-4th-edition-by-michael-kay-free/14-page" data-page="13">14</a></li> <li class="disabled"><span>...</span></li> <li><a href="/pdf-novels/xslt-20-and-xpath-20-programmers-reference-4th-edition-by-michael-kay-free/27-page" data-page="26">27</a></li> <li><a href="/pdf-novels/xslt-20-and-xpath-20-programmers-reference-4th-edition-by-michael-kay-free/28-page" data-page="27">28</a></li> <li><a href="/pdf-novels/xslt-20-and-xpath-20-programmers-reference-4th-edition-by-michael-kay-free/29-page" data-page="28">29</a></li> <li><a href="/pdf-novels/xslt-20-and-xpath-20-programmers-reference-4th-edition-by-michael-kay-free/30-page" data-page="29">30</a></li> <li><a href="/pdf-novels/xslt-20-and-xpath-20-programmers-reference-4th-edition-by-michael-kay-free/31-page" data-page="30">31</a></li> <li class="active"><a href="/pdf-novels/xslt-20-and-xpath-20-programmers-reference-4th-edition-by-michael-kay-free/32-page" data-page="31">32</a></li> <li><a href="/pdf-novels/xslt-20-and-xpath-20-programmers-reference-4th-edition-by-michael-kay-free/33-page" data-page="32">33</a></li> <li><a href="/pdf-novels/xslt-20-and-xpath-20-programmers-reference-4th-edition-by-michael-kay-free/34-page" data-page="33">34</a></li> <li><a href="/pdf-novels/xslt-20-and-xpath-20-programmers-reference-4th-edition-by-michael-kay-free/35-page" data-page="34">35</a></li> <li><a href="/pdf-novels/xslt-20-and-xpath-20-programmers-reference-4th-edition-by-michael-kay-free/36-page" data-page="35">36</a></li> <li class="disabled"><span>...</span></li> <li><a href="/pdf-novels/xslt-20-and-xpath-20-programmers-reference-4th-edition-by-michael-kay-free/469-page" data-page="468">469</a></li> <li class="disabled"><span>...</span></li> <li class="last"><a href="/pdf-novels/xslt-20-and-xpath-20-programmers-reference-4th-edition-by-michael-kay-free/901-page" data-page="900">901</a></li> <li class="next"><a href="/pdf-novels/xslt-20-and-xpath-20-programmers-reference-4th-edition-by-michael-kay-free/33-page" data-page="32">»</a></li></ul> </div> <div class=""><div class="col-xs-12"><h2>Other books</h2></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"> <path style="fill:#97D4AC;" d="M87.385,472.249V39.751l0,0c0-17.696,14.478-32.174,32.174-32.174h301.293 c0.684,0,1.238,0.554,1.238,1.238v127.488v64.355v239.418h-38.792L87.385,472.249z"/> <path style="fill:#E3E3E3;" d="M404.64,440.075H119.559c-17.696,0-32.174,14.478-32.174,32.174l0,0 c0,17.696,14.478,32.174,32.174,32.174H404.64L404.64,440.075L404.64,440.075z"/> <path style="fill:#FFF3DC;" d="M336.079,214.141H194.741c-3.348,0-6.062-2.714-6.062-6.062v-65.845c0-3.348,2.714-6.062,6.062-6.062 H336.08c3.348,0,6.062,2.714,6.062,6.062v65.845C342.141,211.428,339.427,214.141,336.079,214.141z"/> <polygon style="fill:#FFC433;" points="354.769,91.023 327.354,87.676 299.937,91.023 299.937,7.577 354.769,7.577 "/> <path style="opacity:0.1;enable-background:new ;" d="M420.852,7.577h-42.431c0.684,0,1.238,0.555,1.238,1.238v127.488v64.355 v239.417h-17.449v24.598v15.154v24.597h42.431v-24.597v-15.154v-24.598h17.449V200.657v-64.355V8.815 C422.089,8.131,421.536,7.577,420.852,7.577z"/> <path d="M424.615,147.89c4.185,0,7.577-3.391,7.577-7.577V8.815c0-4.86-3.954-8.815-8.815-8.815h-68.609h-54.83H119.559 C97.64,0,79.808,17.831,79.808,39.751v432.498C79.808,494.168,97.64,512,119.56,512h305.055c4.185,0,7.577-3.391,7.577-7.577 c0-4.186-3.392-7.577-7.577-7.577h-12.398v-49.194h12.398c4.185,0,7.577-3.391,7.577-7.577V182.203c0-4.186-3.392-7.577-7.577-7.577 c-4.185,0-7.577,3.391-7.577,7.577v250.296H119.559c-9.282,0-17.825,3.207-24.598,8.559V39.751 c0.001-13.563,11.035-24.597,24.598-24.597h172.802v75.87c0,4.186,3.392,7.577,7.577,7.577h54.831c4.185,0,7.577-3.391,7.577-7.577 v-75.87h54.692v125.159C417.038,144.497,420.43,147.89,424.615,147.89z M119.559,447.652h277.504v17.021h-60.491 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h60.491v17.02H119.559c-13.563,0-24.598-11.034-24.598-24.597 C94.962,458.685,105.996,447.652,119.559,447.652z M347.192,83.447h-39.677V15.154h39.677V83.447z"/> <path d="M128.504,247.686v160.888c0,4.186,3.392,7.577,7.577,7.577s7.577-3.391,7.577-7.577V247.686 c0-4.186-3.392-7.577-7.577-7.577S128.504,243.5,128.504,247.686z"/> <path d="M204.982,145.117c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-10.86 c-7.52,0-13.639,6.118-13.639,13.639v65.846c0,7.52,6.118,13.639,13.639,13.639H335.46c7.52,0,13.639-6.118,13.639-13.639v-65.846 c0-7.52-6.118-13.639-13.639-13.639H230.394c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h103.551v62.815 H195.637v-62.815H204.982z"/> <path d="M305.632,184.101c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-80.443 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577H305.632z"/> </svg><div><a href="/pdf-novels/eight-months-on-ghazzah-street-by-hilary-mantel-free">Eight Months on Ghazzah Street</a> by <span>Hilary Mantel</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"> <path style="fill:#97D4AC;" d="M87.385,472.249V39.751l0,0c0-17.696,14.478-32.174,32.174-32.174h301.293 c0.684,0,1.238,0.554,1.238,1.238v127.488v64.355v239.418h-38.792L87.385,472.249z"/> <path style="fill:#E3E3E3;" d="M404.64,440.075H119.559c-17.696,0-32.174,14.478-32.174,32.174l0,0 c0,17.696,14.478,32.174,32.174,32.174H404.64L404.64,440.075L404.64,440.075z"/> <path style="fill:#FFF3DC;" d="M336.079,214.141H194.741c-3.348,0-6.062-2.714-6.062-6.062v-65.845c0-3.348,2.714-6.062,6.062-6.062 H336.08c3.348,0,6.062,2.714,6.062,6.062v65.845C342.141,211.428,339.427,214.141,336.079,214.141z"/> <polygon style="fill:#FFC433;" points="354.769,91.023 327.354,87.676 299.937,91.023 299.937,7.577 354.769,7.577 "/> <path style="opacity:0.1;enable-background:new ;" d="M420.852,7.577h-42.431c0.684,0,1.238,0.555,1.238,1.238v127.488v64.355 v239.417h-17.449v24.598v15.154v24.597h42.431v-24.597v-15.154v-24.598h17.449V200.657v-64.355V8.815 C422.089,8.131,421.536,7.577,420.852,7.577z"/> <path d="M424.615,147.89c4.185,0,7.577-3.391,7.577-7.577V8.815c0-4.86-3.954-8.815-8.815-8.815h-68.609h-54.83H119.559 C97.64,0,79.808,17.831,79.808,39.751v432.498C79.808,494.168,97.64,512,119.56,512h305.055c4.185,0,7.577-3.391,7.577-7.577 c0-4.186-3.392-7.577-7.577-7.577h-12.398v-49.194h12.398c4.185,0,7.577-3.391,7.577-7.577V182.203c0-4.186-3.392-7.577-7.577-7.577 c-4.185,0-7.577,3.391-7.577,7.577v250.296H119.559c-9.282,0-17.825,3.207-24.598,8.559V39.751 c0.001-13.563,11.035-24.597,24.598-24.597h172.802v75.87c0,4.186,3.392,7.577,7.577,7.577h54.831c4.185,0,7.577-3.391,7.577-7.577 v-75.87h54.692v125.159C417.038,144.497,420.43,147.89,424.615,147.89z M119.559,447.652h277.504v17.021h-60.491 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h60.491v17.02H119.559c-13.563,0-24.598-11.034-24.598-24.597 C94.962,458.685,105.996,447.652,119.559,447.652z M347.192,83.447h-39.677V15.154h39.677V83.447z"/> <path d="M128.504,247.686v160.888c0,4.186,3.392,7.577,7.577,7.577s7.577-3.391,7.577-7.577V247.686 c0-4.186-3.392-7.577-7.577-7.577S128.504,243.5,128.504,247.686z"/> <path d="M204.982,145.117c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-10.86 c-7.52,0-13.639,6.118-13.639,13.639v65.846c0,7.52,6.118,13.639,13.639,13.639H335.46c7.52,0,13.639-6.118,13.639-13.639v-65.846 c0-7.52-6.118-13.639-13.639-13.639H230.394c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h103.551v62.815 H195.637v-62.815H204.982z"/> <path d="M305.632,184.101c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-80.443 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577H305.632z"/> </svg><div><a href="/pdf-novels/deceitful-moon-by-rick-murcer-free">Deceitful Moon</a> by <span>Rick Murcer</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"> <path style="fill:#97D4AC;" d="M87.385,472.249V39.751l0,0c0-17.696,14.478-32.174,32.174-32.174h301.293 c0.684,0,1.238,0.554,1.238,1.238v127.488v64.355v239.418h-38.792L87.385,472.249z"/> <path style="fill:#E3E3E3;" d="M404.64,440.075H119.559c-17.696,0-32.174,14.478-32.174,32.174l0,0 c0,17.696,14.478,32.174,32.174,32.174H404.64L404.64,440.075L404.64,440.075z"/> <path style="fill:#FFF3DC;" d="M336.079,214.141H194.741c-3.348,0-6.062-2.714-6.062-6.062v-65.845c0-3.348,2.714-6.062,6.062-6.062 H336.08c3.348,0,6.062,2.714,6.062,6.062v65.845C342.141,211.428,339.427,214.141,336.079,214.141z"/> <polygon style="fill:#FFC433;" points="354.769,91.023 327.354,87.676 299.937,91.023 299.937,7.577 354.769,7.577 "/> <path style="opacity:0.1;enable-background:new ;" d="M420.852,7.577h-42.431c0.684,0,1.238,0.555,1.238,1.238v127.488v64.355 v239.417h-17.449v24.598v15.154v24.597h42.431v-24.597v-15.154v-24.598h17.449V200.657v-64.355V8.815 C422.089,8.131,421.536,7.577,420.852,7.577z"/> <path d="M424.615,147.89c4.185,0,7.577-3.391,7.577-7.577V8.815c0-4.86-3.954-8.815-8.815-8.815h-68.609h-54.83H119.559 C97.64,0,79.808,17.831,79.808,39.751v432.498C79.808,494.168,97.64,512,119.56,512h305.055c4.185,0,7.577-3.391,7.577-7.577 c0-4.186-3.392-7.577-7.577-7.577h-12.398v-49.194h12.398c4.185,0,7.577-3.391,7.577-7.577V182.203c0-4.186-3.392-7.577-7.577-7.577 c-4.185,0-7.577,3.391-7.577,7.577v250.296H119.559c-9.282,0-17.825,3.207-24.598,8.559V39.751 c0.001-13.563,11.035-24.597,24.598-24.597h172.802v75.87c0,4.186,3.392,7.577,7.577,7.577h54.831c4.185,0,7.577-3.391,7.577-7.577 v-75.87h54.692v125.159C417.038,144.497,420.43,147.89,424.615,147.89z M119.559,447.652h277.504v17.021h-60.491 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h60.491v17.02H119.559c-13.563,0-24.598-11.034-24.598-24.597 C94.962,458.685,105.996,447.652,119.559,447.652z M347.192,83.447h-39.677V15.154h39.677V83.447z"/> <path d="M128.504,247.686v160.888c0,4.186,3.392,7.577,7.577,7.577s7.577-3.391,7.577-7.577V247.686 c0-4.186-3.392-7.577-7.577-7.577S128.504,243.5,128.504,247.686z"/> <path d="M204.982,145.117c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-10.86 c-7.52,0-13.639,6.118-13.639,13.639v65.846c0,7.52,6.118,13.639,13.639,13.639H335.46c7.52,0,13.639-6.118,13.639-13.639v-65.846 c0-7.52-6.118-13.639-13.639-13.639H230.394c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h103.551v62.815 H195.637v-62.815H204.982z"/> <path d="M305.632,184.101c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-80.443 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577H305.632z"/> </svg><div><a href="/pdf-novels/a-house-to-die-for-a-darby-farr-mystery-by-vicki-doudera-free">A House to Die For (A Darby Farr Mystery)</a> by <span>Vicki Doudera</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"> <path style="fill:#97D4AC;" d="M87.385,472.249V39.751l0,0c0-17.696,14.478-32.174,32.174-32.174h301.293 c0.684,0,1.238,0.554,1.238,1.238v127.488v64.355v239.418h-38.792L87.385,472.249z"/> <path style="fill:#E3E3E3;" d="M404.64,440.075H119.559c-17.696,0-32.174,14.478-32.174,32.174l0,0 c0,17.696,14.478,32.174,32.174,32.174H404.64L404.64,440.075L404.64,440.075z"/> <path style="fill:#FFF3DC;" d="M336.079,214.141H194.741c-3.348,0-6.062-2.714-6.062-6.062v-65.845c0-3.348,2.714-6.062,6.062-6.062 H336.08c3.348,0,6.062,2.714,6.062,6.062v65.845C342.141,211.428,339.427,214.141,336.079,214.141z"/> <polygon style="fill:#FFC433;" points="354.769,91.023 327.354,87.676 299.937,91.023 299.937,7.577 354.769,7.577 "/> <path style="opacity:0.1;enable-background:new ;" d="M420.852,7.577h-42.431c0.684,0,1.238,0.555,1.238,1.238v127.488v64.355 v239.417h-17.449v24.598v15.154v24.597h42.431v-24.597v-15.154v-24.598h17.449V200.657v-64.355V8.815 C422.089,8.131,421.536,7.577,420.852,7.577z"/> <path d="M424.615,147.89c4.185,0,7.577-3.391,7.577-7.577V8.815c0-4.86-3.954-8.815-8.815-8.815h-68.609h-54.83H119.559 C97.64,0,79.808,17.831,79.808,39.751v432.498C79.808,494.168,97.64,512,119.56,512h305.055c4.185,0,7.577-3.391,7.577-7.577 c0-4.186-3.392-7.577-7.577-7.577h-12.398v-49.194h12.398c4.185,0,7.577-3.391,7.577-7.577V182.203c0-4.186-3.392-7.577-7.577-7.577 c-4.185,0-7.577,3.391-7.577,7.577v250.296H119.559c-9.282,0-17.825,3.207-24.598,8.559V39.751 c0.001-13.563,11.035-24.597,24.598-24.597h172.802v75.87c0,4.186,3.392,7.577,7.577,7.577h54.831c4.185,0,7.577-3.391,7.577-7.577 v-75.87h54.692v125.159C417.038,144.497,420.43,147.89,424.615,147.89z M119.559,447.652h277.504v17.021h-60.491 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h60.491v17.02H119.559c-13.563,0-24.598-11.034-24.598-24.597 C94.962,458.685,105.996,447.652,119.559,447.652z M347.192,83.447h-39.677V15.154h39.677V83.447z"/> <path d="M128.504,247.686v160.888c0,4.186,3.392,7.577,7.577,7.577s7.577-3.391,7.577-7.577V247.686 c0-4.186-3.392-7.577-7.577-7.577S128.504,243.5,128.504,247.686z"/> <path d="M204.982,145.117c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-10.86 c-7.52,0-13.639,6.118-13.639,13.639v65.846c0,7.52,6.118,13.639,13.639,13.639H335.46c7.52,0,13.639-6.118,13.639-13.639v-65.846 c0-7.52-6.118-13.639-13.639-13.639H230.394c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h103.551v62.815 H195.637v-62.815H204.982z"/> <path d="M305.632,184.101c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-80.443 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577H305.632z"/> </svg><div><a href="/pdf-novels/pinky-promise-riverbend-romance-2-by-valerie-comer-free">Pinky Promise (Riverbend Romance 2)</a> by <span>Valerie Comer</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"> <path style="fill:#97D4AC;" d="M87.385,472.249V39.751l0,0c0-17.696,14.478-32.174,32.174-32.174h301.293 c0.684,0,1.238,0.554,1.238,1.238v127.488v64.355v239.418h-38.792L87.385,472.249z"/> <path style="fill:#E3E3E3;" d="M404.64,440.075H119.559c-17.696,0-32.174,14.478-32.174,32.174l0,0 c0,17.696,14.478,32.174,32.174,32.174H404.64L404.64,440.075L404.64,440.075z"/> <path style="fill:#FFF3DC;" d="M336.079,214.141H194.741c-3.348,0-6.062-2.714-6.062-6.062v-65.845c0-3.348,2.714-6.062,6.062-6.062 H336.08c3.348,0,6.062,2.714,6.062,6.062v65.845C342.141,211.428,339.427,214.141,336.079,214.141z"/> <polygon style="fill:#FFC433;" points="354.769,91.023 327.354,87.676 299.937,91.023 299.937,7.577 354.769,7.577 "/> <path style="opacity:0.1;enable-background:new ;" d="M420.852,7.577h-42.431c0.684,0,1.238,0.555,1.238,1.238v127.488v64.355 v239.417h-17.449v24.598v15.154v24.597h42.431v-24.597v-15.154v-24.598h17.449V200.657v-64.355V8.815 C422.089,8.131,421.536,7.577,420.852,7.577z"/> <path d="M424.615,147.89c4.185,0,7.577-3.391,7.577-7.577V8.815c0-4.86-3.954-8.815-8.815-8.815h-68.609h-54.83H119.559 C97.64,0,79.808,17.831,79.808,39.751v432.498C79.808,494.168,97.64,512,119.56,512h305.055c4.185,0,7.577-3.391,7.577-7.577 c0-4.186-3.392-7.577-7.577-7.577h-12.398v-49.194h12.398c4.185,0,7.577-3.391,7.577-7.577V182.203c0-4.186-3.392-7.577-7.577-7.577 c-4.185,0-7.577,3.391-7.577,7.577v250.296H119.559c-9.282,0-17.825,3.207-24.598,8.559V39.751 c0.001-13.563,11.035-24.597,24.598-24.597h172.802v75.87c0,4.186,3.392,7.577,7.577,7.577h54.831c4.185,0,7.577-3.391,7.577-7.577 v-75.87h54.692v125.159C417.038,144.497,420.43,147.89,424.615,147.89z M119.559,447.652h277.504v17.021h-60.491 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h60.491v17.02H119.559c-13.563,0-24.598-11.034-24.598-24.597 C94.962,458.685,105.996,447.652,119.559,447.652z M347.192,83.447h-39.677V15.154h39.677V83.447z"/> <path d="M128.504,247.686v160.888c0,4.186,3.392,7.577,7.577,7.577s7.577-3.391,7.577-7.577V247.686 c0-4.186-3.392-7.577-7.577-7.577S128.504,243.5,128.504,247.686z"/> <path d="M204.982,145.117c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-10.86 c-7.52,0-13.639,6.118-13.639,13.639v65.846c0,7.52,6.118,13.639,13.639,13.639H335.46c7.52,0,13.639-6.118,13.639-13.639v-65.846 c0-7.52-6.118-13.639-13.639-13.639H230.394c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h103.551v62.815 H195.637v-62.815H204.982z"/> <path d="M305.632,184.101c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-80.443 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577H305.632z"/> </svg><div><a href="/pdf-novels/jack-vance-gaean-reach-01-by-gray-prince-free">Jack Vance - Gaean Reach 01</a> by <span>Gray Prince</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"> <path style="fill:#97D4AC;" d="M87.385,472.249V39.751l0,0c0-17.696,14.478-32.174,32.174-32.174h301.293 c0.684,0,1.238,0.554,1.238,1.238v127.488v64.355v239.418h-38.792L87.385,472.249z"/> <path style="fill:#E3E3E3;" d="M404.64,440.075H119.559c-17.696,0-32.174,14.478-32.174,32.174l0,0 c0,17.696,14.478,32.174,32.174,32.174H404.64L404.64,440.075L404.64,440.075z"/> <path style="fill:#FFF3DC;" d="M336.079,214.141H194.741c-3.348,0-6.062-2.714-6.062-6.062v-65.845c0-3.348,2.714-6.062,6.062-6.062 H336.08c3.348,0,6.062,2.714,6.062,6.062v65.845C342.141,211.428,339.427,214.141,336.079,214.141z"/> <polygon style="fill:#FFC433;" points="354.769,91.023 327.354,87.676 299.937,91.023 299.937,7.577 354.769,7.577 "/> <path style="opacity:0.1;enable-background:new ;" d="M420.852,7.577h-42.431c0.684,0,1.238,0.555,1.238,1.238v127.488v64.355 v239.417h-17.449v24.598v15.154v24.597h42.431v-24.597v-15.154v-24.598h17.449V200.657v-64.355V8.815 C422.089,8.131,421.536,7.577,420.852,7.577z"/> <path d="M424.615,147.89c4.185,0,7.577-3.391,7.577-7.577V8.815c0-4.86-3.954-8.815-8.815-8.815h-68.609h-54.83H119.559 C97.64,0,79.808,17.831,79.808,39.751v432.498C79.808,494.168,97.64,512,119.56,512h305.055c4.185,0,7.577-3.391,7.577-7.577 c0-4.186-3.392-7.577-7.577-7.577h-12.398v-49.194h12.398c4.185,0,7.577-3.391,7.577-7.577V182.203c0-4.186-3.392-7.577-7.577-7.577 c-4.185,0-7.577,3.391-7.577,7.577v250.296H119.559c-9.282,0-17.825,3.207-24.598,8.559V39.751 c0.001-13.563,11.035-24.597,24.598-24.597h172.802v75.87c0,4.186,3.392,7.577,7.577,7.577h54.831c4.185,0,7.577-3.391,7.577-7.577 v-75.87h54.692v125.159C417.038,144.497,420.43,147.89,424.615,147.89z M119.559,447.652h277.504v17.021h-60.491 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h60.491v17.02H119.559c-13.563,0-24.598-11.034-24.598-24.597 C94.962,458.685,105.996,447.652,119.559,447.652z M347.192,83.447h-39.677V15.154h39.677V83.447z"/> <path d="M128.504,247.686v160.888c0,4.186,3.392,7.577,7.577,7.577s7.577-3.391,7.577-7.577V247.686 c0-4.186-3.392-7.577-7.577-7.577S128.504,243.5,128.504,247.686z"/> <path d="M204.982,145.117c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-10.86 c-7.52,0-13.639,6.118-13.639,13.639v65.846c0,7.52,6.118,13.639,13.639,13.639H335.46c7.52,0,13.639-6.118,13.639-13.639v-65.846 c0-7.52-6.118-13.639-13.639-13.639H230.394c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h103.551v62.815 H195.637v-62.815H204.982z"/> <path d="M305.632,184.101c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-80.443 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577H305.632z"/> </svg><div><a href="/pdf-novels/carry-me-home-82789-by-rosalind-james-free">Carry Me Home</a> by <span>Rosalind James</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"> <path style="fill:#97D4AC;" d="M87.385,472.249V39.751l0,0c0-17.696,14.478-32.174,32.174-32.174h301.293 c0.684,0,1.238,0.554,1.238,1.238v127.488v64.355v239.418h-38.792L87.385,472.249z"/> <path style="fill:#E3E3E3;" d="M404.64,440.075H119.559c-17.696,0-32.174,14.478-32.174,32.174l0,0 c0,17.696,14.478,32.174,32.174,32.174H404.64L404.64,440.075L404.64,440.075z"/> <path style="fill:#FFF3DC;" d="M336.079,214.141H194.741c-3.348,0-6.062-2.714-6.062-6.062v-65.845c0-3.348,2.714-6.062,6.062-6.062 H336.08c3.348,0,6.062,2.714,6.062,6.062v65.845C342.141,211.428,339.427,214.141,336.079,214.141z"/> <polygon style="fill:#FFC433;" points="354.769,91.023 327.354,87.676 299.937,91.023 299.937,7.577 354.769,7.577 "/> <path style="opacity:0.1;enable-background:new ;" d="M420.852,7.577h-42.431c0.684,0,1.238,0.555,1.238,1.238v127.488v64.355 v239.417h-17.449v24.598v15.154v24.597h42.431v-24.597v-15.154v-24.598h17.449V200.657v-64.355V8.815 C422.089,8.131,421.536,7.577,420.852,7.577z"/> <path d="M424.615,147.89c4.185,0,7.577-3.391,7.577-7.577V8.815c0-4.86-3.954-8.815-8.815-8.815h-68.609h-54.83H119.559 C97.64,0,79.808,17.831,79.808,39.751v432.498C79.808,494.168,97.64,512,119.56,512h305.055c4.185,0,7.577-3.391,7.577-7.577 c0-4.186-3.392-7.577-7.577-7.577h-12.398v-49.194h12.398c4.185,0,7.577-3.391,7.577-7.577V182.203c0-4.186-3.392-7.577-7.577-7.577 c-4.185,0-7.577,3.391-7.577,7.577v250.296H119.559c-9.282,0-17.825,3.207-24.598,8.559V39.751 c0.001-13.563,11.035-24.597,24.598-24.597h172.802v75.87c0,4.186,3.392,7.577,7.577,7.577h54.831c4.185,0,7.577-3.391,7.577-7.577 v-75.87h54.692v125.159C417.038,144.497,420.43,147.89,424.615,147.89z M119.559,447.652h277.504v17.021h-60.491 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h60.491v17.02H119.559c-13.563,0-24.598-11.034-24.598-24.597 C94.962,458.685,105.996,447.652,119.559,447.652z M347.192,83.447h-39.677V15.154h39.677V83.447z"/> <path d="M128.504,247.686v160.888c0,4.186,3.392,7.577,7.577,7.577s7.577-3.391,7.577-7.577V247.686 c0-4.186-3.392-7.577-7.577-7.577S128.504,243.5,128.504,247.686z"/> <path d="M204.982,145.117c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-10.86 c-7.52,0-13.639,6.118-13.639,13.639v65.846c0,7.52,6.118,13.639,13.639,13.639H335.46c7.52,0,13.639-6.118,13.639-13.639v-65.846 c0-7.52-6.118-13.639-13.639-13.639H230.394c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h103.551v62.815 H195.637v-62.815H204.982z"/> <path d="M305.632,184.101c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-80.443 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577H305.632z"/> </svg><div><a href="/pdf-novels/the-errant-prince-by-miller-sasha-l-free">The Errant Prince</a> by <span>Miller, Sasha L.</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"> <path style="fill:#97D4AC;" d="M87.385,472.249V39.751l0,0c0-17.696,14.478-32.174,32.174-32.174h301.293 c0.684,0,1.238,0.554,1.238,1.238v127.488v64.355v239.418h-38.792L87.385,472.249z"/> <path style="fill:#E3E3E3;" d="M404.64,440.075H119.559c-17.696,0-32.174,14.478-32.174,32.174l0,0 c0,17.696,14.478,32.174,32.174,32.174H404.64L404.64,440.075L404.64,440.075z"/> <path style="fill:#FFF3DC;" d="M336.079,214.141H194.741c-3.348,0-6.062-2.714-6.062-6.062v-65.845c0-3.348,2.714-6.062,6.062-6.062 H336.08c3.348,0,6.062,2.714,6.062,6.062v65.845C342.141,211.428,339.427,214.141,336.079,214.141z"/> <polygon style="fill:#FFC433;" points="354.769,91.023 327.354,87.676 299.937,91.023 299.937,7.577 354.769,7.577 "/> <path style="opacity:0.1;enable-background:new ;" d="M420.852,7.577h-42.431c0.684,0,1.238,0.555,1.238,1.238v127.488v64.355 v239.417h-17.449v24.598v15.154v24.597h42.431v-24.597v-15.154v-24.598h17.449V200.657v-64.355V8.815 C422.089,8.131,421.536,7.577,420.852,7.577z"/> <path d="M424.615,147.89c4.185,0,7.577-3.391,7.577-7.577V8.815c0-4.86-3.954-8.815-8.815-8.815h-68.609h-54.83H119.559 C97.64,0,79.808,17.831,79.808,39.751v432.498C79.808,494.168,97.64,512,119.56,512h305.055c4.185,0,7.577-3.391,7.577-7.577 c0-4.186-3.392-7.577-7.577-7.577h-12.398v-49.194h12.398c4.185,0,7.577-3.391,7.577-7.577V182.203c0-4.186-3.392-7.577-7.577-7.577 c-4.185,0-7.577,3.391-7.577,7.577v250.296H119.559c-9.282,0-17.825,3.207-24.598,8.559V39.751 c0.001-13.563,11.035-24.597,24.598-24.597h172.802v75.87c0,4.186,3.392,7.577,7.577,7.577h54.831c4.185,0,7.577-3.391,7.577-7.577 v-75.87h54.692v125.159C417.038,144.497,420.43,147.89,424.615,147.89z M119.559,447.652h277.504v17.021h-60.491 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h60.491v17.02H119.559c-13.563,0-24.598-11.034-24.598-24.597 C94.962,458.685,105.996,447.652,119.559,447.652z M347.192,83.447h-39.677V15.154h39.677V83.447z"/> <path d="M128.504,247.686v160.888c0,4.186,3.392,7.577,7.577,7.577s7.577-3.391,7.577-7.577V247.686 c0-4.186-3.392-7.577-7.577-7.577S128.504,243.5,128.504,247.686z"/> <path d="M204.982,145.117c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-10.86 c-7.52,0-13.639,6.118-13.639,13.639v65.846c0,7.52,6.118,13.639,13.639,13.639H335.46c7.52,0,13.639-6.118,13.639-13.639v-65.846 c0-7.52-6.118-13.639-13.639-13.639H230.394c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h103.551v62.815 H195.637v-62.815H204.982z"/> <path d="M305.632,184.101c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-80.443 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577H305.632z"/> </svg><div><a href="/pdf-novels/never-never-65061-by-brianna-shrum-free">Never, Never</a> by <span>Brianna Shrum</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"> <path style="fill:#97D4AC;" d="M87.385,472.249V39.751l0,0c0-17.696,14.478-32.174,32.174-32.174h301.293 c0.684,0,1.238,0.554,1.238,1.238v127.488v64.355v239.418h-38.792L87.385,472.249z"/> <path style="fill:#E3E3E3;" d="M404.64,440.075H119.559c-17.696,0-32.174,14.478-32.174,32.174l0,0 c0,17.696,14.478,32.174,32.174,32.174H404.64L404.64,440.075L404.64,440.075z"/> <path style="fill:#FFF3DC;" d="M336.079,214.141H194.741c-3.348,0-6.062-2.714-6.062-6.062v-65.845c0-3.348,2.714-6.062,6.062-6.062 H336.08c3.348,0,6.062,2.714,6.062,6.062v65.845C342.141,211.428,339.427,214.141,336.079,214.141z"/> <polygon style="fill:#FFC433;" points="354.769,91.023 327.354,87.676 299.937,91.023 299.937,7.577 354.769,7.577 "/> <path style="opacity:0.1;enable-background:new ;" d="M420.852,7.577h-42.431c0.684,0,1.238,0.555,1.238,1.238v127.488v64.355 v239.417h-17.449v24.598v15.154v24.597h42.431v-24.597v-15.154v-24.598h17.449V200.657v-64.355V8.815 C422.089,8.131,421.536,7.577,420.852,7.577z"/> <path d="M424.615,147.89c4.185,0,7.577-3.391,7.577-7.577V8.815c0-4.86-3.954-8.815-8.815-8.815h-68.609h-54.83H119.559 C97.64,0,79.808,17.831,79.808,39.751v432.498C79.808,494.168,97.64,512,119.56,512h305.055c4.185,0,7.577-3.391,7.577-7.577 c0-4.186-3.392-7.577-7.577-7.577h-12.398v-49.194h12.398c4.185,0,7.577-3.391,7.577-7.577V182.203c0-4.186-3.392-7.577-7.577-7.577 c-4.185,0-7.577,3.391-7.577,7.577v250.296H119.559c-9.282,0-17.825,3.207-24.598,8.559V39.751 c0.001-13.563,11.035-24.597,24.598-24.597h172.802v75.87c0,4.186,3.392,7.577,7.577,7.577h54.831c4.185,0,7.577-3.391,7.577-7.577 v-75.87h54.692v125.159C417.038,144.497,420.43,147.89,424.615,147.89z M119.559,447.652h277.504v17.021h-60.491 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h60.491v17.02H119.559c-13.563,0-24.598-11.034-24.598-24.597 C94.962,458.685,105.996,447.652,119.559,447.652z M347.192,83.447h-39.677V15.154h39.677V83.447z"/> <path d="M128.504,247.686v160.888c0,4.186,3.392,7.577,7.577,7.577s7.577-3.391,7.577-7.577V247.686 c0-4.186-3.392-7.577-7.577-7.577S128.504,243.5,128.504,247.686z"/> <path d="M204.982,145.117c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-10.86 c-7.52,0-13.639,6.118-13.639,13.639v65.846c0,7.52,6.118,13.639,13.639,13.639H335.46c7.52,0,13.639-6.118,13.639-13.639v-65.846 c0-7.52-6.118-13.639-13.639-13.639H230.394c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h103.551v62.815 H195.637v-62.815H204.982z"/> <path d="M305.632,184.101c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-80.443 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577H305.632z"/> </svg><div><a href="/pdf-novels/jason-frost-warlord-04-prisonland-by-jason-frost-warlord-04-free">Jason Frost - Warlord 04 - Prisonland</a> by <span>Jason Frost - Warlord 04</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"> <path style="fill:#97D4AC;" d="M87.385,472.249V39.751l0,0c0-17.696,14.478-32.174,32.174-32.174h301.293 c0.684,0,1.238,0.554,1.238,1.238v127.488v64.355v239.418h-38.792L87.385,472.249z"/> <path style="fill:#E3E3E3;" d="M404.64,440.075H119.559c-17.696,0-32.174,14.478-32.174,32.174l0,0 c0,17.696,14.478,32.174,32.174,32.174H404.64L404.64,440.075L404.64,440.075z"/> <path style="fill:#FFF3DC;" d="M336.079,214.141H194.741c-3.348,0-6.062-2.714-6.062-6.062v-65.845c0-3.348,2.714-6.062,6.062-6.062 H336.08c3.348,0,6.062,2.714,6.062,6.062v65.845C342.141,211.428,339.427,214.141,336.079,214.141z"/> <polygon style="fill:#FFC433;" points="354.769,91.023 327.354,87.676 299.937,91.023 299.937,7.577 354.769,7.577 "/> <path style="opacity:0.1;enable-background:new ;" d="M420.852,7.577h-42.431c0.684,0,1.238,0.555,1.238,1.238v127.488v64.355 v239.417h-17.449v24.598v15.154v24.597h42.431v-24.597v-15.154v-24.598h17.449V200.657v-64.355V8.815 C422.089,8.131,421.536,7.577,420.852,7.577z"/> <path d="M424.615,147.89c4.185,0,7.577-3.391,7.577-7.577V8.815c0-4.86-3.954-8.815-8.815-8.815h-68.609h-54.83H119.559 C97.64,0,79.808,17.831,79.808,39.751v432.498C79.808,494.168,97.64,512,119.56,512h305.055c4.185,0,7.577-3.391,7.577-7.577 c0-4.186-3.392-7.577-7.577-7.577h-12.398v-49.194h12.398c4.185,0,7.577-3.391,7.577-7.577V182.203c0-4.186-3.392-7.577-7.577-7.577 c-4.185,0-7.577,3.391-7.577,7.577v250.296H119.559c-9.282,0-17.825,3.207-24.598,8.559V39.751 c0.001-13.563,11.035-24.597,24.598-24.597h172.802v75.87c0,4.186,3.392,7.577,7.577,7.577h54.831c4.185,0,7.577-3.391,7.577-7.577 v-75.87h54.692v125.159C417.038,144.497,420.43,147.89,424.615,147.89z M119.559,447.652h277.504v17.021h-60.491 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h60.491v17.02H119.559c-13.563,0-24.598-11.034-24.598-24.597 C94.962,458.685,105.996,447.652,119.559,447.652z M347.192,83.447h-39.677V15.154h39.677V83.447z"/> <path d="M128.504,247.686v160.888c0,4.186,3.392,7.577,7.577,7.577s7.577-3.391,7.577-7.577V247.686 c0-4.186-3.392-7.577-7.577-7.577S128.504,243.5,128.504,247.686z"/> <path d="M204.982,145.117c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-10.86 c-7.52,0-13.639,6.118-13.639,13.639v65.846c0,7.52,6.118,13.639,13.639,13.639H335.46c7.52,0,13.639-6.118,13.639-13.639v-65.846 c0-7.52-6.118-13.639-13.639-13.639H230.394c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577h103.551v62.815 H195.637v-62.815H204.982z"/> <path d="M305.632,184.101c4.185,0,7.577-3.391,7.577-7.577c0-4.186-3.392-7.577-7.577-7.577h-80.443 c-4.185,0-7.577,3.391-7.577,7.577c0,4.186,3.392,7.577,7.577,7.577H305.632z"/> </svg><div><a href="/pdf-novels/mars-prime-by-william-c-dietz-free">Mars Prime</a> by <span>William C. Dietz</span></div></div></div> <!--er--> </div> </div> <div class="row" style="margin-top: 15px;"> </div> </div> </div> <footer class="footer"> <div class="container"> <p class="pull-left"> © 100 Vampire Novels 2015 - 2024    Contact for me vampirenovels@hotmail.com </p> <p class="pull-right"> <!--LiveInternet counter--> <script type="text/javascript"> document.write("<a href='//www.liveinternet.ru/click' "+ "target=_blank><img src='//counter.yadro.ru/hit?t50.6;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+ ";h"+escape(document.title.substring(0,150))+";"+Math.random()+ "' alt='' title='LiveInternet' "+ "border='0' width='31' height='31'><\/a>") </script> <!--/LiveInternet--> </p> </div> </footer> <script src="/assets/ba91f165/jquery.js?v=1529425591"></script> <script src="/assets/618ab67e/yii.js?v=1529414259"></script> <script src="/js/site.js?v=1722099411"></script> <script src="/assets/5e1636ad/js/bootstrap.js?v=1529424553"></script> <div class="p3bnr" style="display: none;"> <div class="p3bnr-inner"> <div></div> <div> <div> <div>XSLT 2.0 And XPath 2.0 Programmer's Reference, 4th Edition</div> <div>You must be logged in to Read or Download</div> <a href="https://file.100-vampirenovels.net/TDS/?q=XSLT+2.0+And+XPath+2.0+Programmer%27s+Reference%2C+4th+Edition&sub=542&place=bb3" target="_blank" rel="nofollow"> CONTINUE <img src="/i/arrow.png" /> </a> <div><span class="glyphicon glyphicon-lock"></span> SECURE VERIFIED</div> </div> </div> <div> <a class="p3bnr-closer" href="javascript:;">Close X</a> </div> </div> </div> </body> </html>