ホームページ ウェブフロントエンド htmlチュートリアル XML 学習ノート 6??XPath language_html/css_WEB-ITnose

XML 学習ノート 6??XPath language_html/css_WEB-ITnose

Jun 24, 2016 pm 12:33 PM

前のメモの最後で、XML ドキュメント内の特定の範囲を選択するために使用される 2 つの要素 を見つけました。これらの 2 つの要素の値は両方とも XPath 式です。では、XPathとは何でしょうか?簡単に言えば、XPath は XML ドキュメント内の情報を検索するために使用される言語であり、XSLT、XQuery、XPointer などの多くの XML 関連テクノロジは XPath に基づいて構築されています。このノートでは、XPath 言語を学びましょう。

1. 関連用語

(1) ノード: 適切にフォーマットされた XML ドキュメントは、XPath のノードもこのツリー構造のノードです。要約すると、以下の 7 種類のノードがあります:

ノード タイプ 説明
XML ドキュメント ルート ノード XML ドキュメントのルートはドキュメント ノードまたはルート ノードと呼ばれます
要素ノード 開始タグ、終了タグ、およびその間のすべてのコンテンツは要素ノードと呼ばれます
属性ノード 要素の各属性は、属性名と属性値を含む属性ノードを構成します。要素ノードへ
名前空間ノード XML 文書の xmlns:prefix 属性は名前空間ノードと呼ばれます 属性ノード
テキスト ノード XML 要素の途中にある文字 データ (文字データを含む) CDATAセグメント内
コメントノード XML文書中のに含まれるコメント部分がコメントノードを構成します
処理命令ノード XML文書の処理命令部分処理命令ノードを構成します

(2) 基本値 (アトミック値、アトミック値とも呼ばれます): 整数値、文字列などの単純なリテラル値を表すために特に使用されます。基本値は、親ノードも子ノードも持たないノードとみなすことができる。

(3) アイテム: アイテムは基本値またはノードを表します。

(4) ノードセットとシーケンス (Sequence): XPath 式は複数のノードを表すことができます。XPath1.0 では、複数のノードの組み合わせをノードセットと呼び、XPath2.0 では「シーケンス」という用語が追加されました。 、通常のプロジェクトまたはノード セットを表すことができます。

(5) ノード関係:

Elementノードは 0 、 1 があります複数の子ノード兄弟ノード Sibling同じ親ノードを持つノードを兄弟ノードと呼びます先祖ノード Ancestorノードの親ノード、親ノードの親ノード、ずっとルートノードへDescendantノードの子ノード、子ノードの子ノード...

(6) 相対パスと絶対パス: オペレーティング システムのパスと同様に、XPath にも相対パスと絶対パスがあり、絶対パスはスラッシュ (/) で始まり、常にルート ノードから一致しますが、相対パスは一致します。 not スラッシュで始まり、現在のパスから照合を開始します。

2. XPath 構文

。 XPath では、ステップの構文形式は次のとおりです。

轴::节点测试[限定谓语]
ログイン後にコピー

つまり、各ステップは 3 つのスクリーニングを通過しており、1 回目は「axis」を使用してノードの方向を選択します。 「ノード テスト」を使用して、指定された軸方向の一部のノードを選択します。3 回目は、「修飾された述語」を使用して、選択したノードをさらにフィルタリングします。

(1) 軸: XPath では、次のリストにさまざまな軸があります:

ノード関係 説明
親ノード 各要素または属性には親ノードがあります
子ノード Children
軸の簡略化された記述手順
ancestor 現在のノードのすべての祖先 (親、祖父など) ノードを選択します。
ancestor-or-self 現在のノードのすべての祖先(親、祖父など)ノードと現在のノード自体を選択します
attribute @ 現在のノード、現在のノードが要素ノードでない場合、属性軸方向に設定されているノードは空です
child 省略して書かないでください 現在のノードの子ノードをすべて選択します
descendant // 現在のノードのすべての子孫ノード (子、孫など) を選択します
descendant-or-self 現在のノードのすべての子孫ノード (子、孫など) を選択しますノードと現在のノード自体
following ドキュメント内の現在のノードを選択します 終了タグの後のすべてのノードには、現在のノードの子孫ノードと属性ノードは含まれません
following-sibling ドキュメント内の現在のノードの終了タグの後にあるすべての兄弟ノードを選択します
namespace 現在のノードが要素ノードでない場合、ノードセットにあるすべての名前空間ノードを選択します。名前空間軸の方向が空です
parent .. 現在のノードの親ノードを選択します
preceding 子孫を除く、ドキュメント内の現在のノードの開始タグの前にあるすべてのノードを選択します現在のノードのノードと属性ノード
preceding-sibling ドキュメント内の現在のノードの開始タグの前にあるすべての兄弟を選択 Node
self . 現在のノードを選択

(2) ノード テスト: ノード テストは、指定された軸方向から特定の一致するノードを選択するために使用されます。XPath では、次の表に示すように、一般的に使用されるノード テスト構文が使用されます。

nodenameたとえば、child::book は現在のノードのすべての book 子ノードを選択しますtext()たとえば、child::text() は現在のノードのすべてのテキスト サブノードを選択しますprocessing-instruction 指定された軸に一致するすべての処理命令ノードを選択します * ノードテストワイルドカードの意味はすべて、つまりフィルタリングなし

(3) 修飾述語: 各ステップは、選択したノード セットをさらにフィルタリングするために使用される 0 個以上の修飾述語を受け入れることができます。修飾述語は通常、ブール値を返します。以下にいくつかの例を示します。

指定された軸方向からノード名のノードを選択します
子孫::book は現在のノードのすべての book 子孫ノードを選択します(ブックの子ノード、孫ノードなどを含む)

node()

指定された軸に一致するすべてのタイプのノードを選択します

に一致するすべてのテキストタイプのノードを選択します指定された軸
子孫::text() は現在のノードのすべてのテキスト子孫ノード (テキスト サブノード、テキスト孫ノードを含む) を選択します, など)

comment()

指定された軸に一致するすべてのコメントノードを選択します

パス式の結果
/bookstore/book[1] bookstore 要素の子要素である最初の book 要素を選択します。
/bookstore/book[last()] bookstore 要素の子要素である最後の book 要素を選択します。
/bookstore/book[last()-1] bookstore 要素の子要素である最後から 2 番目の book 要素を選択します。
/bookstore/book[position()<3] bookstore 要素の子要素である最初の 2 つの book 要素を選択します。
//title[@lang] lang という名前の属性を持つすべての title 要素を選択します。
//title[@lang='eng'] eng の値を持つ lang 属性を持つすべての title 要素を選択します。
/bookstore/book[price>35.00] bookstore 要素の book 要素をすべて選択します。price 要素の値は 35.00 より大きくなければなりません。
/bookstore/book[price>35.00]/title bookstore 要素内の book 要素の title 要素をすべて選択し、price 要素の値は 35.00 より大きくなければなりません。

3、运算符

  从上面的实例中可以看到,在限定谓语中,还可以使用运算符、表达式,还有很多内置的函数供使用。这一小节先看看XPath中支持的运算符:

(1)算术运算符:加(+)、减(-)、乘(*)、除(div)、取模(mod)

  算术运算符非常简单,但是需要注意几点:

A、因为减号实际上也就是中划线,而中划线在XML中是合法的标识符号,从而带来了歧义,于是XPath强制规定,使用减号的时候,需要前后各加一个空格。

B、在XPath中,所有的数值都是64位的double类型,即便直接书写成0、100;另外,XPath还有几个特殊的数值:正无穷大、负无穷大、非数。

C、在运算时,如果操作数不是数值类型,会自动转换,下面的比较运算符、逻辑运算符如果有必要也会发生相应的自动类型转换。

(2)比较运算符:等于(=)、不等于(!=)、小于(<)、小于或等于(<=)、大于(>)、大于或等于(>=)

  需要注意的是,不像其它编程语言,这里表示相等只需要一个等于号。

(3)逻辑运算符:与(and)、或(or)

(4)集合运算符:并集(|)

4、表达式

(1)for表达式:用于循环访问序列中的每个项,并对每项进行一次计算,最后将每项计算得到的结果组合成序列后返回,语法格式如下:

for $var in sequence return rtExpression
ログイン後にコピー

实际上,这里的for更类似于js中的foreach。还可以使用下面的形式遍历多个序列:

for $var1 in sequence1, $var2 in sequence2 return fn($var1,$var2)
ログイン後にコピー

(2)if表达式:用于处理分支,根据不同条件得到不同的返回值,语法格式如下:

if (condition1)then rtVal1[else if (condition2)then rtVal2...]elseotherVal
ログイン後にコピー

(3)some表达式:迭代中只要有一项满足条件就返回true,否则返回false,语法格式如下:

some $var in sequence satisfies condition
ログイン後にコピー

(4)every表达式:迭代中只有有一项不满足条件就返回false,否则返回true,语法格式如下:

every $var in sequence satisfies condition
ログイン後にコピー

5、内置函数库

  在XPath中还有大量的内置函数,用于增强相关功能,这些内置函数可以参考:XPath函数。我在下面也抄录一份供参考:

fn:normalize-space(string) fn:normalize-space() 指定された文字列の先頭と末尾の空白を削除しますを実行し、内部の連続空白を 1 つに圧縮して結果を返します。パラメータを指定しないと、現在のノードが処理されます。 fn:normalize-unicode() Unicode 正規化を実行します。 fn:upper-case(string) 文字列パラメータを大文字に変換します。 fn: lower-case(string) 文字列パラメータを小文字に変換します。 fn:translate(string1,string2,string3) fn:escape-uri(stringURI, esc-res) fn:contains(string1) ,string2) fn:starts-with(string1,string2) fn:ends-with(string1,string2) fn:substring-before(string1,string2) fn:substring-after(string1,string2) fn:matches(string,pattern) fn:replace(string,pattern,replace) fn:tokenize(string,pattern)例: tokenize("XPath is fun", "s+")ノード関数 fn:name() fn:name(nodeset) 現在のノードまたは指定されたノード セット内の最初のノードの名前を返します。
分类 函数 说明
存取函数 fn:node-name(node) 返回参数节点的节点名称。
fn:nilled(node) 返回是否拒绝参数节点的布尔值。
fn:data(item.item,...) 接受项目序列,并返回原子值序列。
fn:base-uri() fn:base-uri(node) 返回当前节点或指定节点的 base-uri 属性的值。
fn:document-uri() fn:document-uri(node) 返回当前节点或指定节点的 document-uri 属性的值。
错误和跟踪函数 fn:error() fn:error(error) fn:error(error,description) fn:error(error,description,error-object)

例子:error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: Price is too high')

结果:向外部处理环境返回 http://example.com/test#toohigh 以及字符串 "Error: Price is too high"。

fn:trace(value,label) 用于对查询进行 debug。
数值函数 fn:number(arg)

返回参数的数值。参数可以是布尔值、字符串或节点集。

例子:number('100')

结果:100

fn:abs(num) 返回参数的绝对值。
fn:ceiling(num) 返回大于或等于 num 参数的最小整数。
fn:floor(num) 返回小于或等于 num 参数的最大整数。
fn:round(num) 把 num 参数四舍五入为最接近的整数。
fn:round-half-to-even()

返回最接近参数num的偶数

例子:round-half-to-even(0.5) 结果:0

例子:round-half-to-even(1.5) 结果:2

例子:round-half-to-even(2.5) 结果:2

字符串函数 fn:string(arg) 返回参数的字符串值。参数可以是数字、逻辑值或节点集。 
fn:codepoints-to-string(int,int,...)

根据一个Unicode值序列序列返回字符串。

例子:codepoints-to-string((84, 104, 233, 114, 232, 115, 101))

结果:'Thérèse'

注: この関数のパラメータは Unicode 値のシーケンスであるため、パラメータは括弧で囲む必要があります

fn:string-to-codepoints(string) 次に従って各文字に対応する Unicode 値を返します。シーケンスの文字列。
fn:codepoint-equal(comp1,comp2) Unicode 値シーケンスの比較に従って、comp1 の値が comp2 の値と等しい場合は true を返し、そうでない場合は false を返します。
fn:compare(comp1,comp2) fn:compare(comp1,comp2,collat​​ion)

比較規則に従って、comp1 が comp2 より小さい場合は -1 を返し、comp1 が comp2 と等しい場合は返します。 0; comp1 が comp2 より大きい場合は 1 を返します。

fn:concat(string,string,...) 文字列の連結を返します。
fn:string-join((string,string,...),sep) 文字列パラメータを連結した後の文字列を返すには、セパレータとして sep パラメータを使用します。
fn:substring(string,start,len) fn:substring(string,start)

開始位置から始まる指定された長さの部分文字列を返します。最初の文字のインデックスは 1 です。

len パラメータが省略された場合は、文字列の開始位置から末尾までの部分文字列を返します。

fn:string-length(string) fn:string-length() 指定された文字列の長さを返します。文字列パラメータがない場合は、現在のノードの文字列値の長さが返されます
string1 の string2 を string3 に置き換えます。

例:translate('12:30','30','45')

結果: '12:45'

例:translate('12:30','03','54')

結果: '12:45'

例: translation('12:30','0123','abcd')

結果: 'bc:da'

例:escape-uri("http://example.com/test#car", true())

結果:"http%3A%2F%2Fexample.com%2Ftest#car"

例:escape-uri("http://example.com/test#car", false())

結果:http://example.com/test#car

例:escape-uri(" http://example.com/~bébé", false())

結果: "http://example.com/~b%C3%A9b%C3%A9"

string1 に string2 が含まれる場合は true を返し、それ以外の場合は false を返します。
string1 が string2 で始まる場合は true を返し、それ以外の場合は false を返します。
string1 が string2 で終わる場合は true を返し、それ以外の場合は false を返します。
string1 に出現する前の string2 の部分文字列を返します。
string1 に string2 が出現した後の部分文字列を返します。
文字列パラメータが指定されたパターンと一致する場合は true を返し、それ以外の場合は false を返します。
指定されたパターンを replace パラメータで置換し、結果を返します。

結果: ("XPath", "is", "fun")

任意のURI関数 fn:resolve-uri(relative,base)
論理関数 fn:boolean(arg) 数値、文字列、またはノードセットのブール値を返します。
fn:not(arg) まず、boolean() 関数を使用してパラメーターをブール値に復元し、次にそれを否定します。
fn:true() ブール値 true を返します。
fn:false() ブール値 false を返します。
日付時刻関数 fn:dateTime(date,time) パラメータを日付と時刻に変換します。
fn:years-from-duration(datetimedur) 標準の字句表記で表現された、パラメーター値の年の部分の整数を返します。
fn:months-from-duration(datetimedur) 標準語彙表記で表現された、パラメーター値の月の部分の整数を返します。
fn:days-from-duration(datetimedur) 標準の語彙表記で表現された、パラメーター値の日数部分の整数を返します。
fn:hours-from-duration(datetimedur) パラメーター値の時間の部分を、標準的な語彙表記で表現された整数として返します。
fn: minutes-from-duration(datetimedur) パラメーター値の分の部分を、標準の字句表記で表現された整数として返します。
fn:seconds-from-duration(datetimedur) 標準語彙表記で表現された、パラメーター値の分の部分の 10 進数を返します。
fn:year-from-dateTime(datetime) パラメーターのローカル値の年の部分の整数を返します。
fn:month-from-dateTime(datetime) パラメーターのローカル値の月の部分の整数を返します。
fn:day-from-dateTime(datetime) パラメーターのローカル値の日の部分の整数を返します。
fn:hours-from-dateTime(datetime) パラメーターのローカル値の時間の部分を整数として返します。
fn: minutes-from-dateTime(datetime) パラメーターのローカル値の分の部分の整数を返します。
fn:seconds-from-dateTime(datetime) パラメーターのローカル値の秒部分の 10 進数を返します。
fn:timezone-from-dateTime(datetime) パラメータのタイムゾーン部分が存在する場合はそれを返します。
fn:year-from-date(date) パラメーターのローカル値で年を表す整数を返します。
fn:month-from-date(date) パラメーターのローカル値で月を表す整数を返します。
fn:day-from-date(date) パラメータのローカル値で日を表す整数を返します。
fn:timezone-from-date(date) パラメーターのタイムゾーン部分が存在する場合、それを返します。
fn:hours-from-time(time) パラメータのローカル値の時間の部分を表す整数を返します。
fn: minutes-from-time(time) パラメーターのローカル値の分の部分を表す整数を返します。
fn:seconds-from-time(time) パラメータのローカル値の秒部分を表す整数を返します。
fn:timezone-from-time(time) パラメータのタイムゾーン部分が存在する場合はそれを返します。
fn:adjust-dateTime-to-timezone(datetime,timezone) timezone パラメーターが空の場合は、タイムゾーンなしで dateTime を返します。それ以外の場合は、タイムゾーンを含む dateTime が返されます。
fn:adjust-date-to-timezone(date,timezone) timezone パラメーターが空の場合は、タイムゾーンなしの日付を返します。それ以外の場合は、タイムゾーンを含む日付が返されます。
fn:adjust-time-to-timezone(time,timezone) timezone パラメーターが空の場合は、タイムゾーンなしの時間が返されます。それ以外の場合は、タイムゾーン付きの時刻を返します。
QName 関連関数 fn:QName()
fn:local-name-from-QName()
fn:namespace-uri-from -QName ()
fn:namespace-uri-for-prefix()
fn:in-scope-prefixes()
fn:resolve-QName()
fn:local-name() fn:local-name(nodeset) 現在のノードの名前、または指定されたノード セット内の最初のノードの名前を名前空間プレフィックスなしで返します。
fn:namespace-uri() fn:namespace-uri(nodeset) 現在のノードまたは指定されたノード セット内の最初のノードの名前空間 URI を返します。
fn:lang(lang)

現在のノードの言語が指定された言語と一致する場合、true を返します。

例: Lang("en") は

...

の場合 true です

例: Lang("de") は

...

fn:root() fn:root(node) 現在のノードまたは指定されたノードが属するノード ツリーのルート ノードを返します。ノードが所属します。通常はドキュメント ノードです。
コンテキスト関数 fn:position()

現在処理中のノードのインデックス位置を返します。

例: //book[position()<=3]

結果: 最初の 3 つの book 要素を選択します

fn:last()

処理されたノード リスト内のアイテムの数を返します。

例: //book[last()]

結果: 最後の書籍要素を選択します

fn:current-dateTime() 現在の dateTime (タイムゾーン付き) を返します。
fn:current-date() 現在の日付 (タイムゾーン付き) を返します。
fn:current-time() 現在時刻 (タイムゾーン付き) を返します。
fn:implicit-timezone() 暗黙的なタイムゾーンの値を返します。
fn:default-collat​​ion() デフォルトの照合順序の値を返します。
fn:static-base-uri() base-uri の値を返します。
シーケンス関数 一般的なシーケンス関数 fn:index-of((item,item,...),searchitem)

searchitem パラメータに等しい項目シーケンス内の位置を返します。

例:index-of ((15, 40, 25, 40, 10), 40)

結果: (2, 4)

fn:remove((item,item,...), Position) position パラメータで指定された項目を削除しながら、項目パラメータから構築された新しいシーケンスを返します。
fn:empty(item,item,...) パラメータ値が空のシーケンスの場合は true を返し、それ以外の場合は false を返します。
fn:exists(item,item,...) パラメータ値が空のシーケンスでない場合は true を返し、それ以外の場合は false を返します。
fn:distinct-values((item,item,...),collat​​ion)

一意の個別の値を返します。

例: unique-values((1, 2, 3, 1, 2))

結果: (1, 2, 3)

fn:insert-before((item,item,...),pos,inserts) item パラメータによって構築された新しいシーケンスを返します。同時に、insert パラメータの値を、パラメータによって指定された位置に挿入します。 pos パラメータ。
fn:reverse((item,item,...)) 指定された項目の逆の順序を返します。
fn:subsequence((item,item,...),start,len) start パラメータで指定された位置にある項目シーケンスを返します。シーケンスの長さは len パラメータで指定されます。最初の項目の位置は 1 です。
fn:unowned((item,item,...)) 実装によって決定された順序で項目を返します。
容量テスト関数 fn:zero-or-one(item,item,...) 項目が 0 個または 1 個含まれている場合はパラメーターを返し、それ以外の場合はエラーを生成します。
fn:one-or-more(item,item,...) パラメータに 1 つ以上の項目が含まれる場合はパラメータを返し、それ以外の場合はエラーが生成されます。
fn:exactly-one(item,item,...) パラメータに項目が含まれる場合はパラメータを返し、それ以外の場合はエラーが生成されます。
比較関数 fn:deep-equal(param1,param2,collat​​ion) param1とparam2が等しい(deep-equal)場合はtrueを返し、そうでない場合はfalseを返します。
Total 関数 fn:count((item,item,...)) ノードの数を返します。
fn:avg((arg,arg,...)) パラメータ値の平均を返します。
fn:max((arg,arg,...)) パラメータの最大値を返します。
fn:min((arg,arg,...)) パラメータの最小値を返します。
fn:sum(arg,arg,...) 指定されたノードセット内の各ノードの値の合計を返します。
シーケンス生成関数 fn:id((string,string,...),node)
fn:idref((string,string,...),node)
fn:data((item1,item2,...)) item1、item2などの値で構成されるシーケンスを返します。
fn:doc(URI)
fn:doc-available(URI) doc() 関数がドキュメント ノードを返す場合は true を返し、それ以外の場合は false を返します。
fn:collection() fn:collection(string)

明らかに、これらの組み込み関数をここに置く目的は、暗記を強制することではなく、単に必要なときに辞書で調べることです。 (XQuery 1.0 と XPath はこれらの組み込み関数を共有しています。何か用事がある場合はチェックしてみると良いでしょう。見覚えのあるものです)。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

&lt; Progress&gt;の目的は何ですか 要素? &lt; Progress&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

&lt; datalist&gt;の目的は何ですか 要素? &lt; datalist&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

&lt; meter&gt;の目的は何ですか 要素? &lt; meter&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? Mar 17, 2025 pm 12:20 PM

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? Mar 12, 2025 pm 04:05 PM

この記事では、html5&lt; time&gt;について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? Mar 17, 2025 pm 12:27 PM

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

&lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

See all articles