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
4.98Mb 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="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-31" data-page="30">«</a></li> <li class="first"><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online" data-page="0">1</a></li> <li class="disabled"><span>...</span></li> <li><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-14" data-page="13">14</a></li> <li class="disabled"><span>...</span></li> <li><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-27" data-page="26">27</a></li> <li><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-28" data-page="27">28</a></li> <li><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-29" data-page="28">29</a></li> <li><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-30" data-page="29">30</a></li> <li><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-31" data-page="30">31</a></li> <li class="active"><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-32" data-page="31">32</a></li> <li><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-33" data-page="32">33</a></li> <li><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-34" data-page="33">34</a></li> <li><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-35" data-page="34">35</a></li> <li><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-36" data-page="35">36</a></li> <li class="disabled"><span>...</span></li> <li><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-469" data-page="468">469</a></li> <li class="disabled"><span>...</span></li> <li class="last"><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-901" data-page="900">901</a></li> <li class="next"><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-33" 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 enable-background="new 0 0 512 512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"> <g> <path d="m419.17 410.104v62.4h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-19.4c0-11.87 9.63-21.5 21.5-21.5z" fill="#d9ecfd"/> <path d="m419.17 441.304v31.2h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-9.7z" fill="#c5e2ff"/> <path d="m132.68 378.104v-370.604h-20.18c-19.33 0-35 15.67-35 35v389.104c0-29.645 24.103-53.64 53.748-53.506z" fill="#db3915"/> <path d="m132.68 7.5h301.82v370.604h-301.82z" fill="#fc5a36"/><path d="m131 378.104c-29.547 0-53.5 23.953-53.5 53.5v19.396c0 29.547 23.953 53.5 53.5 53.5h303.5v-32h-303.5c-11.874 0-21.5-9.626-21.5-21.5v-19.396c0-11.874 9.626-21.5 21.5-21.5h303.5v-32z" fill="#a42b0f"/> <path d="m193.467 63.104h180.382v80.72h-180.382z" fill="#ffc85e"/> <g> <path d="m434.5 0h-322c-23.435 0-42.5 19.059-42.5 42.485v408.515c0 33.635 27.364 61 61 61h303.5c4.143 0 7.5-3.358 7.5-7.5v-32c0-4.142-3.357-7.5-7.5-7.5h-7.83v-47.396h7.83c4.143 0 7.5-3.358 7.5-7.5v-402.604c0-4.142-3.358-7.5-7.5-7.5zm-349.5 42.485c0-15.155 12.337-27.485 27.5-27.485h12.68v263.534c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-263.534h286.82v355.604h-286.82v-59.38c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v59.664c-15.988 1.521-30.186 9.242-40.18 20.721zm326.67 391.319h-53.67c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h53.67v16.196h-280.67c-9.167 0-14.875-7.396-14-16.196h208.31c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-208.31c-.875-9.45 4.831-16.2 14-16.2h280.67zm15.33-31.2h-296c-15.99 0-29 13.009-29 29v19.396c0 15.991 13.01 29 29 29h296v17h-296c-25.364 0-46-20.636-46-46v-19.396c0-25.364 20.636-46 46-46h296z"/><path d="m193.469 151.324h180.38c4.143 0 7.5-3.358 7.5-7.5v-80.72c0-4.142-3.357-7.5-7.5-7.5h-45.349c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h37.85v65.72h-165.38v-65.72h94.84c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-102.34c-4.143 0-7.5 3.358-7.5 7.5v80.72c-.001 4.142 3.357 7.5 7.499 7.5z"/> <path d="m341.658 241.592h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/><path d="m341.658 277.409h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/> </g> </g> </svg><div><a href="/english-books/full-book-worthy-of-the-billionaires-attention-read-online">Worthy of the Billionaire's Attention</a> by <span>Krista Lakes</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg enable-background="new 0 0 512 512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"> <g> <path d="m419.17 410.104v62.4h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-19.4c0-11.87 9.63-21.5 21.5-21.5z" fill="#d9ecfd"/> <path d="m419.17 441.304v31.2h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-9.7z" fill="#c5e2ff"/> <path d="m132.68 378.104v-370.604h-20.18c-19.33 0-35 15.67-35 35v389.104c0-29.645 24.103-53.64 53.748-53.506z" fill="#db3915"/> <path d="m132.68 7.5h301.82v370.604h-301.82z" fill="#fc5a36"/><path d="m131 378.104c-29.547 0-53.5 23.953-53.5 53.5v19.396c0 29.547 23.953 53.5 53.5 53.5h303.5v-32h-303.5c-11.874 0-21.5-9.626-21.5-21.5v-19.396c0-11.874 9.626-21.5 21.5-21.5h303.5v-32z" fill="#a42b0f"/> <path d="m193.467 63.104h180.382v80.72h-180.382z" fill="#ffc85e"/> <g> <path d="m434.5 0h-322c-23.435 0-42.5 19.059-42.5 42.485v408.515c0 33.635 27.364 61 61 61h303.5c4.143 0 7.5-3.358 7.5-7.5v-32c0-4.142-3.357-7.5-7.5-7.5h-7.83v-47.396h7.83c4.143 0 7.5-3.358 7.5-7.5v-402.604c0-4.142-3.358-7.5-7.5-7.5zm-349.5 42.485c0-15.155 12.337-27.485 27.5-27.485h12.68v263.534c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-263.534h286.82v355.604h-286.82v-59.38c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v59.664c-15.988 1.521-30.186 9.242-40.18 20.721zm326.67 391.319h-53.67c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h53.67v16.196h-280.67c-9.167 0-14.875-7.396-14-16.196h208.31c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-208.31c-.875-9.45 4.831-16.2 14-16.2h280.67zm15.33-31.2h-296c-15.99 0-29 13.009-29 29v19.396c0 15.991 13.01 29 29 29h296v17h-296c-25.364 0-46-20.636-46-46v-19.396c0-25.364 20.636-46 46-46h296z"/><path d="m193.469 151.324h180.38c4.143 0 7.5-3.358 7.5-7.5v-80.72c0-4.142-3.357-7.5-7.5-7.5h-45.349c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h37.85v65.72h-165.38v-65.72h94.84c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-102.34c-4.143 0-7.5 3.358-7.5 7.5v80.72c-.001 4.142 3.357 7.5 7.499 7.5z"/> <path d="m341.658 241.592h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/><path d="m341.658 277.409h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/> </g> </g> </svg><div><a href="/english-books/full-book-loving-lucas-read-online">Loving Lucas</a> by <span>Lisa Marie Davis</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg enable-background="new 0 0 512 512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"> <g> <path d="m419.17 410.104v62.4h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-19.4c0-11.87 9.63-21.5 21.5-21.5z" fill="#d9ecfd"/> <path d="m419.17 441.304v31.2h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-9.7z" fill="#c5e2ff"/> <path d="m132.68 378.104v-370.604h-20.18c-19.33 0-35 15.67-35 35v389.104c0-29.645 24.103-53.64 53.748-53.506z" fill="#db3915"/> <path d="m132.68 7.5h301.82v370.604h-301.82z" fill="#fc5a36"/><path d="m131 378.104c-29.547 0-53.5 23.953-53.5 53.5v19.396c0 29.547 23.953 53.5 53.5 53.5h303.5v-32h-303.5c-11.874 0-21.5-9.626-21.5-21.5v-19.396c0-11.874 9.626-21.5 21.5-21.5h303.5v-32z" fill="#a42b0f"/> <path d="m193.467 63.104h180.382v80.72h-180.382z" fill="#ffc85e"/> <g> <path d="m434.5 0h-322c-23.435 0-42.5 19.059-42.5 42.485v408.515c0 33.635 27.364 61 61 61h303.5c4.143 0 7.5-3.358 7.5-7.5v-32c0-4.142-3.357-7.5-7.5-7.5h-7.83v-47.396h7.83c4.143 0 7.5-3.358 7.5-7.5v-402.604c0-4.142-3.358-7.5-7.5-7.5zm-349.5 42.485c0-15.155 12.337-27.485 27.5-27.485h12.68v263.534c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-263.534h286.82v355.604h-286.82v-59.38c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v59.664c-15.988 1.521-30.186 9.242-40.18 20.721zm326.67 391.319h-53.67c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h53.67v16.196h-280.67c-9.167 0-14.875-7.396-14-16.196h208.31c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-208.31c-.875-9.45 4.831-16.2 14-16.2h280.67zm15.33-31.2h-296c-15.99 0-29 13.009-29 29v19.396c0 15.991 13.01 29 29 29h296v17h-296c-25.364 0-46-20.636-46-46v-19.396c0-25.364 20.636-46 46-46h296z"/><path d="m193.469 151.324h180.38c4.143 0 7.5-3.358 7.5-7.5v-80.72c0-4.142-3.357-7.5-7.5-7.5h-45.349c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h37.85v65.72h-165.38v-65.72h94.84c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-102.34c-4.143 0-7.5 3.358-7.5 7.5v80.72c-.001 4.142 3.357 7.5 7.499 7.5z"/> <path d="m341.658 241.592h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/><path d="m341.658 277.409h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/> </g> </g> </svg><div><a href="/english-books/full-book-hypothermia-read-online">Hypothermia</a> by <span>Arnaldur Indridason</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg enable-background="new 0 0 512 512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"> <g> <path d="m419.17 410.104v62.4h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-19.4c0-11.87 9.63-21.5 21.5-21.5z" fill="#d9ecfd"/> <path d="m419.17 441.304v31.2h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-9.7z" fill="#c5e2ff"/> <path d="m132.68 378.104v-370.604h-20.18c-19.33 0-35 15.67-35 35v389.104c0-29.645 24.103-53.64 53.748-53.506z" fill="#db3915"/> <path d="m132.68 7.5h301.82v370.604h-301.82z" fill="#fc5a36"/><path d="m131 378.104c-29.547 0-53.5 23.953-53.5 53.5v19.396c0 29.547 23.953 53.5 53.5 53.5h303.5v-32h-303.5c-11.874 0-21.5-9.626-21.5-21.5v-19.396c0-11.874 9.626-21.5 21.5-21.5h303.5v-32z" fill="#a42b0f"/> <path d="m193.467 63.104h180.382v80.72h-180.382z" fill="#ffc85e"/> <g> <path d="m434.5 0h-322c-23.435 0-42.5 19.059-42.5 42.485v408.515c0 33.635 27.364 61 61 61h303.5c4.143 0 7.5-3.358 7.5-7.5v-32c0-4.142-3.357-7.5-7.5-7.5h-7.83v-47.396h7.83c4.143 0 7.5-3.358 7.5-7.5v-402.604c0-4.142-3.358-7.5-7.5-7.5zm-349.5 42.485c0-15.155 12.337-27.485 27.5-27.485h12.68v263.534c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-263.534h286.82v355.604h-286.82v-59.38c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v59.664c-15.988 1.521-30.186 9.242-40.18 20.721zm326.67 391.319h-53.67c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h53.67v16.196h-280.67c-9.167 0-14.875-7.396-14-16.196h208.31c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-208.31c-.875-9.45 4.831-16.2 14-16.2h280.67zm15.33-31.2h-296c-15.99 0-29 13.009-29 29v19.396c0 15.991 13.01 29 29 29h296v17h-296c-25.364 0-46-20.636-46-46v-19.396c0-25.364 20.636-46 46-46h296z"/><path d="m193.469 151.324h180.38c4.143 0 7.5-3.358 7.5-7.5v-80.72c0-4.142-3.357-7.5-7.5-7.5h-45.349c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h37.85v65.72h-165.38v-65.72h94.84c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-102.34c-4.143 0-7.5 3.358-7.5 7.5v80.72c-.001 4.142 3.357 7.5 7.499 7.5z"/> <path d="m341.658 241.592h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/><path d="m341.658 277.409h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/> </g> </g> </svg><div><a href="/english-books/full-book-spellbound-seduced-read-online">Spellbound & Seduced</a> by <span>Marguerite Kaye</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg enable-background="new 0 0 512 512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"> <g> <path d="m419.17 410.104v62.4h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-19.4c0-11.87 9.63-21.5 21.5-21.5z" fill="#d9ecfd"/> <path d="m419.17 441.304v31.2h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-9.7z" fill="#c5e2ff"/> <path d="m132.68 378.104v-370.604h-20.18c-19.33 0-35 15.67-35 35v389.104c0-29.645 24.103-53.64 53.748-53.506z" fill="#db3915"/> <path d="m132.68 7.5h301.82v370.604h-301.82z" fill="#fc5a36"/><path d="m131 378.104c-29.547 0-53.5 23.953-53.5 53.5v19.396c0 29.547 23.953 53.5 53.5 53.5h303.5v-32h-303.5c-11.874 0-21.5-9.626-21.5-21.5v-19.396c0-11.874 9.626-21.5 21.5-21.5h303.5v-32z" fill="#a42b0f"/> <path d="m193.467 63.104h180.382v80.72h-180.382z" fill="#ffc85e"/> <g> <path d="m434.5 0h-322c-23.435 0-42.5 19.059-42.5 42.485v408.515c0 33.635 27.364 61 61 61h303.5c4.143 0 7.5-3.358 7.5-7.5v-32c0-4.142-3.357-7.5-7.5-7.5h-7.83v-47.396h7.83c4.143 0 7.5-3.358 7.5-7.5v-402.604c0-4.142-3.358-7.5-7.5-7.5zm-349.5 42.485c0-15.155 12.337-27.485 27.5-27.485h12.68v263.534c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-263.534h286.82v355.604h-286.82v-59.38c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v59.664c-15.988 1.521-30.186 9.242-40.18 20.721zm326.67 391.319h-53.67c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h53.67v16.196h-280.67c-9.167 0-14.875-7.396-14-16.196h208.31c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-208.31c-.875-9.45 4.831-16.2 14-16.2h280.67zm15.33-31.2h-296c-15.99 0-29 13.009-29 29v19.396c0 15.991 13.01 29 29 29h296v17h-296c-25.364 0-46-20.636-46-46v-19.396c0-25.364 20.636-46 46-46h296z"/><path d="m193.469 151.324h180.38c4.143 0 7.5-3.358 7.5-7.5v-80.72c0-4.142-3.357-7.5-7.5-7.5h-45.349c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h37.85v65.72h-165.38v-65.72h94.84c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-102.34c-4.143 0-7.5 3.358-7.5 7.5v80.72c-.001 4.142 3.357 7.5 7.499 7.5z"/> <path d="m341.658 241.592h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/><path d="m341.658 277.409h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/> </g> </g> </svg><div><a href="/english-books/full-book-dark-side-of-the-street-simon-vaughn-01-v5-read-online">Dark Side of the Street - Simon Vaughn 01 (v5)</a> by <span>Jack Higgins</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg enable-background="new 0 0 512 512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"> <g> <path d="m419.17 410.104v62.4h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-19.4c0-11.87 9.63-21.5 21.5-21.5z" fill="#d9ecfd"/> <path d="m419.17 441.304v31.2h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-9.7z" fill="#c5e2ff"/> <path d="m132.68 378.104v-370.604h-20.18c-19.33 0-35 15.67-35 35v389.104c0-29.645 24.103-53.64 53.748-53.506z" fill="#db3915"/> <path d="m132.68 7.5h301.82v370.604h-301.82z" fill="#fc5a36"/><path d="m131 378.104c-29.547 0-53.5 23.953-53.5 53.5v19.396c0 29.547 23.953 53.5 53.5 53.5h303.5v-32h-303.5c-11.874 0-21.5-9.626-21.5-21.5v-19.396c0-11.874 9.626-21.5 21.5-21.5h303.5v-32z" fill="#a42b0f"/> <path d="m193.467 63.104h180.382v80.72h-180.382z" fill="#ffc85e"/> <g> <path d="m434.5 0h-322c-23.435 0-42.5 19.059-42.5 42.485v408.515c0 33.635 27.364 61 61 61h303.5c4.143 0 7.5-3.358 7.5-7.5v-32c0-4.142-3.357-7.5-7.5-7.5h-7.83v-47.396h7.83c4.143 0 7.5-3.358 7.5-7.5v-402.604c0-4.142-3.358-7.5-7.5-7.5zm-349.5 42.485c0-15.155 12.337-27.485 27.5-27.485h12.68v263.534c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-263.534h286.82v355.604h-286.82v-59.38c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v59.664c-15.988 1.521-30.186 9.242-40.18 20.721zm326.67 391.319h-53.67c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h53.67v16.196h-280.67c-9.167 0-14.875-7.396-14-16.196h208.31c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-208.31c-.875-9.45 4.831-16.2 14-16.2h280.67zm15.33-31.2h-296c-15.99 0-29 13.009-29 29v19.396c0 15.991 13.01 29 29 29h296v17h-296c-25.364 0-46-20.636-46-46v-19.396c0-25.364 20.636-46 46-46h296z"/><path d="m193.469 151.324h180.38c4.143 0 7.5-3.358 7.5-7.5v-80.72c0-4.142-3.357-7.5-7.5-7.5h-45.349c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h37.85v65.72h-165.38v-65.72h94.84c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-102.34c-4.143 0-7.5 3.358-7.5 7.5v80.72c-.001 4.142 3.357 7.5 7.499 7.5z"/> <path d="m341.658 241.592h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/><path d="m341.658 277.409h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/> </g> </g> </svg><div><a href="/english-books/full-book-the-dark-net-read-online">The Dark Net</a> by <span>Jamie Bartlett</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg enable-background="new 0 0 512 512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"> <g> <path d="m419.17 410.104v62.4h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-19.4c0-11.87 9.63-21.5 21.5-21.5z" fill="#d9ecfd"/> <path d="m419.17 441.304v31.2h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-9.7z" fill="#c5e2ff"/> <path d="m132.68 378.104v-370.604h-20.18c-19.33 0-35 15.67-35 35v389.104c0-29.645 24.103-53.64 53.748-53.506z" fill="#db3915"/> <path d="m132.68 7.5h301.82v370.604h-301.82z" fill="#fc5a36"/><path d="m131 378.104c-29.547 0-53.5 23.953-53.5 53.5v19.396c0 29.547 23.953 53.5 53.5 53.5h303.5v-32h-303.5c-11.874 0-21.5-9.626-21.5-21.5v-19.396c0-11.874 9.626-21.5 21.5-21.5h303.5v-32z" fill="#a42b0f"/> <path d="m193.467 63.104h180.382v80.72h-180.382z" fill="#ffc85e"/> <g> <path d="m434.5 0h-322c-23.435 0-42.5 19.059-42.5 42.485v408.515c0 33.635 27.364 61 61 61h303.5c4.143 0 7.5-3.358 7.5-7.5v-32c0-4.142-3.357-7.5-7.5-7.5h-7.83v-47.396h7.83c4.143 0 7.5-3.358 7.5-7.5v-402.604c0-4.142-3.358-7.5-7.5-7.5zm-349.5 42.485c0-15.155 12.337-27.485 27.5-27.485h12.68v263.534c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-263.534h286.82v355.604h-286.82v-59.38c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v59.664c-15.988 1.521-30.186 9.242-40.18 20.721zm326.67 391.319h-53.67c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h53.67v16.196h-280.67c-9.167 0-14.875-7.396-14-16.196h208.31c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-208.31c-.875-9.45 4.831-16.2 14-16.2h280.67zm15.33-31.2h-296c-15.99 0-29 13.009-29 29v19.396c0 15.991 13.01 29 29 29h296v17h-296c-25.364 0-46-20.636-46-46v-19.396c0-25.364 20.636-46 46-46h296z"/><path d="m193.469 151.324h180.38c4.143 0 7.5-3.358 7.5-7.5v-80.72c0-4.142-3.357-7.5-7.5-7.5h-45.349c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h37.85v65.72h-165.38v-65.72h94.84c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-102.34c-4.143 0-7.5 3.358-7.5 7.5v80.72c-.001 4.142 3.357 7.5 7.499 7.5z"/> <path d="m341.658 241.592h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/><path d="m341.658 277.409h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/> </g> </g> </svg><div><a href="/english-books/full-book-the-stranglers-honeymoon-219255-read-online">The Stranglers Honeymoon</a> by <span>Hakan Nesser</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg enable-background="new 0 0 512 512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"> <g> <path d="m419.17 410.104v62.4h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-19.4c0-11.87 9.63-21.5 21.5-21.5z" fill="#d9ecfd"/> <path d="m419.17 441.304v31.2h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-9.7z" fill="#c5e2ff"/> <path d="m132.68 378.104v-370.604h-20.18c-19.33 0-35 15.67-35 35v389.104c0-29.645 24.103-53.64 53.748-53.506z" fill="#db3915"/> <path d="m132.68 7.5h301.82v370.604h-301.82z" fill="#fc5a36"/><path d="m131 378.104c-29.547 0-53.5 23.953-53.5 53.5v19.396c0 29.547 23.953 53.5 53.5 53.5h303.5v-32h-303.5c-11.874 0-21.5-9.626-21.5-21.5v-19.396c0-11.874 9.626-21.5 21.5-21.5h303.5v-32z" fill="#a42b0f"/> <path d="m193.467 63.104h180.382v80.72h-180.382z" fill="#ffc85e"/> <g> <path d="m434.5 0h-322c-23.435 0-42.5 19.059-42.5 42.485v408.515c0 33.635 27.364 61 61 61h303.5c4.143 0 7.5-3.358 7.5-7.5v-32c0-4.142-3.357-7.5-7.5-7.5h-7.83v-47.396h7.83c4.143 0 7.5-3.358 7.5-7.5v-402.604c0-4.142-3.358-7.5-7.5-7.5zm-349.5 42.485c0-15.155 12.337-27.485 27.5-27.485h12.68v263.534c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-263.534h286.82v355.604h-286.82v-59.38c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v59.664c-15.988 1.521-30.186 9.242-40.18 20.721zm326.67 391.319h-53.67c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h53.67v16.196h-280.67c-9.167 0-14.875-7.396-14-16.196h208.31c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-208.31c-.875-9.45 4.831-16.2 14-16.2h280.67zm15.33-31.2h-296c-15.99 0-29 13.009-29 29v19.396c0 15.991 13.01 29 29 29h296v17h-296c-25.364 0-46-20.636-46-46v-19.396c0-25.364 20.636-46 46-46h296z"/><path d="m193.469 151.324h180.38c4.143 0 7.5-3.358 7.5-7.5v-80.72c0-4.142-3.357-7.5-7.5-7.5h-45.349c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h37.85v65.72h-165.38v-65.72h94.84c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-102.34c-4.143 0-7.5 3.358-7.5 7.5v80.72c-.001 4.142 3.357 7.5 7.499 7.5z"/> <path d="m341.658 241.592h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/><path d="m341.658 277.409h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/> </g> </g> </svg><div><a href="/english-books/full-book-one-sweet-christmas-novella-read-online">One Sweet Christmas (novella)</a> by <span>Fredette, Darlene</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg enable-background="new 0 0 512 512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"> <g> <path d="m419.17 410.104v62.4h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-19.4c0-11.87 9.63-21.5 21.5-21.5z" fill="#d9ecfd"/> <path d="m419.17 441.304v31.2h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-9.7z" fill="#c5e2ff"/> <path d="m132.68 378.104v-370.604h-20.18c-19.33 0-35 15.67-35 35v389.104c0-29.645 24.103-53.64 53.748-53.506z" fill="#db3915"/> <path d="m132.68 7.5h301.82v370.604h-301.82z" fill="#fc5a36"/><path d="m131 378.104c-29.547 0-53.5 23.953-53.5 53.5v19.396c0 29.547 23.953 53.5 53.5 53.5h303.5v-32h-303.5c-11.874 0-21.5-9.626-21.5-21.5v-19.396c0-11.874 9.626-21.5 21.5-21.5h303.5v-32z" fill="#a42b0f"/> <path d="m193.467 63.104h180.382v80.72h-180.382z" fill="#ffc85e"/> <g> <path d="m434.5 0h-322c-23.435 0-42.5 19.059-42.5 42.485v408.515c0 33.635 27.364 61 61 61h303.5c4.143 0 7.5-3.358 7.5-7.5v-32c0-4.142-3.357-7.5-7.5-7.5h-7.83v-47.396h7.83c4.143 0 7.5-3.358 7.5-7.5v-402.604c0-4.142-3.358-7.5-7.5-7.5zm-349.5 42.485c0-15.155 12.337-27.485 27.5-27.485h12.68v263.534c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-263.534h286.82v355.604h-286.82v-59.38c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v59.664c-15.988 1.521-30.186 9.242-40.18 20.721zm326.67 391.319h-53.67c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h53.67v16.196h-280.67c-9.167 0-14.875-7.396-14-16.196h208.31c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-208.31c-.875-9.45 4.831-16.2 14-16.2h280.67zm15.33-31.2h-296c-15.99 0-29 13.009-29 29v19.396c0 15.991 13.01 29 29 29h296v17h-296c-25.364 0-46-20.636-46-46v-19.396c0-25.364 20.636-46 46-46h296z"/><path d="m193.469 151.324h180.38c4.143 0 7.5-3.358 7.5-7.5v-80.72c0-4.142-3.357-7.5-7.5-7.5h-45.349c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h37.85v65.72h-165.38v-65.72h94.84c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-102.34c-4.143 0-7.5 3.358-7.5 7.5v80.72c-.001 4.142 3.357 7.5 7.499 7.5z"/> <path d="m341.658 241.592h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/><path d="m341.658 277.409h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/> </g> </g> </svg><div><a href="/english-books/full-book-february-read-online">February</a> by <span>Lisa Moore</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg enable-background="new 0 0 512 512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"> <g> <path d="m419.17 410.104v62.4h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-19.4c0-11.87 9.63-21.5 21.5-21.5z" fill="#d9ecfd"/> <path d="m419.17 441.304v31.2h-288.17c-11.87 0-21.5-9.63-21.5-21.5v-9.7z" fill="#c5e2ff"/> <path d="m132.68 378.104v-370.604h-20.18c-19.33 0-35 15.67-35 35v389.104c0-29.645 24.103-53.64 53.748-53.506z" fill="#db3915"/> <path d="m132.68 7.5h301.82v370.604h-301.82z" fill="#fc5a36"/><path d="m131 378.104c-29.547 0-53.5 23.953-53.5 53.5v19.396c0 29.547 23.953 53.5 53.5 53.5h303.5v-32h-303.5c-11.874 0-21.5-9.626-21.5-21.5v-19.396c0-11.874 9.626-21.5 21.5-21.5h303.5v-32z" fill="#a42b0f"/> <path d="m193.467 63.104h180.382v80.72h-180.382z" fill="#ffc85e"/> <g> <path d="m434.5 0h-322c-23.435 0-42.5 19.059-42.5 42.485v408.515c0 33.635 27.364 61 61 61h303.5c4.143 0 7.5-3.358 7.5-7.5v-32c0-4.142-3.357-7.5-7.5-7.5h-7.83v-47.396h7.83c4.143 0 7.5-3.358 7.5-7.5v-402.604c0-4.142-3.358-7.5-7.5-7.5zm-349.5 42.485c0-15.155 12.337-27.485 27.5-27.485h12.68v263.534c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-263.534h286.82v355.604h-286.82v-59.38c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v59.664c-15.988 1.521-30.186 9.242-40.18 20.721zm326.67 391.319h-53.67c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h53.67v16.196h-280.67c-9.167 0-14.875-7.396-14-16.196h208.31c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-208.31c-.875-9.45 4.831-16.2 14-16.2h280.67zm15.33-31.2h-296c-15.99 0-29 13.009-29 29v19.396c0 15.991 13.01 29 29 29h296v17h-296c-25.364 0-46-20.636-46-46v-19.396c0-25.364 20.636-46 46-46h296z"/><path d="m193.469 151.324h180.38c4.143 0 7.5-3.358 7.5-7.5v-80.72c0-4.142-3.357-7.5-7.5-7.5h-45.349c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h37.85v65.72h-165.38v-65.72h94.84c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-102.34c-4.143 0-7.5 3.358-7.5 7.5v80.72c-.001 4.142 3.357 7.5 7.499 7.5z"/> <path d="m341.658 241.592h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/><path d="m341.658 277.409h-116c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h116c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z"/> </g> </g> </svg><div><a href="/english-books/full-book-to-professor-with-love-read-online">To Professor, With Love</a> by <span>Linda Kage</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"> © FullEnglishBooks 2015 - 2024    Contact for me fullenglishbooks.com@aol.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> </body> </html>