Ok ive been learning more on how to set this up on a website these days, and im just sharing to what ive got
as ive succesfully set it up and its working great, so here is a how to guide on setting up a clan XML file for ArmA 2.
.XML, .DTD, .XSL, .CSS are all copyable codings. Put it into Notepad and save it with the proper extension.
.XML is the only file that NEEDs to be changed.
Only .XML and .DTD are required for online use.
.PAA is optional depending on whether you want to have a clan logo in game or not (will show up on the sides of
certain vehicles, possibly on as an armpatch on the character model as well, and on the player in-game profile (P)
when the player is selected).
.XSL and .CSS only needed if you want to view the XML online for the public.
All files need to be in the same folder. Player needs to have your Squad XML url in their player profile for it to work.
.XML -- can save as any name, as long as the extension is .xml
<?xml version="1.0"?>
<!DOCTYPE squad SYSTEM "squad.dtd">
<?xml-stylesheet href="squad.xsl?" type="text/xsl"?>
<squad nick=""> <!-- what will show up in brackets behind each member's name -->
<name></name> <!-- clan name (FULL) -->
<email></email> <!-- clan's official (or leader's) email address -->
<web></web> <!-- clan website -->
<picture></picture> <!-- the squad logo. See post below for details -->
<title></title> <!-- what you want to show on vehicles -->
<member id="" nick=""> <!-- Squad member's PID, Player name -->
<name></name> <!-- optional: real name or player name again -->
<email></email> <!-- optional: member's email address -->
<icq></icq> <!-- optional: ICQ, I used this with an edited XSL to show X-Fire usernames -->
<remark></remark> <!-- "PLayer's Comment" anything they want to say. Does not word wrap in game -->
</member>
</squad>
.DTD -- save as " squad.dtd "
<!ELEMENT squad (name, email, web?, picture?, title?, member+)>
<!ATTLIST squad nick CDATA #REQUIRED>
<!ELEMENT member (name, email, icq?, remark?)>
<!ATTLIST member id CDATA #REQUIRED nick CDATA #REQUIRED>
<!ELEMENT name (#PCDATA)>
<!ELEMENT email (#PCDATA)>
<!ELEMENT icq (#PCDATA)>
<!ELEMENT web (#PCDATA)>
<!ELEMENT picture (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT remark (#PCDATA)>
In the XML file, simply remove the comments ( letters wrapped in <!-- to the --> ), though you don't have to. Have a separate Member portion for each and every member in your clan that plays ArmA 2 / OA.
If you have players that also play ArmA 2 alone, without Combined Arms, you will need a second <member></member> for the different PID (Player ID), even though the name would be the same.
Logos should be in .PAA format. Using 256x256 resolution works the best. Start off with a logo in .PNG format, 256x256, and open it using TexView 2 ( link ). Save the logo as .PAA and place it in the same folder as the .DTD and .XML files.
Example of linking the XML and the .PAA: Assume the PAA was saved as logo2.paa
<?xml version="1.0"?>
<!DOCTYPE squad SYSTEM "squad.dtd">
<?xml-stylesheet href="squad.xsl?" type="text/xsl"?>
<squad nick="">
<name></name>
<email></email>
<web></web>
<picture>logo2.paa</picture>
<title></title>
This should all be hosted in the same folder online, YOUR preferred website such as
http://www.yourdomain.com/squad.xml
For Web Page viewing:
You will need to add two other files to your folder. These will be .XSL and a .CSS file.
This is the coding as shown on the BISwiki: .XSL
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet
version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="text()">
<xsl:value-of select="."/>
</xsl:template>
<xsl:template match="*">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="/">
<HTML>
<HEAD>
<TITLE><xsl:value-of select="/squad/name"/></TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="squad.css"></LINK>
</HEAD>
<!--
XSL template for "squad.xml", used in "Armed Assault" (Ref: "http://www.armedassault.com")
and "Armed Assault 2" (Ref: "http://www.arma2.com")
See also the Arma-Wiki page: "http://community.bistudio.com/wiki/squad.xml"
Created by TomNedry, 26.Jan07
Reviewed by TomNedry, 15.Jul09
Lisence: Creative Common (http://creativecommons.org/licenses/by-nc-sa/2.5/deed.de)
To have a squad logo in the HTML output, just put a "sqd_logo.png" in the same folder...
-->
<BODY>
<!--Main TABLE -->
<TABLE class="main">
<TR>
<TD class="left_row" valign="top">
<!-- Squad Info Table -->
<TABLE class="sqd_info">
<TR height="30">
<TD class="one">
<DIV class="sqd_name">
<xsl:value-of select="/squad/name"/>
</DIV>
</TD>
</TR>
<TR height="30">
<TD class="two">
<DIV class="sqd_title">
<xsl:value-of select="/squad/title"/>
</DIV>
</TD>
</TR>
<TR height="100%">
<TD width="100%" height="100%" valign="top">
<DIV class="sqd_logo">
<img src="sqd_logo.png" alt="Picture: Squad Logo"/> <!-- NOTICE! the file referenced as quote "sqd_logo.png" unquote can be changed if your image is named something else. Just edit sqd_logo to say your image's filename instead -->
</DIV>
</TD>
</TR>
<TR height="10">
<TD class="sqd_website">
Web site:
<A>
<xsl:attribute name="href">
http://<xsl:value-of select="/squad/web"/>
</xsl:attribute>
<xsl:value-of select="/squad/web"/>
</A>
</TD>
</TR>
<TR>
<TD class="sqd_email">
e-mail:
<A>
<xsl:attribute name="href">
mailto:<xsl:value-of select="/squad/email"/>
</xsl:attribute>
<xsl:value-of select="/squad/email"/>
</A>
</TD>
</TR>
</TABLE>
<!-- Squad Info Table -->
</TD>
<TD class="right_row" valign="top">
<!-- Member-Info Table -->
<TABLE class="member_info">
<Tr>
<Th>Members</Th>
<Th>e-mail</Th>
<Th>ICQ</Th>
</Tr>
<xsl:for-each select="/squad/member">
<TR>
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="position() mod 2 = 0">one</xsl:when>
<xsl:otherwise>two</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<TD class="member_name" rowspan="2">
<xsl:value-of select="name"/>
</TD>
<TD class="member_email">
<A>
<xsl:attribute name="href">
mailto:<xsl:value-of select="email"/>
</xsl:attribute>
<xsl:value-of select="email"/>
</A>
</TD>
<TD class="member_icq">
<xsl:value-of select="icq"/>
</TD>
</TR>
<TR>
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="position() mod 2 = 0">one</xsl:when>
<xsl:otherwise>two</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<TD class="member_remark" colspan="2" valign="top">
<xsl:value-of select="remark"/>
</TD>
</TR>
</xsl:for-each>
</TABLE>
<!-- Member Info Table -->
<!--Main TABLE -->
</TD>
</TR>
</TABLE>
<p style="font-family:verdana;font-size:7pt;color:darkgrey;text-align:center;padding:10px;">
"squad.xsl" by <a href="http://www.csar-clan.net">TomNedry</a>, last change: 15.Jul09
</p>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>
.CSS
/*
CSS template for "squad.xml", used in "Armed Assault" (Ref: "http://www.armedassault.com")
and "Armed Assault 2" (Ref: "http://www.arma2.com")
See also the Arma-Wiki page: "http://community.bistudio.com/wiki/squad.xml"
Created by TomNedry, 26.Jan07
Reviewed by TomNedry, 15.Jul09
Lisence: Creative Common (http://creativecommons.org/licenses/by-nc-sa/2.5/deed.de)
*/
body
{
font-family:Arial;
background-color:#eaece5;
margin:0px;
}
a:link
{
text-decoration:none;
color:#800000;
}
a:visited
{
text-decoration:none;
color:#800000;
}
a:hover
{
text-decoration:none;
color:#ffffff;
}
a:active
{
text-decoration:none;
}
a:focus {
text-decoration:none;
}
th
{
background-color:#aeb399;
font-family:Arial;
font-size:10pt;
font-weight:bold;
padding:4px;
}
tr.one
{
background-color:#dde4c3;
width:100%;
padding:4px;
}
tr.two
{
background-color:#d2d9b8;
width:100%;
padding:4px;
}
td.one
{
background-color:#aeb399;
width:100%;
}
td.two
{
background-color:#e2e9c7;
width:100%;
}
.main
{
text-align:center;
width:100%;
border:0px solid #333333;
}
div.sqd_name
{
text-align:center;
font-family:Arial;
font-size:12pt;
font-weight:bold;
}
div.sqd_title
{
text-align:center;
font-family:Arial;
font-size:10pt;
}
div.sqd_logo
{
text-align:center;
font-size:8pt;
padding:5px;
}
.sqd_info
{
border:1px dotted darkgrey;
width:100%;
padding:0px;
border-spacing:0px;
}
.sqd_website
{
font-family:Arial;
font-size:10pt;
text-align:center;
background-color:#aeb399;
width:100%;
padding:4px;
border-spacing:0px;
}
.sqd_email
{
font-family:Arial;
font-size:10pt;
text-align:center;
background-color:#aeb399;
width:100%;
padding:4px;
border-spacing:0px;
}
.left-row
{
vertical-align:top;
height:100%;
}
.right-row
{
vertical-align:top;
height:100%;
}
.member_info
{
border:1px dotted darkgrey;
width:100%;
padding:0px;
border-spacing:0px;
}
.member_name
{
font-family:Arial;
color:black;
font-size:10pt;
padding:4px;
}
.member_email
{
font-family:Arial;
color:black;
font-size:8pt;
padding:4px;
}
.member_icq
{
font-family:Arial;
color:black;
font-size:8pt;
padding:4px;
}
.member_remark
{
font-family:Arial;
color:black;
font-size:8pt;
text-align:center;
}
The outcome will look something like this but the colors may be different, and the logo will be different.
To change the ICQ, like I did on the example XML, simply change
<!-- Member-Info Table -->
<TABLE class="member_info">
<Tr>
<Th>Members</Th>
<Th>e-mail</Th>
<Th>ICQ</Th>
</Tr>
<xsl:for-each select="/squad/member">
<TR>
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="position() mod 2 = 0">one</xsl:when>
<xsl:otherwise>two</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<TD class="member_name" rowspan="2">
<xsl:value-of select="name"/>
</TD>
<TD class="member_email">
<A>
<xsl:attribute name="href">
mailto:<xsl:value-of select="email"/>
</xsl:attribute>
<xsl:value-of select="email"/>
</A>
</TD>
<TD class="member_icq">
<xsl:value-of select="icq"/>
</TD>
</TR>
to something sort of like this:
<!-- Member-Info Table -->
<TABLE class="member_info">
<Tr>
<Th>Members</Th>
<Th>E-Mail</Th>
<Th>X-Fire</Th>
</Tr>
<xsl:for-each select="/squad/member">
<TR>
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="position() mod 2 = 0">one</xsl:when>
<xsl:otherwise>two</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<TD class="member_name" rowspan="2">
<xsl:value-of select="name"/>
</TD>
<TD class="member_email">
<A>
<xsl:attribute name="href">
<xsl:value-of select="email"/>
</xsl:attribute>
<xsl:value-of select="email"/>
</A>
</TD>
<TD class="member_icq">
<A>
<xsl:attribute name="href">
xfire:add_friend?user=<xsl:value-of select="icq"/>
</xsl:attribute>
<xsl:value-of select="icq"/>
</A>
</TD>
</TR>
As you can see, its simply changing the ICQ field to show as "X-Fire" username, and changing the HREF link
to instead link to xfire:add_friend?user= then the user name. This would require that you treat the ICQ field
as an Xfire field instead, but if thats the way you wish to do it, feel free.
No, you can't change the ICQ and Email fields in-game, but you can change how they show up on the webpage.
Remarks will not word wrap in game either.
EDIT: Updated XSL Code to show where the image source is, in case clans want to change it from default "sqd_logo.png"
IMPORTANT: To find your PID (Player ID) start up ArmA 2 or ArmA 2 OA (different PIDs for A2 and A2OA.
Combined Operations uses your OA ID). In the start menu it will say "Player Profile". Click this.
In the menu that appears, select your username and Edit. From here you can change your face, username,
XML Link and view your PID. The bolded portion will be the bottom two rows in the Player Profile window.
Any questions, either PM me, or post a reply here.
----------------------------------------------------------------
Credits to TomNedry for this part below:
While managing our active community at
www.pzgrenbtl417.net i had to edit our "squad.xml"
about once a week. Not that much work you may think,
but some sort of annoying and error-prone... So i decided to write a small web-based tool and
as i found it somewhat useful to me i like to donate it to the community under the GPL3 licence.
Download-Link:
www.airpressuretendency.net/squadxml_editor/squadxml_editor.zip
More info and screenshots can be seen here:
http://forums.bistudio.com/showthread.php?t=117080