2016-04-29 5 views
0

Я недавно для xslt и Xpath.i необходимо преобразовать xml в другой XML-файл с помощью xslt. поэтому мне нужно получить Name element.i'm, используя xpath.but, получив ниже ошибку при запуске моего xslt. что-нибудь, что я пропустил или пошло не так?XML-XML trasformation с использованием Xslt

Error: net.sf.saxon.s9api.SaxonApiException: org.xml.sax.SAXParseException; lineNumber: 22; columnNumber: 22; The prefix "arr" for element "arr:string" is not bound.

Входной file.xml

<Accounts> 
<Account> 
    <Name></Name> 
</Account> 
<Accounts> 

нужно получить <Name> элемент

мой XPath является (это не полностью файл XSLT. Включены только получить имя элемента кода)

  <arr:string> 
      <xsl:value-of select="/Accounts/Account"></xsl:value-of> 
     </arr:string> 

мощность - -

  <qqq:Fields> 
       <arr:string>Name</arr:string> 
       <arr:string>XXX</arr:string> 
       <arr:string>xxxxx</arr:string> 
       <arr:string>xxxxx</arr:string> 
      </qqq:Fields> 
+1

Ваш вопрос не ясен, но сообщение об ошибке: Вы не можете использовать '' без привязки префикс 'arr:' для первого пространства имен. У вас есть пример того, как должен выглядеть ваш конечный результат? - P.S. Пожалуйста, просмотрите: [mcve] –

+0

спасибо за быстрый ответ. Я не использовал . – dnsserver

ответ

1

Вам нужно некоторое объявление этого пространства имен.

Как:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:arr="http://myarr.org"> 

Или:

<arr:string xmlns:arr="http://myarr.org"> 
    <xsl:value-of select="/Accounts/Account"/> 
</arr:string> 

Попробуйте проверить: http://www.w3schools.com/xml/xml_namespaces.asp