Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
XML үшін ағынды трансформациялар (STX) — XSLT 1.0 және 2.0 нұсқаларына қарағанда жоғары жылдамдықпен және аз жадты пайдаланатын XML трансформациялау тілі. XSLT 3.0 бойынша ағымдағы жұмыстар ағынды мүмкіндіктерді қамтиды.
Streaming Transformations for XML (STX) is an XML transformation language intended as a high speed, low memory consumption alternative to XSLT version 1.0 and 2.0. Current work on XSLT 3.0 includes Streaming capabilities.
Шолу
STX – ағынға негізделген XML-ді тиімді өңдеуге арналған XML стандарты. Негізгі XSLT ағынды өңдеуге жақсы сәйкес келмейді, ал STX осы қажеттілікті қанағаттандырады. Дәстүрлі XML өңдеуде, XML құжатының барлығы жадыға жүктеледі. Керісінше, SAX XML оқиғаларын – «элемент ашылуы», «элемент жабылуы» және «мәтіндік түйін» сияқты – ағынмен жіберіп, басқа бағдарламалық құралдарға файлдың соңына жетпес бұрын деректерді түсіндіруге мүмкіндік береді. Алайда, кейбір бағдарламалық құралдар XML фрагменттерін тиімді пайдалана алмайды және өңдеуді бастау үшін толық құжатты құруы керек. XSLT-те де осы жағдай орын алады. XSLT-тің XPath құжаттың кез келген түйінін таңдай алатындықтан, толық құжат жадыда болуы тиіс. STX тек ағымдағы түйінге жақын сұрауларды ғана рұқсат етеді, сондықтан ол SAX оқиғалары түйіндерін жылдам түрлендіріп, шығара алады. Өңделгеннен кейін түйіндерді дереу жоюға болатындықтан, жадты пайдалану XSLT-ге қарағанда едәуір төмен. Сұрау ауқымының шектеулі болуы – STX-тің ерекше ерекшелігі. Бұл архитектуралық шешім STX-ті нақты қолданылатын тіл ретінде ұстануға бағытталған. Шындығында, STX-тің жалпы мақсаттағы трансформация тілі екенін айту дұрыс емес; алайда, егер сіздің трансформация қажеттіліктеріңізді STX қанағаттандыра алса, онда ол тиімді және ойлы таңдау болады.
STX is an XML standard for efficient processing of stream based XML. Basic XSLT is not well suited to stream based processing, and STX fills this niche. Conventional XML processing involves loading the entire XML document into memory for use. In contrast, SAX streams XML events such as "open element," "close element," and "text node" so that other software can begin interpreting information immediately, before the end of the file is reached. Unfortunately some software can't effectively use XML fragments this way and must build up the whole document to begin processing. So is the case with XSLT. Because XSLT's XPath can select any node throughout the document it must have the entire document available in memory. STX only allows queries immediately surrounding the current node so it can quickly start transforming and outputting SAX event nodes as they arrive. As it can discard nodes immediately after processing, memory use is significantly lower than that of XSLT. Having a limited query scope is a defining characteristic of STX. This architectural decision intentionally marginalises STX as a niche language. Indeed, it would be wrong to say that STX is a general purpose transformation language; however, if your transformation needs can be met by STX then it's an efficient and smart choice.
Сипаттамалар
STX сұраныс тілі STXPath деп аталады және XPath 2.0 негізінде құрылған. STX Java және Perl тілдерінде қолдауға ие.
STX's query language is called STXPath and is based on XPath 2.0. Implementations of STX are available in Java and Perl.