|
ulf-wendel.de   
|
|
 Home < PHP Schulung  < OOH Forms  < XML  < XSLT    |       |  
Print Version    
---
|
|
 Home 
 PHP Projekte 
 PHP Schulung 
    Informationsquellen 
    Geschichte 
    Core PHP 
    Fortgeschrittenes PHP 
    Templates 
    Cache-Technologien 
    OOH Forms 
       Grundlagen 
       JavaScript 
       XML 
          XML Rumpf 
          XML Beispiel 
          Factory 
          Anwendungsbeispiel 
          XSLT 
       Layoutmanager 
       Pages 
       Wizards 
       Fazit 
 Technik der Site 
 Büchertipps 
 Fotografie 
 Airbrush 
 Kontakt 
 Stuff 

Die Bedeutung von XSLT

Mittels XSL läßt sich ein XML-Strukturbaum in einen anderen überführen. Dies erlaubt beispielsweise die Einführung von neuen Tags, welche Tipparbeit ersparen und für Einheitlichkeit in einer Applikation sorgen.


Ausgangsdokument Top

<email name="email" />            
            

XSL
Transformationsergebnis Top

<text name="email" label="E-Mail">
  <validation>
    <regexp reg="[a-z0-9_\.-]+@[a-z0-9_\.-]\.[a-z]{2,3}" icase="true">
      Bitte überprüfen Sie das Format Ihrer E-Mail.
    </regexp>
  </validation>            
</text>
            

Der Einsatz von XSLT stößt immer dann an Grenzen, wenn das gewünschte Objekt über eine erweiterte Eigenlogik verfügen soll. In diesem Fall hilft nur die Entwicklung von neuen Formularelementen.


Elemente mit Eigenlogik Top

<?php
require_once('HTML_OOH_Form/elements/form_element_text.php');

class 
form_element_money extends form_element_text {

  function 
getValue() {
  
    if (
strcmp((float)$this->value, (string)$this->value) != 0) {

      
$pos_dot strpos($this->value'.');
      
$pos_com strpos($this->value',');
      
      if (
false === $pos_dot && false === $pos_com) {
      
        
// 123  
        
$this->value = (float)$this->value;
        
      } else if (
false === $pos_dot && $pos_com) {
      
        
// 123,45[6...]
        
$this->value = (float)str_replace(',''.'$this->value);
        
      } else if (
$pos_dot && false === $pos_com) {
        
        
// 123.45[6...]
        
if ($pos_dot == strlen($this->value) - 2) {
        
          
// 123.45
          
$this->value = (float)$this->value;
          
        } else {
          
          
// 123.456[7...]
          
$this->value = (float)str_replace('.'''$this->value);
          
        }
        
      } else if (
$pos_dot && $pos_com) {
        
        if (
$pos_dot $pos_com) {
        
          
// 123.456,78
          
$this->value str_replace('.'''$this->value);
          
$this->value = (float)str_replace(',''.'$this->value);
          
        } else {
        
          
// 123,456.78
          
$this->value = (float)str_replace(','''$this->value);
          
        }
        
      }
      
    }
    
    
$this->value number_format($this->value2',''.');
    
    return 
$this->value;
  }
  
  
  function 
get($subname '') {
  
    
// Umformatierung durchführen
    
$this->getValue();
  
    return 
parent::get($subname);
  }
   
// end class form_element_money
?>  
    

<  ^  >

 Neues

 XML/XSLT Menu
 OOH-Form Rewrite

 PEAR Cache:
  SHM Container

 Suchstring Parser
 Buchrezensionen
 PEAR Cache:
  OutputCompression

 PEAR Menu Browser
 PEAR Menu Tutorial 
 PEAR Cache


 Tipp

Download Version:
oben rechts,
Download *.tar.gz
|
| --- |
|
  Top   |   <  ^  >   |   phpOpenTracker Statistik   |   URL: http://www.ulf-wendel.de/schulung/ooh/xml/xslt.php   |   Stand: 16.11.2001   |   © Ulf Wendel   
|
| --- |

0.019 s Bearbeitungszeit, 0.002 s IT[X], 0.005 s Menu 3