Архів тегів: XSLT

XSLT і jQuery зразки

Я займаюся багато XSLT і jQuery, і думав, я хотів би поділитися трохи фрагменти, які інші можуть виявитися корисними в майбутньому.

Приклад 1: Виділяють простий JavaScript / jQuery в XSLT:

<перетворення XSL:Шаблон матч = "щось" XML:простір = "Зберегти">

  <!– Порожніх запитів дружні фільтри прихованим полем –>
  <скрипт тип = "текст/javascript">
    $(документ).готові(функція(){
      $("#QueryFriendlyFilters").Валь("порожні");
    });
  </сценарій>

</перетворення XSL:Шаблон>

Що біт випромінює JavaScript, що чекає на сторінці, щоб процес завантаження (з-за $(документ).готові(…)) і потім набори значення приховані поля названа QueryFriendlyFilters буквальне значення "порожній".

Приклад 2: Використання <перетворення XSL:Якщо> Щоб перевірити «більше за»,  "менше", д.

<перетворення XSL:Шаблон матч = "щось" XML:простір = "Зберегти">

  <DIV id = "fdcAllFilters">
 
    <перетворення XSL:Якщо test="@Count>0">
      <охоплюють клас = "fdcFilterLabel">Поточних фільтрів:</Тривалість>
    </перетворення XSL:Якщо>

    <!– більше речей відбувається тут. –>

</перетворення XSL:Шаблон>

Вище фрагмент перевіряє, щоб побачити, якщо атрибут, названий "Count", "щось" елемента, більше нуля.  XML за це буде щось на зразок:”

<те, що кількість = "5" />

Приклад 3: Перебору всіх елементів, пересипаючи jQuery дзвінки.

<!– Перебору всі фільтри та відобразити правильний  посилання. –>
<перетворення XSL:для кожного виділення = "UserFilter">

  <клас = "FilterHref" HREF = "javascript:mySubmitPage('RemoveUserFilter','{@ ID}’)">[X]</на>

  <охоплюють клас = "fdcFilterLabel"><перетворення XSL:значення з select="@FilterValue"/></Тривалість>

  <скрипт тип = "текст/javascript">

    $(документ).готові(функція(){
        <перетворення XSL:текст><![CDATA[$("#QueryFriendlyFilters").Валь( ($("#QueryFriendlyFilters").Валь() + " ]]></перетворення XSL:текст>\"<перетворення XSL:значення з select="@FilterValue"/>\"<перетворення XSL:текст><![CDATA["));]]></перетворення XSL:текст>
    });

  </сценарій>

</перетворення XSL:для кожного>

Вище фрагмент є найбільш складним і може бути простіше способу зробити це.

XML за це виглядає приблизно так:

<UserFilter ID = "123" FilterValue = "xyzzy" />

Цей фрагмент ітерації через <UserFilter> вузли. 

Він вперше випромінює прив'язку тег, що при натисканні викликає JavaScript функції, що вже на сторінці, "mySubmitPage" і проходить значення атрибута на <UserFilter> вузлом ім'я «Ідентифікатор». 

Потім він випромінює jQuery, що чекає на сторінку для завантаження.  Що jQuery оновлення прихованим поле з ім'ям "QueryFriendlyFilters" за допомогою додавання значення атрибута FilterValue.  Примітка всі божевільні <перетворення XSL:текст> і <![CDATA[ … ]]> речі.

Все, сподіваюся, це допоможе!

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin

Нескінченно вкладення <DIV> Теги і jQuery

Це схоже такого дивак тему, Я не впевнений, що це дійсно коштує в блозі про, але це ніколи не зупиняло мене перед, так що тут ми йдемо посмішка

Я працюю проект, де я потягнувши деякі дані від пошуку, упаковки його в XML-повідомлення а потім що XML в кінцевому рахунку перетворюється в HTML за допомогою XSLT.  Існує багато jQuery участь, один біт, який реалізує деякі табуляції функціональність.  При натисканні на вкладці (Справді, на <DIV>), jQuery викликає .hide() і .show() різні Діви (первинного завантаження сторінки завантажує всі вміст, щоб там не без зворотної передачі при цьому).

Купу години тому, вкладці перемикання логіка почав працювати з помилками, і він не буде показувати один з моїх вкладки.  Я в кінцевому підсумку відслідковуються його аж до того, що internet explorer (по крайней мере) думав, що в <DIV> Мітки вкладені далеко, набагато глибше, ніж передбачалося.Б показати панель інструментів розробника:

-<DIV id = "Tab1Content">
  -<DIV>
    -<DIV>
      -<DIV id = "Tab2Content">
        -<DIV>
           …………………………
                   </DIV>  <— Нарешті, показуючи його закрили весь шлях вниз тут!

Так, Якщо я зробив це $("#Tab1Content").приховати(), Я також хотів би приховати Tab2, і я ніколи не міг би показати Tab2 якщо я також не показують Tab1.  Я скопіювати і вставити код в visual studio та його показали все у div підкладку до красиво, точно так само, як вони повинні були робити, дивлячись, як це:

-<DIV id = "Tab1Content">
  +<DIV>
  +<DIV>
-<DIV id = "Tab2Content">
  +<DIV>
  +<DIV>

Я бив мою голову об стіну на деякий час і зауважив, що фактичні HTML код було створення купу порожній <DIV> Мітки, як:

<тіло>

  <DIV id = "Tab1Content">

    <DIV id = "row1" />
    <DIV id = "row2" />

  </DIV>

  <DIV id = "Tab2Content">

    <DIV id = "row1" />
    <DIV id = "row2" />

  </DIV>

</тіло>

(Вище є waaaaaaaaaaaay спрощені.  Порожній div теги повністю діють. Деякі з моїх <DIV> Мітки були повні змісту, але багато інших не були.  Я прийшов до усвідомлення того, що моя <перетворення XSL:для кожного> директиви були випромінюючих короткометражний формі div теги, коли xsl:для кожного не ' знайти будь-яких даних.  Я змушений HTML коментар у виході, як показано:

image

 

Після того, як я це зробив, всі div вишикувалися красиво і мій вкладку перемикання почав працювати.

Як завжди, Я сподіваюся, що це допоможе кому-то в крайньому випадку.

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin

Приклад: XSLT створення HTML Href в

Я робити кілька XSL речі останнім часом і думав, я б зібрав зразки для мого подальшого використання і які можуть бути корисними для всіх нас XSLT-ers заробляти на життя в Інтернет.

Розглянемо наступні XML:

<FdcSearchTabsCollection графа = "2">
  <SearchTab Label = "промисловості" SortOrder = "00" Label = "Промисловості" SearchConstraints = "contenttype:Промисловість" TabID = "831b2a74-98c4-4453-8061-86e2fdb22c63" />
  <SearchTab Label = "практики" SortOrder = "01" Label = "Практики" SearchConstraints = "contenttype:PracticeGroups" TabID = "678e206b-6996-421f-9765-b0558fe1a9c0" />
</FdcSearchTabsCollection>

Наступний фрагмент XSL буде генерувати відсортованого списку hrefs вкладки:

<перетворення XSL:матч шаблон = "FdcSearchTabsCollection" XML:простір = "Зберегти">
   
    <!– «Усе" Вкладка –>
    <a href = "javascript:ViewTab('Все')">Переглянути всі</на>
   
    <!– Кожен індивідуальний вкладку –>
    <!– Перебирати всі вкладки і правильне відображення  посилання. –>
    <перетворення XSL:для кожного виберіть = "SearchTab">
      <перетворення XSL:Начебто select="@SortOrder"/>

      …
      <a href = "javascript:ViewTab(‘{@TabID}’)"><перетворення XSL:значення з select="@Label"/></на>
    </перетворення XSL:для кожного>

    <br /> 
   

   </перетворення XSL:Шаблон>

Ось як виглядає в SharePoint:

SNAGHTML78aa2cb

 

 

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin