Yog lub website tau txais XML thiab hloov nws ua HTML hauv browser siv XSLT, yuav tsum muab txoj kev khiav ntawd tso rau hauv txoj kev npaj hloov tawm tam sim no. Raws li lub sijhawm uas tau tshaj tawm tam sim no, Chrome npaj yuav tso tseg XSLT hauv Stable txij Chrome 158, hnub tim 17 lub Kaum Ib Hlis 2026; Chrome 152, uas xav tias yuav tawm rau hnub tim 25 lub Yim Hli 2026, yuav muaj deprecation trial kom tau sijhawm ntxiv rau kev hloov tawm. Qhov no yog hnub tim hauv txoj kev npaj, tsis yog laj thawj los ncua kev kho architecture (raws li developer.chrome.com).
Qhov kawg yuav tsum ua kom tiav yog lub website tseem tso tawm tau raug yam tsis vam khom browser lub XSLT native. Muaj peb txoj kev tseem ceeb: server xa HTML uas twb render tiav lawm, JavaScript txais cov ntaub ntawv thiab tsim interface, lossis ib lub XSLT processor uas khiav hauv JavaScript/WASM los ua compatibility layer rau lub sijhawm hloov pauv.
Chrome yuav tshem tawm feem twg?
Qhov kev hloov no tsis yog tshem XML tag nrho. Qhov yuav raug tshem tawm yog mechanism uas khiav XSLT hauv browser, suav nrog:
XSLTProcessor, xws linew XSLTProcessor(),importStylesheet()thiabtransformToFragment().- Processing instruction uas txuas XML rau XSLT stylesheet, xws li
<?xml-stylesheet type="text/xsl" href="view.xsl"?>.
Processing instruction uas siv CSS, xws li type="text/css", yog lwm qhov xwm txheej. Yog li, tsis txhob xaus lus tias txhua daim XML yuav qhib tsis tau hauv Chrome; yuav tsum txheeb xyuas seb lub website puas siv XSLT lossis tsuas siv XML/CSS xwb.
| Hnub tim raws li lub sijhawm uas tau tshaj tawm tam sim no | Lub ntsiab lus |
|---|---|
| Chrome 142, hnub tim 28 lub Kaum Hli 2025 | Pib muaj lus ceeb toom ntxov hauv DevTools. |
| Chrome 143, hnub tim 2 lub Kaum Ob Hlis 2025 | XSLT raug teev ua deprecated; cov lus ceeb toom tshwm hauv DevTools thiab Lighthouse. |
| Chrome 152, hnub tim 25 lub Yim Hli 2026 | Deprecation trial tso cai rau websites rau npe siv XSLT ntxiv rau ib lub sijhawm uas raug txwv. |
| Chrome 158, hnub tim 17 lub Kaum Ib Hlis 2026 | XSLT yuav tsis ua haujlwm ntxiv hauv Stable rau cov xwm txheej uas tsis muaj transition mechanism uas tau txais. |
| Chrome 176, hnub tim 17 lub Yim Hli 2027 | Origin Trial thiab Enterprise Policy kuj yuav xaus raws li lub sijhawm uas tau tshaj tawm tam sim no. |
Xyuas seb lub website puas vam khom XSLT tiag tiag
Ua ntej rov sau frontend, tsim ib daim ntawv teev cov URL, applications, devices thiab endpoints uas tej zaum tab tom hloov XML hauv browser. Koj yuav tsum muaj cai nyeem source code, XML/XSLT files, logs thiab staging environment.
Scan source code thiab XML data
Khiav cov lus txib hauv qab no hauv terminal ntawm source code lub root directory. Hloov PATH_TO_SOURCE ua txoj kev tiag tiag; cov lus txib no yuav hla cov dependency directories uas nquag siv:
grep -RInE --exclude-dir=node_modules --exclude-dir=.git 'XSLTProcessor|transformToFragment|transformToDocument|importStylesheet|text/xsl|xml-stylesheet' PATH_TO_SOURCE
Qhov tshwm sim yuav yog cov kab uas muaj cov hlua tseem ceeb. Yog tsis muaj qhov tshwm sim, tseem yuav tsum xyuas XML lossis cov response uas tsim thaum khiav, vim processing instruction tej zaum yuav raug tsim los ntawm server, RSS, internal feed lossis device.
Hauv Windows PowerShell, khiav ntawm source code directory. Hloov PATH_TO_SOURCE ua txoj kev uas yuav tsum scan:
Get-ChildItem -Path 'PATH_TO_SOURCE' -Recurse -File | Select-String -Pattern 'XSLTProcessor|transformToFragment|transformToDocument|importStylesheet|text/xsl|xml-stylesheet'
Yog PowerShell ceeb toom tias nrhiav tsis tau txoj kev, rov xyuas tus nqi hauv cov cim lus ib leeg. Khaws qhov tshwm sim rau hauv daim ntawv teev dependencies; tsis txhob rho cov kab uas pom tam sim ntawd.
Xyuas thaum application tab tom khiav
- Qhib lub website siv Chrome hauv staging environment lossis siv ib tug account rau kev sim.
- Nias
F12, qhib Console, Network thiab Issues. - Reload cov nplooj ntawv uas muaj XML, feed, reports lossis cov qub admin interface.
- Hauv Network, lim raws li
xml,xsllossisfetch; sau tseg URL, response header, stylesheet thiab qhov kev nqis tes uas ua rau nws khiav. - Sau tseg qhov txiaj ntsig uas xav tau, qhov txiaj ntsig tiag tiag thiab browser/ntaub ntawv siv uas cuam tshuam.
Kev tshuaj xyuas source code qhia qhov chaw uas tej zaum yuav muaj kev vam khom; kev tshuaj xyuas thaum khiav qhia txoj kev uas tus neeg siv tiag tiag hla. Ob qhov txiaj ntsig no yuav txawv vim code yuav raug thauj yam dynamic, ntim ua ke, lossis tsim los ntawm server.
Sau tseg cov lus ceeb toom deprecation hauv daim ntawv thov
Yog koj tswj tau daim JavaScript code, koj siv tau tus qauv hauv qab no rau hauv entry point ntawm daim ntawv thov kom xa cov ntawv ceeb toom mus rau endpoint uas koj tswj. Xyuas nws hauv staging ua ntej; hloov /telemetry/xslt ua endpoint tiag thiab tsis txhob xa cov ntaub ntawv rhiab heev:
if ('ReportingObserver' in window) {
const observer = new ReportingObserver((reports) => {
for (const report of reports) {
if (report.body?.id === 'XSLT') {
const payload = JSON.stringify({
page: location.href,
message: report.body.message
});
navigator.sendBeacon('/telemetry/xslt', payload);
}
}
}, { types: ['deprecation'], buffered: true });
observer.observe();
}
Endpoint yuav tsum txheeb xyuas kev tso cai, txwv qhov loj ntawm cov ntaub ntawv, tsis txhob sau URL uas muaj ntaub ntawv qhia tus kheej thiab ua raws li txoj cai ntiag tug. Daim ntawv ceeb toom runtime tsis hloov chaw rau kev tshuaj xyuas source code, vim cov neeg siv yuav tseem tsis tau hla txhua ceg ntawm code.
Xaiv txoj kev hloov
| Qhov xwm txheej tam sim no | Qhov tseem ceeb | Qhov yuav tau pauv |
|---|---|---|
| XML yog cov ntaub ntawv sab hauv, lub website xav tau HTML uas ruaj khov | Hloov ntawm server ces xa HTML rov qab | Yuav tsum hloov backend lossis pipeline, tab sis yuav txo kev vam khom browser. |
| Frontend twb siv JavaScript lawm thiab cov ntaub ntawv muaj qauv meej | Hloov API mus rau JSON thiab render nrog JavaScript | Yuav tsum sau template, interface state thiab accessibility testing dua. |
| Muaj ntau daim stylesheet XSLT uas nyuaj thiab yuav tsum khaws cia | Siv XSLT processor hauv JavaScript/WASM | Txo qhov yuav tsum tau sau dua thaum pib, tab sis ua rau qhov loj, tus nqi ua haujlwm thiab kev saib xyuas nce. |
| Tseem hloov tsis tau legacy system tam sim no | Siv polyfill lossis trial ua tus choj ib ntus | Nws tsuas yuav lub sijhawm ntxiv xwb; yuav tsum muaj hnub kawg thiab txoj kev daws teeb meem tseem ceeb. |
Txoj kev 1: Hloov XSLT ntawm server
Feem ntau qhov no haum thaum XSLT tsuas hloov XML sab hauv mus ua HTML. Server ua qhov kev hloov ntawd, ces browser tau txais HTML es tsis yog XML txuas nrog stylesheet.
- Hauv repository lossis backend pipeline: khaws ib khub XML thiab XSLT ua cov input qauv; backup ua ntej hloov kho.
- Hauv backend: xaiv ib lub library uas haum rau hom lus server thiab XSLT/XPath version uas tab tom siv. Xyuas daim ntawv tso cai thiab lub peev xwm txwv resource.
- Hauv staging: tsim ib lub HTML endpoint, piv txwv
/reports/123.html. Hloov123ua tus record ID uas siv tau thiab tsis txhob txais stylesheet path uas tus neeg siv muab los ntawm nws tus kheej. - Hauv routing lossis frontend: hloov ib pab URL zuj zus mus rau endpoint tshiab; khaws XML endpoint qub yog tseem muaj cov integrated system xav siv nws.
- Hauv kev kuaj: piv cov txiaj ntsig tso tawm uas siv cov ntaub ntawv khoob, cov cim tshwj xeeb, ntau record, cov ntaub ntawv yuam kev thiab lwm hom lus.
- Thaum tso tawm: siv feature flag lossis hloov raws pab URL; saib xyuas cov yuam kev ua ntej tshem processing instruction.
Trước:
Trình duyệt nhận XML + view.xsl
↓
Chrome tự chạy XSLT
↓
HTML hiển thị
Sau:
Máy chủ đọc XML + view.xsl
↓
Backend chạy phép biến đổi
↓
Trình duyệt nhận HTML
Qhov zoo yog HTML pib tswj tau yooj yim dua rau accessibility, kev index thiab cov cuab yeej uas txwv JavaScript. Qhov uas yuav tau pauv yog backend yuav muaj haujlwm ntxiv; yuav tsum tswj XML uas tsis ntseeg tau kom tsis txhob cia nws nkag mus siv resource sab nraud yam tsis xav tau lossis siv resource ntau dhau.
Txoj kev 2: Hloov mus rau JSON thiab JavaScript
Xaiv txoj kev no thaum lub website twb muaj JavaScript frontend lossis xav hloov cov ntaub ntawv yam tsis reload nplooj ntawv. Qhov no yog kev hloov interface, tsis yog hloov XML lub npe ua JSON xwb: yuav tsum rov tsim loading state, error state, empty data, keyboard navigation thiab cov ntsiab lus uas yuav index tau.
Qhov txheej txheem yam tsawg kawg yog:
API JSON → fetch() → kiểm tra dữ liệu → tạo DOM → gắn CSS
Piv txwv API /api/articles.json xa ib array ntawm cov ntawv. Khiav code hauv JavaScript module ntawm nplooj ntawv uas muaj element <ul id="article-list"></ul>; hloov URL thiab field npe kom haum rau API tiag:
const response = await fetch('/api/articles.json', {
headers: { Accept: 'application/json' }
});
if (!response.ok) {
throw new Error(`API failed: ${response.status}`);
}
const articles = await response.json();
const list = document.querySelector('#article-list');
if (!list || !Array.isArray(articles)) {
throw new Error('Invalid article data or missing #article-list');
}
const fragment = document.createDocumentFragment();
for (const article of articles) {
const item = document.createElement('li');
const link = document.createElement('a');
link.href = article.url;
link.textContent = article.title;
item.append(link);
fragment.append(item);
}
list.replaceChildren(fragment);
Qhov txiaj ntsig uas xav tau yog ib daim npe link tshwm hauv #article-list; cov ntaub ntawv yuam kev yuav tsim ib qho exception kom daim ntawv thov qhia qhov error state uas haum. Siv textContent rau cov ntaub ntawv text kom tsis txhob txhais API cov ntsiab lus ua HTML. Yog yuav tsum ntxig HTML uas muaj formatting ntau, yuav tsum txheeb xyuas qhov chaw ntawm cov ntaub ntawv, lim nws nrog lub library uas haum thiab xyuas Content Security Policy.
<xsl:for-each>→ lub voj voog lossis function render daim npe.<xsl:if>thiab<xsl:choose>→ condition hauv function render.<xsl:value-of>→textContent, DOM attribute lossis template variable uas muaj kev nyab xeeb.xsl:sort→ txheeb क्रम ntawm backend lossis sivArray.prototype.toSorted()thaum target environment txhawb nqa.- XSLT template uas siv ntau qhov chaw → component lossis function render uas muaj input meej.
Txoj kev 3: siv XSLT processor hauv JavaScript/WASM

Yog muaj ntau stylesheet lossis logic hloov ntaub ntawv uas nyuaj, ib qho XSLT processor uas khiav hauv JavaScript/WASM yuav pab khaws lub system kom ua haujlwm tau thaum maj mam rov sau dua ib feem zuj zus. Chrome hais tias qhov no yog ib txoj kev hloov chaw uas siv tau; Saxon yog ib qho piv txwv uas muaj peev xwm tshaj XSLT 1.0 uas browser muaj.
Ua ntej xaiv, kuaj hauv staging:
- Puas txhawb koj version ntawm XSLT, XPath, namespace thiab extension.
- Qhov loj ntawm bundle, lub sijhawm pib ua haujlwm thiab tus nqi siv resources ntawm cov cuab yeej qeeb.
- Daim ntawv tso cai, qhov chaw tau pob software, txheej txheem hloov kho thiab peev xwm taug qab cov kev ruaj ntseg tsis zoo.
- Cov kev txwv ntawm resources thiab txoj kev lis XML uas tsis ntseeg tau.
- Puas khiav tau hauv cov browser uas yog hom phiaj, Web Worker lossis ib puag ncig uas tsis muaj DOM.
Qhov no yuav tsum yog ib txheej compatibility uas muaj hnub kawg. Muab qhov tseem ceeb rau kev rov sau cov stylesheet uas muaj txiaj ntsig tseem ceeb rau kev lag luam mus rau backend lossis JavaScript, tsis yog hloov lub library compatibility ntawd ua ib qho dependency mus ntev uas tsis muaj txoj kev npaj tu xyuas.
Txoj kev 4: siv polyfill lossis deprecation trial
Polyfill yuav muab ib interface uas zoo ib yam li XSLTProcessor los ntawm lwm lub processor. Yog siv, lock version, kuaj integrity thaum tsim nyog, taug qab cov kev ruaj ntseg tsis zoo thiab txheeb xyuas daim ntawv tso cai. Tsis txhob muab ib pob uas tsis paub qhov chaw tuaj tso rau hauv production tsuas yog kom zam tau qhov kev ceeb toom.
Chrome 152 muaj deprecation trial uas cia lub vev xaib qhib XSLT rov qab ib ntus tom qab lub sijhawm uas yuav raug tshem tawm ntawd. Token yuav muab tau los ntawm meta tag lossis HTTP response header raws li Origin Trials mechanism (raws li developer.chrome.com).
<meta http-equiv="origin-trial" content="TOKEN_DO_CHROME_CAP">
Tsis txhob tso cov token TOKEN_DO_CHROME_CAPua ib txoj hlua ncaj qha. Sau npe rau origin kom raug, txais token ntawm nplooj Origin Trials, muab token tso rau hauv response ntawm origin uas phim thiab taug qab hnub tas sijhawm. Trial tsuas yog tus choj ib ntus xwb; nws tsis yog txoj kev daws teeb meem mus ntev.
Kuaj ua ntej hloov traffic
Tsim ib pawg ntaub ntawv kuaj thiab khaws cia nrog qhov project kom siv tau dua rau cov kev tso tawm tom qab. Yam tsawg kawg yuav tsum muaj:
- XML uas raug cai, qhov uas tsis muaj optional field thiab ntaub ntawv uas muaj qhov yuam kev.
- Ib daim ntawv teev uas khoob, muaj ib lub element thiab muaj ntau lub element.
- Unicode, cov cim nkhaus, ampersand, ntau yam lus thiab cov ntaub ntawv uas yuav tsum tau escape.
- Hnub tim, decimal, time zone, relative URL thiab URL uas muaj cov cim tshwj xeeb.
- Tus neeg siv uas tseem tsis tau login, session tas sijhawm thiab tsis muaj cai txaus.
- Mobile device, network qeeb, JavaScript raug thaiv thiab screen reader.
Rau txhua kis, kuaj:
- Cov ntsiab lus puas raug raws li kev ua haujlwm tiag?
- HTML puas muaj heading, landmark thiab link uas siv tau?
- Puas muaj ntaub ntawv rhiab raug xa mus rau browser lossis raug ntxig rau hauv HTML yam tsis muaj kev nyab xeeb?
- Thaum backend, API lossis stylesheet muaj teeb meem, tus neeg siv puas tau txais ib qho error status uas nkag siab tau?
Khiav staging version hauv Chrome Canary, Dev lossis Beta thaum muaj mechanism rau tua XSLT ua ntej; kuj kuaj Chrome 158 ntxiv thaum version ntawd muaj. Qhov browser Chrome tam sim no tseem tso tawm tau raug tsis yog pov thawj tias lub vev xaib twb tshem nws qhov dependency lawm.
Cov teeb meem uas nquag ntsib thiab txoj kev daws
Tsuas kho XSLTProcessor
Ib lub vev xaib yuav tsis hu XSLTProcessor hauv JavaScript, tab sis tseem yuav vam khom text/xsl hauv XML. Kuaj tag nrho cov source code zoo li qub, XML response thiab cov ntaub ntawv uas device tsim tawm.
Hloov mus siv innerHTML yam tsis tswj ntaub ntawv
innerHTML tsis txhais tias muaj kev nyab xeeb dua XSLT. Rau cov ntaub ntawv uas tsis ntseeg tau, xaiv textContenttextContent, DOM API thiab ib daim npe attributes uas tso cai. Yog xav tau HTML, siv ib lub filter uas tseem tau tu xyuas, txwv qhov chaw tuaj ntawm cov ntaub ntawv thiab kuaj CSP.
Tsis kuaj txoj kev ua haujlwm thaum tsis muaj XSLT
Hauv staging, muab txoj kev ua haujlwm qub kaw ib ntus lossis thaiv XSLT stylesheet kom paub tias cov nplooj twg tseem vam khom nws. Yog nplooj ntawd tsuas puas thaum thaiv XSLT xwb, tseem tsis tau tso cai cim tias twb hloov chaw tiav lawm.
Siv trial ua txoj kev npaj tseem ceeb
Token yuav tas sijhawm lossis tsis phim origin. Sau hnub tas sijhawm rau hauv qhov system tswj kev tso tawm, tsim kev ceeb toom thiab teem sijhawm tshem trial tawm ntawm code.
Txoj kev npaj tso tawm thiab rollback
- Tshawb xyuas: backup source code, configuration thiab cov ntaub ntawv uas tsim nyog; kuaj source code, XML, endpoint thiab log; sau npe cov flow uas muaj dependency.
- Faib pawg: xaiv server-side rau cov ntsiab lus ruaj khov, JSON/JavaScript rau cov application sib cuam tshuam, lossis compatibility processor rau cov stylesheet uas rov sau nyuaj.
- Sim: xaiv ib qho flow uas sawv cev tau, deploy rau staging thiab muab qhov output qub piv rau qhov tshiab siv pawg ntaub ntawv kuaj.
- Tso tawm ua ntu zus: siv feature flag, route version lossis ib pawg URL; taug qab cov error thiab deprecation report tom qab txhua ntu.
- Npaj txoj kev thim rov qab: khaws qhov version render qub, endpoint qub lossis flag configuration kom txog thaum log lees paub tias qhov flow tshiab ruaj khov. Thaum rollback, hloov flag/route rov qab mus rau version qub, xyuas kom traffic rov zoo ua ntej mam tshawb xyuas qhov laj thawj.
- Ua tiav: sim hauv ib puag ncig uas XSLT raug kaw, tshem processing instruction thiab native call, ces mam tshem polyfill lossis trial token thaum tsis muaj traffic ntxiv uas vam khom nws.
Kev txiav txim sai: xaiv server-side rendering rau cov ntsiab lus ruaj khov; xaiv JSON thiab JavaScript rau cov app sib cuam tshuam; xaiv XSLT processor lossis polyfill thaum yuav tsum khaws lub system qub cia rau lub sijhawm hloov pauv. Tsis muaj ib txoj hauv kev twg yuav tsum vam khom XSLT native ntawm browser mus ntev.
Daim ntawv txheeb xyuas ua tiav
- Tau ua thaub qab thiab muaj cai thim rov qab mus rau version lossis route qub.
- Tau tshawb nrhiav tag nrho
XSLTProcessor, cov method uas cuam tshuam thiabtext/xslhauv source code, XML thiab endpoint. - Tau txheeb xyuas cov nplooj ntawv, cov cuab yeej thiab cov haujlwm uas ua rau XSLT khiav tiag tiag.
- Tau xaiv txoj kev hloov rau txhua qhov use case thiab kuaj xyuas nws qhov compatibility.
- Tau kuaj cov ntaub ntawv khoob, cov ntaub ntawv yuam kev, Unicode, kev tso cai nkag, accessibility, kev ua haujlwm thiab cov cuab yeej qeeb.
- Tau kuaj kev ruaj ntseg thaum ntxig cov ntaub ntawv, txwv cov peev txheej XML thiab cov dependency ntawm lwm tus.
- Tau sim hauv ib puag ncig uas tsis muaj XSLT native thiab tau soj ntsuam cov teeb meem tom qab tso tawm.
- Tau teem hnub xaus rau polyfill, compatibility library thiab deprecation trial.
- Tau lees paub tias production tsis vam khom XSLT native lawm ua ntej Chrome 158 los txog.
Cov ntaub ntawv siv
- Removing XSLT for a more secure browser — Chrome for Developers.
- Chrome 152 | Release notes — Chrome for Developers.
- Get started with origin trials — Chrome for Developers.
- Feature deprecation and removal in Chrome — Chrome for Developers.

