Wednesday 13 December 2017

Xsl output method binary options


O título soa muito mais complexo do que o problema realmente é: eu tenho tentado juntar coisas por pedaços encontrados no stackoverflow e em outros lugares, mas eu não consigo entender. Tarefa: Eu tenho uma lista de itens, que eu quero iterar por e para cada iteração, eu gostaria de criar uma lista suspensa e, em seguida, por padrão, selecione o item com base no atual índice global. O exemplo tornará muito claro. Heres o XML: Então eu tenho um pouco de XSL: O que eu recebo é isto: PlantType Árvore dropdown com árvore, flor, árvore de arbusto dropdown com árvore, flor, árvore de arbusto dropdown com árvore, flor, arbusto O Id amor para ter é: PlantType árvore Dropdown com Tree, Flower, Shrub (idx 1 preselected) Flower dropdown com Tree, Flower, Shrub (idx 2 preselected) Shrub dropdown com Tree, Flower, Shrub (idx 3 preselected) Eu acho que haverá duas abordagens: ListIdx no loop externo (correspondência) e compare o índice atual dentro do loop interno com listIdx. 2) compare o índice da lista do innner com o índice exterior da lista na mosca. Se é fácil o suficiente para ilustrar os componentes-chave, Id muito apreciá-lo Obrigado perguntou 10 dez 12 em 4: 07XSLT Introdução XSL (EXtensible Stylesheet Language) é uma linguagem de estilo para XML. XSLT significa XSL Transformations. Este tutorial irá ensiná-lo a usar o XSLT para transformar documentos XML em outros formatos (como transformar XML em HTML). Online XSLT Editor Com o nosso editor on-line, você pode editar o código XML e XSLT, e clique em um botão para ver o resultado. Exemplo XSLT ltxsl: stylesheet versionquot1.0quot xmlns: xslquotw3.org/1999/XSL/Transformquotgt ltxsl: template matchquot / quotgt lthtmlgt ltbodygt lth2gtMy CD Collectionlt / h2gt lttable borderquot1quotgt lttr bgcolorquot9acd32quotgt ltthgtTitlelt / thgt ltthgtArtistlt / thgt lt / trgt ltxsl: for-each Selectquotcatalog / cdquotgt lttrgt lttdgtltxsl: valor-de selectquottitlequot / gtlt / tdgt lttdgtltxsl: valor de selectquotartistquot / gtlt / tdgt lt / trgt lt / xsl: for-eachgt lt / tablegt lt / bodygt lt / htmlgt lt / xsl: templategt Clique em O botão "Experimentá-lo" para ver como funciona. O que você já deve saber Antes de continuar, você deve ter uma compreensão básica do seguinte: Se você quiser estudar esses assuntos primeiro, encontre os tutoriais em nossa página inicial. XSLT Referências Descrição de todos os elementos XSLT da Recomendação do W3C e informações sobre suporte a navegadores. XSLT 2.0, XPath 2.0 e XQuery 1.0, compartilham a mesma biblioteca de funções. Existem mais de 100 funções integradas. Há funções para valores de seqüência de caracteres, valores numéricos, comparação de data e hora, manipulação de nó e QName, manipulação de seqüência e more. XSLTProcessor :: setParameter Parece heinemanns uso não está correto e não atingir o resultado pretendido. Esta finalidade dos métodos é mudar um valor ltxsl: paramgt global na folha de estilo de XSL - para não mudar um atributo de nenhum outro elemento. Ltxsl: paramgt basicamente permite configurar uma folha de estilo que pode ser personalizada (a partir do PHP) externamente (sem precisar manipular o arquivo XSL original). Heres um exemplo de uso (que vai funcionar): ltxml version1.0gt ltxsl: stylesheet version1.0 xmlns: xslw3.org/1999/XSL/Transform gt ltxsl: param nameprintsomething selectdefaultstring / gt ltxsl: template match / mydocgt ltp stylecolor: redgtPrinted Parâmetro: ltxsl: valor-de selectprintsomething / gtlt / pgt lt / xsl: templategt lt / xsl: stylesheetgt ltphp dom novo DOMDocument () xsl novo XSLTProcessor xsl - gt setParameter (. Mystylesheet. xslt) dom - gt load (estilo) xsl - gt importStyleSheet (dom) dom - gt loadXML (ltmydocgtlt / mydocgt) out xsl - gt transformToXML (dom) vardump (ltpregt, htmlentities, Xsl - gt getParameter (. Printsomething), lt / pregt) string gt (143) ltxml version1.0gt ltp stylecolor: redgtPrinted parâmetro: Agora Ive substituído a string defaultlt / pgt (32) Agora Ive substituído a string padrão (6) No momento, adicionar um namespace não funcionará. A única opção no momento é definir o primeiro parâmetro para namespace para uma seqüência de caracteres vazia (embora você pode adicionar o prefixo com dois pontos para o segundo argumento para nome, a fim de definir o parâmetro para um namespace prefixo parâmetro nome). Exemplo de como funciona. Ltxml versão 1.0 codificação utf-8 gt ltxsl: stylesheet versão1.0 xmlns: xslw3.org/1999/XSL/Transform gt ltxsl: saída methodxml indentyes codificaçãoISO-8859-15 doctype-system - // W3C // DTD XHTML 1.0 Transitional / / EN doctype-public w3.org/TR/xhtml1/DTD/xhtml1-transitional. dtd / gt ltxsl: modelo matchdocsgt lthtmlgt ltheadgt lttitlegt ltxsl: textgtExamplelt / xsl: textgt lt / titlegt lt / headgt ltbodygt ltxsl: for-each selectblockgt ltdivgt Ltxsl: value-of select. / Gt lt / divgt lt / xsl: for-eachgt lt / bodygt lt / htmlgt lt / xsl: templategt lt / xsl: stylesheetgt ltphp dom novo DomDocument (1.0. Utf-8) xsl novo XSLTProcessor xsl - gt setParameter (block. (Style) xsl - gt importStyleSheet (dom) dom - gt loadXML (ltdocsgt ltblockgtComo configurar xhtml Espaços de nome de transição largura phpt / blockgt ltblockgtsee php. Netlt / blockgt lt / docsgt) out xsl - gt transformToXML (dom) vardump (ltpregt. htmlentities), xsl - gt getParameter (bloco. xmlns), xsl - gt getParameter (docs. Xmlns), Lt / pregt) XSLTProcessor :: removeParameter () não funcionará em parâmetros definidos através de XSLTProcessor :: setParameter (namespace string, array opções) em 5.1 - eles precisam ser definidos e removidos um por um.

No comments:

Post a Comment