Тег Архивы: XSLT

XSLT и jQuery образцов

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

Пример 1: Выделяют простого JavaScript / jQuery в XSLT:

<XSL:шаблон матч = "что-то" XML:пространства = «preserve»>

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

</XSL:шаблон>

Что немного выделяет некоторые JavaScript, который ждет страницы для завершения загрузки (из-за $(документ).готов(…)) и затем задает значение скрытого поля QueryFriendlyFilters литеральное значение «пусто».

Пример 2: Использование <XSL:Если> проверить «больше чем»,  «меньше чем», и т.д..

<XSL:шаблон матч = "что-то" XML:пространства = «preserve»>

  <div id = «fdcAllFilters»>
 
    <XSL:Если test="@Count>0">
      <span class = «fdcFilterLabel»>Текущих фильтров:</диапазон>
    </XSL:Если>

    <!– больше материала происходит здесь. –>

</XSL:шаблон>

Выше фрагмент проверяет, является ли атрибут с именем «Подсчитать» элемента «что-то» больше нуля.  XML за это будет что-то вроде:”

<что-то Count = «5» />

Пример 3: Итерацию всех элементов, Interspersing jQuery звонков.

<!– Прохода через все фильтры и отображает правильный  ссылки. –>
<XSL:для каждого select = «UserFilter»>

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

  <span class = «fdcFilterLabel»><XSL:Стоимость от select="@FilterValue"/></диапазон>

  <сценарий type = «текст/javascript»>

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

  </сценарий>

</XSL:для каждого>

Выше фрагмент является наиболее сложным и может быть более простые способы это сделать.

XML за этим выглядит примерно следующим образом:

<UserFilter ID = «123» FilterValue = «xyzzy» />

Этот фрагмент итерации <UserFilter> узлы. 

Сначала он испускает якоря тегом, при щелчке вызывает функцию JavaScript, которая уже находится на странице, «mySubmitPage» и передает значение атрибута <UserFilter> узел с именем «ID». 

Он затем передает некоторые jQuery, который ожидает загрузки страницы.  Это jQuery обновляет скрытое поле с именем «QueryFriendlyFilters», добавив значение атрибута FilterValue.  Примечание все сумасшедшие <XSL:текст> и <![CDATA[ … ]]> прочее.

Вот это, надеюсь, это поможет!

</конец>

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

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Бесконечно вложенности <Div> Теги и jQuery

Это кажется такой теме oddball, Я не уверен, что это действительно стоит блог о, но это никогда не остановили меня до, Поэтому здесь мы идем Улыбка

Я работаю над проектом, где я потянув некоторые данные из поиска, Упаковка его в XML-сообщения, а затем XML в конечном итоге превращается в HTML через XSLT.  Существует много jQuery, один бит из которых реализует некоторые tabbing функцию.  При нажатии на вкладку (действительно, в <Div>), jQuery вызывает .hide() и .show() на различных DIV (Начальная страница загрузки загружает все содержимое в этом случае нет никаких обратных передач).

Куча часов назад, закладке Коммутационная логика начал работать с ошибками, и он не будет показывать один из моих плат.  Я в конечном итоге отслеживать его вниз на тот факт, что 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 очереди, красиво и моя вкладка переключения начал работать.

Как всегда, Я надеюсь, что это помогает кто-то в крайнем случае.

</конец>

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

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Пример: XSLT создавать HTML Href

Я в последнее время делает немного XSL вещи и подумал я бы воедино образец для моей будущей справки и которые могут иметь ценность для всех нас XSLT-ность сделать жизнь в Интернет.

Рассмотрим следующий 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:пространства = «preserve»>
   
    <!– "Все" Закладка –>
    <a href = "javascript:ViewTab(«Все»)">Просмотреть все</в>
   
    <!– Каждый индивидуальный закладка –>
    <!– Итерацию всех вкладок и отображать правильное  ссылки. –>
    <XSL:для каждого select = «SearchTab»>
      <XSL:select="@SortOrder"/ Сортировка>

      …
      <a href = "javascript:ViewTab(‘{@ TabID}’)"><XSL:Стоимость от select="@Label"/></в>
    </XSL:для каждого>

    <br /> 
   

   </XSL:шаблон>

Вот как он выглядит в SharePoint:

SNAGHTML78aa2cb

 

 

</конец>

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

Следуй за мной по щебетать на http://www.twitter.com/pagalvin