<xsl:sort> по кирилице

Frutik

1024-й
<xsl:sort> по кирилице

подскажите есть ли какието особенности сабжа? а то у меня сортирует кирилицу так что мама дорогая... никакой закономерности после такой сортировки в результатах не нахожу
 

chameleon

Новичок
Примерчик xml файла в студию
у меня кириллица нормально сортируется...
 

Frutik

1024-й
больше мегабайта, думаю многовато будет... вся xml-ина состоит из большого количества <Movie>

<?xml version="1.0" encoding="windows-1251"?>
<AntMovieCatalog Format="33" Version="3.4.2 (13/04/2003)" Date="06.06.03 10:27:46">
<Catalog>
<Properties/>
<Contents>
<Movie Number="1" MediaLabel="100_Girls.avi" MediaType="Storage1" Date="30.05.03" OriginalTitle="100 girls" TranslatedTitle="яРН ДЕБВНМНЙ Х НДМЮ Б КХТРЕ" Director="лЮИЙК дЩБХЯ (Michael Davis)" Country="яью" Category="йНЛЕДХЪ" Year="2001" Length="179" Actors="дФНМЮРЮМ рЮЙЕП (Jonathan Tucker), щЛЛЮМЧЩКЭ йПХЙ (Emmanuelle Chriqui), дФЕИЛЯ дЕ аЕККН (James De Bello), йЩРПХМ уЮИЦК (Katherine Heigl), кЮПХЯЮ нКЕИМХЙ (Larisa Oleynik), дФЩИЛХ оПЕЯЯКХ (Jaime Pressly), лЩПХЯЯЮ пХАХЯХ (Marissa Ribisi), дФНММХ цПХМ (Johnny Green), щИЛХ цПЩЛ (Aimee Graham), йПХЯРХМЮ юМЮОЮС (Kristina Anapau)" URL="http://www.videoguide.ru/card_film.asp?idFilm=23328" Description="сЬЮЯРШИ МН ОПХЪРМШИ ЛЮКШИ БНГБПЮЫЮКЯЪ ЯН ЯРСДЕМВЕЯЙНИ БЕВЕПХМЙХ, Б КХТР БЯКЕД ГЮ МХЛ БНЬКЮ ДЕБСЬЙЮ, Ю РСР БН БЯЕЛ ГДЮМХХ БШПСАХКНЯЭ ЩКЕЙРПХВЕЯРБН. щРН РЮЙ ЯХКЭМН БНГАСДХКН КХАХДН НАНХУ, ВРН НМХ РПЮУЮКХЯЭ Б РЕЛМНРЕ, ЙЮЙ ЙПНКХЙХ. йНЦДЮ НМ СРПНЛ НВМСКЯЪ Х БШЬЕК ХГ КХТРЮ, ЯБЕР АШК, Ю ЕЕ МЕ АШКН. х БШЬКН РЮЙ, ВРН НМ ЕЕ Б КХЖН МЕ ГМЮЕР. б ФЕМЯЙНЛ НАЫЕФХРХХ, ЦДЕ БЯЕ ЩРН ОПНХГНЬКН, ФХБЕР 100 ДЕБВНМНЙ. йЮЙ ЕЛС МЮИРХ РС, Я ЙНРНПНИ НМ АШК МЮ БЕПЬХМЕ АКЮФЕМЯРБЮ." VideoFormat="DivX 3.11 Low Motion" VideoBitrate="860" AudioFormat="MPEG Layer 3 (MP3)" AudioBitrate="128" Resolution="512x384" Framerate="25" Languages="пСЯЯЙХИ" Size="629" Disks="1" Checked="True"/>
</Contents>
</Catalog>
</AntMovieCatalog>


делаю

<xsl:for-each select="AntMovieCatalog/Catalog/Contents/Movie">
<xsl:sort select="@OriginalTitle"/>
[skipped]
</xsl:for-each>

в результате сначала идет несортированная (или странно сортированная) кирилица а потом правильно сортированная латиница (причем в двух местах заметил среди латиници и кирилицу)
 

chameleon

Новичок
имхо, не совсем хорошо non-ascii символы в атрибутах хранить...
кажется они эскейпятся, или пусть меня поправят...
структуру xml менять можешь?
 

Frutik

1024-й
ты считаешь что если трансформировать эту структуру во чтото типа
<movie id="1">
<origtitle>бала-бла-бал</origtitle>
<transtitle>бла-бла-бла</transtitle>
</movie>

то с сортировками все станет ок?

сейчас буду пробовать
 

Frutik

1024-й
а ларчик то просто открывался...

<xsl:for-each select="AntMovieCatalog/Catalog/Contents/Movie">
<xsl:sort select="@OriginalTitle" lang="ru"/>
[skipped]
</xsl:for-each>
 
Сверху