Saxon의 PHP 버전과 관련된 몇 가지 문제점으로 인해 현재 Java 명령을 실행하고 결과를 html로 변환하고 해당 HTML을 내 페이지에 표시 한 다음 결과 html을 삭제하는 php 호출을 수행하는 복잡한 설치가 있습니다. 표시 후. 도움이된다면 나는 페이지에 대한 링크를 제공 할 수 있지만 실제 .xq 파일은 꽤 단순하다 :Saxon은 .htaccess가있는 페이지에서 작동 할 수 있습니까?
xquery version "1.0" encoding "UTF-8";
declare namespace tei="http://www.tei-c.org/ns/1.0";
declare variable $zone external;
declare variable $line external;
declare variable $collection external;
declare function local:if-empty
($arg as item()? ,
$value as item()*) as item()* {
if (string($arg) != '')
then data($arg)
else $value
};
declare function local:remove-elements($input as element(), $remove-names as xs:string*) as element() {
element {node-name($input) }
{$input/@*,
for $child in $input/node()[not(name(.)=$remove-names)]
return
if ($child instance of element())
then local:remove-elements($child, $remove-names)
else $child
}
};
declare function local:remove-empty-elements($nodes as node()*) as node()* {
for $node in $nodes
return
if (empty($node)) then() else
if ($node instance of element())
then if (normalize-space($node) = '')
then()
else element { node-name($node)}
{ $node/@*,
local:remove-empty-elements($node/node())}
else if ($node instance of document-node())
then local:remove-empty-elements($node/node())
else $node
} ;
<list>
{
let $q:=collection($collection)
let $remove-list := ('note')
(:let $q:=local:remove-empty-elements($q):)
for $y in $q
let $s := $y//tei:surface
let $t := $y//tei:titleStmt/@xml:id
let $m := $y//tei:msDesc/@xml:id
let $z := $s/tei:zone[@n=$zone]
let $l := $z/tei:line[@n=$line]
let $w := concat($y//tei:msDesc/tei:msIdentifier/tei:settlement/text(),', ',$y//tei:msDesc/tei:msIdentifier/tei:institution/text(),' ',$y//tei:msDesc/tei:msIdentifier/tei:idno/text())
let $g := concat($t, "/" , $m, "/", substring-before($l/../../tei:graphic/@url,"."),".html")
let $o:=local:remove-elements($l/tei:orig,$remove-list)
where ($z//tei:line/@n = "l.1")
return
<item>{$w}: <ref target="{$g}">{$o}</ref></item>}
</list>
및 명령은 XML 파일 내가 '고 내 문제가 java -Xms128m -Xmx1024m -XX:+UseCompressedOops -cp saxon9he.jar net.sf.saxon.Query -t -q:test.xq -o:1505740041.41932650059544.xml line=l.4 zone=EETS.QD.8 collection=file:<filefolder>
입니다 실행 m 님과 함께 작업하는 것은 아직 게시되지 않은 문자 전사이며, 나는 그들이 황금 시간대에 대비할 때까지 비밀번호로 보호 된 폴더를 유지하고 싶습니다. 나는 filefolder 위치에 htaccess로 파일의 어떤 종류가있는 경우, 나는 다음과 같은 오류 메시지가 :
Building tree for file:<filefolder>/.htaccess using class net.sf.saxon.tree.tiny.TinyBuilder
Error on line 1 column 1 of .htaccess:
SXXP0003: Error reported by XML parser: Content is not allowed in prolog.
Query failed with dynamic error: org.xml.sax.SAXParseException; systemId: file:<filefolder>/.htaccess; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
그것은 무엇 일어나는 것은이 XML하지 않은, htaccess로 파일을 얻고 있다는 것을 나에게 꽤 명백하다 , 그리고 나서 그것으로 무엇을해야할지 모른다. 제 질문은 Saxon에게 컬렉션에 .htaccess를 포함시키지 말라고 제 xery 파일에 지시하는 방법이 있다면 말입니다. 확실하지만, 내가 찾은 모든 것은 파일 이름을 찾는 것에 관한 것이지, 건물에있는 컬렉션에서 파일 이름을 숨기는 것에 관한 것이 아닙니다. 좋아