내가 가진 I가 "일반"XML 인코딩을 변환 할 HTML 인코딩 된 문자가HTML로 인코딩 된 XML을 변환하는 방법은 무엇입니까?
<values xsi:type="xsd:string"><Test objectgroupNr="001"/><bezeichnung>A&amp;B </bezeichnung></values>
같은 입력 XML : 내가 함께 일부 문자를 바꿀 수
<values xsi:type="xsd:string">
<Test objectgroupNr="001"/>
<bezeichnung>A&B</bezeichnung>
</values>
을
<xsl:character-map name="fischer">
<xsl:output-character character="<" string="<"/>
<xsl:output-character character=">" string=">"/>
</xsl:character-map>
<xsl:output method="xml" use-character-maps="fischer"/>
그러나 Ä, Ü, ß, é와 같은 가능한 모든 특수 문자를 입력하는 것은 좋지 않은 것 같습니다.
XSLT를 사용하면 쉽게이 작업을 수행 할 수 있습니까? 변환은 Saxon 8.9를 사용하는 Sonic ESB의 환경에서 이루어집니다.
어떤 버전의 XSLT 2.0 프로세서를 사용합니까? Saxon 9의 상용 버전에는 문자열을 XML로 구문 분석하여이를 사용할 수있는 확장 기능이 있습니다. –
http://www.saxonica.com/documentation/extensions/functions/parse.xml을 참조하십시오. 최신 Saxon 버전에서 구현 된 XSLT 3.0을 사용하면 http://www.saxonica.com/documentation/functions/intro/parse-xml.xml을 사용할 수 있습니다. –
그리고 XPath 3.0에도 데이터에 더 적합한 http://www.w3.org/TR/xpath-functions-30/#func-parse-xml-fragment가 있지만 Saxon이 이미 해당 데이터를 지원하는지 잘 모르겠습니다. 그러나 당신은 물론'values' 요소의 내용을 루트 요소로 감싸고'parse-xml'을 사용하여 해석하고 단순히 루트 래퍼의 자식 노드를 취할 수 있습니다. –