저는 AJAX를 통해 가져온 스타일 시트를 사용하여 문서 DOM의 클라이언트 측 XSLT 변환을 트리거하는 버튼이있는 Firefox 용 웹 응용 프로그램을 개발 중입니다.XSLT에서 XPath로 입력 요소의 값에 액세스하기
여기서 변환 될 예정 년대 XHTML의 일부이다 : 스타일 시트 내부
<html>
<head>
<title>Static Javascript-based XMR Form Creator</title>
</head>
<body>
<h1 id="title">Static Javascript-based XMR Form Creator</h1>
<div class="opt_block" id="main_opts">
Form name <input type="text" id="form_name" />
Form cols <input type="text" id="form_cols" size="3" maxlength="3" />
</div>
<button id="generate">Generate source</button>
<textarea rows="20" cols="50" id="xmr_source" ></textarea>
</body>
, I는 상기 제 1 입력 필드 value
속성 ID form_name
으로 한 접근하려면.
XSLT는 다음과 같습니다
<xsl:template match="/html/body/div[@id = 'main_opts']" >
<form>
<xsl:attribute name="fname">
<xsl:value-of select="input[@id = 'form_name']/@value" />
</xsl:attribute>
</form>
</xsl:template>
나는 그렇게처럼
현재
document
에 XSLT를 적용
var processor = new XSLTProcessor();
processor.importStylesheet(data); // data received via AJAX request
// document is obviously the object representing the current DOM
var result = processor.transformToDocument(document);
문제는 그 일을해야 XPath를 :
반환 값 없음, wher eas는 Firebug를 통해 DOM을 검사하면 input
요소의 value
속성에 값이 있음을 보여줍니다.
아무도 도와 줄 수 있습니까?
편집 : 명확한 만든 XSLT 슬래시 또는 점 점으로 입력을 참조 시도 슬래시
양식 값을 수동으로 추가한다는 의미입니까 (표시되는 입력 값에 수동으로 값이 없으므로)? – Tomalak
hackish처럼 보이지만 양식 요소가 없습니다. 나는 실제로 폼을 보내지 않고서 그들이하는 일에 대해서만'input'과'textarea' 요소를 사용합니다. – asymmetric
"type"속성의 값을 가져 오려고하면 어떻게 작동합니까? (XSLT가 표준 HTML 네임 스페이스를 사용하지 않아 네임 스페이스가 이상하게 보일 수있는 가능성을 없애고 싶지만 유효한 XHTML로 보이지 않는 HTML은 얻을 수 있음) 하나의 어딘가에.) –