Проблем с <А HREF> в XSL ??
16 отговора
490 прегледа
Проблем с <А HREF> в XSL ??
здрасте, хора. имам си два проблема и моля за помощ :)
1. Искам да си сложа линк към същата страница, тоест да я скролирам надолу-нагоре. сложил съм имена на елементите, линковете съвпадат с имената, името се появява в адрес бара, като кликна....но не става. ако пробвам същият код в чист HTML - работи. и още нещо: името на елементите е променлива. и като я сложа в HREF -тага: <А HREF="#$name">, в адрес бара ,се появява #$name . как мога да и взема стойността ?
2. В XSL кода искам да сложа текст, който да не се вижда, но да мога да се обръщам към него, като към елемент, тоест да си има име, атрибути.....
Скриването мисля с <div> таг да стане,но като какъв елемент да го направя и като елемент ли да е изобщо? CDATA може ли да послужи?
много мерси на всеки :)
1. Искам да си сложа линк към същата страница, тоест да я скролирам надолу-нагоре. сложил съм имена на елементите, линковете съвпадат с имената, името се появява в адрес бара, като кликна....но не става. ако пробвам същият код в чист HTML - работи. и още нещо: името на елементите е променлива. и като я сложа в HREF -тага: <А HREF="#$name">, в адрес бара ,се появява #$name . как мога да и взема стойността ?
2. В XSL кода искам да сложа текст, който да не се вижда, но да мога да се обръщам към него, като към елемент, тоест да си има име, атрибути.....
Скриването мисля с <div> таг да стане,но като какъв елемент да го направя и като елемент ли да е изобщо? CDATA може ли да послужи?
много мерси на всеки :)
Re: Проблем с <А HREF> в XSL ??
1. [линк]
2. Понятието 'видимост' не е много дефинирано в XSL. Самият XSL сам по себе си не предполага визуализация.
Life has lots of twists and turns. Don't get too comfortable.
2. Понятието 'видимост' не е много дефинирано в XSL. Самият XSL сам по себе си не предполага визуализация.
Life has lots of twists and turns. Don't get too comfortable.
Re: Проблем с <А HREF> в XSL ??
<А HREF="#{$name}">
опитай така.
Но първо трябва да имаш зададена $name
За второто си ползвай див но ще трябва да го скриеш с CSS
опитай така.
Но първо трябва да имаш зададена $name
За второто си ползвай див но ще трябва да го скриеш с CSS
Re: Проблем с <А HREF> в XSL ??
Тц. Проблемът не е с взимане на стойността, а с превъртането на самия документ: file:///D:/Projects/Stylesheet%20ERM/test.xml#323 -
323 e името на елемента на който искам да отида.Като кликна, браузъра се замисля нещо, появява се стойността, ноооо....дотук.
323 e името на елемента на който искам да отида.Като кликна, браузъра се замисля нещо, появява се стойността, ноооо....дотук.
Re: Проблем с <А HREF> в XSL ??
Защо не опиташ да трансформираш тоя XML в HTML и да видиш дали правилно се обравотват данние и дали всичко и наред с котвите и имената им. Ако всичко е ОК, проблема може да е в парсера на браузера.
Ако искаш ми прати да го погледна на puzzle[at]planicus.com
Ако искаш ми прати да го погледна на puzzle[at]planicus.com
Re: Проблем с <А HREF> в XSL ??
уфффффффффф.......а, за да го видя в HTML, xsl:output ли трябва да му задам ?
Досега това пробвах, но или ми излизат грешки за namespace- а или забива IE (6-ца между другото). И къде да го сложа тоя output: на едно място видях - в <html> - тага, на друго - като <xsl:output> таг.....нещо много объркано ми стана...
Досега това пробвах, но или ми излизат грешки за namespace- а или забива IE (6-ца между другото). И къде да го сложа тоя output: на едно място видях - в <html> - тага, на друго - като <xsl:output> таг.....нещо много объркано ми стана...
Re: Проблем с <А HREF> в XSL ??
хм...,а да добява, че като му сложа [линк] си работи.
Re: Проблем с <А HREF> в XSL ??
Значи е то котвата а не от линк-а.
а за парсването триабва да го направиш с някоя програма за да можеш да видиш HTML резултата.
IE не дава да му ведеш сорса, мозила ти дава само сорса на XML документа.
Имаш няколко възможности :)
1. Парсни го с PHP
2. Има разни Apache модули за целта но са само за под Linux/UNIX
3. Примерно това: [линк] има го и по наши "free"-та
Имай в предвид че IE е малко сбъркан, ако заредиш XML/XSLT документ с грешка в него, ще трябва да го рестартираш за да го видиш оправен (веднъж се убих да ремонтирам един XSLT документ :)).
а за парсването триабва да го направиш с някоя програма за да можеш да видиш HTML резултата.
IE не дава да му ведеш сорса, мозила ти дава само сорса на XML документа.
Имаш няколко възможности :)
1. Парсни го с PHP
2. Има разни Apache модули за целта но са само за под Linux/UNIX
3. Примерно това: [линк] има го и по наши "free"-та
Имай в предвид че IE е малко сбъркан, ако заредиш XML/XSLT документ с грешка в него, ще трябва да го рестартираш за да го видиш оправен (веднъж се убих да ремонтирам един XSLT документ :)).
Re: Проблем с <А HREF> в XSL ??
в краен случай ще ти направя един акаунт на моя сървър
Apache-то ми парсва автоматично XML документите.
Между другото ково ползваш в котвата id или name?
Между другото ково ползваш в котвата id или name?
Редактирано от dunamis на
Re: Проблем с <А HREF> в XSL ??
Имаше някакво значение нно в момента не се сещам какво беше точно. Помня че един от браузерите имаше провлем с едното от 2-те.
Все пак няма да е лошо да постнеш някакъв примерен XML и примерен XSL, защото така е мако на сляпо (ако не е някаква голяма тайна де
)
Все пак няма да е лошо да постнеш някакъв примерен XML и примерен XSL, защото така е мако на сляпо (ако не е някаква голяма тайна де
Re: Проблем с <А HREF> в XSL ??
ето го:
<xsl:variable name="link" select="concat($country,@ruleNr)"/>
<xsl:for-each select=".">
<A HREF="#{$link}">
<xsl:if test="@fromID != '''From id <xsl:value-of select="substring(@fromID,1,10)"/>
</xsl:if>
<xsl:if test="@toID != ''">to id <xsl:value-of select="substring(@toID,1,10)"/>
</xsl:if>
<xsl:if test="@fromID != '' ">
use rule <B>#<xsl:value-of select="@ruleNr"/></B>
</xsl:if>
<br/>
</A>
не мисля, че тук може да е проблема, съвсем елементарен код е..
<xsl:variable name="link" select="concat($country,@ruleNr)"/>
<xsl:for-each select=".">
<A HREF="#{$link}">
<xsl:if test="@fromID != '''From id <xsl:value-of select="substring(@fromID,1,10)"/>
</xsl:if>
<xsl:if test="@toID != ''">to id <xsl:value-of select="substring(@toID,1,10)"/>
</xsl:if>
<xsl:if test="@fromID != '' ">
use rule <B>#<xsl:value-of select="@ruleNr"/></B>
</xsl:if>
<br/>
</A>
не мисля, че тук може да е проблема, съвсем елементарен код е..
Re: Проблем с <А HREF> в XSL ??
мамка му!
извинявай за тъпия въпрос, знаеш ли къде мога да прочета за MS парсера в IE6 точно и конкретно - какво може,какво не, с кое работи, с кое не ще.???
сума ти сайт изръшках....
извинявай за тъпия въпрос, знаеш ли къде мога да прочета за MS парсера в IE6 точно и конкретно - какво може,какво не, с кое работи, с кое не ще.???
сума ти сайт изръшках....
Re: Проблем с <А HREF> в XSL ??
мдаааааааа, които си е тиква - той си е, както каваше една приятелка.
оправих се и с двете неща, за линка едни скобки ми липсвали...много мерси за коментарите и ,dunamus, специални благодарности и извинявай за загубеното време :)
оправих се и с двете неща, за линка едни скобки ми липсвали...много мерси за коментарите и ,dunamus, специални благодарности и извинявай за загубеното време :)
Е не, мамка му!
Проблемът беше, че съм изпуснал фигурните скоби около $rule.
<xsl:variable name="rule" select="(@nr * 1000) + $vcurrent_country"/>
<A name="{$rule}">
(#<B><xsl:value-of select="@nr"/>)</B> 
</A>
Проработи. После леко промених формирането на името, един вид само "смених местата на събираемите" и край. върнах всичко в начално състояние - нъц! и вече не работи.
<A HREF="#{$link}">
<xsl:if test="@fromID != ''">
From id <B><xsl:value-of select="substring(@fromID,1,10)"/></B>
</xsl:if>
<xsl:if test="@toID != ''">
to id<B><xsl:value-of select="substring(@toID,1,10)"/></B>
</xsl:if>
<xsl:if test="@fromID != ''">
use rule <B>#<xsl:value-of select="@ruleNr"/></B>
</xsl:if>
<br/>
</A>
?!?!?!??!?!?!?!!?!??!!?!?
<xsl:variable name="rule" select="(@nr * 1000) + $vcurrent_country"/>
<A name="{$rule}">
(#<B><xsl:value-of select="@nr"/>)</B> 
</A>
Проработи. После леко промених формирането на името, един вид само "смених местата на събираемите" и край. върнах всичко в начално състояние - нъц! и вече не работи.
<A HREF="#{$link}">
<xsl:if test="@fromID != ''">
From id <B><xsl:value-of select="substring(@fromID,1,10)"/></B>
</xsl:if>
<xsl:if test="@toID != ''">
to id<B><xsl:value-of select="substring(@toID,1,10)"/></B>
</xsl:if>
<xsl:if test="@fromID != ''">
use rule <B>#<xsl:value-of select="@ruleNr"/></B>
</xsl:if>
<br/>
</A>
Аман !!!
писна ми вече! оказа се че си работело, само че браузъра ми нещо си......извинявай, вече наистина спирам с тия фалшиви проблеми. мерси пак, 'сичко хубаво :)
Re: Аман !!!
аз те съетвам да не разчиташ много на браузерите ИЕ се справя доста добре но примерно мозила не разчита disable-output-escaping="yes" поне във версията която ползвам сега 1.6 не го прави.
виж този сайт
[линк]
PHP-то ми подава XML и Apache-то го трансформира още на сървъра и по този начин крайния потребител получава чист HTML или XHTML.
виж този сайт
[линк]
PHP-то ми подава XML и Apache-то го трансформира още на сървъра и по този начин крайния потребител получава чист HTML или XHTML.