удалить кавычки ('') из значения, полученного из xml с помощью xslt - PullRequest
0 голосов
/ 28 февраля 2012

У меня есть мой XML как этот

 <P style="TEXT-ALIGN: center; MARGIN: 0pt">
        <SPAN style="FONT-FAMILY: 'Times New Roman';  FONT-SIZE: 36pt FONT-WEIGHT: bold">Form</SPAN>
            <SPAN style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 25pt; FONT-WEIGHT: bold">Form</SPAN>
            <SPAN style="FONT-FAMILY: 'COMIC SANS MS'; FONT-SIZE: 6.7pt; FONT-WEIGHT: bold">Form</SPAN>
            <SPAN style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE:10pt; FONT-WEIGHT: bold;TEXT-DECORATION:underline">10-Q</SPAN>
            <SPAN style="FONT-FAMILY: 'CURSIVE'; FONT-SIZE:14pt">Hisasdf @ adsfkej % adsfkj-Q</SPAN>
            <SPAN style="FONT-FAMILY: 'Edwardian Script ITC'; FONT-SIZE:18pt">Singhaniadf kurmad-Q</SPAN>
            <SPAN style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 7pt">anurag arya fateh ali khan-Q</SPAN>
            <SPAN style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE:12pt;TEXT-DECORATION:underline">rakesh kumar sinfhania</SPAN>
      </P>
 <xsl:variable name="Fface">
    <xsl:value-of select="(normalize-space(substring-before(substring-after(@style,'FONT-FAMILY:'),';')))"/>
</xsl:variable>

, и я использую этот код, чтобы определить семейство шрифтов и его работоспособность, и дает мне значение, используя это

<xsl:value-of select="$Fface"/>

, но значениеУ меня есть 'TIMES NEW ROMAN' с кавычками, но я хочу это без этих кавычек, так что делать, есть какая-нибудь процедура, чтобы сделать это

Ответы [ 2 ]

1 голос
/ 29 февраля 2012

Если вы хотите использовать функцию перевода для удаления апострофов из значения, вы можете сделать это следующим образом:

<xsl:value-of select='translate($Fface, "&apos;", "")' />

Это удалит ВСЕ апострофы из значения, а не только в начале и в конце.

Обратите внимание, как использование апосотрофов (') и кавычек (") в приведенном выше утверждении было обращено к тому, что обычно делается.

Если бы вы хотели поместить все это в одно большое утверждение, вы бы сделали это так, хотя это было бы не так легко прочитать.

<xsl:value-of select='translate(normalize-space(substring-before(substring-after(@style,"FONT-FAMILY:"),";")), "&apos;", "")' /> 
1 голос
/ 28 февраля 2012

Если вы были уверены, что апострофы всегда будут присутствовать, вы можете просто использовать функцию подстроки, чтобы сделать это

<xsl:value-of select="substring($Fface, 2, string-length($Fface) - 2)" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...