XQuery FLWOR + HTML学习笔记
FLWOR表达式
FLWOR是XQuery中非常重要的概念之一,它是由以下几个子句构成的:
- for:定义一个变量,并在指定的序列上迭代。
- let:定义一个变量,并将其值与表达式匹配。
- where:过滤序列中的元素。
- order by:按指定的顺序对序列中的元素进行排序。
- return:返回选择的元素。
示例:
Copy Codefor $book in doc("books.xml")//book
let $price := $book/price
where $price > 50
order by $price descending
return $book/title
该表达式从XML文档中选择所有价格大于50的书籍,并按价格从高到低排序,最后返回书籍标题。
HTML
HTML是超文本标记语言,用于创建Web页面。一个完整的HTML文件通常由以下几个部分组成:
- DOCTYPE声明:告诉Web浏览器当前文档使用的HTML版本。
- html标签:包含整个文档。
- head标签:包含文档的元数据,如标题、关键字和描述等。
- body标签:包含文档的主体内容。
- 标签:用于定义文档中的各种元素,如标题、段落、图像和链接等。
示例:
Copy Code<!DOCTYPE html>
<html>
<head>
<title>My Page</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<h1>Welcome to My Page</h1>
<p>This is a paragraph.</p>
<img src="image.jpg" alt="Image">
<a href="https://www.google.com">Google</a>
</body>
</html>
该示例展示了一个简单的HTML页面,其中包含一个标题、一个段落、一张图片和一个链接。
实例
将上述两个内容结合起来,可以使用XQuery FLWOR表达式从XML文档中选择符合特定条件的元素,并将其转换为HTML格式的Web页面。例如:
Copy Codefor $book in doc("books.xml")//book
let $price := $book/price
where $price < 30
order by $price descending
return
<p>
<span>{$book/title}</span>
<span>{$book/author}</span>
<span>{$price}</span>
</p>
该表达式从XML文档中选择所有价格低于30的书籍,并按价格从高到低排序,最后将每本书籍的标题、作者和价格转换为HTML格式的段落。