WebFav: XsdDefiniceProXmlVOpenCms |
from Wiki KIVu |
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.
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ý.
TODO
TODO
TODO
TODO
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
.
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
.
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ě.