WebFav: XsdDefiniceProXmlVOpenCms

from Wiki KIVu

XML vzory pro člány

Rád bych se tu rozepsal a napsal několik stránke popisujících způsob, jak si vytvořit XSD pro jednoduché XML, jako datový vzor pro články, texty a podobně. Existuje už však jiný, názorný a vizuálně rychle pochopitelný návod, který dá každému daleko víc (dokonce jde i o funkční příklad ;-). Komu by to nestačilo, tak na stránkach Wikiny pro OpenCMS je další popis, jak na to.

Požadavky na XML

Při tvorbě XSD si je třeba dát záležet na tom, co vše se definuje. Ve verzy 6.2.2 je při změně XSD problém s vytvořenými soubormi. Problém spočíva v tom, že je potřeba vyexportovat všechny soubory, hromadně je upravit a soubory pak vrátit zpět. Další možnost je smazat každý soubor a vytvořit jej znovu.

OpenCMS poskytuje nástroj změny fromátu, který bohužel nelze ve verzy 6.2.2 považovat za funkční. Nově dodefinované elementy nepřidá. Soubor je zobrazovatelný, editovatelný ale ne uložitelný.

Validační makra

TODO

Widgets

TODO

Přednastavené hodnoty

TODO

Vazba na property souboru

TODO

Zaregistrování souborů a adresářů

Co vlastně myslím tím zaregistrovaním?

Víme už, jak vytvořit vlastní definici nějakého článku, ale jak ji dát uživateli k dispozici? A právě toto zpřístupňení nazývam registrací.

Registrovat nový soubor nebo adresář lze dvěma způsoby. V obou případech jde o to samé - zeditovat některý XML konfigurační soubor. Dá se říct, že i táto registrace je dosti podobná. Jen její výsledný efekt je jiný.

Postup pro adresář a soubor je stejný, jen se dědí, resp. definuje předek jako adresář nebo jako soubor (neboli xmlcontent).

Vytvořit nový soubor, nebo adresář pak bude možné pomocí tlačítka New v OpenCMS workplace.

Top level registrace

Předvedeme si registraci adresáře a souboru do úvodní obrazovky New.

Editovat budeme XML WEB-INF/opencms-workplace.xml.

Kód který přidáme bude vypadat následovně:

<explorertype name="fav-folders" key="fileicon.fav-folders" icon="fav-folder.gif" reference="folder">
   <newresource uri="newresource.jsp?page=fav-folders" order="1" autosetnavigation="false" autosettitle="false"/>
</explorertype>
<explorertype name="fav-files" key="fileicon.fav-files" icon="fav-file.gif" reference="xmlcontent">
   <newresource uri="newresource.jsp?page=fav-files" order="2" autosetnavigation="false" autosettitle="false"/>
</explorertype>

Atribút reference zabezpečí, že se vytvoří virtuální adresář, který bude obsahovat další prvky. Když neuvedeme atribút reference dostaneme míst virtuálního adresáře konečný element a tedy adresář anebo soubor.

Definovat jazykové hláčky pro naše nové elementy můžeme v libovolném modulu v souboru workplace.properties. Je třeba definovat jazykové hlášky: fileicon.fav-folders a title.fav-folders resp. fileicon.fav-files a title.fav-files.

Registrace elementů v modulech

V dalším kroku vytvoříme adresář, který přidáme do fav-folders. Editovat budeme XML WEB-INF/opencms-modules.xml. Nelezneme si náš modul a v něm element </resourcetypes>. Otevřeme ho a přidáme do něj:

<type class="org.opencms.file.types.CmsResourceTypeXmlContent" name="fav-page-full-file" id="2190" />
<type class="org.opencms.file.types.CmsResourceTypeFolderExtended" name="fav-page-list-folder" id="2269" />

Prvním řádkem sme přidali nový typ souboru a druhým nový typ adresáře. kde id musí být jedinečné pro celý soubor přez všechny zde vytvořené soubory a adresáře.

Dále si nalezneme v našem modulu </explorertypes>. Otevřeme a přidáme:

<explorertype name="fav-page-full-file" key="fileicon.fav-page-full-file" icon="fav-file.gif" reference="xmlcontent">
   <newresource page="fav-files" uri="newresource_xmlcontent.jsp?newresourcetype=fav-page-full-file" order="2190" autosetnavigation="false" autosettitle="false"/>
</explorertype>
<explorertype name="fav-page-list-folder" key="fileicon.fav-page-list-folder" icon="fav-folder.gif" reference="folder">
   <newresource page="fav-folders" uri="newresource.jsp?newresourcetype=fav-page-list-folder" order="2269" autosetnavigation="false" autosettitle="false"/>
</explorertype>

Musí se shodovat v názvu. Pořadí určuje tag order Další řádek definuje url při vzniku. Jazykové hlášky se opět vytvoří jako v předchozím případě.

Retrieved from http://wiki.kiv.zcu.cz/WebFav/XsdDefiniceProXmlVOpenCms
Content last modified on 24 February 2007, 00:33