CETEIceanとXPathを使って特定の要素にスクロールする
概要 CETEIceanとXPathを使って特定の要素にスクロールする方法を調べたので備忘録です。 デモ 以下のURLからお試しいただけます。 https://next-ceteicean-router.vercel.app/xpath/ ページにアクセス後、スクロールし、以下のように表示されます。 XPathの取得 上記では、以下の「校異源氏物語テキストDB」のXMLファイルを対象にしています。 https://kouigenjimonogatari.github.io/tei/01.xml そして、以下のXPathを指定しています。 /TEI/text[1]/body[1]/p[1]/seg[267] このXPathの取得にあたっては、Oxygen XML Editorを用いて、対象要素を右クリックして、「Copy XPath」から取得することができました。 スクロールの実装 以下で紹介したアプリをベースにします。 GitHub上のソースコードは以下です。 https://github.com/nakamura196/next-ceteicean-router/blob/main/src/components/xpath/Render.tsx 特に以下の部分で、XPathをCETEIceanによって作成される要素名に変換し、scrollIntoViewによってスクロールしています。 R } f e , e a c c i } t c o o f [ c t n n . . . c ) c i } t h . s s r r t ( o ; o f e D u t t e e o t n x t n X n n t } t i a s p p L e s p e u P u s ( a ) a D t e r x l l o i t a i l a l t t r b b i ; r o a E a p a a w C t C l t l a g e l n g c の f w a c c e o r h o , h t r e h o l e ] 修 f X t e e r n e , n R a g t a c i t ) 正 e p h ( ( C t s t e r e E v k n E ; c a / / a e u e s g t l i : e l t t = ( s n l n u e E e o : e ( h [ e t t t l t l m r " m ( r A ( R R t E e e : c " e ) = a / - ) e = e . l m n e c n w , Z ; f f F e e t " n e t = " X a . d . I m n . s t n . > / p " - c o c R e t s m e t s T a " z u c u S n ) c o r e t { E t ) ] r u r T t r o " r y I h r m r _ { o t , " l / e e e O = l h , e t ( n n n R l " . e ? t t t D r I , b x 先 = ) . , E e n a t 頭 \ e R s t c [ の / { v E u o k 1 ス | a D l V g ] ラ \ l _ t i r / ッ [ u N . e o b シ | a O s w u o ュ $ t D i ( n d を ) e E n { d y 削 / ( _ g C [ 除 g T l o 1 , Y e l ] P N o / " E o r p t , d [ e e = 1 i V ] - a " / $ l y s 1 u e e " e l g ) l [ a o 2 s w 6 " 7 H ; ] t T " e M ; i L - E プ l レ e フ m ィ e ッ n ク t ス ; を 追 加 まとめ 他にも良い方法があるかもしれませんが、参考になりましたら幸いです。 ...