2017-06-10 7 views
0

xForms:inputを使用しようとしていますが、ブラウザに表示されません。ここ は私のXHTMLコードです:xForms:入力がブラウザに表示されない

<?xml-model href="http://www.oxygenxml.com/1999/xhtml/xhtml-xforms.nvdl" 
    schematypens="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0"?> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:xforms="http://www.w3.org/2002/xforms" 
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <meta:meta xmlns:meta="http://www.xsmiles.org/2002/metadata" 
      name="XForms Controls" 
      description="Tests all XForms controls in single document"/> 
    <head> 
    <title>Registo de Utilizador</title> 
    <xforms:model id="modelUtilizador"> 
     <xforms:instance 
     id="instanceUtilizador" 
     src="http://localhost:8081/exist/apps/PEIFinal/data/utilizadores.xml"/> 
     <xforms:bind id="nome" nodeset="//utilizador/nome" type="xsd:string" required="true()"/> 
     <xforms:bind id="sexo" nodeset="//utilizador/sexo" type="xsd:string"/> 
     <xforms:bind id="rua" nodeset="//utilizador/rua" type="xsd:string" required="true()"/> 
     <xforms:bind id="nporta" nodeset="//utilizador/nPorta" type="xsd:integer" required="true()"/> 
     <xforms:bind id="codPost1" nodeset="//utilizador/codPost1" type="xsd:integer"/> 
     <xforms:bind id="codPost2" nodeset="//utilizador/codPost2" type="xsd:integer" required="true()"/> 
     <xforms:bind id="distrito" nodeset="//utilizador/distrito" type="xsd:string" required="true()"/> 
     <xforms:bind id="pais" nodeset="//utilizador/pais" type="xsd:string" required="true()"/> 
     <xforms:bind id="telefone" nodeset="//utilizador/telefone" type="xsd:string" required="true()"/> 
     <xforms:bind id="email" nodeset="//utilizador/email" type="xsd:string" required="true()"/> 
     <xforms:bind id="username" nodeset="//utilizador/username" type="xsd:string" required="true()"/> 
     <xforms:bind id="password" nodeset="//utilizador/password" type="xsd:string" required="true()"/> 
     <xforms:submission action="http://google.com" id="s001" method="post"/> 
    </xforms:model> 
    </head> 
    <body> 
     <fieldset> 
      <xforms:input bind="nome"> 
       <xforms:label> Nome </xforms:label> 
       <legend/> 
       <input class="texttoNome" type="text" name="nome"/> 
      </xforms:input> 
      <xforms:input bind="sexo"> 
       <xforms:label> Sexo <input class="texttoSexo" type="checkbox" name="sexo"/> 
       </xforms:label> 
      </xforms:input> 
      <xforms:input bind="rua"> 
       <xforms:label> Rua </xforms:label> 
       <input class="texttoRua" type="text" name="rua"/> 
      </xforms:input> 
      <xforms:input bind="nporta"> 
       <xforms:label> Porta </xforms:label> 
       <input class="texttoPorta" type="text" name="porta"/> 
      </xforms:input> 
      <xforms:input bind="codPost1"> 
       <xforms:label> CodigoPostal </xforms:label> 
       <input class="texttocodPost1" type="text" name="codPost1"/> 
      </xforms:input> 
      <xforms:input bind="codPost2"> 
       <xforms:label> </xforms:label> 
       <input class="texttocodPost2" type="text" name="codPost2"/> 
      </xforms:input> 
      <xforms:input bind="distrito"> 
       <xforms:label> Distrito </xforms:label> 
       <input class="texttodistrito" type="text" name="distrito"/> 
      </xforms:input> 
      <xforms:input bind="pais"> 
       <xforms:label> País </xforms:label> 
       <input class="texttopais" type="text" name="pais"/> 
      </xforms:input> 
      <xforms:input bind="telefone"> 
       <xforms:label> Telefone </xforms:label> 
       <input class="texttotelefone" type="text" name="telefone"/> 
      </xforms:input> 
      <xforms:input bind="email"> 
       <xforms:label> Email </xforms:label> 
       <input class="texttoemail" type="text" name="email"/> 
      </xforms:input> 
      <xforms:input bind="username"> 
       <xforms:label> Username </xforms:label> 
       <input class="texttousername" type="text" name="username"/> 
      </xforms:input> 
      <xforms:input model="modelUtilizador" bind="password"> 
       <xforms:label> Password </xforms:label> 
      </xforms:input> 
      <xforms:submit submission="s001"> 
       <xforms:label>Registar</xforms:label> 
      </xforms:submit> 
     </fieldset> 
    </body> 
</html> 

このXFormsの作業をしないので、あなたは、私はHTMLを使用していることがわかります。

提出ボタンをクリックすると、これも機能しません。これが理由です。

xFormsがブラウザに表示されないという解決策を見つけるお手伝いができますか?

+0

私は以前の質問に残したコメントに何が追加できるのか分かりません。多分この[Wikipedia](https://en.wikipedia.org/wiki/XForms#Software_support)の見積もりがあなたを納得させるでしょうか? *** "この記事の執筆時点では、広く使われているWebブラウザでは、XFormsをネイティブにサポートしていません。 –

答えて

0

現在、Xformsはブラウザではサポートされていないため、フォームの何も表示されません。 おそらくOrbeonを使用しようとする可能性があります。 Orbeon Formsは、Webフォームを構築して展開するためのソリューションです。 Xformsを使用するには、サーバーに展開する必要があります。

0

他の人も指摘しているように、現在のWebブラウザはネイティブでXFormsをサポートしていません。フォームを機能させるには、いくつかのXForms実装が必要です。 XHTMLに埋め込まれたXFormsには、一般に2種類の実装があります。

  • ブラウザ側の実装。

    ここでは、AgenceXMLのAlain Couthuresによって開発されたXSLTFormsの例を示します。非常に簡単なインストールと使用:Webサーバーにライブラリをインストールし、フォームからXSLTFormsスタイルシートを参照します。スタイルシートは、ユーザーのWebブラウザーでXSLTエンジンを使用して、フォームのHTML + Javascriptバージョンを構築します。

    古いX-Smiles自立型ブラウザとXForms用のMozillaプラグインはこのクラスのさらなる例でしたが、私が知っている限り、どちらも維持されていません。

  • サーバー側の実装。

    顕著な例には、OrbeonとBetterFormsがあります。 XFormのリクエストが来ると、サーバー上のコードはAjax呼び出しが埋め込まれたHTMLページを生成します。 Webブラウザやサーバー上の他のもので実行されるもの(XFormsの作成者としてはあなたには見えません)があります。サーバーコードでは、実装者はJavascriptよりも多くの自由な手をクライアント上で実行できるので、これらの実装では新しい機能を追加する方が簡単だという印象があります。 OrbeonとBetterFormsの両方には印象的なドキュメントがあります。

BetterFormsとXSLTFormはどちらもeXist XMLデータベースパッケージの一部として提供されます。そのため、インストールの問題を回避することができます。そして、私が最後に見た時に、eXistはOrbeonと一緒にパッケージ化されました。

W3C XForms Wikiのlist of active implementationsには、これらの実装や他の実装へのポインタがあります。

関連する問題