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

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

There is another workaround to this problem, which is add type conversions which you know are unnecessary, but which placate the type checker. So you could write the above expression instead as:

if (string(@quantity) = “out-of-stock”)

     then -2

else if (string(@quantity) = “unknown”)

     then -1

else xs:integer(@quantity) + 2

Summary

This chapter provided details of all the type-related constructs and expressions in the XPath 2.0 language.

At the beginning of the chapter we described the
cast
and
castable
operators, and constructor functions, which are used to convert an atomic value of one type to an atomic value of a different type. We provided detailed tables showing all the type conversions that are allowed by the language.

Then, moving beyond atomic types, we examined the syntax for describing sequence types. This syntax is used only in two places in XPath, the
instance
of
and
treat
as
expressions, but XQuery and XSLT users will use the same syntax much more widely, for example, whenever the types of variables or functions are declared.

Finally, we explained how these two expressions,
instance
of
and
treat
as
, actually work.

We've now finished our tour of the XPath language syntax. The next chapter returns to XSLT with an explanation of the syntax used in match patterns, which is based on XPath syntax but is not actually part of the XPath language. Then in Chapter 13 we will look at the built-in function library—this chapter provides an alphabetical listing of all the functions in this library, including all the functions provided by every conformant XPath 2.0 processor, together with some additional functions available when XPath is used within an XSLT stylesheet.

Chapter 12

XSLT Patterns

A pattern is used in XSLT to define a condition that a node must satisfy in order to be selected. The most common use of patterns is in the
match
attribute of

, where the pattern says which nodes the template rule applies to. For example,
introduces a template rule that matches every

element. This chapter defines the syntax and meaning of XSLT patterns.

Patterns (sometimes called
match patterns
) are used in just six places in an XSLT stylesheet:

  • In the
    match
    attribute of

    , to define the nodes in a source document to which a template applies
  • In the
    match
    attribute of

    , to define the nodes in a source document to which a key definition applies
  • In the
    count
    and
    from
    attributes of

    , to define which nodes are counted when generating numbers
  • In the
    group-starting-with
    and
    group-ending-with
    attributes of

    , to identify a node that acts as the initial or final node in a group of related nodes

Patterns and Expressions

Most of the patterns found in stylesheets are simple and intuitive. For example:

Pattern
Meaning
title
Matches any
<br/></span>element<br/></td></tr><tr><td><span>chapter/title<br/></span></td><td>Matches any<br/><span><title><br/></span>element whose parent is a<br/><span><chapter><br/></span>element<br/></td></tr><tr><td><span>speech[speaker = “Hamlet”]<br/></span></td><td>Matches any<br/><span><speech><br/></span>element that has a child<br/><span><speaker><br/></span>element whose value is<br/><span><img src="/files/04/27/65/f042765/public/ll.gif" />Hamlet<br/><img src="/files/04/27/65/f042765/public/gg.gif" /></span></td></tr><tr><td><span>section/para[1]<br/></span></td><td>Matches any<br/><span><para><br/></span>element that is the first<br/><span><para><br/></span>child of a<br/><span><section><br/></span>element<br/></td></tr></table><p>The rules for the more complex patterns, however, are quite technical—so I'm afraid some of the explanations in this chapter are not going to be easy reading.<br/></p><p>Patterns are defined in terms of the name, type, and content of a node, and its position relative to other nodes in the tree. To understand how patterns work, you therefore need to understand the tree model (described in Chapter 2) and the different kinds of node.<br/></p><p>Patterns look very similar to XPath expressions, and it turns out that they are closely related. However, patterns and expressions are not quite the same thing. In terms of its syntax, every pattern is a valid XPath expression, but not every XPath expression is a valid pattern. It wouldn't make any sense to use the expression<br/><span><img src="/files/04/27/65/f042765/public/ll.gif" />2+2<br/><img src="/files/04/27/65/f042765/public/gg.gif" /></span>as a pattern, for example—which nodes would it match?<br/></p><div><p>Expressions are defined in the XPath 2.0 Recommendation, which allows them to be used in contexts other than XSLT stylesheets. For example, XPath expressions are used in the XPointer specification to define hyperlinks between documents, and they are used in some Document Object Model (DOM) implementations as a way for applications to navigate around the DOM data structure. XML Schema 1.1 will allow XPath expressions to be used in a schema to define assertions. Patterns are local to the XSLT Recommendation, and they are found only in stylesheets, though the draft XProc pipeline language also uses them.<br/></p></div><p>It would have been quite possible for XSLT to define both the syntax and the meaning of patterns quite independently of the XPath rules for expressions, but this would risk unnecessary inconsistency. What the XSLT language designers chose to do instead was to define the syntax of patterns in such a way that every pattern was sure to be a valid expression, and then to define the formal meaning of the pattern in terms of the meaning of the expression.<br/></p><p>Look at the simplest pattern in the earlier examples,<br/><span><img src="/files/04/27/65/f042765/public/ll.gif" />title<br/><img src="/files/04/27/65/f042765/public/gg.gif" /></span>. If<br/><span><img src="/files/04/27/65/f042765/public/ll.gif" />title<br/><img src="/files/04/27/65/f042765/public/gg.gif" /></span>is used as an expression, it's an abbreviation for<br/><span><img src="/files/04/27/65/f042765/public/ll.gif" />./child::title<br/><img src="/files/04/27/65/f042765/public/gg.gif" /></span>, and it means “select all the<br/><span><title><br/></span>children of the context node.” How do we get from that to a definition of the pattern<br/><span><img src="/files/04/27/65/f042765/public/ll.gif" />title<br/><img src="/files/04/27/65/f042765/public/gg.gif" /></span>as something that matches all<br/><span><title><br/></span>elements?<br/></p></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-481" data-page="480">«</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-239" data-page="238">239</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-477" data-page="476">477</a></li> <li><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-478" data-page="477">478</a></li> <li><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-479" data-page="478">479</a></li> <li><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-480" data-page="479">480</a></li> <li><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-481" data-page="480">481</a></li> <li class="active"><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-482" data-page="481">482</a></li> <li><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-483" data-page="482">483</a></li> <li><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-484" data-page="483">484</a></li> <li><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-485" data-page="484">485</a></li> <li><a href="/english-books/full-book-xslt-20-and-xpath-20-programmers-reference-4th-edition-read-online-chapter-486" data-page="485">486</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-694" data-page="693">694</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-483" data-page="482">»</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-crouching-tigress-horny-dragon-fire-mates-3-read-online">Crouching Tigress Horny Dragon (Fire Mates #3)</a> by <span>Lexxie Couper</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-stone-beast-read-online">Stone Beast</a> by <span>Bonnie Bliss</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-raiders-185936-read-online">Raiders</a> by <span>Malone, Stephan</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-ruff-way-to-go-read-online">Ruff Way to Go</a> by <span>Leslie O'kane</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-courtship-basket-read-online">The Courtship Basket</a> by <span>Amy Clipston</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-immortal-coil-a-novel-immortal-trilogy-book-1-read-online">Immortal Coil: A Novel (Immortal Trilogy Book 1)</a> by <span>McNally, James</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-last-kiss-goodbye-read-online">The Last Kiss Goodbye</a> by <span>Perry, Tasmina</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-deadly-adventure-hardy-brothers-security-book-19-read-online">Deadly Adventure (Hardy Brothers Security Book 19)</a> by <span>Lily Harper Hart</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-blackout-220060-read-online">Blackout</a> by <span>Caroline Crane</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-miss-new-india-read-online">Miss New India</a> by <span>Mukherjee, Bharati</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>